@revolugo/elements 5.5.1-beta.29 → 5.5.1-beta.3

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/revolugo.0.min.css +5 -0
  2. package/dist/css/revolugo.1.min.css +1 -0
  3. package/dist/css/revolugo.11.min.css +1 -0
  4. package/dist/css/revolugo.12.min.css +1 -0
  5. package/dist/css/revolugo.13.min.css +1 -0
  6. package/dist/css/revolugo.14.min.css +1 -0
  7. package/dist/css/revolugo.15.min.css +1 -0
  8. package/dist/css/revolugo.16.min.css +1 -0
  9. package/dist/css/revolugo.17.min.css +1 -0
  10. package/dist/css/revolugo.18.min.css +1 -0
  11. package/dist/css/revolugo.19.min.css +1 -0
  12. package/dist/css/revolugo.2.min.css +1 -0
  13. package/dist/css/revolugo.20.min.css +1 -0
  14. package/dist/css/revolugo.21.min.css +1 -0
  15. package/dist/css/revolugo.22.min.css +1 -0
  16. package/dist/css/revolugo.23.min.css +1 -0
  17. package/dist/css/revolugo.24.min.css +1 -0
  18. package/dist/css/revolugo.25.min.css +1 -0
  19. package/dist/css/revolugo.26.min.css +1 -0
  20. package/dist/css/revolugo.27.min.css +1 -0
  21. package/dist/css/revolugo.28.min.css +1 -0
  22. package/dist/css/revolugo.29.min.css +1 -0
  23. package/dist/css/revolugo.30.min.css +1 -0
  24. package/dist/css/revolugo.31.min.css +1 -0
  25. package/dist/css/revolugo.32.min.css +1 -0
  26. package/dist/css/revolugo.33.min.css +1 -0
  27. package/dist/css/revolugo.34.min.css +1 -0
  28. package/dist/css/revolugo.4.min.css +1 -0
  29. package/dist/css/revolugo.5.min.css +1 -0
  30. package/dist/css/revolugo.6.min.css +1 -0
  31. package/dist/css/revolugo.7.min.css +1 -0
  32. package/dist/css/revolugo.fonts.min.css +1 -0
  33. package/dist/fonts/amenities.2aad1d12.woff +0 -0
  34. package/dist/fonts/amenities.9adae269.ttf +0 -0
  35. package/dist/fonts/amenities.a9bf50f8.svg +42 -0
  36. package/dist/fonts/amenities.bd6b3a4a.eot +0 -0
  37. package/dist/fonts/beds.2b8e38c8.svg +12 -0
  38. package/dist/img/apst.c1092975.png +0 -0
  39. package/dist/img/apst.ec7669f2.png +0 -0
  40. package/dist/img/atout-france.72107e30.png +0 -0
  41. package/dist/img/atout-france.df038f22.png +0 -0
  42. package/dist/img/revolugo.179c459d.png +0 -0
  43. package/dist/img/revolugo.e0879dcc.png +0 -0
  44. package/dist/img/stripe.405543e2.png +0 -0
  45. package/dist/img/stripe.c3e16f9f.png +0 -0
  46. package/dist/index.min.js +1 -1
  47. package/dist/revolugo.0.min.js +18 -0
  48. package/dist/revolugo.1.min.js +1 -0
  49. package/dist/revolugo.11.min.js +134 -0
  50. package/dist/revolugo.12.min.js +19 -0
  51. package/dist/revolugo.13.min.js +14 -0
  52. package/dist/revolugo.14.min.js +19 -0
  53. package/dist/revolugo.15.min.js +139 -0
  54. package/dist/revolugo.16.min.js +14 -0
  55. package/dist/revolugo.17.min.js +14 -0
  56. package/dist/revolugo.18.min.js +1 -0
  57. package/dist/revolugo.19.min.js +1 -0
  58. package/dist/revolugo.2.min.js +1 -0
  59. package/dist/revolugo.20.min.js +1 -0
  60. package/dist/revolugo.21.min.js +116 -0
  61. package/dist/revolugo.22.min.js +1 -0
  62. package/dist/revolugo.23.min.js +1 -0
  63. package/dist/revolugo.24.min.js +1 -0
  64. package/dist/revolugo.25.min.js +1 -0
  65. package/dist/revolugo.26.min.js +1 -0
  66. package/dist/revolugo.27.min.js +1 -0
  67. package/dist/revolugo.28.min.js +116 -0
  68. package/dist/revolugo.29.min.js +1 -0
  69. package/dist/revolugo.30.min.js +1 -0
  70. package/dist/revolugo.31.min.js +1 -0
  71. package/dist/revolugo.32.min.js +1 -0
  72. package/dist/revolugo.33.min.js +1 -0
  73. package/dist/revolugo.34.min.js +1 -0
  74. package/dist/revolugo.35.min.js +1 -0
  75. package/dist/revolugo.36.min.js +1 -0
  76. package/dist/revolugo.4.min.js +1 -0
  77. package/dist/revolugo.5.min.js +1 -0
  78. package/dist/revolugo.6.min.js +1 -0
  79. package/dist/revolugo.7.min.js +1 -0
  80. package/dist/revolugo.en-US.min.js +1 -0
  81. package/dist/revolugo.fonts.min.js +1 -0
  82. package/dist/revolugo.fr-FR.min.js +1 -0
  83. package/dist/revolugo.min.js +7 -257
  84. package/package.json +3 -3
  85. package/dist/css/fonts.css +0 -1
  86. package/dist/css/revolugo.bdaterangepicker.DEh20utH.css +0 -1
  87. package/dist/css/revolugo.bhotelroomsdetails.4XsxkvH7.css +0 -1
  88. package/dist/css/revolugo.bhotelsearchbar.dwYB1gUC.css +0 -1
  89. package/dist/css/revolugo.bookingdetailssidebar.tDtXpaIj.css +0 -1
  90. package/dist/css/revolugo.bphoneinput.Kq_-XiGI.css +0 -1
  91. package/dist/css/revolugo.bstarrating.nzH7iii4.css +0 -1
  92. package/dist/css/revolugo.btag.Bdbqb_8a.css +0 -1
  93. package/dist/css/revolugo.common.BSIsYREh.css +0 -1
  94. package/dist/css/revolugo.creditcardform.BGPUxkRC.css +0 -1
  95. package/dist/css/revolugo.creditcardpayment.0MNnDloZ.css +0 -1
  96. package/dist/css/revolugo.currencypicker.BRYsKdMu.css +0 -1
  97. package/dist/css/revolugo.fullbookingflow.BHV7_MhK.css +0 -1
  98. package/dist/css/revolugo.hotel-offer.Di9LJKMP.css +0 -1
  99. package/dist/css/revolugo.hoteldescriptionview.9ofE1uWG.css +0 -1
  100. package/dist/css/revolugo.hoteloffersmap.-ZhDcfsj.css +0 -1
  101. package/dist/css/revolugo.hoteloffersview.MWOmwEwv.css +0 -1
  102. package/dist/css/revolugo.hotelroomofferlist.DrGyKJ-m.css +0 -1
  103. package/dist/css/revolugo.hotelroomoffersbookingflow.PPEIqHuM.css +0 -1
  104. package/dist/css/revolugo.hotelroomoffersview.B8Y-2QYc.css +0 -1
  105. package/dist/css/revolugo.index.BMkl7a3p.css +0 -1
  106. package/dist/css/revolugo.index.CFW4Oklv.css +0 -1
  107. package/dist/css/revolugo.index.DXv5c7NS.css +0 -1
  108. package/dist/css/revolugo.langpicker.B3TsOwUq.css +0 -1
  109. package/dist/css/revolugo.parsed-height.B92--uJb.css +0 -1
  110. package/dist/css/revolugo.parsed-props.C3kOvm7T.css +0 -1
  111. package/dist/css/revolugo.prebookform.DBm2B4rS.css +0 -1
  112. package/dist/css/revolugo.revolugo-config.Dg8v1l3c.css +0 -5
  113. package/dist/css/revolugo.storybooktoolbar.CVnww0dZ.css +0 -1
  114. package/dist/css/revolugo.termsandconditions.DV2YnGzG.css +0 -1
  115. package/dist/css/revolugo.valert.BzcMswjJ.css +0 -1
  116. package/dist/css/revolugo.vautocomplete.OMX_yAge.css +0 -1
  117. package/dist/css/revolugo.vbadge.CiK_DSkI.css +0 -1
  118. package/dist/css/revolugo.vbtn.By46MJOU.css +0 -1
  119. package/dist/css/revolugo.vcard.DmB53ZNL.css +0 -1
  120. package/dist/css/revolugo.vchip.BdAdP6lC.css +0 -1
  121. package/dist/css/revolugo.vdialog.C02Cvwul.css +0 -1
  122. package/dist/css/revolugo.vexpansionpanelheader.B2eKo8Lo.css +0 -1
  123. package/dist/css/revolugo.vinput.SfhpXNi0.css +0 -1
  124. package/dist/css/revolugo.vitemgroup.EbHsz8Rr.css +0 -1
  125. package/dist/css/revolugo.vlistitem.BzwNE1YK.css +0 -1
  126. package/dist/css/revolugo.vmenu.BKE0IO4q.css +0 -1
  127. package/dist/css/revolugo.vselect.DljSkk6y.css +0 -1
  128. package/dist/css/revolugo.vsheet.Dtdo2Rps.css +0 -1
  129. package/dist/css/revolugo.vskeletonloader.BpGoaAbZ.css +0 -1
  130. package/dist/css/revolugo.vslidegroup.D5TIbmaw.css +0 -1
  131. package/dist/css/revolugo.vsnackbar.DTAXPYkr.css +0 -1
  132. package/dist/css/revolugo.vtextfield.BliJY6uv.css +0 -1
  133. package/dist/css/revolugo.vtoolbar.DQsezjcM.css +0 -1
  134. package/dist/css/revolugo.vtooltip.B_oOB9pj.css +0 -1
  135. package/dist/css/revolugo.vuetify.BpIoHlAi.css +0 -1
  136. package/dist/css/revolugo.webcomponentwrapper.BRZRuwZ0.css +0 -1
  137. package/dist/revolugo.banktransferdetails.C55CaZGd.min.js +0 -105
  138. package/dist/revolugo.bbreakfastoptionbadge.CPzlydVG.min.js +0 -62
  139. package/dist/revolugo.bdaterangepicker.CXA2GXFz.min.js +0 -1351
  140. package/dist/revolugo.bformattedamount.DhVut6DK.min.js +0 -82
  141. package/dist/revolugo.bhotelroomsdetails.DSVVf-up.min.js +0 -213
  142. package/dist/revolugo.bhotelsearchbar.DhebdaQo.min.js +0 -446
  143. package/dist/revolugo.booking-api-client.Drh0cRTW.min.js +0 -7443
  144. package/dist/revolugo.bookingdetailssidebar.B1ZoXar0.min.js +0 -28
  145. package/dist/revolugo.bookingdetailssidebar.BnTJ96GE.min.js +0 -242
  146. package/dist/revolugo.bookingmanager.DYOyVHT2.min.js +0 -405
  147. package/dist/revolugo.bphoneinput.BZQIBmYO.min.js +0 -1935
  148. package/dist/revolugo.bpricesummaryskeleton.Dz7YvdGU.min.js +0 -47
  149. package/dist/revolugo.breakpoint-service.ulonvHwK.min.js +0 -65
  150. package/dist/revolugo.bstarrating.BZPKWVuk.min.js +0 -173
  151. package/dist/revolugo.btag.DyLjgDWq.min.js +0 -68
  152. package/dist/revolugo.cancellationpoliciesbadge.CIIL360X.min.js +0 -28
  153. package/dist/revolugo.cancellationpoliciesbadge.DRFgoqVN.min.js +0 -92
  154. package/dist/revolugo.cancellationpolicieslist.B0b8XPoU.min.js +0 -28
  155. package/dist/revolugo.cancellationpolicieslist.cnRF1goy.min.js +0 -317
  156. package/dist/revolugo.common.BavAKcPL.min.js +0 -34
  157. package/dist/revolugo.creditcardform.BY725aQ3.min.js +0 -28
  158. package/dist/revolugo.creditcardform.C24U8fTh.min.js +0 -2049
  159. package/dist/revolugo.creditcardpayment.6TDQ9DR4.min.js +0 -28
  160. package/dist/revolugo.creditcardpayment.clAMf1Nb.min.js +0 -288
  161. package/dist/revolugo.currencypicker.BK66ASkQ.min.js +0 -122
  162. package/dist/revolugo.currencypickerbtn.C9EGOp6Y.min.js +0 -121
  163. package/dist/revolugo.currencypickerbtn.DPv6HcHf.min.js +0 -28
  164. package/dist/revolugo.dialog-attach.BQO5FkC9.min.js +0 -27
  165. package/dist/revolugo.en-us.BwPQZpD-.min.js +0 -1171
  166. package/dist/revolugo.event-bus.CYLYgD3Y.min.js +0 -37
  167. package/dist/revolugo.fr-fr.CV4yETNm.min.js +0 -1177
  168. package/dist/revolugo.fullbookingflow.DDMFviNy.min.js +0 -239
  169. package/dist/revolugo.hotel-offer.DxAoWIpr.min.js +0 -605
  170. package/dist/revolugo.hoteldescriptionview.BDmYu0i8.min.js +0 -2174
  171. package/dist/revolugo.hoteldescriptionview._H5Q2mcT.min.js +0 -28
  172. package/dist/revolugo.hotelofferitemlayout.DsiXk-vv.min.js +0 -64
  173. package/dist/revolugo.hotelofferlist.CeapYJDW.min.js +0 -28
  174. package/dist/revolugo.hotelofferlist.DZ2dsJ-e.min.js +0 -3779
  175. package/dist/revolugo.hotelofferrequestcreator.B9mGU5bB.min.js +0 -225
  176. package/dist/revolugo.hoteloffersearchmenu.HBcyZs4Q.min.js +0 -54
  177. package/dist/revolugo.hoteloffersmap.BrazX0Ns.min.js +0 -28
  178. package/dist/revolugo.hoteloffersmap.C5g2oYhf.min.js +0 -8737
  179. package/dist/revolugo.hoteloffersview.CsPNh4Kt.min.js +0 -28
  180. package/dist/revolugo.hoteloffersview.DcnEyUUU.min.js +0 -157
  181. package/dist/revolugo.hotelroomofferlist.B-g6Q8_4.min.js +0 -1332
  182. package/dist/revolugo.hotelroomofferlist.RuwB9IxG.min.js +0 -28
  183. package/dist/revolugo.hotelroomofferrequestcreator.Cqzw_aE0.min.js +0 -225
  184. package/dist/revolugo.hotelroomoffersbookingflow.COZqoepd.min.js +0 -679
  185. package/dist/revolugo.hotelroomoffersearchmenu.ByLxAySM.min.js +0 -38
  186. package/dist/revolugo.hotelroomoffersearchmenu.CdQUDvcb.min.js +0 -29
  187. package/dist/revolugo.hotelroomoffersview.ClVhWfgw.min.js +0 -124
  188. package/dist/revolugo.hotelroomoffersview.eCMrmTCo.min.js +0 -28
  189. package/dist/revolugo.i18n.BIDah4Hr.min.js +0 -10901
  190. package/dist/revolugo.index.7JjiClzl.min.js +0 -68
  191. package/dist/revolugo.index.BOFNqiKi.min.js +0 -128
  192. package/dist/revolugo.index.BUgl82zB.min.js +0 -270
  193. package/dist/revolugo.index.BafzMKRk.min.js +0 -13
  194. package/dist/revolugo.index.CVaQfmC0.min.js +0 -15
  195. package/dist/revolugo.index.CZ_vXpge.min.js +0 -161
  196. package/dist/revolugo.index.CfwKNM8Q.min.js +0 -9
  197. package/dist/revolugo.index.CnslRErc.min.js +0 -390
  198. package/dist/revolugo.index.DSRnAuVy.min.js +0 -322
  199. package/dist/revolugo.index.Dudg2j1-.min.js +0 -9
  200. package/dist/revolugo.index.Dx0TIvP-.min.js +0 -281
  201. package/dist/revolugo.index.DxqmvtLl.min.js +0 -142
  202. package/dist/revolugo.index.mq4mKuqN.min.js +0 -43
  203. package/dist/revolugo.index.uFyOvtCp.min.js +0 -42
  204. package/dist/revolugo.langpicker.CaTVC1cX.min.js +0 -103
  205. package/dist/revolugo.langpickerbtn.-w2EwXVX.min.js +0 -111
  206. package/dist/revolugo.langpickerbtn.j5kMlExk.min.js +0 -28
  207. package/dist/revolugo.localizedformat.C4ez1VLt.min.js +0 -47
  208. package/dist/revolugo.parsed-height.DNFIHNkb.min.js +0 -2338
  209. package/dist/revolugo.parsed-props.BaP5i3Zj.min.js +0 -95
  210. package/dist/revolugo.prebookform.BdoASrCo.min.js +0 -484
  211. package/dist/revolugo.prebookform.Cu_KCmAN.min.js +0 -28
  212. package/dist/revolugo.revolugo-config.B9n_CElG.min.js +0 -1707
  213. package/dist/revolugo.roominglisteditor.D554peLD.min.js +0 -28
  214. package/dist/revolugo.roominglisteditor.Dk6qQeAv.min.js +0 -201
  215. package/dist/revolugo.sentry.CuQ4Sj_P.min.js +0 -10989
  216. package/dist/revolugo.store.TBV-eqIE.min.js +0 -2497
  217. package/dist/revolugo.storybooktoolbar.B2yhjWX3.min.js +0 -300
  218. package/dist/revolugo.termsandconditions.D1WdEUB9.min.js +0 -27
  219. package/dist/revolugo.termsandconditions.Fz3tL15I.min.js +0 -162
  220. package/dist/revolugo.typed-mixins.CArk-fZ7.min.js +0 -8
  221. package/dist/revolugo.valert.Q0I4gNbO.min.js +0 -194
  222. package/dist/revolugo.vautocomplete.DTOsEc25.min.js +0 -255
  223. package/dist/revolugo.vbadge.CLJk9qhA.min.js +0 -172
  224. package/dist/revolugo.vbtn.DrwUvQHj.min.js +0 -286
  225. package/dist/revolugo.vcard.Bs6nQzOl.min.js +0 -80
  226. package/dist/revolugo.vchip.CuCeqWzD.min.js +0 -157
  227. package/dist/revolugo.vdialog.BbC4lqGQ.min.js +0 -341
  228. package/dist/revolugo.vexpansionpanelheader.B--qAjL8.min.js +0 -263
  229. package/dist/revolugo.vform.DzJhfMwE.min.js +0 -98
  230. package/dist/revolugo.vinput.DFfd_YGp.min.js +0 -509
  231. package/dist/revolugo.vitemgroup.CkDfn6V_.min.js +0 -168
  232. package/dist/revolugo.vlistitem.XfvAUlzQ.min.js +0 -204
  233. package/dist/revolugo.vmenu.C1w0iDUT.min.js +0 -349
  234. package/dist/revolugo.vselect.DsqU5p84.min.js +0 -859
  235. package/dist/revolugo.vsheet.Cqbr0KfV.min.js +0 -120
  236. package/dist/revolugo.vskeletonloader.gg-3RSEt.min.js +0 -172
  237. package/dist/revolugo.vslidegroup.C4i3UEKI.min.js +0 -650
  238. package/dist/revolugo.vsnackbar.BNgumj3w.min.js +0 -178
  239. package/dist/revolugo.vtextfield.C9nZE6f1.min.js +0 -438
  240. package/dist/revolugo.vtoolbar.CLDVT4Bb.min.js +0 -364
  241. package/dist/revolugo.vtooltip.CQJMuU2t.min.js +0 -168
  242. package/dist/revolugo.vuetify.BEdap6Ni.min.js +0 -865
  243. package/dist/revolugo.watch-list.Bb06Iz6D.min.js +0 -44
  244. package/dist/revolugo.webcomponentwrapper.CwAC855u.min.js +0 -777
@@ -1,1332 +0,0 @@
1
- import { o as v, r as w, s as C } from "./revolugo.booking-api-client.Drh0cRTW.min.js";
2
- import { d as y, b as Q, a as Y } from "./revolugo.store.TBV-eqIE.min.js";
3
- import { h as J, H as X } from "./revolugo.hotelroomofferrequestcreator.Cqzw_aE0.min.js";
4
- import { V as u, I as Z, d as R, F as I, s as tt } from "./revolugo.i18n.BIDah4Hr.min.js";
5
- import { k as O, h as d, E as et } from "./revolugo.revolugo-config.B9n_CElG.min.js";
6
- import { C as ot } from "./revolugo.cancellationpoliciesbadge.DRFgoqVN.min.js";
7
- import { a as E, B as st } from "./revolugo.bpricesummaryskeleton.Dz7YvdGU.min.js";
8
- import { b as H } from "./revolugo.breakpoint-service.ulonvHwK.min.js";
9
- import { m as k, T as B, C as A, l as p, n as f, _ as a, a as r, B as S, d as N } from "./revolugo.webcomponentwrapper.CwAC855u.min.js";
10
- import { _ as m } from "./revolugo.vskeletonloader.gg-3RSEt.min.js";
11
- import { B as z } from "./revolugo.bbreakfastoptionbadge.CPzlydVG.min.js";
12
- import { B as D, f as it } from "./revolugo.bformattedamount.DhVut6DK.min.js";
13
- import { B as V } from "./revolugo.btag.DyLjgDWq.min.js";
14
- import { S as rt } from "./revolugo.index.CZ_vXpge.min.js";
15
- import { V as at } from "./revolugo.vinput.DFfd_YGp.min.js";
16
- import { T as nt, R as lt } from "./revolugo.vuetify.BEdap6Ni.min.js";
17
- import { d as ct } from "./revolugo.index.DxqmvtLl.min.js";
18
- import { a as $, _ as x } from "./revolugo.vbtn.DrwUvQHj.min.js";
19
- import { R as F, f as ut, _ } from "./revolugo.index.CnslRErc.min.js";
20
- import { B as M } from "./revolugo.bhotelroomsdetails.DSVVf-up.min.js";
21
- import { _ as ft } from "./revolugo.vtooltip.CQJMuU2t.min.js";
22
- import { _ as mt } from "./revolugo.vselect.DsqU5p84.min.js";
23
- import { C as ht, a as dt } from "./revolugo.cancellationpolicieslist.cnRF1goy.min.js";
24
- import { _ as c, p as pt } from "./revolugo.parsed-props.BaP5i3Zj.min.js";
25
- /* empty css */
26
- import { _ as _t } from "./revolugo.valert.Q0I4gNbO.min.js";
27
- import { w as gt } from "./revolugo.watch-list.Bb06Iz6D.min.js";
28
- import { B as g, V as P, a as L } from "./revolugo.vslidegroup.C4i3UEKI.min.js";
29
- import { S as yt } from "./revolugo.index.7JjiClzl.min.js";
30
- import { B as kt } from "./revolugo.vitemgroup.CkDfn6V_.min.js";
31
- import { P as bt, _ as vt } from "./revolugo.index.Dx0TIvP-.min.js";
32
- function W(o) {
33
- try {
34
- if (typeof document < "u") {
35
- window.REVOLUGO_ELEMENTS_STYLES = window.REVOLUGO_ELEMENTS_STYLES || {
36
- sheets: [],
37
- components: []
38
- };
39
- const t = import.meta.url, e = t.slice(0, t.lastIndexOf("/") + 1) + o;
40
- window.REVOLUGO_ELEMENTS_STYLES.sheets.push(e);
41
- for (const s of REVOLUGO_ELEMENTS_STYLES.components)
42
- s(e);
43
- if (o.indexOf("fonts") >= 0) {
44
- const s = document.createElement("link");
45
- s.rel = "stylesheet", linK.href = e, document.head.appendChild(s);
46
- }
47
- }
48
- } catch (t) {
49
- console.error("[revolugo-elements] ", t);
50
- }
51
- }
52
- const Rt = rt.extend({
53
- name: "v-switch",
54
- directives: {
55
- Touch: nt
56
- },
57
- props: {
58
- inset: Boolean,
59
- loading: {
60
- type: [Boolean, String],
61
- default: !1
62
- },
63
- flat: {
64
- type: Boolean,
65
- default: !1
66
- }
67
- },
68
- computed: {
69
- classes() {
70
- return {
71
- ...at.options.computed.classes.call(this),
72
- "v-input--selection-controls v-input--switch": !0,
73
- "v-input--switch--flat": this.flat,
74
- "v-input--switch--inset": this.inset
75
- };
76
- },
77
- attrs() {
78
- return {
79
- "aria-checked": String(this.isActive),
80
- "aria-disabled": String(this.isDisabled),
81
- role: "switch"
82
- };
83
- },
84
- // Do not return undefined if disabled,
85
- // according to spec, should still show
86
- // a color when disabled and active
87
- validationState() {
88
- if (this.hasError && this.shouldValidate)
89
- return "error";
90
- if (this.hasSuccess)
91
- return "success";
92
- if (this.hasColor !== null)
93
- return this.computedColor;
94
- },
95
- switchData() {
96
- return this.setTextColor(this.loading ? void 0 : this.validationState, {
97
- class: this.themeClasses
98
- });
99
- }
100
- },
101
- methods: {
102
- genDefaultSlot() {
103
- return [this.genSwitch(), this.genLabel()];
104
- },
105
- genSwitch() {
106
- const {
107
- title: o,
108
- ...t
109
- } = this.attrs$;
110
- return this.$createElement("div", {
111
- staticClass: "v-input--selection-controls__input"
112
- }, [this.genInput("checkbox", {
113
- ...this.attrs,
114
- ...t
115
- }), this.genRipple(this.setTextColor(this.validationState, {
116
- directives: [{
117
- name: "touch",
118
- value: {
119
- left: this.onSwipeLeft,
120
- right: this.onSwipeRight
121
- }
122
- }]
123
- })), this.$createElement("div", {
124
- staticClass: "v-input--switch__track",
125
- ...this.switchData
126
- }), this.$createElement("div", {
127
- staticClass: "v-input--switch__thumb",
128
- ...this.switchData
129
- }, [this.genProgress()])]);
130
- },
131
- genProgress() {
132
- return this.$createElement(ct, {}, [this.loading === !1 ? null : this.$slots.progress || this.$createElement($, {
133
- props: {
134
- color: this.loading === !0 || this.loading === "" ? this.color || "primary" : this.loading,
135
- size: 16,
136
- width: 2,
137
- indeterminate: !0
138
- }
139
- })]);
140
- },
141
- onSwipeLeft() {
142
- this.isActive && this.onChange();
143
- },
144
- onSwipeRight() {
145
- this.isActive || this.onChange();
146
- },
147
- onKeydown(o) {
148
- (o.keyCode === O.left && this.isActive || o.keyCode === O.right && !this.isActive) && this.onChange();
149
- }
150
- }
151
- }), Ct = k(
152
- g,
153
- yt,
154
- B
155
- /* @vue/component */
156
- ).extend({
157
- name: "v-tabs-bar",
158
- provide() {
159
- return {
160
- tabsBar: this
161
- };
162
- },
163
- computed: {
164
- classes() {
165
- return {
166
- ...g.options.computed.classes.call(this),
167
- "v-tabs-bar": !0,
168
- "v-tabs-bar--is-mobile": this.isMobile,
169
- // TODO: Remove this and move to v-slide-group
170
- "v-tabs-bar--show-arrows": this.showArrows,
171
- ...this.themeClasses
172
- };
173
- }
174
- },
175
- watch: {
176
- items: "callSlider",
177
- internalValue: "callSlider",
178
- $route: "onRouteChange"
179
- },
180
- methods: {
181
- callSlider() {
182
- this.isBooted && this.$emit("call:slider");
183
- },
184
- genContent() {
185
- const o = g.options.methods.genContent.call(this);
186
- return o.data = o.data || {}, o.data.staticClass += " v-tabs-bar__content", o;
187
- },
188
- onRouteChange(o, t) {
189
- if (this.mandatory)
190
- return;
191
- const e = this.items, s = o.path, i = t.path;
192
- let n = !1, h = !1;
193
- for (const l of e)
194
- if (l.to === i ? h = !0 : l.to === s && (n = !0), n && h)
195
- break;
196
- !n && h && (this.internalValue = void 0);
197
- }
198
- },
199
- render(o) {
200
- const t = g.options.render.call(this, o);
201
- return t.data.attrs = {
202
- role: "tablist"
203
- }, t;
204
- }
205
- }), q = P.extend({
206
- name: "v-tabs-items",
207
- props: {
208
- mandatory: {
209
- type: Boolean,
210
- default: !1
211
- }
212
- },
213
- computed: {
214
- classes() {
215
- return {
216
- ...P.options.computed.classes.call(this),
217
- "v-tabs-items": !0
218
- };
219
- },
220
- isDark() {
221
- return this.rootIsDark;
222
- }
223
- },
224
- methods: {
225
- getValue(o, t) {
226
- return o.id || kt.options.methods.getValue.call(this, o, t);
227
- }
228
- }
229
- }), Ot = k(A).extend({
230
- name: "v-tabs-slider",
231
- render(o) {
232
- return o("div", this.setBackgroundColor(this.color, {
233
- staticClass: "v-tabs-slider"
234
- }));
235
- }
236
- }), xt = k(A, bt, B), Bt = xt.extend().extend({
237
- name: "v-tabs",
238
- directives: {
239
- Resize: lt
240
- },
241
- props: {
242
- activeClass: {
243
- type: String,
244
- default: ""
245
- },
246
- alignWithTitle: Boolean,
247
- backgroundColor: String,
248
- centerActive: Boolean,
249
- centered: Boolean,
250
- fixedTabs: Boolean,
251
- grow: Boolean,
252
- height: {
253
- type: [Number, String],
254
- default: void 0
255
- },
256
- hideSlider: Boolean,
257
- iconsAndText: Boolean,
258
- mobileBreakpoint: [String, Number],
259
- nextIcon: {
260
- type: String,
261
- default: "$next"
262
- },
263
- optional: Boolean,
264
- prevIcon: {
265
- type: String,
266
- default: "$prev"
267
- },
268
- right: Boolean,
269
- showArrows: [Boolean, String],
270
- sliderColor: String,
271
- sliderSize: {
272
- type: [Number, String],
273
- default: 2
274
- },
275
- vertical: Boolean
276
- },
277
- data() {
278
- return {
279
- resizeTimeout: 0,
280
- slider: {
281
- height: null,
282
- left: null,
283
- right: null,
284
- top: null,
285
- width: null
286
- },
287
- transitionTime: 300
288
- };
289
- },
290
- computed: {
291
- classes() {
292
- return {
293
- "v-tabs--align-with-title": this.alignWithTitle,
294
- "v-tabs--centered": this.centered,
295
- "v-tabs--fixed-tabs": this.fixedTabs,
296
- "v-tabs--grow": this.grow,
297
- "v-tabs--icons-and-text": this.iconsAndText,
298
- "v-tabs--right": this.right,
299
- "v-tabs--vertical": this.vertical,
300
- ...this.themeClasses
301
- };
302
- },
303
- isReversed() {
304
- return this.$vuetify.rtl && this.vertical;
305
- },
306
- sliderStyles() {
307
- return {
308
- height: d(this.slider.height),
309
- left: this.isReversed ? void 0 : d(this.slider.left),
310
- right: this.isReversed ? d(this.slider.right) : void 0,
311
- top: this.vertical ? d(this.slider.top) : void 0,
312
- transition: this.slider.left != null ? null : "none",
313
- width: d(this.slider.width)
314
- };
315
- },
316
- computedColor() {
317
- return this.color ? this.color : this.isDark && !this.appIsDark ? "white" : "primary";
318
- }
319
- },
320
- watch: {
321
- alignWithTitle: "callSlider",
322
- centered: "callSlider",
323
- centerActive: "callSlider",
324
- fixedTabs: "callSlider",
325
- grow: "callSlider",
326
- iconsAndText: "callSlider",
327
- right: "callSlider",
328
- showArrows: "callSlider",
329
- vertical: "callSlider",
330
- "$vuetify.application.left": "onResize",
331
- "$vuetify.application.right": "onResize",
332
- "$vuetify.rtl": "onResize"
333
- },
334
- mounted() {
335
- if (typeof ResizeObserver < "u") {
336
- const o = new ResizeObserver(() => {
337
- this.onResize();
338
- });
339
- o.observe(this.$el), this.$on("hook:destroyed", () => {
340
- o.disconnect();
341
- });
342
- }
343
- this.$nextTick(() => {
344
- window.setTimeout(this.callSlider, 30);
345
- });
346
- },
347
- methods: {
348
- callSlider() {
349
- return this.hideSlider || !this.$refs.items || !this.$refs.items.selectedItems.length ? (this.slider.width = 0, !1) : (this.$nextTick(() => {
350
- const o = this.$refs.items.selectedItems[0];
351
- if (!o || !o.$el) {
352
- this.slider.width = 0, this.slider.left = 0;
353
- return;
354
- }
355
- const t = o.$el;
356
- this.slider = {
357
- height: this.vertical ? t.scrollHeight : Number(this.sliderSize),
358
- left: this.vertical ? 0 : t.offsetLeft,
359
- right: this.vertical ? 0 : t.offsetLeft + t.offsetWidth,
360
- top: t.offsetTop,
361
- width: this.vertical ? Number(this.sliderSize) : t.scrollWidth
362
- };
363
- }), !0);
364
- },
365
- genBar(o, t) {
366
- const e = {
367
- style: {
368
- height: d(this.height)
369
- },
370
- props: {
371
- activeClass: this.activeClass,
372
- centerActive: this.centerActive,
373
- dark: this.dark,
374
- light: this.light,
375
- mandatory: !this.optional,
376
- mobileBreakpoint: this.mobileBreakpoint,
377
- nextIcon: this.nextIcon,
378
- prevIcon: this.prevIcon,
379
- showArrows: this.showArrows,
380
- value: this.internalValue
381
- },
382
- on: {
383
- "call:slider": this.callSlider,
384
- change: (s) => {
385
- this.internalValue = s;
386
- }
387
- },
388
- ref: "items"
389
- };
390
- return this.setTextColor(this.computedColor, e), this.setBackgroundColor(this.backgroundColor, e), this.$createElement(Ct, e, [this.genSlider(t), o]);
391
- },
392
- genItems(o, t) {
393
- return o || (t.length ? this.$createElement(q, {
394
- props: {
395
- value: this.internalValue
396
- },
397
- on: {
398
- change: (e) => {
399
- this.internalValue = e;
400
- }
401
- }
402
- }, t) : null);
403
- },
404
- genSlider(o) {
405
- return this.hideSlider ? null : (o || (o = this.$createElement(Ot, {
406
- props: {
407
- color: this.sliderColor
408
- }
409
- })), this.$createElement("div", {
410
- staticClass: "v-tabs-slider-wrapper",
411
- style: this.sliderStyles
412
- }, [o]));
413
- },
414
- onResize() {
415
- this._isDestroyed || (clearTimeout(this.resizeTimeout), this.resizeTimeout = window.setTimeout(this.callSlider, 0));
416
- },
417
- parseNodes() {
418
- let o = null, t = null;
419
- const e = [], s = [], i = this.$slots.default || [], n = i.length;
420
- for (let h = 0; h < n; h++) {
421
- const l = i[h];
422
- if (l.componentOptions)
423
- switch (l.componentOptions.Ctor.options.name) {
424
- case "v-tabs-slider":
425
- t = l;
426
- break;
427
- case "v-tabs-items":
428
- o = l;
429
- break;
430
- case "v-tab-item":
431
- e.push(l);
432
- break;
433
- default:
434
- s.push(l);
435
- }
436
- else
437
- s.push(l);
438
- }
439
- return {
440
- tab: s,
441
- slider: t,
442
- items: o,
443
- item: e
444
- };
445
- }
446
- },
447
- render(o) {
448
- const {
449
- tab: t,
450
- slider: e,
451
- items: s,
452
- item: i
453
- } = this.parseNodes();
454
- return o("div", {
455
- staticClass: "v-tabs",
456
- class: this.classes,
457
- directives: [{
458
- name: "resize",
459
- modifiers: {
460
- quiet: !0
461
- },
462
- value: this.onResize
463
- }]
464
- }, [this.genBar(t, e), this.genItems(s, i)]);
465
- }
466
- }), St = k(
467
- F,
468
- // Must be after routable
469
- // to overwrite activeClass
470
- ut("tabsBar"),
471
- B
472
- ), $t = St.extend().extend().extend({
473
- name: "v-tab",
474
- props: {
475
- ripple: {
476
- type: [Boolean, Object],
477
- default: !0
478
- },
479
- tabValue: {
480
- required: !1
481
- }
482
- },
483
- data: () => ({
484
- proxyClass: "v-tab--active"
485
- }),
486
- computed: {
487
- classes() {
488
- return {
489
- "v-tab": !0,
490
- ...F.options.computed.classes.call(this),
491
- "v-tab--disabled": this.disabled,
492
- ...this.groupClasses
493
- };
494
- },
495
- value() {
496
- if (this.tabValue != null)
497
- return this.tabValue;
498
- let o = this.to || this.href;
499
- return o == null ? o : (this.$router && this.to === Object(this.to) && (o = this.$router.resolve(this.to, this.$route, this.append).href), o.replace("#", ""));
500
- }
501
- },
502
- methods: {
503
- click(o) {
504
- if (this.disabled) {
505
- o.preventDefault();
506
- return;
507
- }
508
- this.href && this.href.indexOf("#") > -1 && o.preventDefault(), o.detail && this.$el.blur(), this.$emit("click", o), this.to || this.toggle();
509
- },
510
- toggle() {
511
- (!this.isActive || !this.tabsBar.mandatory && !this.to) && this.$emit("change");
512
- }
513
- },
514
- render(o) {
515
- const {
516
- tag: t,
517
- data: e
518
- } = this.generateRouteLink();
519
- return e.attrs = {
520
- ...e.attrs,
521
- "aria-selected": String(this.isActive),
522
- role: "tab",
523
- tabindex: this.disabled ? -1 : 0
524
- }, e.on = {
525
- ...e.on,
526
- keydown: (s) => {
527
- s.keyCode === O.enter && this.click(s), this.$emit("keydown", s);
528
- }
529
- }, o(t, e, this.$slots.default);
530
- }
531
- }), T = L.extend({
532
- name: "v-tab-item",
533
- props: {
534
- id: String
535
- },
536
- methods: {
537
- genWindowItem() {
538
- const o = L.options.methods.genWindowItem.call(this);
539
- return o.data.domProps = o.data.domProps || {}, o.data.domProps.id = this.id || this.value, o;
540
- }
541
- }
542
- }), wt = {
543
- adultCount: {
544
- type: Number,
545
- default: 0
546
- },
547
- isStartingPrice: { type: Boolean },
548
- isTaxIncluded: {
549
- type: Boolean,
550
- default: !0
551
- },
552
- nightCount: {
553
- type: Number,
554
- default: 1
555
- },
556
- price: {
557
- type: Number,
558
- required: !0
559
- },
560
- roomCount: {
561
- type: Number,
562
- default: 1
563
- },
564
- roundMode: {
565
- type: String
566
- }
567
- }, It = u.extend({
568
- name: "BPriceSummary",
569
- components: { BFormattedAmount: D },
570
- mixins: [p("components/ui/BPriceSummary")],
571
- props: wt,
572
- computed: {
573
- mainPrice() {
574
- return this.nightCount <= 0 || this.roomCount <= 0 ? this.price : this.price / this.roomCount / this.nightCount;
575
- }
576
- }
577
- });
578
- var Pt = function() {
579
- var t = this, e = t._self._c;
580
- return t._self._setupProxy, e("div", { staticClass: "text-right" }, [e("span", { staticClass: "d-inline-block mb-n3" }, [t.isStartingPrice ? e("small", { staticClass: "grey--text text--darken-3" }, [t._v(t._s(t.$t("BPriceSummary.from")) + " ")]) : t._e(), e("b", { staticClass: "text-h6 grey--text text--darken-3" }, [e("b-formatted-amount", { attrs: { amount: t.mainPrice, "round-mode": t.roundMode } })], 1)]), t.nightCount <= 0 && t.roomCount > 0 ? [e("span", { staticClass: "my-0 text-caption grey--text text--darken-3 d-block" }, [t._v(" " + t._s(t.$t("BPriceSummary.summary", { rooms: t.$tc("BPriceSummary.rooms", t.roomCount) })) + " ")])] : t.nightCount > 1 || t.roomCount > 1 ? [e("span", { staticClass: "my-0 text-caption grey--text text--darken-3 d-block" }, [e("b", [e("b-formatted-amount", { attrs: { amount: t.price, "round-mode": t.roundMode } })], 1), t._v(" " + t._s(t.$t("BPriceSummary.total")) + " " + t._s(t.$t("BPriceSummary.summary", { rooms: t.$tc("BPriceSummary.rooms", t.roomCount) })) + " ")])] : t._e(), e(ft, { staticClass: "text-left", attrs: { attach: t.$el, top: "" }, scopedSlots: t._u([{ key: "activator", fn: function({ on: s, attrs: i }) {
581
- return [e("span", t._g(t._b({ staticClass: "text-caption mt-n1 d-block" }, "span", i, !1), s), [t.isTaxIncluded ? [t._v(" " + t._s(t.$t("BPriceSummary.taxIncluded")) + " "), e(_, { attrs: { "x-small": "" } }, [t._v("fa-info-circle")])] : [t._v(" " + t._s(t.$t("BPriceSummary.taxNotIncluded")) + " ")]], 2)];
582
- } }]) }, [e("span", [t._v(t._s(t.$t("BPriceSummary.taxInfo")))])])], 2);
583
- }, Lt = [], Tt = /* @__PURE__ */ f(
584
- It,
585
- Pt,
586
- Lt,
587
- !1,
588
- null,
589
- null,
590
- null,
591
- null
592
- );
593
- const G = Tt.exports, Et = u.extend({
594
- name: "HotelRoomOfferLayout",
595
- components: {
596
- BPriceSummarySkeleton: E
597
- },
598
- mixins: [H],
599
- props: {
600
- boilerplate: { type: Boolean }
601
- }
602
- });
603
- var Ht = function() {
604
- var t = this, e = t._self._c;
605
- return t._self._setupProxy, e(a, { staticClass: "px-2 py-3 pa-sm-4 px-md-3", attrs: { "no-gutters": "" } }, [e(r, { attrs: { "align-self": "start", cols: "12", lg: "6", md: "7", sm: "7" } }, [e(a, { attrs: { "no-gutters": "" } }, [e(r, { attrs: { cols: "12" } }, [t._t("room-details", function() {
606
- return [e(m, { staticClass: "mt-1", attrs: { boilerplate: t.boilerplate, height: "14px", tile: "", type: "text", width: "180px" } }), e(m, { attrs: { boilerplate: t.boilerplate, height: "12px", tile: "", type: "text", width: "120px" } })];
607
- })], 2), e(r, { staticClass: "text-left d-flex flex-wrap mt-2", style: { gap: "0.3em" }, attrs: { "align-self": "start", cols: "12" } }, [t._t("breakfast-option")], 2)], 1)], 1), e(r, { staticClass: "text-right mt-sm-0 mt-2", attrs: { "align-self": "end", lg: "6", md: "5", sm: "5" } }, [t._t("package-type"), t._t("price-summary", function() {
608
- return [e("b-price-summary-skeleton", { staticClass: "mt-2", attrs: { boilerplate: t.boilerplate } })];
609
- }), e("div", { staticClass: "d-flex justify-end" }, [t._t("action", function() {
610
- return [e(m, { attrs: { boilerplate: t.boilerplate, height: "28px", tile: "", type: "image", width: t.$isCurrentBreakpointBelow("sm") ? "100%" : "130px" } })];
611
- })], 2)], 2)], 1);
612
- }, At = [], Nt = /* @__PURE__ */ f(
613
- Et,
614
- Ht,
615
- At,
616
- !1,
617
- null,
618
- null,
619
- null,
620
- null
621
- );
622
- const b = Nt.exports, zt = {
623
- isLoading: { type: Boolean },
624
- price: { type: Number },
625
- value: { type: Boolean }
626
- }, Dt = u.extend({
627
- name: "BBreakfastSwitch",
628
- components: {
629
- BTag: V
630
- },
631
- mixins: [p("components/ui/BBreakfastSwitch")],
632
- props: zt,
633
- data() {
634
- return {
635
- valueLocal: this.value
636
- };
637
- },
638
- computed: {
639
- formattedPrice() {
640
- return it({
641
- amount: this.price,
642
- currency: this.config.currency,
643
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
644
- locale: this.config.lang
645
- });
646
- }
647
- },
648
- watch: {
649
- valueLocal(o) {
650
- this.$emit("input", o);
651
- }
652
- }
653
- });
654
- var Vt = function() {
655
- var t = this, e = t._self._c;
656
- return t._self._setupProxy, e(Rt, { staticClass: "ma-0 pa-0 breakfast-switch d-inline-block", attrs: { dense: "", inset: "", loading: t.isLoading && "success" }, scopedSlots: t._u([{ key: "label", fn: function() {
657
- return [e("div", { staticClass: "text-caption ml-n3" }, [e(_, { attrs: { size: "12" } }, [t._v(" fa-coffee ")]), t._v(" "), e("span", [t._v(t._s(t.$t("BBreakfastSwitch.title")) + " ")]), e("span", { domProps: { innerHTML: t._s(
658
- t.$tc("BBreakfastSwitch.price", t.formattedPrice).replace(
659
- /\s/gu,
660
- "&nbsp;"
661
- )
662
- ) } })], 1)];
663
- }, proxy: !0 }]), model: { value: t.valueLocal, callback: function(s) {
664
- t.valueLocal = s;
665
- }, expression: "valueLocal" } });
666
- }, Ft = [], Mt = /* @__PURE__ */ f(
667
- Dt,
668
- Vt,
669
- Ft,
670
- !1,
671
- null,
672
- "48b60373",
673
- null,
674
- null
675
- );
676
- const U = Mt.exports, K = u.extend({
677
- data() {
678
- return {
679
- bookingState: "IDLE"
680
- /* IDLE */
681
- };
682
- },
683
- computed: {
684
- isFetchingBookingPolicies() {
685
- return this.bookingState === "FETCHING_BOOKING_POLICIES";
686
- },
687
- isBookingPoliciesSuccessful() {
688
- return this.bookingState === "BOOKING_POLICIES_FETCHED";
689
- },
690
- isBookingPoliciesUnavailable() {
691
- return this.bookingState === "UNAVAILABLE";
692
- }
693
- },
694
- methods: {
695
- async createBookingPolicy({
696
- addBreakfast: o,
697
- hotelRoomOfferId: t,
698
- hotelId: e
699
- }) {
700
- this.bookingState = "FETCHING_BOOKING_POLICIES";
701
- try {
702
- await y("hotelRoomOffers/createBookingPolicies", {
703
- addBreakfast: o,
704
- hotelRoomOfferId: t,
705
- hotelId: e
706
- }), this.bookingState = "BOOKING_POLICIES_FETCHED", setTimeout(() => {
707
- this.bookingState = "IDLE";
708
- }, 1.5 * 1e3);
709
- } catch {
710
- this.bookingState = "UNAVAILABLE";
711
- }
712
- }
713
- }
714
- }), qt = {
715
- breakfastCount: {
716
- type: Number
717
- },
718
- breakfastOption: {
719
- type: String
720
- },
721
- breakfastPricePerGuestPerNight: {
722
- type: Number
723
- },
724
- currency: { type: String },
725
- cancellationPolicies: { type: Array },
726
- hotelId: { type: String },
727
- hotelRooms: { type: Array },
728
- id: { type: String },
729
- isLoading: { type: Boolean },
730
- price: { type: Number },
731
- sourceMarket: { type: String },
732
- type: { type: String },
733
- packageType: { type: String },
734
- count: { type: Number },
735
- value: { type: Number }
736
- }, Gt = u.extend({
737
- name: "HotelRoomOfferItem",
738
- components: {
739
- BBreakfastOptionBadge: z,
740
- BBreakfastSwitch: U,
741
- CancellationPoliciesBadge: ot,
742
- BErrorOverlay: S,
743
- BFormattedAmount: D,
744
- BPriceSummary: G,
745
- BHotelRoomsDetails: M,
746
- BTag: V,
747
- HotelRoomOfferItemLayout: b
748
- },
749
- mixins: [
750
- p("components/RevolugoElements/HotelRoomOfferItem"),
751
- H,
752
- K
753
- ],
754
- props: qt,
755
- store: Q,
756
- data() {
757
- return {
758
- addBreakfast: this.breakfastCount && this.breakfastCount > 0 || !1
759
- };
760
- },
761
- computed: {
762
- adultCount() {
763
- var o;
764
- return (o = this.hotelRoomOfferRequest) == null ? void 0 : o.adultCount;
765
- },
766
- checkInDate() {
767
- var o;
768
- return (o = this.hotelRoomOfferRequest) == null ? void 0 : o.checkInDate;
769
- },
770
- nightCount() {
771
- return this.$store.get("hotelRoomOfferRequest/nightCount", this.hotelId);
772
- },
773
- hotelTimezone() {
774
- return this.$store.get("hotelRoomOffers/hotelTimezone", this.hotelId);
775
- },
776
- roomCount() {
777
- return this.hotelRooms.reduce((o, t) => o + (t.count || 0), 0);
778
- },
779
- countOptions() {
780
- return this.count ? Z(this.count + 1) : [];
781
- },
782
- hotelRoomOfferRequest() {
783
- return this.$store.get(
784
- "hotelRoomOfferRequest/hotelRoomOfferRequest",
785
- this.hotelId
786
- );
787
- },
788
- packageTypeTagColor() {
789
- switch (this.packageType) {
790
- case v.Cheapest:
791
- return "red";
792
- case v.BestMatch:
793
- case v.MatchingRoomCount:
794
- return "purple";
795
- default:
796
- return "";
797
- }
798
- },
799
- selectedQuantity: {
800
- get() {
801
- return this.value;
802
- },
803
- set(o) {
804
- this.$emit("input", o);
805
- }
806
- }
807
- },
808
- watch: {
809
- addBreakfast(o) {
810
- this.$emit("breakfast-change", {
811
- hotelId: this.hotelId,
812
- id: this.id,
813
- addBreakfast: o
814
- });
815
- }
816
- },
817
- methods: {
818
- onHotelRoomOfferClick() {
819
- this.$eventBus.$emit(et.HOTEL_ROOM_OFFERS_BTN_CLICK, this.$props), this.createBookingPolicy({
820
- addBreakfast: this.addBreakfast,
821
- hotelRoomOfferId: this.id,
822
- hotelId: this.hotelId
823
- });
824
- }
825
- }
826
- });
827
- var Ut = function() {
828
- var t = this, e = t._self._c;
829
- return t._self._setupProxy, e("div", { staticClass: "position-relative" }, [e("hotel-room-offer-item-layout", { key: "is-available", scopedSlots: t._u([{ key: "room-details", fn: function() {
830
- return [e("b-hotel-rooms-details", { attrs: { "hotel-rooms": t.hotelRooms } })];
831
- }, proxy: !0 }, { key: "package-type", fn: function() {
832
- return [t.type === "PACKAGE" && t.packageType !== "REGULAR" ? [e("b-tag", { staticClass: "mb-3", attrs: { color: t.packageTypeTagColor, outlined: "" }, scopedSlots: t._u([{ key: "description", fn: function() {
833
- return [t._v(" " + t._s(t.$tc(`HotelRoomOfferItem.packageTypes.${t.packageType}.description`, t.adultCount)) + " ")];
834
- }, proxy: !0 }], null, !1, 2153503966) }, [t._v(" " + t._s(t.$tc(`HotelRoomOfferItem.packageTypes.${t.packageType}.title`, t.adultCount)) + " ")])] : t._e()];
835
- }, proxy: !0 }, { key: "breakfast-option", fn: function() {
836
- return [e("cancellation-policies-badge", { attrs: { "cancellation-policies": t.cancellationPolicies, "check-in-date": t.checkInDate, timezone: t.hotelTimezone } }), e("b-breakfast-option-badge", { attrs: { "breakfast-option": t.breakfastOption } }), t.type !== "HOTEL_ROOM" && t.breakfastOption === "OPTIONAL" ? e("div", [e("b-breakfast-switch", { staticClass: "mt-3 pl-1", attrs: { "is-loading": t.isLoading, price: t.breakfastPricePerGuestPerNight }, model: { value: t.addBreakfast, callback: function(s) {
837
- t.addBreakfast = s;
838
- }, expression: "addBreakfast" } })], 1) : t._e()];
839
- }, proxy: !0 }, { key: "price-summary", fn: function() {
840
- return [t.type === "HOTEL_ROOM" ? [e(a, { staticClass: "mt-md-8", attrs: { "no-gutters": "" } }, [e(r, [e("b-price-summary", { staticClass: "text-right", attrs: { "adult-count": 1, "night-count": t.nightCount, price: t.price, "room-count": 1 } })], 1)], 1), e(a, { attrs: { align: "end", "no-gutters": "" } }, [e(r, { staticClass: "d-flex justify-end", attrs: { align: "end" } }, [e("div", [e(mt, { staticClass: "item-count mt-2", attrs: { attach: "", dense: "", "hide-details": "", items: t.countOptions, "menu-props": {
841
- minWidth: "125px"
842
- }, outlined: "", value: 0 }, scopedSlots: t._u([{ key: "item", fn: function({ item: s }) {
843
- return [e("span", { staticClass: "text-caption" }, [t._v(t._s(s) + " "), s ? [t._v("("), e("b-formatted-amount", { attrs: { amount: s * t.price } }), t._v(")")] : t._e()], 2)];
844
- } }], null, !1, 41009295), model: { value: t.selectedQuantity, callback: function(s) {
845
- t.selectedQuantity = s;
846
- }, expression: "selectedQuantity" } })], 1)])], 1)] : [e("b-price-summary", { staticClass: "text-right", attrs: { "adult-count": t.type === "PACKAGE" ? t.adultCount : 0, "night-count": t.type === "PACKAGE" ? t.nightCount : 0, price: t.price, "room-count": t.type === "PACKAGE" ? t.roomCount : 0, "round-mode": "round" } })]];
847
- }, proxy: !0 }, { key: "action", fn: function() {
848
- return [t.type === "PACKAGE" ? e(x, { staticClass: "text-none font-weight-bold book-btn w-100 w-sm-auto", attrs: { color: t.isBookingPoliciesSuccessful ? "success" : "primary", disabled: t.isFetchingBookingPolicies || t.isBookingPoliciesUnavailable || t.isLoading, elevation: "0", loading: t.isFetchingBookingPolicies, small: "" }, on: { click: t.onHotelRoomOfferClick } }, [t.isBookingPoliciesSuccessful ? t._e() : e("span", [t._v(t._s(t.$t("HotelRoomOfferItem.book")))]), e(_, { directives: [{ name: "show", rawName: "v-show", value: t.isBookingPoliciesSuccessful, expression: "isBookingPoliciesSuccessful" }], staticClass: "position-absolute" }, [t._v(" fa-check ")])], 1) : e("span")];
849
- }, proxy: !0 }]) }), t.isLoading ? e(N, { staticClass: "mx-n4", attrs: { absolute: "", color: "grey lighten-4", opacity: "0.75" } }, [e($, { attrs: { color: "primary", indeterminate: "", size: "64" } })], 1) : t._e(), t.isBookingPoliciesUnavailable ? e("b-error-overlay", { attrs: { "margin-top": 16 }, scopedSlots: t._u([{ key: "title", fn: function() {
850
- return [t._v(" " + t._s(t.$t("HotelRoomOfferItem.unavailable.title")) + " ")];
851
- }, proxy: !0 }, { key: "description", fn: function() {
852
- return [t._v(" " + t._s(t.$t("HotelRoomOfferItem.unavailable.description")) + " ")];
853
- }, proxy: !0 }], null, !1, 3630660745) }) : t._e()], 1);
854
- }, Kt = [], jt = /* @__PURE__ */ f(
855
- Gt,
856
- Ut,
857
- Kt,
858
- !1,
859
- null,
860
- "1975c271",
861
- null,
862
- null
863
- );
864
- const j = jt.exports, Wt = u.extend({
865
- name: "BBasketSummaryLayout",
866
- components: {
867
- BPriceSummarySkeleton: E,
868
- BHotelRoomsDetailsSkeleton: st
869
- }
870
- });
871
- var Qt = function() {
872
- var t = this, e = t._self._c;
873
- return t._self._setupProxy, e(a, { staticClass: "px-2" }, [e(r, [e(a, [e(r, [e("div", { staticClass: "subtitle-1 font-weight-black primary--text d-flex justify-end" }, [t._t("title", function() {
874
- return [e(m, { attrs: { height: "18px", tile: "", type: "heading", width: "200px" } })];
875
- })], 2)])], 1), e(a, [e(r, [e("div", { staticClass: "caption d-flex justify-end py-2" }, [t._t("adult-count", function() {
876
- return [e(m, { attrs: { tile: "", type: "text", width: "150px" } })];
877
- })], 2), e("div", { staticClass: "mt-3 d-flex justify-start align-center font-weight-bold pb-2" }, [t._t("secondary-title", function() {
878
- return [e(m, { attrs: { height: "18px", tile: "", type: "heading", width: "150px" } })];
879
- })], 2)])], 1), t._t("hotel-rooms", function() {
880
- return [e("div", { staticClass: "pt-4" }, [t._l(2, function(s) {
881
- return [e("div", { key: `item-skeleton-${s}` }, [e(a, { attrs: { align: "center" } }, [e(r, { attrs: { cols: "auto" } }, [e("b-hotels-rooms-details-skeleton")], 1)], 1)], 1), e(c, { key: "divider-skeleton-" + s, staticClass: "pb-2" })];
882
- })], 2)];
883
- }), e(a, [e(r, [t._t("breakfast-option")], 2)], 1), e(a, { attrs: { "no-gutters": "" } }, [e(r, [t._t("price-summary", function() {
884
- return [e("b-price-summary-skeleton")];
885
- })], 2)], 1), e(a, [e(r, { staticClass: "py-0" }, [t._t("errors")], 2)], 1), e(a, [e(r, { staticClass: "pb-0" }, [t._t("button", function() {
886
- return [e(m, { attrs: { height: "38px", tile: "", type: "heading", width: "100%" } })];
887
- })], 2)], 1), e(a, [e(r, [t._t("cancellation-policies", function() {
888
- return [e(m, { attrs: { tile: "", type: "paragraph", width: "100%" } })];
889
- })], 2)], 1)], 2)], 1);
890
- }, Yt = [], Jt = /* @__PURE__ */ f(
891
- Wt,
892
- Qt,
893
- Yt,
894
- !1,
895
- null,
896
- null,
897
- null,
898
- null
899
- );
900
- const Xt = Jt.exports, Zt = {
901
- adultCount: { type: Number },
902
- checkInDate: { type: String },
903
- checkOutDate: { type: String },
904
- currency: { type: String },
905
- hotelTimezone: { type: String },
906
- hotelRoomOffer: { type: Object },
907
- isLoading: { type: Boolean },
908
- isSubmitting: { type: Boolean },
909
- isSuccessful: { type: Boolean }
910
- }, te = u.extend({
911
- name: "BBasketSummary",
912
- components: {
913
- BBasketSummaryLayout: Xt,
914
- BBreakfastOptionBadge: z,
915
- BBreakfastSwitch: U,
916
- CancellationPoliciesList: ht,
917
- BPriceSummary: G,
918
- BHotelRoomsDetails: M
919
- },
920
- mixins: [p("components/ui/BBasketSummary")],
921
- props: Zt,
922
- data() {
923
- var o, t;
924
- return {
925
- addBreakfast: ((o = this.hotelRoomOffer) == null ? void 0 : o.breakfastCount) && ((t = this.hotelRoomOffer) == null ? void 0 : t.breakfastCount) > 0 || !1
926
- };
927
- },
928
- computed: {
929
- breakfastOption() {
930
- var o;
931
- return (o = this.hotelRoomOffer) == null ? void 0 : o.breakfastOption;
932
- },
933
- isBreakfastIncluded() {
934
- return this.hotelRoomOffer.breakfastOption === w.Included;
935
- },
936
- isBreakfastOptionnal() {
937
- return this.hotelRoomOffer.breakfastOption === w.Optional;
938
- },
939
- nightCount() {
940
- return !this.hotelRoomOffer || !this.checkOutDate || !this.checkInDate ? 0 : R(this.checkOutDate).diff(R(this.checkInDate), "day");
941
- },
942
- roomCount() {
943
- var o;
944
- return I((o = this.hotelRoomOffer) == null ? void 0 : o.hotelRooms, "count");
945
- },
946
- sanitizedCancellationPolicies() {
947
- var o;
948
- return dt(
949
- Y({
950
- bookingDatetime: R().format(),
951
- cancellationPolicies: (o = this.hotelRoomOffer) == null ? void 0 : o.cancellationPolicies,
952
- checkInDate: this.checkInDate,
953
- timezone: this.hotelTimezone
954
- })
955
- );
956
- },
957
- totalOccupancy() {
958
- var o;
959
- return I(
960
- (o = this.hotelRoomOffer) == null ? void 0 : o.hotelRooms,
961
- (t) => t.count * t.occupancy
962
- );
963
- }
964
- },
965
- watch: {
966
- addBreakfast(o) {
967
- this.$emit("breakfast-change", o);
968
- }
969
- }
970
- });
971
- var ee = function() {
972
- var t = this, e = t._self._c;
973
- return t._self._setupProxy, e("div", [[t.isLoading ? e(N, { staticClass: "mx-n3", attrs: { absolute: "", color: "grey lighten-4", opacity: "0.75" } }, [e($, { attrs: { color: "primary", indeterminate: "", size: "64" } })], 1) : t._e(), e("b-basket-summary-layout", { key: "filled-up", scopedSlots: t._u([{ key: "title", fn: function() {
974
- return [[e("span", [t._v(t._s(t.$t("BBasketSummary.title")))])]];
975
- }, proxy: !0 }, { key: "adult-count", fn: function() {
976
- return [[t.hotelRoomOffer ? e("span", { domProps: { innerHTML: t._s(t.$tc("BBasketSummary.totalOccupancy", t.totalOccupancy)) } }) : e("span", [t._v(t._s(t.$t("BBasketSummary.noSelection")) + " " + t._s(t.currency))])]];
977
- }, proxy: !0 }, { key: "secondary-title", fn: function() {
978
- return [[t.hotelRoomOffer ? [t._v(" " + t._s(t.$t("BBasketSummary.yourSelection")) + " ")] : e("span")]];
979
- }, proxy: !0 }, { key: "hotel-rooms", fn: function() {
980
- return [t.hotelRoomOffer ? [t._l(t.hotelRoomOffer.hotelRooms, function(s, i) {
981
- return [e("div", { key: `room-${i}` }, [e(a, [e(r, { staticClass: "d-flex justify-space-between", attrs: { cols: "12" } }, [e("b-hotel-rooms-details", { class: {
982
- "mt-n4": i >= 1
983
- }, attrs: { "hotel-rooms": [s] } }), e(x, { class: {
984
- "mt-n4": i >= 1
985
- }, attrs: { color: "red", icon: "", text: "" }, on: { click: function(n) {
986
- return t.$emit("delete-room", s);
987
- } } }, [e(_, [t._v("fa-times")])], 1)], 1)], 1), e(c, { key: `divider-${i}`, staticClass: "my-2" })], 1)];
988
- })] : [e("span")]];
989
- }, proxy: !0 }, { key: "breakfast-option", fn: function() {
990
- return [t.breakfastOption ? [e(a, { attrs: { "no-gutters": "" } }, [e(r, [e("b-breakfast-option-badge", { staticClass: "mr-n1", attrs: { "breakfast-option": t.breakfastOption, price: t.hotelRoomOffer.breakfastPricePerGuestPerNight } })], 1)], 1), t.isBreakfastOptionnal ? e(a, { staticClass: "mt-2", attrs: { "no-gutters": "" } }, [e(r, { staticClass: "mb-2 mt-xl-0" }, [e("b-breakfast-switch", { attrs: { loading: t.isLoading && "success", price: t.hotelRoomOffer.breakfastPricePerGuestPerNight }, model: { value: t.addBreakfast, callback: function(s) {
991
- t.addBreakfast = s;
992
- }, expression: "addBreakfast" } })], 1)], 1) : t._e()] : t._e()];
993
- }, proxy: !0 }, { key: "price-summary", fn: function() {
994
- return [[e("b-price-summary", { attrs: { "night-count": 0, price: t.hotelRoomOffer ? t.hotelRoomOffer.price : 0, "room-count": t.roomCount } })]];
995
- }, proxy: !0 }, { key: "errors", fn: function() {
996
- return [[t.totalOccupancy && t.totalOccupancy < t.adultCount ? [e(_t, { staticClass: "mb-0", attrs: { color: "red", dense: "", outlined: "" } }, [e("p", { staticClass: "caption font-weight-bold text-center my-0 red--text rounded" }, [t._v(" " + t._s(t.$t("BBasketSummary.insufficientTotalOccupancy", { t: t.totalOccupancy, a: t.adultCount })) + " ")])])] : t._e()]];
997
- }, proxy: !0 }, { key: "button", fn: function() {
998
- return [[e(x, { staticClass: "text-none font-weight-bold", attrs: { block: "", color: t.isSuccessful ? "success" : "primary", disabled: !t.hotelRoomOffer, loading: t.isSubmitting }, on: { click: function(s) {
999
- return t.$emit("submit");
1000
- } } }, [t.isSuccessful ? t._e() : e("span", [t._v(t._s(t.$t("BBasketSummary.book")))]), e(_, { directives: [{ name: "show", rawName: "v-show", value: t.isSuccessful, expression: "isSuccessful" }], staticClass: "position-absolute" }, [t._v(" fa-check ")])], 1)]];
1001
- }, proxy: !0 }, { key: "cancellation-policies", fn: function() {
1002
- return [[t.hotelRoomOffer && t.hotelRoomOffer.cancellationPolicies.length ? e("cancellation-policies-list", { staticClass: "caption", attrs: { "cancellation-policies": t.sanitizedCancellationPolicies, "check-in-date": t.checkInDate, timezone: t.hotelTimezone } }) : e("span")]];
1003
- }, proxy: !0 }]) })]], 2);
1004
- }, oe = [], se = /* @__PURE__ */ f(
1005
- te,
1006
- ee,
1007
- oe,
1008
- !1,
1009
- null,
1010
- null,
1011
- null,
1012
- null
1013
- );
1014
- const ie = se.exports, re = {
1015
- hotelId: { type: String }
1016
- }, ae = u.extend({
1017
- name: "HotelRoomOfferBasket",
1018
- components: {
1019
- BBasketSummary: ie,
1020
- HotelRoomOfferItem: j,
1021
- HotelRoomOfferItemLayout: b
1022
- },
1023
- mixins: [K],
1024
- props: re,
1025
- data() {
1026
- return {
1027
- basketContent: [],
1028
- addBreakfast: !1,
1029
- newCreatedPackage: void 0,
1030
- isLoading: !1
1031
- };
1032
- },
1033
- computed: {
1034
- adultCount() {
1035
- var o;
1036
- return (o = this.hotelRoomOfferRequest) == null ? void 0 : o.adultCount;
1037
- },
1038
- currency() {
1039
- return window.RevolugoElements.config.currency;
1040
- },
1041
- hotelTimezone() {
1042
- return this.$store.get("hotelRoomOffers/hotelTimezone", this.hotelId);
1043
- },
1044
- hotelRoomOfferRequest() {
1045
- return this.$store.get(
1046
- "hotelRoomOfferRequest/hotelRoomOfferRequest",
1047
- this.hotelId
1048
- );
1049
- },
1050
- hotelRoomOffers() {
1051
- var o, t;
1052
- return (t = (o = this.$store.get("hotelRoomOffers/hotelRoomOffers", this.hotelId)) == null ? void 0 : o.offers) == null ? void 0 : t.filter(
1053
- (e) => e.type === C.HotelRoom
1054
- );
1055
- }
1056
- },
1057
- watch: {
1058
- async addBreakfast(o, t) {
1059
- o !== t && await this.createHotelRoomOfferPackage();
1060
- },
1061
- basketContent: {
1062
- immediate: !1,
1063
- deep: !0,
1064
- handler(o) {
1065
- o.reduce(
1066
- (e, s) => e + s.count,
1067
- 0
1068
- ) === 0 ? this.newCreatedPackage = void 0 : this.createHotelRoomOfferPackage();
1069
- }
1070
- }
1071
- },
1072
- mounted() {
1073
- this.hotelRoomOffers && (this.basketContent = this.hotelRoomOffers.map((o) => ({
1074
- count: 0,
1075
- hotelRoomOfferId: o.id,
1076
- hotelRoomId: o.hotelRooms[0].id
1077
- })));
1078
- },
1079
- methods: {
1080
- async createHotelRoomOfferPackage() {
1081
- var t;
1082
- this.isLoading = !0;
1083
- const o = this.basketContent.map((e) => ({
1084
- count: e.count,
1085
- hotelRoomOfferId: e.hotelRoomOfferId
1086
- })).filter((e) => e.count > 0);
1087
- try {
1088
- this.newCreatedPackage = await ((t = this.bookingApiClient) == null ? void 0 : t.hotelRoomOffers.create({
1089
- body: {
1090
- addBreakfast: this.addBreakfast,
1091
- currency: this.currency,
1092
- hotelRoomOffers: o
1093
- }
1094
- }));
1095
- } catch (e) {
1096
- throw this.isLoading = !1, e;
1097
- }
1098
- this.isLoading = !1;
1099
- },
1100
- onBasketUpdate(o, t) {
1101
- const e = {
1102
- count: t,
1103
- hotelRoomOfferId: o.id,
1104
- hotelRoomId: o.hotelRooms[0].id
1105
- }, s = this.basketContent.findIndex(
1106
- (i) => i.hotelRoomOfferId === e.hotelRoomOfferId
1107
- );
1108
- s === -1 ? t === 0 ? tt(this.basketContent, s, e) : this.basketContent.splice(s, 1) : this.basketContent.push(e);
1109
- },
1110
- onBreakfastChange(o) {
1111
- this.addBreakfast = o;
1112
- },
1113
- onDeleteRoom(o) {
1114
- const t = this.basketContent.findIndex(
1115
- (e) => e.hotelRoomId === o.id
1116
- );
1117
- this.basketContent[t].count = 0;
1118
- },
1119
- async onSubmit() {
1120
- var o;
1121
- (o = this.newCreatedPackage) != null && o.hotelRoomOffer.id && (this.isLoading = !0, await this.createBookingPolicy({
1122
- addBreakfast: this.addBreakfast,
1123
- hotelRoomOfferId: this.newCreatedPackage.hotelRoomOffer.id,
1124
- hotelId: this.hotelId
1125
- }), await this.createHotelRoomOfferPackage(), this.isLoading = !1);
1126
- }
1127
- }
1128
- });
1129
- var ne = function() {
1130
- var t = this, e = t._self._c;
1131
- return t._self._setupProxy, e(a, { attrs: { "no-gutters": "" } }, [e(r, { attrs: { cols: "12", md: "8" } }, [t.hotelRoomOffers.length && t.basketContent.length ? [t._l(t.hotelRoomOffers, function(s, i) {
1132
- return [i > 0 ? e(c, { key: "divider" + i }) : t._e(), e("hotel-room-offer-item", t._b({ key: s.id, model: { value: t.basketContent[i].count, callback: function(n) {
1133
- t.$set(t.basketContent[i], "count", n);
1134
- }, expression: "basketContent[index].count" } }, "hotel-room-offer-item", s, !1))];
1135
- })] : t._e()], 2), e(c, { staticClass: "d-none d-md-block", attrs: { vertical: "" } }), e(r, { staticClass: "mt-3", attrs: { cols: "12", md: "4" } }, [e(c, { staticClass: "d-block d-md-none my-2" }), e("b-basket-summary", t._b({ attrs: { "adult-count": t.adultCount, "hotel-timezone": t.hotelTimezone, "is-loading": t.isLoading, "is-submitting": t.isFetchingBookingPolicies, "is-successful": t.isBookingPoliciesSuccessful }, on: { "breakfast-change": t.onBreakfastChange, "delete-room": t.onDeleteRoom, submit: t.onSubmit } }, "b-basket-summary", t.newCreatedPackage, !1))], 1)], 1);
1136
- }, le = [], ce = /* @__PURE__ */ f(
1137
- ae,
1138
- ne,
1139
- le,
1140
- !1,
1141
- null,
1142
- "6b78efda",
1143
- null,
1144
- null
1145
- );
1146
- const ue = ce.exports, fe = {
1147
- boilerplateSkeleton: {
1148
- type: Boolean
1149
- },
1150
- itemCount: {
1151
- type: Number,
1152
- default: 3
1153
- },
1154
- type: {
1155
- type: String
1156
- }
1157
- }, me = u.extend({
1158
- name: "HotelRoomOfferListEmpty",
1159
- components: {
1160
- BErrorOverlay: S,
1161
- HotelRoomOfferItemLayout: b
1162
- },
1163
- mixins: [p("components/RevolugoElements/HotelRoomOfferListEmpty")],
1164
- props: fe
1165
- });
1166
- var he = function() {
1167
- var t = this, e = t._self._c;
1168
- return t._self._setupProxy, e("div", [t._l(t.itemCount, function(s) {
1169
- return [s > 1 ? e(c, { key: "divider-" + s }) : t._e(), e("hotel-room-offer-item-layout", { key: s, class: { "mt-0": s === 1, "mb-0": s === 3 }, attrs: { boilerplate: t.boilerplateSkeleton } })];
1170
- }), t.type ? e("b-error-overlay", { scopedSlots: t._u([{ key: "title", fn: function() {
1171
- return [t._v(" " + t._s(t.$t(`HotelRoomOfferListEmpty.${t.type}.title`)) + " ")];
1172
- }, proxy: !0 }, { key: "description", fn: function() {
1173
- return [t._v(" " + t._s(t.$t(`HotelRoomOfferListEmpty.${t.type}.description`)) + " ")];
1174
- }, proxy: !0 }], null, !1, 3905598665) }) : t._e()], 2);
1175
- }, de = [], pe = /* @__PURE__ */ f(
1176
- me,
1177
- he,
1178
- de,
1179
- !1,
1180
- null,
1181
- null,
1182
- null,
1183
- null
1184
- );
1185
- const _e = pe.exports, ge = {
1186
- OnlyMatchingRoomCount: !1
1187
- }, ye = {
1188
- ...J,
1189
- features: {
1190
- default: () => ge,
1191
- type: [Object, String]
1192
- },
1193
- limit: {
1194
- default: () => 0,
1195
- type: Number
1196
- }
1197
- }, ke = X.extend({
1198
- name: "HotelRoomOfferList",
1199
- components: {
1200
- BErrorOverlay: S,
1201
- HotelRoomOfferItem: j,
1202
- HotelRoomOfferListEmpty: _e,
1203
- HotelRoomOfferItemLayout: b,
1204
- HotelRoomOfferBasket: ue
1205
- },
1206
- mixins: [
1207
- p("components/RevolugoElements/HotelRoomOfferList"),
1208
- gt(
1209
- ["bookingApiClient", "config.currency", "config.lang"],
1210
- "retrieveHotelRoomOffers"
1211
- ),
1212
- pt({
1213
- fallbackValue: {
1214
- OnlyMatchingRoomCount: !1
1215
- },
1216
- propsName: "features"
1217
- })
1218
- ],
1219
- props: ye,
1220
- data() {
1221
- return {
1222
- tab: null,
1223
- tabItems: ["packageHotelRoomOffers", "hotelRoomHotelRoomOffers"]
1224
- };
1225
- },
1226
- computed: {
1227
- hasError() {
1228
- var o, t;
1229
- return !!((o = this.hotelRoomOfferRequest) != null && o.hasError || (t = this.hotelRoomOffersLocal) != null && t.hasError);
1230
- },
1231
- hotelRoomOfferRequest() {
1232
- return this.$store.get(
1233
- "hotelRoomOfferRequest/hotelRoomOfferRequest",
1234
- this.hotelId
1235
- );
1236
- },
1237
- hotelRoomOffersLocal() {
1238
- return this.$store.get("hotelRoomOffers/hotelRoomOffers", this.hotelId);
1239
- },
1240
- isLoading() {
1241
- var o, t;
1242
- return !!((o = this.hotelRoomOffersLocal) != null && o.isPolling) && !!((t = this.packageHotelRoomOffers) != null && t.length);
1243
- },
1244
- packageHotelRoomOffers() {
1245
- var t, e;
1246
- const o = (e = (t = this.hotelRoomOffersLocal) == null ? void 0 : t.offers) == null ? void 0 : e.filter((s) => s.type === C.Package).filter((s) => {
1247
- var i, n;
1248
- return (i = this.features) != null && i.OnlyMatchingRoomCount ? this.countRooms(s) === ((n = this.hotelRoomOfferRequest) == null ? void 0 : n.roomCount) : !0;
1249
- });
1250
- return (o == null ? void 0 : o.slice(0, this.limit || o.length)) || [];
1251
- },
1252
- hotelRoomHotelRoomOffers() {
1253
- var o, t;
1254
- return ((t = (o = this.hotelRoomOffersLocal) == null ? void 0 : o.offers) == null ? void 0 : t.filter(
1255
- (e) => e.type === C.HotelRoom
1256
- )) || [];
1257
- },
1258
- showSkeleton() {
1259
- var o, t, e, s;
1260
- return !((o = this.hotelRoomOfferRequest) != null && o.id) || (!!((t = this.hotelRoomOfferRequest) != null && t.isFetching) || !!((e = this.hotelRoomOffersLocal) != null && e.isPolling)) && !((s = this.packageHotelRoomOffers) != null && s.length);
1261
- }
1262
- },
1263
- watch: {
1264
- "hotelRoomOfferRequest.id": {
1265
- immediate: !0,
1266
- async handler() {
1267
- await this.retrieveHotelRoomOffers();
1268
- }
1269
- }
1270
- },
1271
- methods: {
1272
- countRooms(o) {
1273
- return o.hotelRooms.reduce((t, e) => t + e.count, 0);
1274
- },
1275
- async retrieveHotelRoomOffers() {
1276
- var o;
1277
- if (!((o = this.hotelRoomOfferRequest) != null && o.id)) {
1278
- await y("hotelRoomOffers/resetHotelRoomOffers", {
1279
- hotelId: this.hotelId
1280
- });
1281
- return;
1282
- }
1283
- await y("hotelRoomOffers/retrieveHotelRoomOffers", {
1284
- hotelId: this.hotelId,
1285
- hotelRoomOfferRequestId: this.hotelRoomOfferRequest.id
1286
- });
1287
- },
1288
- async onBreakfastChange({
1289
- hotelId: o,
1290
- id: t,
1291
- addBreakfast: e
1292
- }) {
1293
- await y("hotelRoomOffers/reifyHotelRoomOffer", {
1294
- hotelId: o,
1295
- id: t,
1296
- addBreakfast: e
1297
- });
1298
- }
1299
- }
1300
- });
1301
- var be = function() {
1302
- var t = this, e = t._self._c;
1303
- return t._self._setupProxy, e("div", { staticClass: "white" }, [t.isBookingApiClientDefined ? [t.hasError ? e("hotel-room-offer-list-empty", { key: "error", attrs: { boilerplate: "", type: "internalError" } }) : t.showSkeleton ? [e("hotel-room-offer-list-empty", { key: "skeleton" })] : t.packageHotelRoomOffers && t.packageHotelRoomOffers.length ? [t.hotelRoomHotelRoomOffers.length ? t._e() : e("div"), t.isLoading ? e(vt, { staticClass: "loader position-absolute", attrs: { color: "secondary", indeterminate: "" } }) : t._e(), t.hotelRoomHotelRoomOffers && t.hotelRoomHotelRoomOffers.length ? [e(Bt, { attrs: { grow: "" }, model: { value: t.tab, callback: function(s) {
1304
- t.tab = s;
1305
- }, expression: "tab" } }, [t._l(t.tabItems, function(s) {
1306
- return [e($t, { key: s }, [t._v(" " + t._s(t.$t(`HotelRoomOfferList.${s}.title`)) + " ")]), e(c, { key: `divider-${s}`, attrs: { vertical: "" } })];
1307
- })], 2), e(q, { staticClass: "overflow-visible", model: { value: t.tab, callback: function(s) {
1308
- t.tab = s;
1309
- }, expression: "tab" } }, [e(T, { staticClass: "pt-3" }, [t._l(t.packageHotelRoomOffers, function(s, i) {
1310
- return [i > 0 ? e(c, { key: "divider" + i }) : t._e(), e("hotel-room-offer-item", t._b({ key: s.id, on: { "breakfast-change": t.onBreakfastChange } }, "hotel-room-offer-item", s, !1))];
1311
- })], 2), e(T, { staticClass: "pt-3 pb-5" }, [e("hotel-room-offer-basket", { attrs: { "hotel-id": t.hotelId } })], 1)], 1)] : [t._l(t.packageHotelRoomOffers, function(s, i) {
1312
- return [i > 0 ? e(c, { key: "divider" + i }) : t._e(), e("hotel-room-offer-item", t._b({ key: s.id, on: { "breakfast-change": t.onBreakfastChange } }, "hotel-room-offer-item", s, !1))];
1313
- })]] : !t.packageHotelRoomOffers || !t.packageHotelRoomOffers.length ? [e("hotel-room-offer-list-empty", { key: "skeleton", attrs: { "boilerplate-skeleton": "", type: "noResults" } })] : t._e()] : void 0], 2);
1314
- }, ve = [], Re = /* @__PURE__ */ f(
1315
- ke,
1316
- be,
1317
- ve,
1318
- !1,
1319
- null,
1320
- "b5b94f3b",
1321
- null,
1322
- null
1323
- );
1324
- const to = Re.exports;
1325
- W("css/revolugo.hotelroomofferlist.DrGyKJ-m.css");
1326
- export {
1327
- G as B,
1328
- to as H,
1329
- ge as a,
1330
- ye as h
1331
- };
1332
- //# sourceMappingURL=revolugo.hotelroomofferlist.B-g6Q8_4.min.js.map