@revolugo/elements 5.5.1-beta.1 → 5.5.1-beta.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (244) 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.CGjlL8Fn.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.DrGyKJ-m.css +1 -0
  19. package/dist/css/revolugo.hotelroomoffersbookingflow.DGFt0C9n.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.B92--uJb.css +1 -0
  26. package/dist/css/revolugo.parsed-props.C3kOvm7T.css +1 -0
  27. package/dist/css/revolugo.prebookform.CDnZmw8F.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.min.js +1 -1
  54. package/dist/revolugo.banktransferdetails.CDDLgiqZ.min.js +105 -0
  55. package/dist/revolugo.bbreakfastoptionbadge.BXp8jiFF.min.js +62 -0
  56. package/dist/revolugo.bdaterangepicker.D7vKynZO.min.js +1351 -0
  57. package/dist/revolugo.bformattedamount.DZ4lP0D2.min.js +82 -0
  58. package/dist/revolugo.bhotelroomsdetails._OEOxEfQ.min.js +213 -0
  59. package/dist/revolugo.bhotelsearchbar.D29hl2MS.min.js +446 -0
  60. package/dist/revolugo.booking-api-client.Drh0cRTW.min.js +7443 -0
  61. package/dist/revolugo.bookingdetailssidebar.Cf_orLaJ.min.js +28 -0
  62. package/dist/revolugo.bookingdetailssidebar.lDNB7oXF.min.js +242 -0
  63. package/dist/revolugo.bookingmanager.BptiDiuZ.min.js +405 -0
  64. package/dist/revolugo.bphoneinput.DEA12thE.min.js +1935 -0
  65. package/dist/revolugo.bpricesummaryskeleton.A4azxZPx.min.js +47 -0
  66. package/dist/revolugo.breakpoint-service.ulonvHwK.min.js +65 -0
  67. package/dist/revolugo.bstarrating.qzeMb2Ot.min.js +173 -0
  68. package/dist/revolugo.btag.fqocL5RV.min.js +68 -0
  69. package/dist/revolugo.cancellationpoliciesbadge.BzjXjeXq.min.js +28 -0
  70. package/dist/revolugo.cancellationpoliciesbadge.nq63QKAU.min.js +92 -0
  71. package/dist/revolugo.cancellationpolicieslist.BfiF9DHI.min.js +28 -0
  72. package/dist/revolugo.cancellationpolicieslist.DvAdsbLe.min.js +317 -0
  73. package/dist/revolugo.common.BavAKcPL.min.js +34 -0
  74. package/dist/revolugo.creditcardform.P3Lo1eeg.min.js +2049 -0
  75. package/dist/revolugo.creditcardform.i3DpOTAl.min.js +28 -0
  76. package/dist/revolugo.creditcardpayment.80nyDUq9.min.js +288 -0
  77. package/dist/revolugo.creditcardpayment.CieGjOTr.min.js +28 -0
  78. package/dist/revolugo.currencypicker.qFd6-iwV.min.js +122 -0
  79. package/dist/revolugo.currencypickerbtn.DXqfDYzb.min.js +121 -0
  80. package/dist/revolugo.currencypickerbtn.SL9IbI6O.min.js +28 -0
  81. package/dist/revolugo.dialog-attach.BQO5FkC9.min.js +27 -0
  82. package/dist/revolugo.en-us.BwPQZpD-.min.js +1171 -0
  83. package/dist/revolugo.event-bus.CYLYgD3Y.min.js +37 -0
  84. package/dist/revolugo.fr-fr.CV4yETNm.min.js +1177 -0
  85. package/dist/revolugo.fullbookingflow.BH9WYZQU.min.js +239 -0
  86. package/dist/revolugo.hotel-offer.DkBY7KF0.min.js +605 -0
  87. package/dist/revolugo.hoteldescriptionview.COEl20Dq.min.js +2174 -0
  88. package/dist/revolugo.hoteldescriptionview.XJOl3Oeh.min.js +28 -0
  89. package/dist/revolugo.hotelofferitemlayout.DxWzoHRv.min.js +64 -0
  90. package/dist/revolugo.hotelofferlist.C1B_9NAn.min.js +3779 -0
  91. package/dist/revolugo.hotelofferlist.I8kF8p6L.min.js +28 -0
  92. package/dist/revolugo.hotelofferrequestcreator.B9mGU5bB.min.js +225 -0
  93. package/dist/revolugo.hoteloffersearchmenu.DExCTnYT.min.js +54 -0
  94. package/dist/revolugo.hoteloffersmap.Cd0-GO8Q.min.js +8737 -0
  95. package/dist/revolugo.hoteloffersmap.FqqtiR5R.min.js +28 -0
  96. package/dist/revolugo.hoteloffersview.C9lYrm2i.min.js +157 -0
  97. package/dist/revolugo.hoteloffersview.CLcQG9wK.min.js +28 -0
  98. package/dist/revolugo.hotelroomofferlist.B436VThb.min.js +1332 -0
  99. package/dist/revolugo.hotelroomofferlist.uS6bGKaQ.min.js +28 -0
  100. package/dist/revolugo.hotelroomofferrequestcreator.Cqzw_aE0.min.js +225 -0
  101. package/dist/revolugo.hotelroomoffersbookingflow.CMJgMAtO.min.js +679 -0
  102. package/dist/revolugo.hotelroomoffersearchmenu.Dws8MLf0.min.js +38 -0
  103. package/dist/revolugo.hotelroomoffersearchmenu.UHKtopiD.min.js +29 -0
  104. package/dist/revolugo.hotelroomoffersview.-1JOr1jD.min.js +28 -0
  105. package/dist/revolugo.hotelroomoffersview.217ygoUj.min.js +124 -0
  106. package/dist/revolugo.i18n.BIDah4Hr.min.js +10901 -0
  107. package/dist/revolugo.index.B8RjdKfF.min.js +281 -0
  108. package/dist/revolugo.index.BOFNqiKi.min.js +128 -0
  109. package/dist/revolugo.index.BafzMKRk.min.js +13 -0
  110. package/dist/revolugo.index.ByALJ4Cg.min.js +270 -0
  111. package/dist/revolugo.index.CMpCToBI.min.js +390 -0
  112. package/dist/revolugo.index.CVaQfmC0.min.js +15 -0
  113. package/dist/revolugo.index.Ce2wa-yh.min.js +142 -0
  114. package/dist/revolugo.index.CfwKNM8Q.min.js +9 -0
  115. package/dist/revolugo.index.D7ohfZ-O.min.js +68 -0
  116. package/dist/revolugo.index.DKK0H_cv.min.js +161 -0
  117. package/dist/revolugo.index.DSbeMte7.min.js +322 -0
  118. package/dist/revolugo.index.Dudg2j1-.min.js +9 -0
  119. package/dist/revolugo.index.G0QSOBn3.min.js +42 -0
  120. package/dist/revolugo.index.mq4mKuqN.min.js +43 -0
  121. package/dist/revolugo.langpicker.DtWztNg3.min.js +103 -0
  122. package/dist/revolugo.langpickerbtn.CPZtzdTJ.min.js +111 -0
  123. package/dist/revolugo.langpickerbtn.D3ff3yft.min.js +28 -0
  124. package/dist/revolugo.localizedformat.C4ez1VLt.min.js +47 -0
  125. package/dist/revolugo.min.js +257 -7
  126. package/dist/revolugo.parsed-height.Bd1t0mHH.min.js +2338 -0
  127. package/dist/revolugo.parsed-props.B6q7Ax-9.min.js +95 -0
  128. package/dist/revolugo.prebookform.Bvkp_jkU.min.js +28 -0
  129. package/dist/revolugo.prebookform.QT7QI1LP.min.js +484 -0
  130. package/dist/revolugo.revolugo-config.B9n_CElG.min.js +1707 -0
  131. package/dist/revolugo.roominglisteditor.BCpebY3B.min.js +201 -0
  132. package/dist/revolugo.roominglisteditor.C4AtDc7A.min.js +28 -0
  133. package/dist/revolugo.sentry.CuQ4Sj_P.min.js +10989 -0
  134. package/dist/revolugo.store.TBV-eqIE.min.js +2497 -0
  135. package/dist/revolugo.storybooktoolbar.K8FrycZc.min.js +300 -0
  136. package/dist/revolugo.termsandconditions.DCoLgJzC.min.js +27 -0
  137. package/dist/revolugo.termsandconditions.DkzQmMDI.min.js +162 -0
  138. package/dist/revolugo.typed-mixins.CArk-fZ7.min.js +8 -0
  139. package/dist/revolugo.valert.tamLbGMZ.min.js +194 -0
  140. package/dist/revolugo.vautocomplete.BbvrGxVz.min.js +255 -0
  141. package/dist/revolugo.vbadge.B3P90j3E.min.js +172 -0
  142. package/dist/revolugo.vbtn.BNPhP-XR.min.js +286 -0
  143. package/dist/revolugo.vcard.ndQpNewl.min.js +80 -0
  144. package/dist/revolugo.vchip.DTZZJRt5.min.js +157 -0
  145. package/dist/revolugo.vdialog.C-Jh0Eq7.min.js +341 -0
  146. package/dist/revolugo.vexpansionpanelheader.DJijrIj9.min.js +263 -0
  147. package/dist/revolugo.vform.D7XJ7bEy.min.js +98 -0
  148. package/dist/revolugo.vinput.BeSsXYg9.min.js +509 -0
  149. package/dist/revolugo.vitemgroup.DjZ_N7Ml.min.js +168 -0
  150. package/dist/revolugo.vlistitem.ChmT4RKD.min.js +204 -0
  151. package/dist/revolugo.vmenu.CThLxAWt.min.js +349 -0
  152. package/dist/revolugo.vselect.BXEzrczG.min.js +859 -0
  153. package/dist/revolugo.vsheet.BWJwctvS.min.js +120 -0
  154. package/dist/revolugo.vskeletonloader.CCW1cQtD.min.js +172 -0
  155. package/dist/revolugo.vslidegroup.Dlwmh4Oi.min.js +650 -0
  156. package/dist/revolugo.vsnackbar.BGJVdHRT.min.js +178 -0
  157. package/dist/revolugo.vtextfield.D-kB2BBk.min.js +438 -0
  158. package/dist/revolugo.vtoolbar.C98lEGDc.min.js +364 -0
  159. package/dist/revolugo.vtooltip.M9ln6byG.min.js +168 -0
  160. package/dist/revolugo.vuetify.BEdap6Ni.min.js +865 -0
  161. package/dist/revolugo.watch-list.Bb06Iz6D.min.js +44 -0
  162. package/dist/revolugo.webcomponentwrapper.Dhr34jp1.min.js +783 -0
  163. package/package.json +3 -5
  164. package/dist/css/revolugo.0.min.css +0 -5
  165. package/dist/css/revolugo.1.min.css +0 -1
  166. package/dist/css/revolugo.11.min.css +0 -1
  167. package/dist/css/revolugo.12.min.css +0 -1
  168. package/dist/css/revolugo.13.min.css +0 -1
  169. package/dist/css/revolugo.14.min.css +0 -1
  170. package/dist/css/revolugo.15.min.css +0 -1
  171. package/dist/css/revolugo.16.min.css +0 -1
  172. package/dist/css/revolugo.17.min.css +0 -1
  173. package/dist/css/revolugo.18.min.css +0 -1
  174. package/dist/css/revolugo.19.min.css +0 -1
  175. package/dist/css/revolugo.2.min.css +0 -1
  176. package/dist/css/revolugo.20.min.css +0 -1
  177. package/dist/css/revolugo.21.min.css +0 -1
  178. package/dist/css/revolugo.22.min.css +0 -1
  179. package/dist/css/revolugo.23.min.css +0 -1
  180. package/dist/css/revolugo.24.min.css +0 -1
  181. package/dist/css/revolugo.25.min.css +0 -1
  182. package/dist/css/revolugo.26.min.css +0 -1
  183. package/dist/css/revolugo.27.min.css +0 -1
  184. package/dist/css/revolugo.28.min.css +0 -1
  185. package/dist/css/revolugo.29.min.css +0 -1
  186. package/dist/css/revolugo.30.min.css +0 -1
  187. package/dist/css/revolugo.31.min.css +0 -1
  188. package/dist/css/revolugo.32.min.css +0 -1
  189. package/dist/css/revolugo.33.min.css +0 -1
  190. package/dist/css/revolugo.34.min.css +0 -1
  191. package/dist/css/revolugo.4.min.css +0 -1
  192. package/dist/css/revolugo.5.min.css +0 -1
  193. package/dist/css/revolugo.6.min.css +0 -1
  194. package/dist/css/revolugo.7.min.css +0 -1
  195. package/dist/css/revolugo.fonts.min.css +0 -1
  196. package/dist/fonts/amenities.2aad1d12.woff +0 -0
  197. package/dist/fonts/amenities.9adae269.ttf +0 -0
  198. package/dist/fonts/amenities.a9bf50f8.svg +0 -42
  199. package/dist/fonts/amenities.bd6b3a4a.eot +0 -0
  200. package/dist/fonts/beds.2b8e38c8.svg +0 -12
  201. package/dist/img/apst.c1092975.png +0 -0
  202. package/dist/img/apst.ec7669f2.png +0 -0
  203. package/dist/img/atout-france.72107e30.png +0 -0
  204. package/dist/img/atout-france.df038f22.png +0 -0
  205. package/dist/img/revolugo.179c459d.png +0 -0
  206. package/dist/img/revolugo.e0879dcc.png +0 -0
  207. package/dist/img/stripe.405543e2.png +0 -0
  208. package/dist/img/stripe.c3e16f9f.png +0 -0
  209. package/dist/revolugo.0.min.js +0 -18
  210. package/dist/revolugo.1.min.js +0 -1
  211. package/dist/revolugo.11.min.js +0 -134
  212. package/dist/revolugo.12.min.js +0 -19
  213. package/dist/revolugo.13.min.js +0 -14
  214. package/dist/revolugo.14.min.js +0 -19
  215. package/dist/revolugo.15.min.js +0 -139
  216. package/dist/revolugo.16.min.js +0 -14
  217. package/dist/revolugo.17.min.js +0 -14
  218. package/dist/revolugo.18.min.js +0 -1
  219. package/dist/revolugo.19.min.js +0 -1
  220. package/dist/revolugo.2.min.js +0 -1
  221. package/dist/revolugo.20.min.js +0 -1
  222. package/dist/revolugo.21.min.js +0 -116
  223. package/dist/revolugo.22.min.js +0 -1
  224. package/dist/revolugo.23.min.js +0 -1
  225. package/dist/revolugo.24.min.js +0 -1
  226. package/dist/revolugo.25.min.js +0 -1
  227. package/dist/revolugo.26.min.js +0 -1
  228. package/dist/revolugo.27.min.js +0 -1
  229. package/dist/revolugo.28.min.js +0 -116
  230. package/dist/revolugo.29.min.js +0 -1
  231. package/dist/revolugo.30.min.js +0 -1
  232. package/dist/revolugo.31.min.js +0 -1
  233. package/dist/revolugo.32.min.js +0 -1
  234. package/dist/revolugo.33.min.js +0 -1
  235. package/dist/revolugo.34.min.js +0 -1
  236. package/dist/revolugo.35.min.js +0 -1
  237. package/dist/revolugo.36.min.js +0 -1
  238. package/dist/revolugo.4.min.js +0 -1
  239. package/dist/revolugo.5.min.js +0 -1
  240. package/dist/revolugo.6.min.js +0 -1
  241. package/dist/revolugo.7.min.js +0 -1
  242. package/dist/revolugo.en-US.min.js +0 -1
  243. package/dist/revolugo.fonts.min.js +0 -1
  244. package/dist/revolugo.fr-FR.min.js +0 -1
@@ -0,0 +1,2338 @@
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.B9n_CElG.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.TBV-eqIE.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 J, I as rt } from "./revolugo.i18n.BIDah4Hr.min.js";
4
+ import { C as Ot } from "./revolugo.cancellationpoliciesbadge.nq63QKAU.min.js";
5
+ import { H as Tt } from "./revolugo.hotelofferitemlayout.DxWzoHRv.min.js";
6
+ import { B as Ft } from "./revolugo.bbreakfastoptionbadge.BXp8jiFF.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.Dhr34jp1.min.js";
8
+ import { _ as l } from "./revolugo.vbtn.BNPhP-XR.min.js";
9
+ import { S as At, _ as g } from "./revolugo.index.CMpCToBI.min.js";
10
+ import { B as Dt } from "./revolugo.bhotelroomsdetails._OEOxEfQ.min.js";
11
+ import { b as E, a as Et, m as Lt } from "./revolugo.hotel-offer.DkBY7KF0.min.js";
12
+ import { B as Nt } from "./revolugo.hotelroomofferlist.B436VThb.min.js";
13
+ import { a as Pt, b as Ht, B as zt } from "./revolugo.bstarrating.qzeMb2Ot.min.js";
14
+ import { B as Wt } from "./revolugo.btag.fqocL5RV.min.js";
15
+ import { H as Ut, B as Gt, b as jt, c as Yt } from "./revolugo.hoteldescriptionview.COEl20Dq.min.js";
16
+ import { b as x } from "./revolugo.breakpoint-service.ulonvHwK.min.js";
17
+ import { d as ot } from "./revolugo.dialog-attach.BQO5FkC9.min.js";
18
+ import { H as qt } from "./revolugo.hotelroomoffersview.217ygoUj.min.js";
19
+ import { e as Kt, a as Xt } from "./revolugo.index.Ce2wa-yh.min.js";
20
+ import { O as Jt, _ as Zt } from "./revolugo.vdialog.C-Jh0Eq7.min.js";
21
+ import { _ as R } from "./revolugo.vcard.ndQpNewl.min.js";
22
+ import { V as H, a as z, b as Qt } from "./revolugo.index.Dudg2j1-.min.js";
23
+ import { _ as lt } from "./revolugo.vtooltip.M9ln6byG.min.js";
24
+ import { a as te, V as P, b as ee } from "./revolugo.index.CfwKNM8Q.min.js";
25
+ import { _ as ie } from "./revolugo.vautocomplete.BbvrGxVz.min.js";
26
+ import { B as ct } from "./revolugo.bformattedamount.DZ4lP0D2.min.js";
27
+ import { V as Z } from "./revolugo.vinput.BeSsXYg9.min.js";
28
+ import { L as Q } from "./revolugo.index.B8RjdKfF.min.js";
29
+ import { C as ut, R as se, T as ne } from "./revolugo.vuetify.BEdap6Ni.min.js";
30
+ import { _ as tt } from "./revolugo.vtextfield.D-kB2BBk.min.js";
31
+ import { _ as O } from "./revolugo.parsed-props.B6q7Ax-9.min.js";
32
+ import { _ as V } from "./revolugo.vmenu.CThLxAWt.min.js";
33
+ import { _ as I } from "./revolugo.vbadge.B3P90j3E.min.js";
34
+ import { D as re, a as ae } from "./revolugo.index.DSbeMte7.min.js";
35
+ import { R as oe } from "./revolugo.index.DKK0H_cv.min.js";
36
+ import { z as _, H as y } from "./revolugo.booking-api-client.Drh0cRTW.min.js";
37
+ import { B as L } from "./revolugo.vitemgroup.DjZ_N7Ml.min.js";
38
+ import { a as le } from "./revolugo.vlistitem.ChmT4RKD.min.js";
39
+ import { a as ce } from "./revolugo.vtoolbar.C98lEGDc.min.js";
40
+ import { S as ue, a as he } from "./revolugo.index.D7ohfZ-O.min.js";
41
+ import { M as ht } from "./revolugo.vslidegroup.Dlwmh4Oi.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
+ Z,
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
+ ...Z.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, W = (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 * (W > 100 ? W / 10 : 10);
516
+ }
517
+ return t;
518
+ },
519
+ roundValue(e) {
520
+ if (!this.stepNumeric)
521
+ return e;
522
+ const t = this.step.toString().trim(), i = t.indexOf(".") > -1 ? t.length - t.indexOf(".") - 1 : 0, s = this.minValue % this.stepNumeric, n = Math.round((e - s) / this.stepNumeric) * this.stepNumeric + s;
523
+ return parseFloat(Math.min(n, this.maxValue).toFixed(i));
524
+ }
525
+ }
526
+ }), me = C(he("left", ["isActive", "isMobile", "miniVariant", "expandOnHover", "permanent", "right", "temporary", "width"]), F, re, ht, Jt, 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: Wt,
1199
+ BTripAdvisorRatingWidget: Ht,
1200
+ CancellationPoliciesBadge: Ot,
1201
+ HotelDescriptionView: Ut,
1202
+ HotelOfferItemLayout: Tt,
1203
+ HotelRoomOffersView: qt,
1204
+ BReviewRating: zt,
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
+ isRefundable() {
1247
+ return Ct({
1248
+ bookingDatetime: Rt().format(),
1249
+ cancellationPolicies: this.hotelRoomOffer.cancellationPolicies,
1250
+ checkInDate: this.checkInDateLocal,
1251
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1252
+ timezone: this.hotelOffer.timezone
1253
+ }) === 0;
1254
+ },
1255
+ imageUrls() {
1256
+ return Lt({
1257
+ hotelImages: this.hotelOffer.hotelImages,
1258
+ images: this.hotelOffer.images
1259
+ });
1260
+ },
1261
+ nightCountLocal() {
1262
+ return this.nightCount || this.$store.get("hotelOfferRequest/nightCount");
1263
+ },
1264
+ roomCount() {
1265
+ var e;
1266
+ return ((e = this.hotelRoomOffer) == null ? void 0 : e.hotelRooms.reduce(
1267
+ (t, i) => t + (i.count || 0),
1268
+ 0
1269
+ )) || 0;
1270
+ },
1271
+ carouselStyle() {
1272
+ return this.rounded ? {
1273
+ borderTopLeftRadius: "3px",
1274
+ borderBottomLeftRadius: this.$breakpointService.xs ? "0px" : "3px",
1275
+ borderTopRightRadius: this.$breakpointService.xs ? "3px" : "0px"
1276
+ } : {
1277
+ borderTopLeftRadius: "0px",
1278
+ borderBottomLeftRadius: "0px",
1279
+ borderTopRightRadius: "0px"
1280
+ };
1281
+ },
1282
+ bigTags() {
1283
+ var e, t;
1284
+ return ((t = (e = this.hotelOffer) == null ? void 0 : e.tags) == null ? void 0 : t.filter((i) => i.name.length > 30)) || [];
1285
+ },
1286
+ smallTags() {
1287
+ var e, t;
1288
+ return ((t = (e = this.hotelOffer) == null ? void 0 : e.tags) == null ? void 0 : t.filter((i) => i.name.length <= 30)) || [];
1289
+ },
1290
+ venueTravelTimes() {
1291
+ var e;
1292
+ return (e = this.hotelOffer) == null ? void 0 : e.venues;
1293
+ }
1294
+ },
1295
+ mounted() {
1296
+ this.features[f.HotelRoomOffersViewDialog] && window.RevolugoElements.eventBus.$on(
1297
+ D.BOOKING_POLICY_CREATED,
1298
+ () => {
1299
+ setTimeout(() => {
1300
+ this.toggleDialog = !1;
1301
+ }, 350);
1302
+ }
1303
+ );
1304
+ },
1305
+ methods: {
1306
+ onHotelOfferItemClick() {
1307
+ window.RevolugoElements.eventBus.$emit(
1308
+ D.HOTEL_OFFERS_ITEM_CLICK,
1309
+ this.hotelOffer
1310
+ ), this.features[f.HotelRoomOfferList] ? this.showAdditionalContent ? (this.showAdditionalContent = !1, setTimeout(() => {
1311
+ this.mountAdditionalContent = !1;
1312
+ }, 500)) : (this.mountAdditionalContent = !0, this.$nextTick(() => {
1313
+ this.showAdditionalContent = !0;
1314
+ })) : (this.features[f.HotelDescriptionViewDialog] || this.features[f.HotelRoomOffersViewDialog]) && (this.toggleDialog = !0);
1315
+ },
1316
+ onHotelOfferItemTitleClick() {
1317
+ window.RevolugoElements.eventBus.$emit(
1318
+ D.HOTEL_OFFERS_ITEM_CLICK,
1319
+ this.hotelOffer
1320
+ ), this.toggleDialog = !0, this.features[f.HotelRoomOffersViewDialog] && (this.showAdditionalContent = !1, this.mountAdditionalContent = !1);
1321
+ }
1322
+ }
1323
+ });
1324
+ var Re = function() {
1325
+ var t = this, i = t._self._c;
1326
+ 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() {
1327
+ return [t.dialogComponentName ? i(Zt, { staticClass: "z-index-over-map", attrs: { attach: t.$dialogAttach, light: "", scrollable: "", transition: "slide-x-reverse-transition" }, model: { value: t.toggleDialog, callback: function(s) {
1328
+ t.toggleDialog = s;
1329
+ }, expression: "toggleDialog" } }, [i("b-btn-close-dialog", { nativeOn: { click: function(s) {
1330
+ t.toggleDialog = !1;
1331
+ } } }), 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()];
1332
+ }, proxy: !0 }, { key: "carousel", fn: function() {
1333
+ var s, n;
1334
+ 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%" } })];
1335
+ }, proxy: !0 }, { key: "heading", fn: function() {
1336
+ var s;
1337
+ 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 }) {
1338
+ return [i("span", t._g({ staticClass: "hotel-name subtitle-1 font-weight-black mr-1 primary--text cursor-pointer", on: { click: function(a) {
1339
+ return a.stopPropagation(), t.onHotelOfferItemTitleClick.apply(null, arguments);
1340
+ } } }, n), [t._v(" " + t._s(t.hotelOffer.name) + " ")])];
1341
+ } }], 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 } })];
1342
+ }, proxy: !0 }, { key: "review-rating", fn: function() {
1343
+ return [i("b-review-rating", { attrs: { features: {
1344
+ ReviewRatingDetails: !1
1345
+ }, hotel: t.hotelOffer } })];
1346
+ }, proxy: !0 }, { key: "distance", fn: function() {
1347
+ 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()];
1348
+ }, proxy: !0 }, { key: "big-tags", fn: function() {
1349
+ return t._l(t.bigTags, function(s, n) {
1350
+ 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);
1351
+ });
1352
+ }, proxy: !0 }, { key: "tags", fn: function() {
1353
+ return t._l(t.smallTags, function(s, n) {
1354
+ 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);
1355
+ });
1356
+ }, proxy: !0 }, { key: "breakfast-option-badge", fn: function() {
1357
+ return [t.hotelRoomOffer.breakfastOption === "INCLUDED" ? i("b-breakfast-option-badge", { attrs: { "breakfast-option": t.hotelRoomOffer.breakfastOption } }) : t._e()];
1358
+ }, proxy: !0 }, t.isRefundable ? { key: "cancellation-policies-badge", fn: function() {
1359
+ return [i("cancellation-policies-badge", { attrs: { "cancellation-policies": t.hotelRoomOffer.cancellationPolicies, "check-in-date": t.checkInDateLocal, timezone: t.hotelOffer.timezone } })];
1360
+ }, proxy: !0 } : null, { key: "package-details", fn: function() {
1361
+ return [i("b-hotel-rooms-details", { attrs: { "hotel-rooms": t.hotelRoomOffer.hotelRooms } })];
1362
+ }, proxy: !0 }, { key: "price-summary", fn: function() {
1363
+ return [t.hotelRoomOffer.price ? i("div", [i("b-price-summary", { attrs: { "adult-count": t.adultCountLocal, "is-starting-price": "", "night-count": t.nightCountLocal, price: t.hotelRoomOffer.price, "room-count": t.roomCount, "round-mode": "round" } })], 1) : t._e()];
1364
+ }, proxy: !0 }, { key: "footer", fn: function() {
1365
+ return [i("div", { staticClass: "footer white" }, [t.isNoLongerAvail ? i("b-error-overlay", { scopedSlots: t._u([{ key: "title", fn: function() {
1366
+ return [t._v(" " + t._s(t.$t("HotelOfferItem.noLongerAvailable")) + " ")];
1367
+ }, 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)];
1368
+ }, proxy: !0 }], null, !0) });
1369
+ }, ke = [], we = /* @__PURE__ */ p(
1370
+ Ce,
1371
+ Re,
1372
+ ke,
1373
+ !1,
1374
+ null,
1375
+ "7154b5c0",
1376
+ null,
1377
+ null
1378
+ );
1379
+ const ds = we.exports;
1380
+ var dt = /* @__PURE__ */ ((e) => (e.DEBUG = "DEBUG", e.ERROR = "ERROR", e.INFO = "INFO", e.WARN = "WARN", e))(dt || {});
1381
+ function S(e, t = "INFO") {
1382
+ switch (t) {
1383
+ case "DEBUG": {
1384
+ console.log(`[DEBUG] ${e}`);
1385
+ break;
1386
+ }
1387
+ case "INFO": {
1388
+ console.log(`[INFO] ${e}`);
1389
+ break;
1390
+ }
1391
+ case "WARN": {
1392
+ console.warn(`[WARN] ${e}`);
1393
+ break;
1394
+ }
1395
+ case "ERROR": {
1396
+ console.error(`[ERROR] ${e}`);
1397
+ break;
1398
+ }
1399
+ default: {
1400
+ console.log(`[${dt[t]}] ${e}`);
1401
+ break;
1402
+ }
1403
+ }
1404
+ }
1405
+ const Se = {
1406
+ debug: (e) => S(
1407
+ e,
1408
+ "DEBUG"
1409
+ /* DEBUG */
1410
+ ),
1411
+ info: (e) => S(
1412
+ e,
1413
+ "INFO"
1414
+ /* INFO */
1415
+ ),
1416
+ warn: (e) => S(
1417
+ e,
1418
+ "WARN"
1419
+ /* WARN */
1420
+ ),
1421
+ error: (e) => S(
1422
+ e,
1423
+ "ERROR"
1424
+ /* ERROR */
1425
+ )
1426
+ }, Oe = {
1427
+ compact: {
1428
+ type: Boolean,
1429
+ default: !0
1430
+ },
1431
+ isFlat: {
1432
+ type: Boolean,
1433
+ default: !0
1434
+ },
1435
+ outlined: {
1436
+ type: Boolean,
1437
+ default: !1
1438
+ },
1439
+ withDetails: {
1440
+ type: Boolean,
1441
+ default: !1
1442
+ },
1443
+ value: {
1444
+ type: Object,
1445
+ default: null
1446
+ },
1447
+ locationContext: {
1448
+ type: Object,
1449
+ default: null
1450
+ }
1451
+ }, Te = h.extend({
1452
+ name: "BSearchLocationInput",
1453
+ mixins: [b("components/ui/BSearchLocationInput")],
1454
+ props: Oe,
1455
+ data() {
1456
+ return {
1457
+ selectedLocation: this.value,
1458
+ locations: [],
1459
+ loading: !1,
1460
+ searchInput: ""
1461
+ };
1462
+ },
1463
+ watch: {
1464
+ value(e) {
1465
+ this.selectLocation(e);
1466
+ },
1467
+ selectedLocation(e) {
1468
+ this.$emit("input", e);
1469
+ },
1470
+ async searchInput(e) {
1471
+ if (!e) {
1472
+ this.locations = [];
1473
+ return;
1474
+ }
1475
+ await this.searchLocations();
1476
+ }
1477
+ },
1478
+ mounted() {
1479
+ this.$nextTick(() => {
1480
+ var e, t;
1481
+ this.searchInput = ((t = (e = this.selectedLocation) == null ? void 0 : e.raw) == null ? void 0 : t.title) || "";
1482
+ });
1483
+ },
1484
+ methods: {
1485
+ searchLocations: kt(
1486
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1487
+ async function() {
1488
+ var t, i;
1489
+ try {
1490
+ this.loading = !0;
1491
+ const n = {
1492
+ q: this.searchInput,
1493
+ apiKey: jt,
1494
+ maxresults: 10
1495
+ };
1496
+ this.locationContext && (n.at = `${(t = this.locationContext) == null ? void 0 : t.latitude},${(i = this.locationContext) == null ? void 0 : i.longitude}`);
1497
+ const a = await Yt.get("https://geocode.search.hereapi.com/v1/geocode", {
1498
+ params: n
1499
+ }).then((r) => {
1500
+ var o;
1501
+ return (o = r.data) == null ? void 0 : o.items;
1502
+ });
1503
+ return this.locations = a.map((r) => ({
1504
+ title: K([
1505
+ r.address.houseNumber,
1506
+ r.address.street
1507
+ ]).join(" "),
1508
+ subtitle: K([
1509
+ r.address.postalCode,
1510
+ r.address.city,
1511
+ r.address.countryName
1512
+ ]).join(", "),
1513
+ longitude: r.position.lng,
1514
+ latitude: r.position.lat,
1515
+ raw: r
1516
+ })), this.loading = !1, this.locations;
1517
+ } catch (s) {
1518
+ return Se.error(s), this.loading = !1, [];
1519
+ }
1520
+ },
1521
+ 500,
1522
+ {
1523
+ trailing: !0
1524
+ }
1525
+ ),
1526
+ selectLocation(e) {
1527
+ this.selectedLocation = e;
1528
+ },
1529
+ getSelection(e) {
1530
+ var t;
1531
+ return (t = e == null ? void 0 : e.raw) == null ? void 0 : t.title;
1532
+ }
1533
+ }
1534
+ });
1535
+ var Fe = function() {
1536
+ var t = this, i = t._self._c;
1537
+ 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) {
1538
+ t.searchInput = s;
1539
+ }, "update:search-input": function(s) {
1540
+ t.searchInput = s;
1541
+ } }, scopedSlots: t._u([{ key: "item", fn: function({ item: s }) {
1542
+ return [i(te, { on: { click: function(n) {
1543
+ return t.selectLocation(s);
1544
+ } } }, [i(P, [t._v(t._s(s.title))]), i(ee, [t._v(t._s(s.subtitle))])], 1)];
1545
+ } }]) });
1546
+ }, Ve = [], Ie = /* @__PURE__ */ p(
1547
+ Te,
1548
+ Fe,
1549
+ Ve,
1550
+ !1,
1551
+ null,
1552
+ null,
1553
+ null,
1554
+ null
1555
+ );
1556
+ const ps = Ie.exports, Ae = 25, pt = {
1557
+ currency: {
1558
+ required: !0,
1559
+ type: String
1560
+ },
1561
+ disabled: {
1562
+ default: !1,
1563
+ type: Boolean
1564
+ },
1565
+ isLoading: {
1566
+ default: !1,
1567
+ type: Boolean
1568
+ },
1569
+ priceMax: {
1570
+ default: 10,
1571
+ type: Number
1572
+ },
1573
+ priceMin: {
1574
+ default: 5,
1575
+ type: Number
1576
+ },
1577
+ stepCount: {
1578
+ type: Number,
1579
+ default: Ae
1580
+ },
1581
+ value: {
1582
+ type: Array
1583
+ }
1584
+ }, et = (e, t) => {
1585
+ 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);
1586
+ return Math.floor(m);
1587
+ }, De = h.extend({
1588
+ name: "BFilterByPrice",
1589
+ components: { BFormattedAmount: ct },
1590
+ mixins: [x],
1591
+ props: pt,
1592
+ data() {
1593
+ return {
1594
+ inputMax: Math.max(...this.value) || this.priceMax,
1595
+ inputMin: Math.min(...this.value) || this.priceMin,
1596
+ modelMax: Math.max(...this.value) || this.priceMax,
1597
+ modelMin: Math.min(...this.value) || this.priceMin,
1598
+ rangeSliderModel: [
1599
+ Math.min(...this.value) || this.priceMin,
1600
+ Math.max(...this.value) || this.priceMax
1601
+ ],
1602
+ step: et(this.priceMin, this.priceMax)
1603
+ };
1604
+ },
1605
+ computed: {
1606
+ getChartBarHeight() {
1607
+ return (e) => `${Math.log(e + 1) / Math.log(Math.max(...this.priceHistogram)) * 40}px`;
1608
+ },
1609
+ currencySymbol() {
1610
+ return wt(this.currency);
1611
+ },
1612
+ hotelOffersCurrency: d("hotelOffers/hotelOffersCurrency"),
1613
+ priceHistogram: d("hotelOffers/priceHistogram"),
1614
+ validPriceRange() {
1615
+ return St([this.priceMin, this.priceMax]);
1616
+ }
1617
+ },
1618
+ watch: {
1619
+ rangeSliderModel(e) {
1620
+ this.inputMin = e[0], this.inputMax = e[1];
1621
+ },
1622
+ value: {
1623
+ handler(e) {
1624
+ 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];
1625
+ },
1626
+ deep: !0,
1627
+ immediate: !0
1628
+ }
1629
+ },
1630
+ created() {
1631
+ this.$watch(
1632
+ () => [this.priceMin, this.priceMax],
1633
+ () => {
1634
+ this.step = et(this.priceMin, this.priceMax);
1635
+ }
1636
+ );
1637
+ },
1638
+ methods: {
1639
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1640
+ onInputMaxBlur(e) {
1641
+ var t;
1642
+ this.modelMax = Math.max(
1643
+ Math.min(this.validPriceRange[1], Math.ceil((t = e.target) == null ? void 0 : t.value)),
1644
+ this.validPriceRange[0]
1645
+ ), this.inputMax = this.modelMax, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("input", [this.modelMin, this.modelMax]);
1646
+ },
1647
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1648
+ onInputMinBlur(e) {
1649
+ var t;
1650
+ this.modelMin = Math.min(
1651
+ Math.max(this.validPriceRange[0], Math.ceil((t = e.target) == null ? void 0 : t.value)),
1652
+ this.validPriceRange[1]
1653
+ ), this.inputMin = this.modelMin, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("input", [this.modelMin, this.modelMax]);
1654
+ },
1655
+ onInputMaxClear() {
1656
+ this.inputMax = this.validPriceRange[1], this.modelMax = this.inputMax, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("input", [this.modelMin, this.modelMax]);
1657
+ },
1658
+ onInputMinClear() {
1659
+ this.inputMin = this.validPriceRange[0], this.modelMin = this.inputMin, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("input", [this.modelMin, this.modelMax]);
1660
+ },
1661
+ onSliderEnd() {
1662
+ this.modelMin = this.rangeSliderModel[0], this.modelMax = this.rangeSliderModel[1], this.$emit("input", [this.modelMin, this.modelMax]);
1663
+ }
1664
+ }
1665
+ });
1666
+ var Ee = function() {
1667
+ var t = this, i = t._self._c;
1668
+ 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(
1669
+ { length: 30 },
1670
+ () => Math.random() * 35 + 5
1671
+ ), function(s, n) {
1672
+ return [i("li", { key: n }, [i("span", { staticClass: "loader" })])];
1673
+ })], 2)] : [i("ul", { staticClass: "chart" }, [t._l(t.priceHistogram, function(s, n) {
1674
+ return [i("li", { key: n }, [i("span", { style: { height: t.getChartBarHeight(s), width: "95%" } })])];
1675
+ })], 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) {
1676
+ t.rangeSliderModel = s;
1677
+ }, 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) {
1678
+ t.inputMin = s;
1679
+ }, 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) {
1680
+ t.inputMax = s;
1681
+ }, expression: "inputMax" } })], 1)], 1)], 1);
1682
+ }, Le = [], Ne = /* @__PURE__ */ p(
1683
+ De,
1684
+ Ee,
1685
+ Le,
1686
+ !1,
1687
+ null,
1688
+ "bc63ec9f",
1689
+ null,
1690
+ null
1691
+ );
1692
+ const mt = Ne.exports, Pe = h.extend({
1693
+ name: "BFilterByPriceMenu",
1694
+ components: {
1695
+ BFilterByPrice: mt,
1696
+ BFormattedAmount: ct
1697
+ },
1698
+ mixins: [b("components/ui/BFilterByPriceMenu"), x],
1699
+ props: pt,
1700
+ data() {
1701
+ return {
1702
+ isMenuOpen: !1,
1703
+ model: this.value
1704
+ };
1705
+ },
1706
+ computed: {
1707
+ configCurrency() {
1708
+ return this.config.currency ?? X.EUR.code;
1709
+ },
1710
+ currencies() {
1711
+ return Object.values(X);
1712
+ },
1713
+ currencySymbol() {
1714
+ var e;
1715
+ return (e = this.currencies.find(
1716
+ (t) => t.code === this.configCurrency
1717
+ )) == null ? void 0 : e.symbol;
1718
+ },
1719
+ formattedPriceMin() {
1720
+ return J({
1721
+ amount: this.model[0] || this.priceMin,
1722
+ currency: this.config.currency,
1723
+ locale: this.config.lang
1724
+ });
1725
+ },
1726
+ formattedPriceMax() {
1727
+ return J({
1728
+ amount: this.model[1] || this.priceMax,
1729
+ currency: this.config.currency,
1730
+ locale: this.config.lang
1731
+ });
1732
+ },
1733
+ formattedPriceRange() {
1734
+ return `${this.formattedPriceMin} - ${this.formattedPriceMax}`;
1735
+ }
1736
+ },
1737
+ watch: {
1738
+ value: {
1739
+ deep: !0,
1740
+ immediate: !0,
1741
+ handler(e) {
1742
+ this.model = e;
1743
+ }
1744
+ }
1745
+ },
1746
+ methods: {
1747
+ onApply() {
1748
+ this.$emit("input", this.model), this.isMenuOpen = !1;
1749
+ },
1750
+ onCancel() {
1751
+ this.model = this.value, this.isMenuOpen = !1;
1752
+ },
1753
+ onReset() {
1754
+ this.isMenuOpen = !1, this.$emit("reset");
1755
+ }
1756
+ }
1757
+ });
1758
+ var He = function() {
1759
+ var t = this, i = t._self._c;
1760
+ 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 }) {
1761
+ var n;
1762
+ return [i(I, { staticStyle: { cursor: "pointer" }, attrs: { color: "grey", icon: "fa-times", overlap: "", value: !!t.formattedPriceRange }, nativeOn: { click: function(a) {
1763
+ return t.onReset.apply(null, arguments);
1764
+ } } }, [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 }) {
1765
+ return [i(l, t._g({ staticClass: "white--text", attrs: { color: "grey", elevation: 0, outlined: "", small: "" } }, {
1766
+ ...s,
1767
+ ...a
1768
+ }), [i("span", [i("b", [t._v(" " + t._s(t.currencySymbol))])])])];
1769
+ } }], null, !0) }, [t.priceMin !== 0 && t.priceMax !== 0 ? [t._v(" " + t._s(t.formattedPriceRange) + " ")] : t._e()], 2)], 1)];
1770
+ } }]), model: { value: t.isMenuOpen, callback: function(s) {
1771
+ t.isMenuOpen = s;
1772
+ }, 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) {
1773
+ t.model = s;
1774
+ }, expression: "model" } }, "b-filter-by-price", t.$props, !1))], 1), i(z, { staticClass: "justify-end mt-2" }, [i(l, { staticClass: "text-right", attrs: { color: "primary", elevation: "0", small: "", text: "" }, on: { click: t.onCancel } }, [t._v(" " + t._s(t.$t("BFilterByPriceMenu.cancel")) + " ")]), i(l, { staticClass: "text-right", attrs: { color: "error", elevation: "0", loading: t.isLoading, small: "", text: "" }, on: { click: t.onReset } }, [t._v(" " + t._s(t.$t("BFilterByPriceMenu.reset")) + " ")]), i(l, { staticClass: "text-right", attrs: { color: "success", elevation: "0", loading: t.isLoading, small: "" }, on: { click: t.onApply } }, [t._v(" " + t._s(t.$t("BFilterByPriceMenu.apply")) + " ")])], 1)], 1)], 1);
1775
+ }, ze = [], We = /* @__PURE__ */ p(
1776
+ Pe,
1777
+ He,
1778
+ ze,
1779
+ !1,
1780
+ null,
1781
+ "38487da2",
1782
+ null,
1783
+ null
1784
+ );
1785
+ const Ue = We.exports, Ge = {
1786
+ value: {
1787
+ type: [Number, void 0]
1788
+ },
1789
+ disabled: { type: Boolean }
1790
+ }, je = h.extend({
1791
+ name: "BFilterByReview",
1792
+ props: Ge,
1793
+ computed: {
1794
+ model: {
1795
+ get() {
1796
+ return this.value;
1797
+ },
1798
+ set(e) {
1799
+ this.$emit("input", e);
1800
+ }
1801
+ },
1802
+ reviewRatingItems() {
1803
+ return [
1804
+ {
1805
+ label: "3+",
1806
+ value: 3
1807
+ },
1808
+ {
1809
+ label: "3.5+",
1810
+ value: 3.5
1811
+ },
1812
+ {
1813
+ label: "4+",
1814
+ value: 4
1815
+ },
1816
+ {
1817
+ label: "4.5+",
1818
+ value: 4.5
1819
+ }
1820
+ ];
1821
+ }
1822
+ }
1823
+ });
1824
+ var Ye = function() {
1825
+ var t = this, i = t._self._c;
1826
+ return t._self._setupProxy, i(pe, { staticClass: "d-flex flex-row justify-center", model: { value: t.model, callback: function(s) {
1827
+ t.model = s;
1828
+ }, expression: "model" } }, t._l(t.reviewRatingItems, function(s, n) {
1829
+ 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) + " ")]);
1830
+ }), 1);
1831
+ }, qe = [], Ke = /* @__PURE__ */ p(
1832
+ je,
1833
+ Ye,
1834
+ qe,
1835
+ !1,
1836
+ null,
1837
+ null,
1838
+ null,
1839
+ null
1840
+ );
1841
+ const ft = Ke.exports, vt = {
1842
+ value: {
1843
+ type: [Number, void 0]
1844
+ },
1845
+ disabled: { type: Boolean }
1846
+ };
1847
+ h.extend({
1848
+ name: "BFilterByReview",
1849
+ props: vt,
1850
+ computed: {
1851
+ model: {
1852
+ get() {
1853
+ return this.value;
1854
+ },
1855
+ set(e) {
1856
+ this.$emit("input", e);
1857
+ }
1858
+ },
1859
+ reviewRatingItems() {
1860
+ return [
1861
+ {
1862
+ label: "3+",
1863
+ value: 3
1864
+ },
1865
+ {
1866
+ label: "3.5+",
1867
+ value: 3.5
1868
+ },
1869
+ {
1870
+ label: "4+",
1871
+ value: 4
1872
+ },
1873
+ {
1874
+ label: "4.5+",
1875
+ value: 4.5
1876
+ }
1877
+ ];
1878
+ }
1879
+ }
1880
+ });
1881
+ const Xe = {
1882
+ isLoading: {
1883
+ default: !1,
1884
+ type: Boolean
1885
+ },
1886
+ value: { ...vt.value }
1887
+ }, Je = h.extend({
1888
+ name: "BFilterByReviewMenu",
1889
+ components: { BFilterByReview: ft },
1890
+ mixins: [b("components/ui/BFilterByReviewMenu"), x],
1891
+ props: Xe,
1892
+ data() {
1893
+ return {
1894
+ isMenuOpen: !1,
1895
+ model: this.value
1896
+ };
1897
+ },
1898
+ watch: {
1899
+ value: {
1900
+ immediate: !0,
1901
+ handler(e) {
1902
+ this.model = e;
1903
+ }
1904
+ }
1905
+ },
1906
+ methods: {
1907
+ closeMenu() {
1908
+ this.isMenuOpen = !1;
1909
+ },
1910
+ onApply() {
1911
+ this.closeMenu(), this.$emit("input", this.model);
1912
+ },
1913
+ onCancel() {
1914
+ this.model = this.value, this.closeMenu();
1915
+ },
1916
+ onReset() {
1917
+ this.closeMenu(), this.$emit("reset");
1918
+ }
1919
+ }
1920
+ });
1921
+ var Ze = function() {
1922
+ var t = this, i = t._self._c;
1923
+ 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 }) {
1924
+ return [i(I, { staticStyle: { cursor: "pointer" }, attrs: { color: "grey", icon: "fa-times", overlap: "", value: !!t.value }, nativeOn: { click: function(n) {
1925
+ return t.onReset.apply(null, arguments);
1926
+ } } }, [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)];
1927
+ } }]), model: { value: t.isMenuOpen, callback: function(s) {
1928
+ t.isMenuOpen = s;
1929
+ }, 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) {
1930
+ t.value = s;
1931
+ }, expression: "value" } })], 1), i(z, { staticClass: "justify-end pa-2" }, [i(l, { staticClass: "text-right", attrs: { color: "primary", elevation: "0", small: "", text: "" }, on: { click: t.closeMenu } }, [t._v(" " + t._s(t.$t("BFilterByReviewMenu.cancel")) + " ")]), i(l, { staticClass: "text-right", attrs: { color: "error", elevation: "0", small: "", text: "" }, on: { click: t.onReset } }, [t._v(" " + t._s(t.$t("BFilterByReviewMenu.reset")) + " ")]), i(l, { staticClass: "text-right", attrs: { color: "success", elevation: "0", small: "" }, on: { click: t.onApply } }, [t._v(" " + t._s(t.$t("BFilterByReviewMenu.apply")) + " ")])], 1)], 1)], 1);
1932
+ }, Qe = [], ti = /* @__PURE__ */ p(
1933
+ Je,
1934
+ Ze,
1935
+ Qe,
1936
+ !1,
1937
+ null,
1938
+ "07d0a70a",
1939
+ null,
1940
+ null
1941
+ );
1942
+ const ei = ti.exports, ii = {
1943
+ value: {
1944
+ type: [Number, String]
1945
+ },
1946
+ disabled: { type: Boolean }
1947
+ }, si = h.extend({
1948
+ name: "BFilterByStar",
1949
+ props: ii,
1950
+ computed: {
1951
+ color() {
1952
+ return this.disabled ? "grey lighten-1" : "orange";
1953
+ },
1954
+ model: {
1955
+ get() {
1956
+ return Number(this.value.split(",").at(0));
1957
+ },
1958
+ set(e) {
1959
+ const t = rt(e, 6).join(",");
1960
+ this.$emit("input", t);
1961
+ }
1962
+ }
1963
+ }
1964
+ });
1965
+ var ni = function() {
1966
+ var t = this, i = t._self._c;
1967
+ 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) {
1968
+ t.model = s;
1969
+ }, expression: "model" } });
1970
+ }, ri = [], ai = /* @__PURE__ */ p(
1971
+ si,
1972
+ ni,
1973
+ ri,
1974
+ !1,
1975
+ null,
1976
+ null,
1977
+ null,
1978
+ null
1979
+ );
1980
+ const gt = ai.exports, _t = {
1981
+ value: {
1982
+ type: [Number, String]
1983
+ },
1984
+ disabled: { type: Boolean }
1985
+ };
1986
+ h.extend({
1987
+ name: "BFilterByStar",
1988
+ props: _t,
1989
+ computed: {
1990
+ color() {
1991
+ return this.disabled ? "grey lighten-1" : "orange";
1992
+ },
1993
+ model: {
1994
+ get() {
1995
+ return Number(this.value.split(",").at(0));
1996
+ },
1997
+ set(e) {
1998
+ const t = rt(e, 6).join(",");
1999
+ this.$emit("input", t);
2000
+ }
2001
+ }
2002
+ }
2003
+ });
2004
+ const oi = {
2005
+ isLoading: {
2006
+ type: Boolean,
2007
+ default: !1
2008
+ },
2009
+ value: { ..._t.value }
2010
+ }, li = h.extend({
2011
+ name: "BFilterByStarMenu",
2012
+ components: { BFilterByStar: gt },
2013
+ mixins: [b("components/ui/BFilterByStarMenu"), x],
2014
+ props: oi,
2015
+ data() {
2016
+ return {
2017
+ isMenuOpen: !1,
2018
+ model: this.value
2019
+ };
2020
+ },
2021
+ watch: {
2022
+ value: {
2023
+ immediate: !0,
2024
+ handler(e) {
2025
+ this.model = e;
2026
+ }
2027
+ }
2028
+ },
2029
+ methods: {
2030
+ closeMenu() {
2031
+ this.isMenuOpen = !1;
2032
+ },
2033
+ onApply() {
2034
+ this.closeMenu(), this.$emit("input", this.model);
2035
+ },
2036
+ onCancel() {
2037
+ this.model = this.value, this.isMenuOpen = !1;
2038
+ },
2039
+ onReset() {
2040
+ this.closeMenu(), this.$emit("reset");
2041
+ }
2042
+ }
2043
+ });
2044
+ var ci = function() {
2045
+ var t = this, i = t._self._c;
2046
+ 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 }) {
2047
+ return [i(I, { staticStyle: { cursor: "pointer" }, attrs: { color: "grey", icon: "fa-times", overlap: "", value: !!t.model }, nativeOn: { click: function(n) {
2048
+ return t.onReset.apply(null, arguments);
2049
+ } } }, [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)];
2050
+ } }]), model: { value: t.isMenuOpen, callback: function(s) {
2051
+ t.isMenuOpen = s;
2052
+ }, 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) {
2053
+ t.model = s;
2054
+ }, expression: "model" } })], 1), i(z, { staticClass: "justify-end pa-2" }, [i(l, { staticClass: "text-right", attrs: { color: "primary", elevation: "0", small: "", text: "" }, on: { click: t.onCancel } }, [t._v(" " + t._s(t.$t("BFilterByStarMenu.cancel")) + " ")]), i(l, { staticClass: "text-right", attrs: { color: "error", elevation: "0", small: "", text: "" }, on: { click: t.onReset } }, [t._v(" " + t._s(t.$t("BFilterByStarMenu.reset")) + " ")]), i(l, { staticClass: "text-right", attrs: { color: "success", elevation: "0", small: "" }, on: { click: t.onApply } }, [t._v(" " + t._s(t.$t("BFilterByStarMenu.apply")) + " ")])], 1)], 1)], 1);
2055
+ }, ui = [], hi = /* @__PURE__ */ p(
2056
+ li,
2057
+ ci,
2058
+ ui,
2059
+ !1,
2060
+ null,
2061
+ "4d9bbf7d",
2062
+ null,
2063
+ null
2064
+ );
2065
+ const di = hi.exports, pi = {
2066
+ attach: {
2067
+ type: [Boolean, Element],
2068
+ default: !0
2069
+ },
2070
+ value: {
2071
+ required: !0,
2072
+ type: Object
2073
+ }
2074
+ }, mi = h.extend({
2075
+ name: "BSortByMenu",
2076
+ mixins: [b("components/ui/BSortByMenu")],
2077
+ props: pi,
2078
+ data() {
2079
+ return {
2080
+ items: [
2081
+ {
2082
+ value: _.TopPicks,
2083
+ direction: y.Asc
2084
+ },
2085
+ {
2086
+ value: _.Distance,
2087
+ direction: y.Asc
2088
+ },
2089
+ {
2090
+ value: _.Price,
2091
+ direction: y.Asc
2092
+ },
2093
+ {
2094
+ value: _.Price,
2095
+ direction: y.Desc
2096
+ },
2097
+ {
2098
+ value: _.Rating,
2099
+ direction: y.Asc
2100
+ },
2101
+ {
2102
+ value: _.Rating,
2103
+ direction: y.Desc
2104
+ },
2105
+ {
2106
+ value: _.ReviewRating,
2107
+ direction: y.Desc
2108
+ }
2109
+ ],
2110
+ isMenuOpen: !1
2111
+ };
2112
+ },
2113
+ computed: {
2114
+ model: {
2115
+ get() {
2116
+ const e = this.items.findIndex(
2117
+ (t) => t.value === this.value.value && t.direction === this.value.direction
2118
+ );
2119
+ return e === -1 ? 0 : e;
2120
+ },
2121
+ set(e) {
2122
+ this.$emit("input", this.items[e], c.SORT_BY);
2123
+ }
2124
+ }
2125
+ }
2126
+ });
2127
+ var fi = function() {
2128
+ var t = this, i = t._self._c;
2129
+ 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 }) {
2130
+ return [i(l, t._g(t._b({ attrs: { color: "secondary", elevation: 0, small: "" } }, "v-btn", n, !1), s), [i("span", [t.$t(
2131
+ `BSortByMenu.options.${t.items[t.model].value}.${t.value.direction}.icon`
2132
+ ).length ? i(g, { staticClass: "mr-1", class: t.$t(
2133
+ `BSortByMenu.options.${t.items[t.model].value}.${t.value.direction}.style`
2134
+ ), 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)])];
2135
+ } }]), model: { value: t.isMenuOpen, callback: function(s) {
2136
+ t.isMenuOpen = s;
2137
+ }, expression: "isMenuOpen" } }, [i(de, { staticClass: "b-sort-by-list white pa-0", attrs: { mandatory: "" }, model: { value: t.model, callback: function(s) {
2138
+ t.model = s;
2139
+ }, 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) {
2140
+ 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);
2141
+ })], 2)], 1);
2142
+ }, vi = [], gi = /* @__PURE__ */ p(
2143
+ mi,
2144
+ fi,
2145
+ vi,
2146
+ !1,
2147
+ null,
2148
+ "90bc84a5",
2149
+ null,
2150
+ null
2151
+ );
2152
+ const _i = gi.exports, yi = {
2153
+ isLoading: {
2154
+ default: !1,
2155
+ type: Boolean
2156
+ },
2157
+ small: {
2158
+ default: !0,
2159
+ type: Boolean
2160
+ },
2161
+ withSort: {
2162
+ default: !0,
2163
+ type: Boolean
2164
+ }
2165
+ }, bi = h.extend({
2166
+ name: "BHotelOffersFiltersBar",
2167
+ components: {
2168
+ BSortByMenu: _i,
2169
+ BFilterByPrice: mt,
2170
+ BFilterByPriceMenu: Ue,
2171
+ BFilterByStar: gt,
2172
+ BFilterByStarMenu: di,
2173
+ BFilterByReview: ft,
2174
+ BFilterByReviewMenu: ei
2175
+ },
2176
+ mixins: [
2177
+ x,
2178
+ ot,
2179
+ b("components/ui/BHotelOffersFilterBar")
2180
+ ],
2181
+ props: yi,
2182
+ data() {
2183
+ return {
2184
+ FILTER_NAMES: c,
2185
+ isDialogOpen: !1,
2186
+ filterByPriceModel: j,
2187
+ filterByReviewRatingModel: Y,
2188
+ filterByStarRatingModel: q,
2189
+ priceUpdatedByUser: !1
2190
+ };
2191
+ },
2192
+ computed: {
2193
+ activeFiltersNumber: d("hotelOffers/activeFiltersNumber"),
2194
+ areFiltersActive: d("hotelOffers/areFiltersActive"),
2195
+ filters: d("hotelOffers/filters"),
2196
+ hotelOfferRequest: d("hotelOfferRequest"),
2197
+ isPriceFilterActive: d("hotelOffers/isPriceFilterActive"),
2198
+ isResetButtonVisible() {
2199
+ var e, t;
2200
+ 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;
2201
+ },
2202
+ isStarRatingFilterActive: d(
2203
+ "hotelOffers/isStarRatingFilterActive"
2204
+ ),
2205
+ isReviewRatingFilterActive: d(
2206
+ "hotelOffers/isReviewRatingFilterActive"
2207
+ ),
2208
+ priceHistogramStepCount: d("hotelOffers/priceHistogramStepCount"),
2209
+ priceMax: d("hotelOffers/getPriceMax"),
2210
+ priceMin: d("hotelOffers/getPriceMin"),
2211
+ sortByModel: {
2212
+ get() {
2213
+ return this.filters[c.SORT_BY];
2214
+ },
2215
+ async set(e) {
2216
+ await $("hotelOffers/saveFilters", {
2217
+ ...this.filters,
2218
+ [c.SORT_BY]: e
2219
+ });
2220
+ }
2221
+ }
2222
+ },
2223
+ watch: {
2224
+ filters: {
2225
+ deep: !0,
2226
+ immediate: !0,
2227
+ handler() {
2228
+ this.syncFilters();
2229
+ }
2230
+ }
2231
+ },
2232
+ methods: {
2233
+ onCancel() {
2234
+ this.syncFilters(), this.isDialogOpen = !1;
2235
+ },
2236
+ async onSaveFilters() {
2237
+ await $("hotelOffers/saveFilters", {
2238
+ ...this.filters,
2239
+ [c.RATING]: this.filterByStarRatingModel,
2240
+ [c.REVIEW_RATING]: this.filterByReviewRatingModel,
2241
+ [c.PRICE]: [
2242
+ this.filterByPriceModel[0] === this.priceMin ? 0 : this.filterByPriceModel[0],
2243
+ this.filterByPriceModel[1] === this.priceMax ? 0 : this.filterByPriceModel[1]
2244
+ ]
2245
+ }), this.isDialogOpen = !1;
2246
+ },
2247
+ async resetPriceFilter() {
2248
+ await $("hotelOffers/saveFilters", {
2249
+ ...this.filters,
2250
+ [c.PRICE]: j
2251
+ });
2252
+ },
2253
+ async resetStarRatingFilter() {
2254
+ await $("hotelOffers/saveFilters", {
2255
+ ...this.filters,
2256
+ [c.RATING]: q
2257
+ });
2258
+ },
2259
+ async resetReviewRatingFilter() {
2260
+ await $("hotelOffers/saveFilters", {
2261
+ ...this.filters,
2262
+ [c.REVIEW_RATING]: Y
2263
+ });
2264
+ },
2265
+ onResetFilters() {
2266
+ this.filterByPriceModel = w[c.PRICE], this.filterByStarRatingModel = w[c.RATING], this.filterByReviewRatingModel = w[c.REVIEW_RATING];
2267
+ },
2268
+ syncFilters() {
2269
+ this.filterByPriceModel = this.filters[c.PRICE], this.filterByStarRatingModel = this.filters[c.RATING], this.filterByReviewRatingModel = this.filters[c.REVIEW_RATING];
2270
+ }
2271
+ }
2272
+ });
2273
+ var Mi = function() {
2274
+ var t = this, i = t._self._c;
2275
+ 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) {
2276
+ t.isDialogOpen = s;
2277
+ }, 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) {
2278
+ t.filterByPriceModel = s;
2279
+ }, 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) {
2280
+ t.filterByStarRatingModel = s;
2281
+ }, 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) {
2282
+ t.filterByReviewRatingModel = s;
2283
+ }, 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) {
2284
+ t.isDialogOpen = !0;
2285
+ } } }, [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) {
2286
+ t.filterByPriceModel = s;
2287
+ }, 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) {
2288
+ t.filterByStarRatingModel = s;
2289
+ }, 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) {
2290
+ t.filterByReviewRatingModel = s;
2291
+ }, 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) {
2292
+ t.sortByModel = s;
2293
+ }, expression: "sortByModel" } })], 1) : t._e()], 1)], 1);
2294
+ }, xi = [], $i = /* @__PURE__ */ p(
2295
+ bi,
2296
+ Mi,
2297
+ xi,
2298
+ !1,
2299
+ null,
2300
+ "c0c65af1",
2301
+ null,
2302
+ null
2303
+ );
2304
+ const ms = $i.exports;
2305
+ function Bi(e) {
2306
+ return /^([+-]?\d*\.?\d+([Ee][+-]?\d+)?|[+-]?\d*\.?\d+)(px|em|rem|vw|vh|vmin|vmax|%|cm|mm|in|pt|pc|ch|ex|q)$/u.test(
2307
+ e
2308
+ );
2309
+ }
2310
+ function it(e) {
2311
+ if (e)
2312
+ return typeof e == "number" ? `${e}px` : typeof e == "string" && (Bi(e) || e.startsWith("var")) ? e : Number.isNaN(e) ? "100%" : `${e}px`;
2313
+ }
2314
+ const fs = h.extend({
2315
+ data() {
2316
+ return {
2317
+ parsedHeight: it(this.height)
2318
+ };
2319
+ },
2320
+ watch: {
2321
+ height: {
2322
+ immediate: !0,
2323
+ handler(e) {
2324
+ this.parsedHeight = it(e);
2325
+ }
2326
+ }
2327
+ }
2328
+ });
2329
+ Mt("css/revolugo.parsed-height.B92--uJb.css");
2330
+ export {
2331
+ ps as B,
2332
+ _e as H,
2333
+ f as a,
2334
+ ms as b,
2335
+ ds as c,
2336
+ fs as p
2337
+ };
2338
+ //# sourceMappingURL=revolugo.parsed-height.Bd1t0mHH.min.js.map