@revolugo/elements 6.9.3-beta.9 → 6.9.4-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/dist/css/fonts.css +1 -1
  2. package/dist/css/revolugo.bdaterangepicker.OLspTh_0.css +1 -0
  3. package/dist/css/revolugo.bhoteloffersfilterbar.BebBKpCh.css +1 -0
  4. package/dist/css/revolugo.bhotelroomsdetails.c1M8WEQ1.css +1 -0
  5. package/dist/css/revolugo.bimagecarousel.B2SxWMbZ.css +1 -0
  6. package/dist/css/revolugo.bookingdetailssidebar.Cp4sLBjD.css +1 -0
  7. package/dist/css/revolugo.bstarrating.CPHKEfup.css +1 -0
  8. package/dist/css/revolugo.btag.T7X_iIkW.css +1 -0
  9. package/dist/css/revolugo.cancellationpoliciesbadge.BLInUr3-.css +1 -0
  10. package/dist/css/revolugo.creditcardform.DWne0Lnv.css +1 -0
  11. package/dist/css/revolugo.creditcardpayment.D2PE5FCt.css +1 -0
  12. package/dist/css/revolugo.fullbookingflow.Bm8JAQF7.css +1 -0
  13. package/dist/css/revolugo.hoteldescriptionview.B-RiiuPY.css +1 -0
  14. package/dist/css/revolugo.hotelofferlist.BkctzTMI.css +1 -0
  15. package/dist/css/revolugo.hoteloffersearchmenuui.ZbUh8ba2.css +1 -0
  16. package/dist/css/revolugo.hoteloffersmap.Z5DFtK0_.css +1 -0
  17. package/dist/css/revolugo.hoteloffersview.CLbnSww6.css +1 -0
  18. package/dist/css/revolugo.hotelroomofferlist.D8JlZt_N.css +1 -0
  19. package/dist/css/revolugo.hotelroomoffersbookingflow.LHa5iHB7.css +1 -0
  20. package/dist/css/revolugo.index.DK7d_h6O.css +1 -0
  21. package/dist/css/revolugo.index.XNPQF1ia.css +5 -0
  22. package/dist/css/revolugo.langpickerbtn.BGnattUJ.css +1 -0
  23. package/dist/css/revolugo.prebookform.DmCR7hLv.css +1 -0
  24. package/dist/css/revolugo.preferencesmenu.fPv_7j-1.css +1 -0
  25. package/dist/css/revolugo.termsandconditions.D8IMR9da.css +1 -0
  26. package/dist/css/revolugo.vautocomplete.CuVjyvcC.css +1 -0
  27. package/dist/css/revolugo.vbadge.C45eZpxy.css +1 -0
  28. package/dist/css/revolugo.vbtn.DpMO1Ky2.css +1 -0
  29. package/dist/css/revolugo.vcard.TERzfknI.css +1 -0
  30. package/dist/css/revolugo.vcheckboxbtn.Bp_BNQWb.css +1 -0
  31. package/dist/css/revolugo.vdialog.DwTSAOeg.css +1 -0
  32. package/dist/css/revolugo.vdivider.CTbbZwnv.css +1 -0
  33. package/dist/css/revolugo.vexpansionpanels.RsCANmDP.css +1 -0
  34. package/dist/css/revolugo.vicon.eIkh7vVK.css +1 -0
  35. package/dist/css/revolugo.vinput.BPiFMorL.css +1 -0
  36. package/dist/css/revolugo.vlabel.BvKaKg7Y.css +1 -0
  37. package/dist/css/revolugo.vlist.-Y4qkukF.css +1 -0
  38. package/dist/css/revolugo.vmenu.DvKwEp1j.css +1 -0
  39. package/dist/css/revolugo.vselect.C5CKHFYB.css +1 -0
  40. package/dist/css/revolugo.vsheet.Dmcoj8cr.css +1 -0
  41. package/dist/css/revolugo.vskeletonloader.BlK8uFkX.css +1 -0
  42. package/dist/css/revolugo.vslidegroup.ECiLCEE9.css +1 -0
  43. package/dist/css/revolugo.vsnackbar.CCfuo3ao.css +1 -0
  44. package/dist/css/revolugo.vtextarea.Dxy6uSvm.css +1 -0
  45. package/dist/css/revolugo.vtextfield.BIH_AWWP.css +1 -0
  46. package/dist/css/revolugo.vtooltip.BHXJTQ4V.css +1 -0
  47. package/dist/css/revolugo.vwindowitem.CWBhiE_Y.css +1 -0
  48. package/dist/css/{revolugo.webcomponentwrapper.BQSUxe3K.css → revolugo.webcomponentwrapper.cFJPP6Rp.css} +1 -1
  49. package/dist/index.es.min.js +1518 -1275
  50. package/dist/index.es.min.js.map +1 -1
  51. package/dist/index.min.js +5 -5
  52. package/dist/index.min.js.map +1 -1
  53. package/dist/revolugo._baseiteratee.C9fSfygW.min.js +247 -0
  54. package/dist/revolugo.banktransferdetails.HF-5whLi.min.js +373 -0
  55. package/dist/revolugo.bdaterangepicker.Dztdr7of.min.js +8327 -0
  56. package/dist/revolugo.bformattedamount.vue_vue_type_script_setup_true_lang.WRP6nh8U.min.js +146 -0
  57. package/dist/revolugo.bhoteloffersfilterbar.riRikxpD.min.js +4901 -0
  58. package/dist/revolugo.bhotelroomsdetails.DSVvK0I7.min.js +965 -0
  59. package/dist/revolugo.bimagecarousel.0DDXWSsX.min.js +566 -0
  60. package/dist/revolugo.bookingdetailssidebar.B3nJVjzT.min.js +24 -0
  61. package/dist/revolugo.bookingdetailssidebar.HR95sw2v.min.js +870 -0
  62. package/dist/revolugo.bookingmanager.CHhySvbL.min.js +1755 -0
  63. package/dist/revolugo.bpricesummaryskeleton.vue_vue_type_script_setup_true_lang.DCBOxir-.min.js +66 -0
  64. package/dist/revolugo.bstarrating.vue_vue_type_script_setup_true_lang.D7d1JNOc.min.js +570 -0
  65. package/dist/revolugo.btag.C27GlEZ3.min.js +375 -0
  66. package/dist/revolugo.cancellationpoliciesbadge.CQ9NQZ7F.min.js +28 -0
  67. package/dist/revolugo.cancellationpoliciesbadge.D7VDRPmO.min.js +198 -0
  68. package/dist/revolugo.cancellationpolicieslist.DUrr7Myp.min.js +25 -0
  69. package/dist/revolugo.cancellationpolicieslist.IKkTYxdE.min.js +148 -0
  70. package/dist/revolugo.cancellationpolicieslist.props.s6oWxIxG.min.js +21 -0
  71. package/dist/revolugo.case-transformers.Blb5hegY.min.js +123 -0
  72. package/dist/revolugo.common.D-l8b0V5.min.js +10 -0
  73. package/dist/{revolugo.creditcardstripeform.B8KtVBUI.min.js → revolugo.creditcardform.CejFX150.min.js} +886 -888
  74. package/dist/revolugo.creditcardform.Dx00l01z.min.js +24 -0
  75. package/dist/revolugo.creditcardpayment.CkfC2xTo.min.js +885 -0
  76. package/dist/revolugo.creditcardpayment.DZf0q5_n.min.js +24 -0
  77. package/dist/revolugo.currencypicker.B9c-AV8V.min.js +328 -0
  78. package/dist/revolugo.currencypickerbtn.B_lw6N3Y.min.js +24 -0
  79. package/dist/revolugo.currencypickerbtn.edi3iO6h.min.js +157 -0
  80. package/dist/revolugo.dates.DiE5ynTe.min.js +31 -0
  81. package/dist/revolugo.defaultsdeep.EmfuGqBQ.min.js +104 -0
  82. package/dist/{revolugo.dialog-attach.e4eWyf04.min.js → revolugo.dialog-attach.C4Yvk6WJ.min.js} +2 -2
  83. package/dist/revolugo.dialog-transition.Dly9KKqO.min.js +111 -0
  84. package/dist/revolugo.fastbookingflow.DPOX_gos.min.js +34 -0
  85. package/dist/revolugo.forwardrefs.VVhh1qV3.min.js +70 -0
  86. package/dist/revolugo.fullbookingflow.DSJE_kaM.min.js +429 -0
  87. package/dist/revolugo.hotel-offer-request.C9zwgVPt.min.js +98 -0
  88. package/dist/revolugo.hoteldescriptionview.Dtd-_3_8.min.js +24 -0
  89. package/dist/revolugo.hoteldescriptionview.kERJQPWm.min.js +2738 -0
  90. package/dist/revolugo.hotelofferitemlayout.vue_vue_type_script_setup_true_lang.CiHBAV7m.min.js +239 -0
  91. package/dist/revolugo.hotelofferlist.BC-TSjS6.min.js +24 -0
  92. package/dist/revolugo.hotelofferlist.D2AXSf4v.min.js +5640 -0
  93. package/dist/revolugo.hotelofferrequestcreator.props.BeQuCTZy.min.js +44 -0
  94. package/dist/revolugo.hoteloffersearchmenu.BODV4ZIe.min.js +202 -0
  95. package/dist/revolugo.hoteloffersearchmenuui.DqWHAurZ.min.js +829 -0
  96. package/dist/revolugo.hoteloffersmap.C6nn7LXn.min.js +8330 -0
  97. package/dist/revolugo.hoteloffersmap.Db9NNgcN.min.js +24 -0
  98. package/dist/revolugo.hoteloffersview.BAwQcocI.min.js +19 -0
  99. package/dist/revolugo.hoteloffersview.CIVNGmGO.min.js +616 -0
  100. package/dist/revolugo.hotelroomofferlist.C9y91Ya3.min.js +2799 -0
  101. package/dist/revolugo.hotelroomofferlist.CiBIB0Pb.min.js +24 -0
  102. package/dist/revolugo.hotelroomofferrequestcreator.props.2Sq_iptZ.min.js +171 -0
  103. package/dist/revolugo.hotelroomoffersbookingflow.BS4Fa2EH.min.js +1281 -0
  104. package/dist/revolugo.hotelroomoffersearchmenu.CXgExPhR.min.js +25 -0
  105. package/dist/revolugo.hotelroomoffersearchmenu.x_--4RXV.min.js +231 -0
  106. package/dist/revolugo.hotelroomoffersview.BzmRXy0a.min.js +290 -0
  107. package/dist/revolugo.hotelroomoffersview.CFo6k7zm.min.js +24 -0
  108. package/dist/revolugo.index.CDNx7Tg4.min.js +67 -0
  109. package/dist/revolugo.index.DZEISB0K.min.js +1232 -0
  110. package/dist/{revolugo.index.wc.CiJw1SpW.min.js → revolugo.index.wc.DLkeXtka.min.js} +4659 -4637
  111. package/dist/revolugo.langpicker.D7zIuy78.min.js +99 -0
  112. package/dist/revolugo.langpickerbtn.BF7sml8K.min.js +29 -0
  113. package/dist/revolugo.langpickerbtn.DMcy_gHZ.min.js +131 -0
  114. package/dist/revolugo.min.js +1 -1
  115. package/dist/revolugo.parsed-props.B5g9_9k5.min.js +40 -0
  116. package/dist/revolugo.pathify.DL0POvNz.min.js +36 -0
  117. package/dist/revolugo.prebookform.BMEaruyl.min.js +1527 -0
  118. package/dist/revolugo.prebookform.BVyTAnc9.min.js +24 -0
  119. package/dist/revolugo.preferencesmenu.5pUjkA0F.min.js +24 -0
  120. package/dist/revolugo.preferencesmenu.CfUC3L6C.min.js +261 -0
  121. package/dist/revolugo.roominglisteditor.DLWeU6Ct.min.js +385 -0
  122. package/dist/revolugo.roominglisteditor.L6CmotRz.min.js +24 -0
  123. package/dist/revolugo.rounded.C-2ilaaW.min.js +68 -0
  124. package/dist/revolugo.ssrboot.D7k4-YG4.min.js +18 -0
  125. package/dist/revolugo.storybooktoolbar.CTe_QwGW.min.js +881 -0
  126. package/dist/revolugo.termsandconditions.Cue6Dsm7.min.js +404 -0
  127. package/dist/revolugo.termsandconditions.DBq-dEuI.min.js +23 -0
  128. package/dist/revolugo.use-breakpoint-service.DsQuZJRM.min.js +39 -0
  129. package/dist/revolugo.use-dialog-attach.DLdl8iIG.min.js +16 -0
  130. package/dist/revolugo.use-html-element.c9F9oVPw.min.js +11 -0
  131. package/dist/revolugo.vautocomplete.Q2U5ECgn.min.js +445 -0
  132. package/dist/revolugo.vbadge.D-lbOD0r.min.js +112 -0
  133. package/dist/revolugo.vbtn.B-LYC8rJ.min.js +398 -0
  134. package/dist/revolugo.vcard.ZlYB5HOk.min.js +313 -0
  135. package/dist/revolugo.vcheckboxbtn.BGpOwRWV.min.js +478 -0
  136. package/dist/revolugo.vdialog.DlAgRbIv.min.js +133 -0
  137. package/dist/revolugo.vdivider.D1ITKKuu.min.js +77 -0
  138. package/dist/revolugo.vexpansionpanels.D8TtnQrF.min.js +262 -0
  139. package/dist/revolugo.vform.gu3frP5W.min.js +46 -0
  140. package/dist/revolugo.vicon.mrg8OisO.min.js +105 -0
  141. package/dist/revolugo.vinput.BowTI8jK.min.js +463 -0
  142. package/dist/revolugo.vlabel.BjtrjyZZ.min.js +48 -0
  143. package/dist/revolugo.vlist.BwlPoH0e.min.js +1299 -0
  144. package/dist/revolugo.vmenu.Dasw1a1s.min.js +145 -0
  145. package/dist/revolugo.vselect.B4IzM260.min.js +660 -0
  146. package/dist/revolugo.vsheet.CDgBUxHk.min.js +72 -0
  147. package/dist/revolugo.vskeletonloader.DgIjR-8k.min.js +136 -0
  148. package/dist/revolugo.vslidegroup.BV7NJuLN.min.js +325 -0
  149. package/dist/revolugo.vsnackbar.DFnMGJQg.min.js +198 -0
  150. package/dist/revolugo.vspacer.DqnVrVYg.min.js +7 -0
  151. package/dist/revolugo.vtextarea.CgekaBze.min.js +2092 -0
  152. package/dist/revolugo.vtextfield.BhmuZsP7.min.js +501 -0
  153. package/dist/{revolugo.vtoolbar.Ctwu8OKs.min.js → revolugo.vtoolbar.CMwcpp3v.min.js} +44 -42
  154. package/dist/revolugo.vtooltip.a-r5BxqW.min.js +89 -0
  155. package/dist/revolugo.vwindowitem.BHzrfo73.min.js +317 -0
  156. package/dist/revolugo.watch-list.BSqnQNdl.min.js +16 -0
  157. package/dist/revolugo.webcomponentwrapper.BNmjcBmh.min.js +2088 -0
  158. package/package.json +5 -5
  159. package/dist/css/revolugo.cancellationpoliciesbadge.DM3Cgr8A.css +0 -1
  160. package/dist/css/revolugo.creditcardstripeform.DN5YJSMj.css +0 -1
  161. package/dist/css/revolugo.index.ClC0OVqq.css +0 -5
  162. package/dist/css/revolugo.preferencesmenu.D2263Vn6.css +0 -1
  163. package/dist/revolugo.banktransferdetails.DFskPIBN.min.js +0 -47
  164. package/dist/revolugo.bookingdetailssidebar.BOs76Qod.min.js +0 -43
  165. package/dist/revolugo.bookingmanager.DzzQLMr9.min.js +0 -26
  166. package/dist/revolugo.cancellationpoliciesbadge.BRcM9UUl.min.js +0 -26
  167. package/dist/revolugo.cancellationpoliciesbadge.props.YZrc252e.min.js +0 -28756
  168. package/dist/revolugo.cancellationpolicieslist.B7Mf5bmE.min.js +0 -26
  169. package/dist/revolugo.creditcardstripeform.DkNqhTcH.min.js +0 -50
  170. package/dist/revolugo.currencypickerbtn.C1B6gpLV.min.js +0 -26
  171. package/dist/revolugo.fastbookingflow.VfdAOD-j.min.js +0 -36
  172. package/dist/revolugo.fullbookingflow.CFl16ykj.min.js +0 -26
  173. package/dist/revolugo.hoteldescriptionview.DTByBiNZ.min.js +0 -26
  174. package/dist/revolugo.hotelofferlist.HS8rTNwv.min.js +0 -26
  175. package/dist/revolugo.hoteloffersearchmenu.DLC5yEDD.min.js +0 -115
  176. package/dist/revolugo.hoteloffersmap.l4UaNpun.min.js +0 -26
  177. package/dist/revolugo.hoteloffersview.DxUc5TlW.min.js +0 -21
  178. package/dist/revolugo.hotelroomofferlist.ryYBtMFY.min.js +0 -26
  179. package/dist/revolugo.hotelroomoffersbookingflow.BWIa87mZ.min.js +0 -26
  180. package/dist/revolugo.hotelroomoffersearchmenu.4-HSRz_y.min.js +0 -26
  181. package/dist/revolugo.hotelroomoffersview.Df2SYo4D.min.js +0 -26
  182. package/dist/revolugo.index.Qn3FvgFh.min.js +0 -106
  183. package/dist/revolugo.langpickerbtn.rFwls9XZ.min.js +0 -31
  184. package/dist/revolugo.prebookform.D33OnpHn.min.js +0 -26
  185. package/dist/revolugo.preferencesmenu.BOWFkVY9.min.js +0 -24
  186. package/dist/revolugo.preferencesmenu.PVSL2fWE.min.js +0 -949
  187. package/dist/revolugo.roominglisteditor.gLjgOdGD.min.js +0 -26
  188. package/dist/revolugo.storybooktoolbar.DZrgGX1X.min.js +0 -838
  189. package/dist/revolugo.termsandconditions.3W9GTrVc.min.js +0 -31
  190. package/dist/revolugo.webcomponentwrapper.PTHIHE3G.min.js +0 -28624
@@ -0,0 +1,2799 @@
1
+ import { aj as ft, k as F, bv as G, H as b, bw as ne, d as W, bx as Nt, by as le, u as J, i as f, g as I, e as h, t as C, p as v, a as o, f as w, F as B, o as l, S as re, O as D, M as ue, b as ce, c as S, w as a, j as L, r as ot, a1 as rt, a2 as ut, a6 as mt, bz as de, aL as me, b5 as fe, D as q, m as be, l as pe, bA as dt, J as gt, K as yt, n as ve, h as ke, B as x, I as he, E as ge, bB as ye, q as kt, v as wt, s as Re, C as Rt, bC as Oe, ah as Ce, bD as Ot, bE as Be, aa as Ut, an as Se, af as tt, aV as Ie, ad as _e, bF as we } from "./revolugo.index.wc.DLkeXtka.min.js";
2
+ import { s as Pe } from "./revolugo.dates.DiE5ynTe.min.js";
3
+ import { u as bt, h as Te } from "./revolugo.hotelroomofferrequestcreator.props.2Sq_iptZ.min.js";
4
+ import { C as He } from "./revolugo.cancellationpoliciesbadge.D7VDRPmO.min.js";
5
+ import { a as jt, _ as Ee } from "./revolugo.bpricesummaryskeleton.vue_vue_type_script_setup_true_lang.DCBOxir-.min.js";
6
+ import { _ as it, V as P, a as y, u as ct, l as Ft, B as St, d as Ve, q as Ae, s as Le, b as $e, g as De, e as ze } from "./revolugo.webcomponentwrapper.BNmjcBmh.min.js";
7
+ import { V as Z } from "./revolugo.vskeletonloader.DgIjR-8k.min.js";
8
+ import { _ as Gt, B as xt } from "./revolugo.bhotelroomsdetails.DSVvK0I7.min.js";
9
+ import { _ as lt, a as qe } from "./revolugo.bformattedamount.vue_vue_type_script_setup_true_lang.WRP6nh8U.min.js";
10
+ import { V as at } from "./revolugo.vicon.mrg8OisO.min.js";
11
+ import { r as Me, a as Ne, e as Ue, L as je, s as Fe, m as Ge, V as xe } from "./revolugo.index.DZEISB0K.min.js";
12
+ import { u as We, V as Pt, m as Ye } from "./revolugo.vinput.BowTI8jK.min.js";
13
+ import { b as Tt, c as Ze, V as Ke } from "./revolugo.vcheckboxbtn.BGpOwRWV.min.js";
14
+ import { V as It, a as st, m as Je } from "./revolugo.vbtn.B-LYC8rJ.min.js";
15
+ import { B as ht } from "./revolugo.btag.C27GlEZ3.min.js";
16
+ import { u as Qe } from "./revolugo.use-breakpoint-service.DsQuZJRM.min.js";
17
+ import { V as Xe } from "./revolugo.vselect.B4IzM260.min.js";
18
+ import { V as to } from "./revolugo.vlist.BwlPoH0e.min.js";
19
+ import { V as K } from "./revolugo.vdivider.D1ITKKuu.min.js";
20
+ import { _ as eo } from "./revolugo.cancellationpolicieslist.IKkTYxdE.min.js";
21
+ import { k as oo, C as ao } from "./revolugo.case-transformers.Blb5hegY.min.js";
22
+ /* empty css */
23
+ import { p as so } from "./revolugo.pathify.DL0POvNz.min.js";
24
+ import { d as io } from "./revolugo.defaultsdeep.EmfuGqBQ.min.js";
25
+ import { f as no } from "./revolugo.forwardrefs.VVhh1qV3.min.js";
26
+ import { V as Ht, m as lo, a as Et, b as ro } from "./revolugo.vwindowitem.BHzrfo73.min.js";
27
+ import { a as Vt, m as uo } from "./revolugo.vslidegroup.BV7NJuLN.min.js";
28
+ function ie(t) {
29
+ try {
30
+ if (typeof document < "u") {
31
+ window.REVOLUGO_ELEMENTS_STYLES = window.REVOLUGO_ELEMENTS_STYLES || {
32
+ sheets: [],
33
+ components: []
34
+ };
35
+ const e = import.meta.url, s = e.slice(0, e.lastIndexOf("/") + 1) + t;
36
+ window.REVOLUGO_ELEMENTS_STYLES.sheets.push(s);
37
+ for (const i of REVOLUGO_ELEMENTS_STYLES.components)
38
+ i(s);
39
+ if (t.indexOf("fonts") >= 0) {
40
+ const i = document.createElement("link");
41
+ i.rel = "stylesheet", linK.href = s, document.head.appendChild(i);
42
+ }
43
+ }
44
+ } catch (e) {
45
+ console.error("[revolugo-elements] ", e);
46
+ }
47
+ }
48
+ const co = "Europe/Paris";
49
+ function mo(t) {
50
+ return (t && t.split(",") || []).map(
51
+ (e) => Number.parseInt(e)
52
+ );
53
+ }
54
+ const fo = 4;
55
+ function bo(t, e) {
56
+ return t + mo(e).reduce((s, i) => i >= fo ? s + 1 : s, 0);
57
+ }
58
+ function po(t, e) {
59
+ return e === void 0 ? Array.from({ length: t }, (s, i) => i) : Array.from({ length: e - t }, (s, i) => t + i);
60
+ }
61
+ function vo() {
62
+ const t = ft(), e = F(G.Idle), s = b(
63
+ () => e.value === G.BookingPoliciesFetched
64
+ ), i = b(
65
+ () => e.value === G.Unavailable
66
+ ), n = b(
67
+ () => e.value === G.FetchingBookingPolicies
68
+ );
69
+ async function k({
70
+ addBreakfast: d,
71
+ hotelId: r,
72
+ hotelRoomOfferId: p
73
+ }) {
74
+ e.value = G.FetchingBookingPolicies;
75
+ try {
76
+ await t.createBookingPolicies({
77
+ addBreakfast: d,
78
+ hotelId: r,
79
+ hotelRoomOfferId: p
80
+ }), e.value = G.Unavailable, setTimeout(() => {
81
+ e.value = G.Idle;
82
+ }, 1.5 * 1e3);
83
+ } catch {
84
+ e.value = G.Unavailable;
85
+ }
86
+ }
87
+ return {
88
+ bookingState: e,
89
+ createBookingPolicy: k,
90
+ isBookingPoliciesSuccessful: s,
91
+ isBookingPoliciesUnavailable: i,
92
+ isFetchingBookingPolicies: n
93
+ };
94
+ }
95
+ function ko(t, e, s) {
96
+ if (t == null)
97
+ return e;
98
+ const i = s || ((n) => n);
99
+ if (typeof t == "string")
100
+ try {
101
+ return i(JSON.parse(t));
102
+ } catch {
103
+ return e;
104
+ }
105
+ return i(t);
106
+ }
107
+ function ho({
108
+ cb: t,
109
+ fallbackValue: e,
110
+ prop: s
111
+ }) {
112
+ return b(() => {
113
+ const n = ko(ne(s.value), e, t);
114
+ return n && io(structuredClone(n), e || {});
115
+ });
116
+ }
117
+ const go = { class: "text-right" }, yo = {
118
+ key: 0,
119
+ class: "text-grey-darken-3"
120
+ }, Ro = { class: "text-h6 text-grey-darken-3 font-weight-black" }, Oo = {
121
+ key: 1,
122
+ class: "my-0 text-caption text-grey-darken-3 d-block"
123
+ }, Co = { class: "text-caption d-block" }, Wt = /* @__PURE__ */ W({
124
+ __name: "BPriceSummary",
125
+ props: {
126
+ adultCount: { default: 0 },
127
+ currency: { default: le.EUR },
128
+ hasBolderTextPrice: { type: Boolean, default: void 0 },
129
+ isTaxIncluded: { type: Boolean, default: void 0 },
130
+ isStartingPrice: { type: Boolean, default: void 0 },
131
+ locale: { default: Nt.fr_FR },
132
+ nightCount: { default: 1 },
133
+ price: {},
134
+ roomCount: { default: 1 },
135
+ roundMode: { default: void 0 },
136
+ taxIncludedPrice: { default: void 0 }
137
+ },
138
+ setup(t) {
139
+ const e = t, { t: s } = J(), i = b(() => e.nightCount <= 0 || e.roomCount <= 0 ? e.price : e.price / e.roomCount / e.nightCount);
140
+ return (n, k) => (l(), f("div", go, [
141
+ n.isStartingPrice ? (l(), f("small", yo, C(v(s)("BPriceSummary.from")) + "  ", 1)) : I("", !0),
142
+ h("b", Ro, [
143
+ o(lt, {
144
+ amount: i.value,
145
+ "round-mode": n.roundMode,
146
+ currency: e.currency,
147
+ locale: e.locale
148
+ }, null, 8, ["amount", "round-mode", "currency", "locale"])
149
+ ]),
150
+ (n.roomCount > 1 || n.nightCount > 1 || n.taxIncludedPrice !== n.price) && n.isTaxIncluded ? (l(), f("span", Oo, [
151
+ h("b", null, [
152
+ o(lt, {
153
+ amount: n.taxIncludedPrice,
154
+ "round-mode": n.roundMode,
155
+ currency: e.currency,
156
+ locale: e.locale
157
+ }, null, 8, ["amount", "round-mode", "currency", "locale"])
158
+ ]),
159
+ w(" " + C(v(s)("BPriceSummary.total")) + " " + C(v(s)("BPriceSummary.summary", {
160
+ rooms: v(s)("BPriceSummary.rooms", { n: n.roomCount })
161
+ })), 1)
162
+ ])) : I("", !0),
163
+ h("span", Co, [
164
+ n.taxIncludedPrice || n.price ? (l(), f(B, { key: 0 }, [
165
+ n.isTaxIncluded ? (l(), f(B, { key: 0 }, [
166
+ w(C(v(s)("BPriceSummary.taxIncluded")), 1)
167
+ ], 64)) : (l(), f(B, { key: 1 }, [
168
+ w(C(v(s)("BPriceSummary.taxNotIncluded")), 1)
169
+ ], 64))
170
+ ], 64)) : I("", !0)
171
+ ])
172
+ ]));
173
+ }
174
+ });
175
+ function At(t) {
176
+ const e = t;
177
+ e.__i18n = e.__i18n || [], e.__i18n.push({
178
+ locale: "",
179
+ resource: {
180
+ "en-US": {
181
+ BPriceSummary: {
182
+ adults: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " adult" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " adults" }] }] } },
183
+ from: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "from" } },
184
+ or: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "or" } },
185
+ rooms: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "room" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " room" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " rooms" }] }] } },
186
+ nights: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "night" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " night" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " nights" }] }] } },
187
+ summary: { t: 0, b: { t: 2, i: [{ t: 3, v: "for " }, { t: 4, k: "rooms" }] } },
188
+ taxIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Includes taxes & fees" } },
189
+ taxNotIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Taxes & fees not included" } },
190
+ tooltipMessage: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "price per room per night" } },
191
+ total: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "total" } }
192
+ }
193
+ },
194
+ "fr-FR": {
195
+ BPriceSummary: {
196
+ adults: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " adulte" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " adultes" }] }] } },
197
+ from: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "à partir de" } },
198
+ or: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "ou" } },
199
+ rooms: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "chambre" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " chambre" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " chambres" }] }] } },
200
+ nights: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "nuit" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " nuit" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " nuits" }] }] } },
201
+ summary: { t: 0, b: { t: 2, i: [{ t: 3, v: "pour " }, { t: 4, k: "rooms" }] } },
202
+ taxIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Taxes et frais compris" } },
203
+ taxNotIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Taxes et frais non compris" } },
204
+ tooltipMessage: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "prix par chambre par nuit" } },
205
+ total: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "au total" } }
206
+ }
207
+ },
208
+ "de-DE": {
209
+ BPriceSummary: {
210
+ adults: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " Erwachsener" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " Erwachsene" }] }] } },
211
+ from: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "ab" } },
212
+ or: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "oder" } },
213
+ rooms: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Zimmer" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " Zimmer" }] }] } },
214
+ nights: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Nacht" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " Nächte" }] }] } },
215
+ summary: { t: 0, b: { t: 2, i: [{ t: 3, v: "für " }, { t: 4, k: "rooms" }] } },
216
+ taxIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Inklusive Steuern & Gebühren" } },
217
+ taxNotIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Steuern & Gebühren nicht inbegriffen" } },
218
+ tooltipMessage: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Preis pro Zimmer pro Nacht" } },
219
+ total: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "gesamt" } }
220
+ }
221
+ },
222
+ "es-ES": {
223
+ BPriceSummary: {
224
+ adults: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " adulto" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " adultos" }] }] } },
225
+ from: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "desde" } },
226
+ or: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "o" } },
227
+ rooms: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "habitación" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " habitación" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " habitaciones" }] }] } },
228
+ nights: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "noche" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " noche" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " noches" }] }] } },
229
+ summary: { t: 0, b: { t: 2, i: [{ t: 3, v: "para " }, { t: 4, k: "rooms" }] } },
230
+ taxIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Impuestos y tasas incluidos" } },
231
+ taxNotIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Impuestos y tasas no incluidos" } },
232
+ tooltipMessage: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "precio por habitación y noche" } },
233
+ total: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "total" } }
234
+ }
235
+ },
236
+ "it-IT": {
237
+ BPriceSummary: {
238
+ adults: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " adulto" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " adulti" }] }] } },
239
+ from: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "da" } },
240
+ or: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "o" } },
241
+ rooms: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "camera" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " camera" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " camere" }] }] } },
242
+ nights: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "notte" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " notte" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " notti" }] }] } },
243
+ summary: { t: 0, b: { t: 2, i: [{ t: 3, v: "per " }, { t: 4, k: "rooms" }] } },
244
+ taxIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Tasse e commissioni incluse" } },
245
+ taxNotIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Tasse e commissioni non incluse" } },
246
+ tooltipMessage: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "prezzo per camera a notte" } },
247
+ total: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "totale" } }
248
+ }
249
+ },
250
+ "nl-NL": {
251
+ BPriceSummary: {
252
+ adults: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " volwassene" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " volwassenen" }] }] } },
253
+ from: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "vanaf" } },
254
+ or: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "of" } },
255
+ rooms: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "kamer" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " kamer" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " kamers" }] }] } },
256
+ nights: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "nacht" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " nacht" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " nachten" }] }] } },
257
+ summary: { t: 0, b: { t: 2, i: [{ t: 3, v: "voor " }, { t: 4, k: "rooms" }] } },
258
+ taxIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Inclusief belastingen & toeslagen" } },
259
+ taxNotIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Belastingen & toeslagen niet inbegrepen" } },
260
+ tooltipMessage: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "prijs per kamer per nacht" } },
261
+ total: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "totaal" } }
262
+ }
263
+ },
264
+ "pt-PT": {
265
+ BPriceSummary: {
266
+ adults: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " adulto" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " adultos" }] }] } },
267
+ from: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "a partir de" } },
268
+ or: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "ou" } },
269
+ rooms: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "quarto" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " quarto" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " quartos" }] }] } },
270
+ nights: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "noite" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " noite" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " noites" }] }] } },
271
+ summary: { t: 0, b: { t: 2, i: [{ t: 3, v: "para " }, { t: 4, k: "rooms" }] } },
272
+ taxIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Inclui taxas e impostos" } },
273
+ taxNotIncluded: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Taxas e impostos não incluídos" } },
274
+ tooltipMessage: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "preço por quarto por noite" } },
275
+ total: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "total" } }
276
+ }
277
+ }
278
+ }
279
+ });
280
+ }
281
+ typeof At == "function" && At(Wt);
282
+ const Ct = /* @__PURE__ */ it(Wt, [["__scopeId", "data-v-e0d30623"]]);
283
+ function Bo(t, e) {
284
+ return e ? t.adultCount === e.adultCount && t.checkInDate === e.checkInDate && t.checkOutDate === e.checkOutDate && t.children === e.children && t.hotelId === e.hotelId && t.roomCount === e.roomCount && t.sourceMarket === e.sourceMarket : !1;
285
+ }
286
+ function So(t) {
287
+ const e = bt(), s = Pe(
288
+ t.checkInDate,
289
+ t.checkOutDate
290
+ ), i = F({
291
+ adultCount: t.adultCount,
292
+ checkInDate: s[0],
293
+ checkOutDate: s[1],
294
+ children: t.children ?? null,
295
+ hotelId: t.hotelId,
296
+ roomCount: t.roomCount,
297
+ sourceMarket: t.sourceMarket
298
+ }), n = b(
299
+ () => e.hotelRoomOfferRequest(t.hotelId)
300
+ ), k = re(
301
+ async function() {
302
+ const p = i.value, m = n.value;
303
+ t.hotelRoomOfferRequestId && t.hotelRoomOfferRequestId !== m?.id ? (await e.retrieveHotelRoomOfferRequest({
304
+ hotelId: p.hotelId,
305
+ hotelRoomOfferRequestId: t.hotelRoomOfferRequestId
306
+ }), (!m || m.hasError) && await e.createHotelRoomOfferRequest(p)) : (!m || !m.id || m.hasError || !Bo(p, m)) && await e.createHotelRoomOfferRequest(p);
307
+ },
308
+ 300
309
+ );
310
+ D(
311
+ () => {
312
+ const r = n.value;
313
+ return r ? [
314
+ r.adultCount,
315
+ r.checkInDate,
316
+ r.checkOutDate,
317
+ r.children,
318
+ r.roomCount,
319
+ r.sourceMarket
320
+ ].join(",") : "";
321
+ },
322
+ () => {
323
+ const r = n.value;
324
+ !r || !r.adultCount || !r.checkInDate || !r.checkOutDate || !r.roomCount || !r.sourceMarket || (i.value = {
325
+ adultCount: r.adultCount,
326
+ checkInDate: r.checkInDate,
327
+ checkOutDate: r.checkOutDate,
328
+ children: r.children ?? null,
329
+ hotelId: r.hotelId,
330
+ roomCount: r.roomCount,
331
+ sourceMarket: r.sourceMarket
332
+ });
333
+ }
334
+ ), D(
335
+ () => t.adultCount,
336
+ (r) => {
337
+ i.value = {
338
+ ...i.value,
339
+ adultCount: r
340
+ };
341
+ }
342
+ ), D(
343
+ () => t.checkInDate,
344
+ (r) => {
345
+ i.value = {
346
+ ...i.value,
347
+ checkInDate: r
348
+ };
349
+ }
350
+ ), D(
351
+ () => t.checkOutDate,
352
+ (r) => {
353
+ i.value = {
354
+ ...i.value,
355
+ checkOutDate: r
356
+ };
357
+ }
358
+ ), D(
359
+ () => t.children,
360
+ (r) => {
361
+ i.value = {
362
+ ...i.value,
363
+ children: r ?? null
364
+ };
365
+ }
366
+ ), D(
367
+ () => t.hotelId,
368
+ (r, p) => {
369
+ p && e.deleteHotelRoomOfferRequest(p), i.value = {
370
+ ...i.value,
371
+ hotelId: r
372
+ }, k();
373
+ }
374
+ ), D(
375
+ () => t.roomCount,
376
+ (r) => {
377
+ i.value = {
378
+ ...i.value,
379
+ roomCount: r
380
+ };
381
+ }
382
+ ), D(
383
+ () => t.sourceMarket,
384
+ (r) => {
385
+ i.value = {
386
+ ...i.value,
387
+ sourceMarket: r
388
+ };
389
+ }
390
+ );
391
+ const d = () => {
392
+ e.resetHotelRoomOfferRequest(t.hotelId), k();
393
+ };
394
+ return D(
395
+ () => i.value,
396
+ () => {
397
+ k();
398
+ },
399
+ { deep: !0, immediate: !0 }
400
+ ), D(
401
+ () => ue(),
402
+ () => {
403
+ d();
404
+ },
405
+ { immediate: !0 }
406
+ ), {
407
+ hotelRoomOfferRequest: n,
408
+ hotelRoomOfferRequestInternal: i
409
+ };
410
+ }
411
+ const Io = W({
412
+ components: {
413
+ BPriceSummarySkeleton: jt
414
+ },
415
+ mixins: [ce],
416
+ name: "HotelRoomOfferItemLayout",
417
+ props: {
418
+ boilerplate: { type: Boolean }
419
+ },
420
+ setup() {
421
+ const { t } = J();
422
+ return {
423
+ t
424
+ };
425
+ }
426
+ }), _o = { class: "d-flex justify-end" };
427
+ function wo(t, e, s, i, n, k) {
428
+ const d = ot("BPriceSummarySkeleton");
429
+ return l(), S(P, {
430
+ class: "px-2 py-3 pa-sm-4 px-md-3",
431
+ "no-gutters": ""
432
+ }, {
433
+ default: a(() => [
434
+ o(y, {
435
+ "align-self": "start",
436
+ cols: "12",
437
+ lg: "6",
438
+ md: "7",
439
+ sm: "7"
440
+ }, {
441
+ default: a(() => [
442
+ o(P, { "no-gutters": "" }, {
443
+ default: a(() => [
444
+ o(y, { cols: "12" }, {
445
+ default: a(() => [
446
+ L(t.$slots, "room-details", {}, () => [
447
+ o(Z, {
448
+ boilerplate: t.boilerplate,
449
+ class: "mt-1",
450
+ height: "14px",
451
+ tile: "",
452
+ type: "text",
453
+ width: "180px"
454
+ }, null, 8, ["boilerplate"]),
455
+ o(Z, {
456
+ boilerplate: t.boilerplate,
457
+ height: "12px",
458
+ tile: "",
459
+ type: "text",
460
+ width: "120px"
461
+ }, null, 8, ["boilerplate"])
462
+ ])
463
+ ]),
464
+ _: 3
465
+ }),
466
+ o(y, {
467
+ "align-self": "start",
468
+ class: "text-left d-flex flex-column mt-2",
469
+ cols: "12",
470
+ style: { gap: "0.3em" }
471
+ }, {
472
+ default: a(() => [
473
+ L(t.$slots, "breakfast-option-badge"),
474
+ L(t.$slots, "cancellation-policies")
475
+ ]),
476
+ _: 3
477
+ }),
478
+ o(y, { cols: "12" }, {
479
+ default: a(() => [
480
+ L(t.$slots, "breakfast-option-switch")
481
+ ]),
482
+ _: 3
483
+ })
484
+ ]),
485
+ _: 3
486
+ })
487
+ ]),
488
+ _: 3
489
+ }),
490
+ o(y, {
491
+ "align-self": "end",
492
+ class: "text-right mt-sm-0 mt-2",
493
+ lg: "6",
494
+ md: "5",
495
+ sm: "5"
496
+ }, {
497
+ default: a(() => [
498
+ L(t.$slots, "package-type"),
499
+ L(t.$slots, "price-summary", {}, () => [
500
+ o(d, {
501
+ boilerplate: t.boilerplate,
502
+ class: "mt-2"
503
+ }, null, 8, ["boilerplate"])
504
+ ]),
505
+ h("div", _o, [
506
+ L(t.$slots, "action", {}, () => [
507
+ o(Z, {
508
+ class: "mt-2",
509
+ boilerplate: t.boilerplate,
510
+ height: "28px",
511
+ tile: "",
512
+ type: "image",
513
+ width: t.$isCurrentBreakpointBelow("sm") ? "100%" : "130px"
514
+ }, null, 8, ["boilerplate", "width"])
515
+ ])
516
+ ])
517
+ ]),
518
+ _: 3
519
+ })
520
+ ]),
521
+ _: 3
522
+ });
523
+ }
524
+ const pt = /* @__PURE__ */ it(Io, [["render", wo]]), Po = ut({
525
+ indeterminate: Boolean,
526
+ inset: Boolean,
527
+ flat: Boolean,
528
+ loading: {
529
+ type: [Boolean, String],
530
+ default: !1
531
+ },
532
+ ...Ye(),
533
+ ...Ze()
534
+ }, "VSwitch"), To = rt()({
535
+ name: "VSwitch",
536
+ inheritAttrs: !1,
537
+ props: Po(),
538
+ emits: {
539
+ "update:focused": (t) => !0,
540
+ "update:modelValue": (t) => !0,
541
+ "update:indeterminate": (t) => !0
542
+ },
543
+ setup(t, e) {
544
+ let {
545
+ attrs: s,
546
+ slots: i
547
+ } = e;
548
+ const n = mt(t, "indeterminate"), k = mt(t, "modelValue"), {
549
+ loaderClasses: d
550
+ } = Me(t), {
551
+ isFocused: r,
552
+ focus: p,
553
+ blur: m
554
+ } = We(t), T = F(), A = de && window.matchMedia("(forced-colors: active)").matches, R = b(() => typeof t.loading == "string" && t.loading !== "" ? t.loading : t.color), z = me(), u = b(() => t.id || `switch-${z}`);
555
+ function g() {
556
+ n.value && (n.value = !1);
557
+ }
558
+ function H(E) {
559
+ E.stopPropagation(), E.preventDefault(), T.value?.input?.click();
560
+ }
561
+ return ct(() => {
562
+ const [E, M] = fe(s), N = Pt.filterProps(t), Y = Tt.filterProps(t);
563
+ return o(Pt, q({
564
+ class: ["v-switch", {
565
+ "v-switch--flat": t.flat
566
+ }, {
567
+ "v-switch--inset": t.inset
568
+ }, {
569
+ "v-switch--indeterminate": n.value
570
+ }, d.value, t.class]
571
+ }, E, N, {
572
+ modelValue: k.value,
573
+ "onUpdate:modelValue": (_) => k.value = _,
574
+ id: u.value,
575
+ focused: r.value,
576
+ style: t.style
577
+ }), {
578
+ ...i,
579
+ default: (_) => {
580
+ let {
581
+ id: $,
582
+ messagesId: j,
583
+ isDisabled: U,
584
+ isReadonly: nt,
585
+ isValid: et
586
+ } = _;
587
+ const Q = {
588
+ model: k,
589
+ isValid: et
590
+ };
591
+ return o(Tt, q({
592
+ ref: T
593
+ }, Y, {
594
+ modelValue: k.value,
595
+ "onUpdate:modelValue": [(c) => k.value = c, g],
596
+ id: $.value,
597
+ "aria-describedby": j.value,
598
+ type: "checkbox",
599
+ "aria-checked": n.value ? "mixed" : void 0,
600
+ disabled: U.value,
601
+ readonly: nt.value,
602
+ onFocus: p,
603
+ onBlur: m
604
+ }, M), {
605
+ ...i,
606
+ default: (c) => {
607
+ let {
608
+ backgroundColorClasses: V,
609
+ backgroundColorStyles: O
610
+ } = c;
611
+ return o("div", {
612
+ class: ["v-switch__track", A ? void 0 : V.value],
613
+ style: O.value,
614
+ onClick: H
615
+ }, [i["track-true"] && o("div", {
616
+ key: "prepend",
617
+ class: "v-switch__track-true"
618
+ }, [i["track-true"](Q)]), i["track-false"] && o("div", {
619
+ key: "append",
620
+ class: "v-switch__track-false"
621
+ }, [i["track-false"](Q)])]);
622
+ },
623
+ input: (c) => {
624
+ let {
625
+ inputNode: V,
626
+ icon: O,
627
+ backgroundColorClasses: X,
628
+ backgroundColorStyles: se
629
+ } = c;
630
+ return o(B, null, [V, o("div", {
631
+ class: ["v-switch__thumb", {
632
+ "v-switch__thumb--filled": O || t.loading
633
+ }, t.inset || A ? void 0 : X.value],
634
+ style: t.inset ? void 0 : se.value
635
+ }, [i.thumb ? o(Ne, {
636
+ defaults: {
637
+ VIcon: {
638
+ icon: O,
639
+ size: "x-small"
640
+ }
641
+ }
642
+ }, {
643
+ default: () => [i.thumb({
644
+ ...Q,
645
+ icon: O
646
+ })]
647
+ }) : o(Ue, null, {
648
+ default: () => [t.loading ? o(je, {
649
+ name: "v-switch",
650
+ active: !0,
651
+ color: et.value === !1 ? void 0 : R.value
652
+ }, {
653
+ default: (vt) => i.loader ? i.loader(vt) : o(It, {
654
+ active: vt.isActive,
655
+ color: vt.color,
656
+ indeterminate: !0,
657
+ size: "16",
658
+ width: "2"
659
+ }, null)
660
+ }) : O && o(at, {
661
+ key: String(O),
662
+ icon: O,
663
+ size: "x-small"
664
+ }, null)]
665
+ })])]);
666
+ }
667
+ });
668
+ }
669
+ });
670
+ }), {};
671
+ }
672
+ }), Ho = { class: "text-caption ml-n3" }, Eo = { class: "mr-2" }, Vo = ["innerHTML"], Yt = /* @__PURE__ */ W({
673
+ __name: "BBreakfastSwitch",
674
+ props: /* @__PURE__ */ be({
675
+ isLoading: { type: Boolean },
676
+ price: {},
677
+ currency: {}
678
+ }, {
679
+ modelValue: { type: Boolean },
680
+ modelModifiers: {}
681
+ }),
682
+ emits: ["update:modelValue"],
683
+ setup(t) {
684
+ const { locale: e, t: s } = J(), i = pe(t, "modelValue"), n = b(
685
+ () => qe({
686
+ amount: t.price,
687
+ currency: t.currency,
688
+ locale: e.value
689
+ })
690
+ );
691
+ return (k, d) => (l(), S(To, {
692
+ modelValue: i.value,
693
+ "onUpdate:modelValue": d[0] || (d[0] = (r) => i.value = r),
694
+ class: "ma-0 pa-0 breakfast-switch d-inline-block",
695
+ density: "compact",
696
+ size: "small",
697
+ color: "primary",
698
+ loading: k.isLoading && "success"
699
+ }, {
700
+ label: a(() => [
701
+ h("div", Ho, [
702
+ o(at, {
703
+ size: "12",
704
+ class: "ml-4 mr-2"
705
+ }, {
706
+ default: a(() => d[1] || (d[1] = [
707
+ w(" fas fa-coffee ")
708
+ ])),
709
+ _: 1,
710
+ __: [1]
711
+ }),
712
+ d[2] || (d[2] = w(" ")),
713
+ h("span", Eo, C(v(s)("BBreakfastSwitch.title")), 1),
714
+ h("span", {
715
+ innerHTML: v(s)("BBreakfastSwitch.price", { n: n.value }).replace(
716
+ /\s/gu,
717
+ " "
718
+ )
719
+ }, null, 8, Vo)
720
+ ])
721
+ ]),
722
+ _: 1
723
+ }, 8, ["modelValue", "loading"]));
724
+ }
725
+ });
726
+ function Lt(t) {
727
+ const e = t;
728
+ e.__i18n = e.__i18n || [], e.__i18n.push({
729
+ locale: "",
730
+ resource: {
731
+ "en-US": {
732
+ BBreakfastSwitch: {
733
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Breakfast" } },
734
+ price: { t: 0, b: { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " / guest / night" }] } }
735
+ }
736
+ },
737
+ "fr-FR": {
738
+ BBreakfastSwitch: {
739
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Petit-déjeuner" } },
740
+ price: { t: 0, b: { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " / client / nuit" }] } }
741
+ }
742
+ },
743
+ "de-DE": {
744
+ BBreakfastSwitch: {
745
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Frühstück" } },
746
+ price: { t: 0, b: { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " / Gast / Nacht" }] } }
747
+ }
748
+ },
749
+ "es-ES": {
750
+ BBreakfastSwitch: {
751
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Desayuno" } },
752
+ price: { t: 0, b: { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " / huésped / noche" }] } }
753
+ }
754
+ },
755
+ "it-IT": {
756
+ BBreakfastSwitch: {
757
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Colazione" } },
758
+ price: { t: 0, b: { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " / ospite / notte" }] } }
759
+ }
760
+ },
761
+ "nl-NL": {
762
+ BBreakfastSwitch: {
763
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ontbijt" } },
764
+ price: { t: 0, b: { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " / gast / nacht" }] } }
765
+ }
766
+ },
767
+ "pt-PT": {
768
+ BBreakfastSwitch: {
769
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Pequeno-almoço" } },
770
+ price: { t: 0, b: { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " / hóspede / noite" }] } }
771
+ }
772
+ }
773
+ }
774
+ });
775
+ }
776
+ typeof Lt == "function" && Lt(Yt);
777
+ const Zt = /* @__PURE__ */ it(Yt, [["__scopeId", "data-v-1e4b5568"]]), Ao = {
778
+ breakfastCount: {
779
+ type: Number
780
+ },
781
+ breakfastOption: {
782
+ required: !0,
783
+ type: String
784
+ },
785
+ breakfastUnitPrice: {
786
+ type: Number
787
+ },
788
+ cancellationPolicies: {
789
+ required: !0,
790
+ type: Array
791
+ },
792
+ count: { type: Number },
793
+ currency: {
794
+ required: !0,
795
+ type: String
796
+ },
797
+ gone: { type: Boolean },
798
+ hotelId: { required: !0, type: String },
799
+ hotelRooms: {
800
+ required: !0,
801
+ type: Array
802
+ },
803
+ id: { required: !0, type: String },
804
+ isLoading: { type: Boolean },
805
+ modelValue: { type: Number },
806
+ packageType: { type: String },
807
+ price: { required: !0, type: Number },
808
+ sourceMarket: {
809
+ required: !0,
810
+ type: String
811
+ },
812
+ tags: { type: Array },
813
+ taxIncludedPrice: { required: !0, type: Number },
814
+ type: { type: String }
815
+ }, Lo = { key: 0 }, $o = {
816
+ class: "align-self-center d-flex flex-wrap",
817
+ style: { gap: "0.3em" }
818
+ }, Do = {
819
+ class: "align-self-center d-inline-flex flex-wrap",
820
+ style: { gap: "0.3em" }
821
+ }, zo = { class: "text-caption" }, qo = { key: 0 }, Mo = { key: 1 }, Kt = /* @__PURE__ */ W({
822
+ __name: "HotelRoomOfferItem",
823
+ props: Ao,
824
+ emits: ["breakfast-change", "update:modelValue", "booking-policy-failed"],
825
+ setup(t, { emit: e }) {
826
+ const s = t, { t: i } = J(), { eventBus: n } = he(), k = e, d = F(
827
+ s.breakfastCount && s.breakfastCount > 0 || !1
828
+ );
829
+ D(d, (c) => {
830
+ k("breakfast-change", {
831
+ addBreakfast: c,
832
+ hotelId: s.hotelId,
833
+ id: s.id
834
+ });
835
+ });
836
+ const r = bt(), p = ft(), m = b(
837
+ () => r.hotelRoomOfferRequest(s.hotelId)
838
+ ), T = b(() => m.value?.adultCount), A = b(() => m.value?.checkInDate), R = b(
839
+ () => s.count ? po(s.count + 1) : []
840
+ ), z = b(
841
+ () => p.hotelTimezone(s.hotelId)
842
+ ), u = b(
843
+ () => r.nightCount(s.hotelId)
844
+ ), g = b(() => {
845
+ switch (s.packageType) {
846
+ case dt.Cheapest:
847
+ return "red";
848
+ case dt.BestMatch:
849
+ case dt.MatchingRoomCount:
850
+ return "purple";
851
+ case dt.Regular:
852
+ case void 0:
853
+ default:
854
+ return "";
855
+ }
856
+ }), H = b(
857
+ () => s.hotelRooms.reduce((c, V) => c + (V.count || 0), 0)
858
+ ), E = b({
859
+ get() {
860
+ return s.modelValue;
861
+ },
862
+ set(c) {
863
+ k("update:modelValue", c);
864
+ }
865
+ }), M = b(
866
+ () => s.tags?.filter((c) => c.name.length > 30) || []
867
+ ), N = b(
868
+ () => s.tags?.filter((c) => c.name.length < 30) || []
869
+ ), {
870
+ bookingState: Y,
871
+ createBookingPolicy: _,
872
+ isBookingPoliciesSuccessful: $,
873
+ isBookingPoliciesUnavailable: j,
874
+ isFetchingBookingPolicies: U
875
+ } = vo();
876
+ D(Y, (c) => {
877
+ c === G.Unavailable && k("booking-policy-failed", s.id);
878
+ });
879
+ async function nt() {
880
+ const c = {
881
+ ...s,
882
+ currency: s.currency
883
+ };
884
+ n.$emit(ge.HotelRoomOffersBtnClick, c), await _({
885
+ addBreakfast: d.value,
886
+ hotelId: s.hotelId,
887
+ hotelRoomOfferId: s.id
888
+ });
889
+ }
890
+ const et = F(null);
891
+ Qe(et);
892
+ const Q = window.RevolugoElements.config.lang || Nt.fr_FR;
893
+ return (c, V) => (l(), f("div", {
894
+ class: "position-relative",
895
+ ref_key: "root",
896
+ ref: et
897
+ }, [
898
+ o(pt, { key: "is-available" }, {
899
+ "room-details": a(() => [
900
+ o(xt, {
901
+ "hotel-rooms": c.hotelRooms
902
+ }, null, 8, ["hotel-rooms"])
903
+ ]),
904
+ "package-type": a(() => [
905
+ c.type === "PACKAGE" && c.packageType !== "REGULAR" ? (l(), S(ht, {
906
+ key: 0,
907
+ class: "mb-3",
908
+ color: g.value,
909
+ variant: "outlined"
910
+ }, {
911
+ description: a(() => [
912
+ w(C(v(i)(
913
+ `HotelRoomOfferItem.packageTypes.${c.packageType}.description`,
914
+ { n: T.value }
915
+ )), 1)
916
+ ]),
917
+ default: a(() => [
918
+ w(C(v(i)(`HotelRoomOfferItem.packageTypes.${c.packageType}.title`, {
919
+ n: T.value
920
+ })) + " ", 1)
921
+ ]),
922
+ _: 1
923
+ }, 8, ["color"])) : I("", !0)
924
+ ]),
925
+ "cancellation-policies": a(() => [
926
+ o(He, {
927
+ class: "mt-2",
928
+ "cancellation-policies": c.cancellationPolicies,
929
+ "check-in-date": A.value,
930
+ timezone: z.value
931
+ }, null, 8, ["cancellation-policies", "check-in-date", "timezone"])
932
+ ]),
933
+ "breakfast-option-badge": a(() => [
934
+ o(Gt, {
935
+ "breakfast-option": c.breakfastCount && c.breakfastCount > 0 ? "INCLUDED" : c.breakfastOption,
936
+ breakfastCount: c.breakfastCount ?? void 0
937
+ }, null, 8, ["breakfast-option", "breakfastCount"])
938
+ ]),
939
+ "breakfast-option-switch": a(() => [
940
+ c.type !== "HOTEL_ROOM" && c.breakfastOption === "OPTIONAL" ? (l(), f("div", Lo, [
941
+ o(Zt, {
942
+ modelValue: d.value,
943
+ "onUpdate:modelValue": V[0] || (V[0] = (O) => d.value = O),
944
+ class: "mt-3 pl-1",
945
+ currency: c.currency,
946
+ "is-loading": c.isLoading,
947
+ price: c.breakfastUnitPrice ?? 0
948
+ }, null, 8, ["modelValue", "currency", "is-loading", "price"])
949
+ ])) : I("", !0)
950
+ ]),
951
+ "big-tags": a(() => [
952
+ h("div", $o, [
953
+ (l(!0), f(B, null, x(M.value, (O, X) => (l(), S(ht, {
954
+ key: X,
955
+ color: O.bg,
956
+ "pre-icon": `fa-${O.faIcon}`,
957
+ "text-color": O.color,
958
+ "tooltip-content": O.description
959
+ }, {
960
+ default: a(() => [
961
+ w(C(O.name), 1)
962
+ ]),
963
+ _: 2
964
+ }, 1032, ["color", "pre-icon", "text-color", "tooltip-content"]))), 128))
965
+ ])
966
+ ]),
967
+ tags: a(() => [
968
+ h("div", Do, [
969
+ (l(!0), f(B, null, x(N.value, (O, X) => (l(), S(ht, {
970
+ key: X,
971
+ color: O.bg,
972
+ "pre-icon": `fa-${O.faIcon}`,
973
+ "text-color": O.color,
974
+ "tooltip-content": O.description
975
+ }, {
976
+ default: a(() => [
977
+ w(C(O.name), 1)
978
+ ]),
979
+ _: 2
980
+ }, 1032, ["color", "pre-icon", "text-color", "tooltip-content"]))), 128))
981
+ ])
982
+ ]),
983
+ "price-summary": a(() => [
984
+ c.type === "HOTEL_ROOM" ? (l(), f(B, { key: 0 }, [
985
+ o(P, {
986
+ class: "mt-md-8",
987
+ "no-gutters": ""
988
+ }, {
989
+ default: a(() => [
990
+ o(y, null, {
991
+ default: a(() => [
992
+ o(Ct, {
993
+ "adult-count": 1,
994
+ class: "text-right",
995
+ currency: c.currency,
996
+ "is-tax-included": !1,
997
+ "night-count": 0,
998
+ price: c.price,
999
+ "room-count": 0
1000
+ }, null, 8, ["currency", "price"])
1001
+ ]),
1002
+ _: 1
1003
+ })
1004
+ ]),
1005
+ _: 1
1006
+ }),
1007
+ o(P, {
1008
+ align: "end",
1009
+ "no-gutters": ""
1010
+ }, {
1011
+ default: a(() => [
1012
+ o(y, {
1013
+ align: "end",
1014
+ class: "d-flex justify-end"
1015
+ }, {
1016
+ default: a(() => [
1017
+ h("div", null, [
1018
+ o(Xe, {
1019
+ modelValue: E.value,
1020
+ "onUpdate:modelValue": V[1] || (V[1] = (O) => E.value = O),
1021
+ class: "item-count mt-2",
1022
+ density: "compact",
1023
+ "hide-details": "",
1024
+ items: R.value,
1025
+ "menu-props": {
1026
+ minWidth: "125px"
1027
+ },
1028
+ variant: "outlined"
1029
+ }, {
1030
+ item: a(({ item: O, props: X }) => [
1031
+ o(to, ve(ke(X)), {
1032
+ title: a(() => [
1033
+ h("span", zo, [
1034
+ w(C(O.raw) + " ", 1),
1035
+ O.raw ? (l(), f(B, { key: 0 }, [
1036
+ V[2] || (V[2] = w(" (")),
1037
+ o(lt, {
1038
+ amount: O.raw * c.price,
1039
+ currency: s.currency,
1040
+ locale: v(Q)
1041
+ }, null, 8, ["amount", "currency", "locale"]),
1042
+ V[3] || (V[3] = w(") "))
1043
+ ], 64)) : I("", !0)
1044
+ ])
1045
+ ]),
1046
+ _: 2
1047
+ }, 1040)
1048
+ ]),
1049
+ _: 1
1050
+ }, 8, ["modelValue", "items"])
1051
+ ])
1052
+ ]),
1053
+ _: 1
1054
+ })
1055
+ ]),
1056
+ _: 1
1057
+ })
1058
+ ], 64)) : (l(), S(Ct, {
1059
+ key: 1,
1060
+ "adult-count": T.value,
1061
+ class: "text-right",
1062
+ currency: c.currency,
1063
+ "is-tax-included": "",
1064
+ "night-count": u.value ?? 0,
1065
+ price: c.price,
1066
+ "room-count": H.value,
1067
+ "round-mode": "ceil",
1068
+ "tax-included-price": c.taxIncludedPrice
1069
+ }, null, 8, ["adult-count", "currency", "night-count", "price", "room-count", "tax-included-price"]))
1070
+ ]),
1071
+ action: a(() => [
1072
+ c.type === "PACKAGE" ? (l(), S(st, {
1073
+ key: 0,
1074
+ class: "text-none font-weight-bold book-btn w-100 w-sm-auto",
1075
+ color: v($) ? "success" : "primary",
1076
+ disabled: v(U) || v(j) || c.isLoading,
1077
+ elevation: "0",
1078
+ loading: v(U),
1079
+ size: "small",
1080
+ onClick: nt
1081
+ }, {
1082
+ default: a(() => [
1083
+ v($) ? I("", !0) : (l(), f("span", qo, C(v(i)("HotelRoomOfferItem.book")), 1)),
1084
+ gt(o(at, { class: "position-absolute" }, {
1085
+ default: a(() => V[4] || (V[4] = [
1086
+ w(" fas fa-check ")
1087
+ ])),
1088
+ _: 1,
1089
+ __: [4]
1090
+ }, 512), [
1091
+ [yt, v($)]
1092
+ ])
1093
+ ]),
1094
+ _: 1
1095
+ }, 8, ["color", "disabled", "loading"])) : (l(), f("span", Mo))
1096
+ ]),
1097
+ _: 1
1098
+ }),
1099
+ c.isLoading ? (l(), S(Ft, {
1100
+ key: 0,
1101
+ absolute: "",
1102
+ class: "mx-n4",
1103
+ scrim: "grey-lighten-4",
1104
+ opacity: "0.75"
1105
+ }, {
1106
+ default: a(() => [
1107
+ o(It, {
1108
+ color: "primary",
1109
+ indeterminate: "",
1110
+ size: "64"
1111
+ })
1112
+ ]),
1113
+ _: 1
1114
+ })) : I("", !0),
1115
+ v(j) || c.gone ? (l(), S(St, {
1116
+ key: 1,
1117
+ "margin-top": 16
1118
+ }, {
1119
+ title: a(() => [
1120
+ w(C(v(i)("HotelRoomOfferItem.unavailable.title")), 1)
1121
+ ]),
1122
+ description: a(() => [
1123
+ w(C(v(i)("HotelRoomOfferItem.unavailable.description")), 1)
1124
+ ]),
1125
+ _: 1
1126
+ })) : I("", !0)
1127
+ ], 512));
1128
+ }
1129
+ });
1130
+ function $t(t) {
1131
+ const e = t;
1132
+ e.__i18n = e.__i18n || [], e.__i18n.push({
1133
+ locale: "",
1134
+ resource: {
1135
+ "en-US": {
1136
+ HotelRoomOfferItem: {
1137
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Book this selection" } },
1138
+ packageTypes: {
1139
+ BEST_MATCH: {
1140
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Recommended selection for " }, { t: 4, k: "n" }, { t: 3, v: " guest" }] }, { t: 2, i: [{ t: 3, v: "Recommended selection for " }, { t: 4, k: "n" }, { t: 3, v: " guests" }] }] } },
1141
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Recommended option" } }
1142
+ },
1143
+ CHEAPEST: {
1144
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Cheapest selection that sleeps " }, { t: 4, k: "n" }, { t: 3, v: " guest" }] }, { t: 2, i: [{ t: 3, v: "Cheapest selection that sleeps " }, { t: 4, k: "n" }, { t: 3, v: " guests" }] }] } },
1145
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cheapest option available !" } }
1146
+ },
1147
+ MATCHING_ROOM_COUNT: {
1148
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Matching all your requirements for " }, { t: 4, k: "n" }, { t: 3, v: " guest" }] }, { t: 2, i: [{ t: 3, v: "Matching all your requirements for " }, { t: 4, k: "n" }, { t: 3, v: " guests" }] }] } },
1149
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Matching all your requirements" } }
1150
+ }
1151
+ },
1152
+ unavailable: {
1153
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "This offer is no longer available" } },
1154
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Please consider an alternative offer" } }
1155
+ }
1156
+ }
1157
+ },
1158
+ "fr-FR": {
1159
+ HotelRoomOfferItem: {
1160
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Réserver cette sélection" } },
1161
+ packageTypes: {
1162
+ BEST_MATCH: {
1163
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Sélection recommandée pour " }, { t: 4, k: "n" }, { t: 3, v: " personne" }] }, { t: 2, i: [{ t: 3, v: "Sélection recomandé la moins chère pouvant accueillir " }, { t: 4, k: "n" }, { t: 3, v: " personnes" }] }] } },
1164
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sélection recommandée" } }
1165
+ },
1166
+ CHEAPEST: {
1167
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Sélection la moins chère pouvant accueillir " }, { t: 4, k: "n" }, { t: 3, v: " personne" }] }, { t: 2, i: [{ t: 3, v: "Sélection la moins chère pouvant accueillir " }, { t: 4, k: "n" }, { t: 3, v: " personnes" }] }] } },
1168
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prix le plus bas disponible !" } }
1169
+ },
1170
+ MATCHING_ROOM_COUNT: {
1171
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Adapté à vos demandes pour " }, { t: 4, k: "n" }, { t: 3, v: " personne" }] }, { t: 2, i: [{ t: 3, v: "Adapté à vos demandes pour " }, { t: 4, k: "n" }, { t: 3, v: " personnes" }] }] } },
1172
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Adapté à vos demandes" } }
1173
+ }
1174
+ },
1175
+ unavailable: {
1176
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cette offre n'est plus disponible" } },
1177
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Essayez de réserver une autre offre" } }
1178
+ }
1179
+ }
1180
+ },
1181
+ "de-DE": {
1182
+ HotelRoomOfferItem: {
1183
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Diese Auswahl buchen" } },
1184
+ packageTypes: {
1185
+ BEST_MATCH: {
1186
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Empfohlene Auswahl für " }, { t: 4, k: "n" }, { t: 3, v: " Gast" }] }, { t: 2, i: [{ t: 3, v: "Empfohlene Auswahl für " }, { t: 4, k: "n" }, { t: 3, v: " Gäste" }] }] } },
1187
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Empfohlene Option" } }
1188
+ },
1189
+ CHEAPEST: {
1190
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Günstigste Auswahl für " }, { t: 4, k: "n" }, { t: 3, v: " Gast" }] }, { t: 2, i: [{ t: 3, v: "Günstigste Auswahl für " }, { t: 4, k: "n" }, { t: 3, v: " Gäste" }] }] } },
1191
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Günstigste verfügbare Option!" } }
1192
+ },
1193
+ MATCHING_ROOM_COUNT: {
1194
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Entspricht all Ihren Anforderungen für " }, { t: 4, k: "n" }, { t: 3, v: " Gast" }] }, { t: 2, i: [{ t: 3, v: "Entspricht all Ihren Anforderungen für " }, { t: 4, k: "n" }, { t: 3, v: " Gäste" }] }] } },
1195
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Entspricht all Ihren Anforderungen" } }
1196
+ }
1197
+ },
1198
+ unavailable: {
1199
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Dieses Angebot ist nicht mehr verfügbar" } },
1200
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Bitte berücksichtigen Sie ein alternatives Angebot" } }
1201
+ }
1202
+ }
1203
+ },
1204
+ "es-ES": {
1205
+ HotelRoomOfferItem: {
1206
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reservar esta selección" } },
1207
+ packageTypes: {
1208
+ BEST_MATCH: {
1209
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Selección recomendada para " }, { t: 4, k: "n" }, { t: 3, v: " huésped" }] }, { t: 2, i: [{ t: 3, v: "Selección recomendada para " }, { t: 4, k: "n" }, { t: 3, v: " huéspedes" }] }] } },
1210
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Opción recomendada" } }
1211
+ },
1212
+ CHEAPEST: {
1213
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Selección más económica para " }, { t: 4, k: "n" }, { t: 3, v: " huésped" }] }, { t: 2, i: [{ t: 3, v: "Selección más económica para " }, { t: 4, k: "n" }, { t: 3, v: " huéspedes" }] }] } },
1214
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "¡Opción más económica disponible!" } }
1215
+ },
1216
+ MATCHING_ROOM_COUNT: {
1217
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Coincide con todos sus requisitos para " }, { t: 4, k: "n" }, { t: 3, v: " huésped" }] }, { t: 2, i: [{ t: 3, v: "Coincide con todos sus requisitos para " }, { t: 4, k: "n" }, { t: 3, v: " huéspedes" }] }] } },
1218
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Coincide con todos sus requisitos" } }
1219
+ }
1220
+ },
1221
+ unavailable: {
1222
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Esta oferta ya no está disponible" } },
1223
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Considere una oferta alternativa" } }
1224
+ }
1225
+ }
1226
+ },
1227
+ "it-IT": {
1228
+ HotelRoomOfferItem: {
1229
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prenota questa selezione" } },
1230
+ packageTypes: {
1231
+ BEST_MATCH: {
1232
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Selezione consigliata per " }, { t: 4, k: "n" }, { t: 3, v: " ospite" }] }, { t: 2, i: [{ t: 3, v: "Selezione consigliata per " }, { t: 4, k: "n" }, { t: 3, v: " ospiti" }] }] } },
1233
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Opzione consigliata" } }
1234
+ },
1235
+ CHEAPEST: {
1236
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Selezione più economica per " }, { t: 4, k: "n" }, { t: 3, v: " ospite" }] }, { t: 2, i: [{ t: 3, v: "Selezione più economica per " }, { t: 4, k: "n" }, { t: 3, v: " ospiti" }] }] } },
1237
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Opzione più economica disponibile!" } }
1238
+ },
1239
+ MATCHING_ROOM_COUNT: {
1240
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Corrisponde a tutte le tue esigenze per " }, { t: 4, k: "n" }, { t: 3, v: " ospite" }] }, { t: 2, i: [{ t: 3, v: "Corrisponde a tutte le tue esigenze per " }, { t: 4, k: "n" }, { t: 3, v: " ospiti" }] }] } },
1241
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Corrisponde a tutte le tue esigenze" } }
1242
+ }
1243
+ },
1244
+ unavailable: {
1245
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Questa offerta non è più disponibile" } },
1246
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Considera un'offerta alternativa" } }
1247
+ }
1248
+ }
1249
+ },
1250
+ "nl-NL": {
1251
+ HotelRoomOfferItem: {
1252
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Boek deze selectie" } },
1253
+ packageTypes: {
1254
+ BEST_MATCH: {
1255
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Aanbevolen selectie voor " }, { t: 4, k: "n" }, { t: 3, v: " gast" }] }, { t: 2, i: [{ t: 3, v: "Aanbevolen selectie voor " }, { t: 4, k: "n" }, { t: 3, v: " gasten" }] }] } },
1256
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aanbevolen optie" } }
1257
+ },
1258
+ CHEAPEST: {
1259
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Goedkoopste selectie die geschikt is voor " }, { t: 4, k: "n" }, { t: 3, v: " gast" }] }, { t: 2, i: [{ t: 3, v: "Goedkoopste selectie die geschikt is voor " }, { t: 4, k: "n" }, { t: 3, v: " gasten" }] }] } },
1260
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Goedkoopste optie beschikbaar!" } }
1261
+ },
1262
+ MATCHING_ROOM_COUNT: {
1263
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Voldoet aan al uw eisen voor " }, { t: 4, k: "n" }, { t: 3, v: " gast" }] }, { t: 2, i: [{ t: 3, v: "Voldoet aan al uw eisen voor " }, { t: 4, k: "n" }, { t: 3, v: " gasten" }] }] } },
1264
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Voldoet aan al uw eisen" } }
1265
+ }
1266
+ },
1267
+ unavailable: {
1268
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Deze aanbieding is niet langer beschikbaar" } },
1269
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Overweeg een alternatieve aanbieding" } }
1270
+ }
1271
+ }
1272
+ },
1273
+ "pt-PT": {
1274
+ HotelRoomOfferItem: {
1275
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reservar esta seleção" } },
1276
+ packageTypes: {
1277
+ BEST_MATCH: {
1278
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Seleção recomendada para " }, { t: 4, k: "n" }, { t: 3, v: " hóspede" }] }, { t: 2, i: [{ t: 3, v: "Seleção recomendada para " }, { t: 4, k: "n" }, { t: 3, v: " hóspedes" }] }] } },
1279
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Opção recomendada" } }
1280
+ },
1281
+ CHEAPEST: {
1282
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Seleção mais barata que acomoda " }, { t: 4, k: "n" }, { t: 3, v: " hóspede" }] }, { t: 2, i: [{ t: 3, v: "Seleção mais barata que acomoda " }, { t: 4, k: "n" }, { t: 3, v: " hóspedes" }] }] } },
1283
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Opção mais barata disponível!" } }
1284
+ },
1285
+ MATCHING_ROOM_COUNT: {
1286
+ description: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Corresponde a todos os seus requisitos para " }, { t: 4, k: "n" }, { t: 3, v: " hóspede" }] }, { t: 2, i: [{ t: 3, v: "Corresponde a todos os seus requisitos para " }, { t: 4, k: "n" }, { t: 3, v: " hóspedes" }] }] } },
1287
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Corresponde a todos os seus requisitos" } }
1288
+ }
1289
+ },
1290
+ unavailable: {
1291
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Esta oferta já não está disponível" } },
1292
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Considere uma oferta alternativa" } }
1293
+ }
1294
+ }
1295
+ }
1296
+ }
1297
+ });
1298
+ }
1299
+ typeof $t == "function" && $t(Kt);
1300
+ const Jt = /* @__PURE__ */ it(Kt, [["__scopeId", "data-v-d9093b34"]]), No = { class: "text-subtitle-1 font-weight-black text-primary d-flex justify-end" }, Uo = { class: "text-caption d-flex justify-end py-2" }, jo = { class: "mt-3 d-flex justify-start align-center" }, Fo = { class: "pt-4" }, Dt = /* @__PURE__ */ W({
1301
+ __name: "BBasketSummaryLayout",
1302
+ setup(t) {
1303
+ return (e, s) => (l(), S(P, { class: "px-2" }, {
1304
+ default: a(() => [
1305
+ o(y, null, {
1306
+ default: a(() => [
1307
+ o(P, null, {
1308
+ default: a(() => [
1309
+ o(y, null, {
1310
+ default: a(() => [
1311
+ h("div", No, [
1312
+ L(e.$slots, "title", {}, () => [
1313
+ o(Z, {
1314
+ height: "18px",
1315
+ tile: "",
1316
+ type: "heading",
1317
+ width: "200px"
1318
+ })
1319
+ ])
1320
+ ])
1321
+ ]),
1322
+ _: 3
1323
+ })
1324
+ ]),
1325
+ _: 3
1326
+ }),
1327
+ o(P, null, {
1328
+ default: a(() => [
1329
+ o(y, null, {
1330
+ default: a(() => [
1331
+ h("div", Uo, [
1332
+ L(e.$slots, "adult-count", {}, () => [
1333
+ o(Z, {
1334
+ tile: "",
1335
+ type: "text",
1336
+ width: "150px"
1337
+ })
1338
+ ])
1339
+ ]),
1340
+ h("div", jo, [
1341
+ L(e.$slots, "secondary-title", {}, () => [
1342
+ o(Z, {
1343
+ height: "18px",
1344
+ tile: "",
1345
+ type: "heading",
1346
+ width: "150px"
1347
+ })
1348
+ ])
1349
+ ])
1350
+ ]),
1351
+ _: 3
1352
+ })
1353
+ ]),
1354
+ _: 3
1355
+ }),
1356
+ L(e.$slots, "hotel-rooms", {}, () => [
1357
+ h("div", Fo, [
1358
+ (l(), f(B, null, x(2, (i) => h("div", null, [
1359
+ o(P, {
1360
+ align: "center",
1361
+ class: "pt-4"
1362
+ }, {
1363
+ default: a(() => [
1364
+ o(y, { cols: "auto" }, {
1365
+ default: a(() => [
1366
+ o(Ee, { boilerplate: "" })
1367
+ ]),
1368
+ _: 1
1369
+ })
1370
+ ]),
1371
+ _: 1
1372
+ })
1373
+ ])), 64))
1374
+ ])
1375
+ ]),
1376
+ o(P, null, {
1377
+ default: a(() => [
1378
+ o(y, null, {
1379
+ default: a(() => [
1380
+ L(e.$slots, "breakfast-option")
1381
+ ]),
1382
+ _: 3
1383
+ })
1384
+ ]),
1385
+ _: 3
1386
+ }),
1387
+ o(P, { class: "mt-1" }, {
1388
+ default: a(() => [
1389
+ o(y, null, {
1390
+ default: a(() => [
1391
+ o(K)
1392
+ ]),
1393
+ _: 1
1394
+ })
1395
+ ]),
1396
+ _: 1
1397
+ }),
1398
+ o(P, {
1399
+ "no-gutters": "",
1400
+ class: "mt-1"
1401
+ }, {
1402
+ default: a(() => [
1403
+ o(y, null, {
1404
+ default: a(() => [
1405
+ L(e.$slots, "price-summary", {}, () => [
1406
+ o(jt, { boilerplate: !0 })
1407
+ ])
1408
+ ]),
1409
+ _: 3
1410
+ })
1411
+ ]),
1412
+ _: 3
1413
+ }),
1414
+ o(P, null, {
1415
+ default: a(() => [
1416
+ o(y, { class: "py-0" }, {
1417
+ default: a(() => [
1418
+ L(e.$slots, "errors")
1419
+ ]),
1420
+ _: 3
1421
+ })
1422
+ ]),
1423
+ _: 3
1424
+ }),
1425
+ o(P, null, {
1426
+ default: a(() => [
1427
+ o(y, { class: "pb-0" }, {
1428
+ default: a(() => [
1429
+ L(e.$slots, "button", {}, () => [
1430
+ o(Z, {
1431
+ height: "38px",
1432
+ tile: "",
1433
+ type: "heading",
1434
+ width: "100%"
1435
+ })
1436
+ ])
1437
+ ]),
1438
+ _: 3
1439
+ })
1440
+ ]),
1441
+ _: 3
1442
+ }),
1443
+ o(P, null, {
1444
+ default: a(() => [
1445
+ o(y, null, {
1446
+ default: a(() => [
1447
+ L(e.$slots, "cancellation-policies", {}, () => [
1448
+ o(Z, {
1449
+ tile: "",
1450
+ type: "paragraph",
1451
+ width: "100%"
1452
+ })
1453
+ ])
1454
+ ]),
1455
+ _: 3
1456
+ })
1457
+ ]),
1458
+ _: 3
1459
+ })
1460
+ ]),
1461
+ _: 3
1462
+ })
1463
+ ]),
1464
+ _: 3
1465
+ }));
1466
+ }
1467
+ }), Go = { key: 0 }, xo = ["innerHTML"], Wo = { class: "font-weight-bold pb-2" }, Yo = { class: "mt-4 font-weight-bold" }, Zo = { class: "text-caption mb-0 text-left font-weight-bold" }, Ko = { class: "text-caption" }, Jo = {
1468
+ key: 0,
1469
+ class: "text-caption pl-2"
1470
+ }, Qo = { class: "text-caption" }, Xo = { class: "text-caption font-weight-bold text-center my-0 text-red rounded" }, ta = { key: 0 }, ea = { key: 1 }, Qt = /* @__PURE__ */ W({
1471
+ __name: "BBasketSummary",
1472
+ props: {
1473
+ adultCount: {},
1474
+ checkInDate: {},
1475
+ checkOutDate: {},
1476
+ children: {},
1477
+ currency: {},
1478
+ hotelRoomOffer: {},
1479
+ hotelTimezone: {},
1480
+ isLoading: { type: Boolean },
1481
+ isSubmitting: { type: Boolean },
1482
+ isSuccessful: { type: Boolean }
1483
+ },
1484
+ emits: ["breakfast-change", "delete-room", "submit"],
1485
+ setup(t, { emit: e }) {
1486
+ const { t: s } = J(), i = e, n = t, k = F(
1487
+ n.hotelRoomOffer?.breakfastCount && n.hotelRoomOffer?.breakfastCount > 0 || !1
1488
+ ), d = b(() => n.hotelRoomOffer?.breakfastOption), r = b(
1489
+ () => bo(n.adultCount, n.children)
1490
+ ), p = b(
1491
+ () => n.hotelRoomOffer.breakfastOption === ye.Optional
1492
+ ), m = b(
1493
+ () => n.hotelRoomOffer.taxIncludedPrice - n.hotelRoomOffer.price > 0
1494
+ ), T = b(() => !n.hotelRoomOffer || !n.checkOutDate || !n.checkInDate ? 0 : kt(n.checkOutDate).diff(kt(n.checkInDate), "day")), A = b(
1495
+ () => wt(n.hotelRoomOffer?.hotelRooms, "count")
1496
+ ), R = b(
1497
+ () => oo(
1498
+ Re({
1499
+ bookingDatetime: kt().format(),
1500
+ cancellationPolicies: n.hotelRoomOffer?.cancellationPolicies,
1501
+ checkInDate: n.checkInDate,
1502
+ timezone: n.hotelTimezone
1503
+ }),
1504
+ ao.Camel
1505
+ )
1506
+ ), z = b(
1507
+ () => wt(
1508
+ n.hotelRoomOffer?.hotelRooms,
1509
+ (u) => u.count * u.occupancy
1510
+ )
1511
+ );
1512
+ return D(k, (u) => {
1513
+ i("breakfast-change", u);
1514
+ }), (u, g) => (l(), f("div", null, [
1515
+ u.isLoading ? (l(), S(Ft, {
1516
+ key: 0,
1517
+ absolute: "",
1518
+ class: "mx-n3",
1519
+ scrim: "grey-lighten-4",
1520
+ opacity: "0.75"
1521
+ }, {
1522
+ default: a(() => [
1523
+ o(It, {
1524
+ color: "primary",
1525
+ indeterminate: "",
1526
+ size: "64"
1527
+ })
1528
+ ]),
1529
+ _: 1
1530
+ })) : I("", !0),
1531
+ u.hotelRoomOffer ? (l(), S(Dt, { key: "filled-up" }, {
1532
+ title: a(() => [
1533
+ h("span", null, C(v(s)("BBasketSummary.title")), 1)
1534
+ ]),
1535
+ "adult-count": a(() => [
1536
+ h("span", {
1537
+ innerHTML: v(s)("BBasketSummary.totalOccupancy", { n: z.value })
1538
+ }, null, 8, xo)
1539
+ ]),
1540
+ "secondary-title": a(() => [
1541
+ h("span", Wo, C(v(s)("BBasketSummary.yourSelection")), 1)
1542
+ ]),
1543
+ "hotel-rooms": a(() => [
1544
+ (l(!0), f(B, null, x(u.hotelRoomOffer.hotelRooms, (H, E) => (l(), f("div", {
1545
+ key: `room-${E}`
1546
+ }, [
1547
+ o(P, null, {
1548
+ default: a(() => [
1549
+ o(y, {
1550
+ class: "d-flex justify-space-between",
1551
+ cols: "12"
1552
+ }, {
1553
+ default: a(() => [
1554
+ o(xt, {
1555
+ class: Rt({
1556
+ "mt-n4": E >= 1
1557
+ }),
1558
+ "hotel-rooms": [H]
1559
+ }, null, 8, ["class", "hotel-rooms"]),
1560
+ o(st, {
1561
+ class: Rt({
1562
+ "mt-n4": E >= 1
1563
+ }),
1564
+ color: "red",
1565
+ icon: "",
1566
+ variant: "text",
1567
+ size: "small",
1568
+ onClick: (M) => u.$emit("delete-room", H)
1569
+ }, {
1570
+ default: a(() => [
1571
+ o(at, null, {
1572
+ default: a(() => g[7] || (g[7] = [
1573
+ w("fas fa-times")
1574
+ ])),
1575
+ _: 1,
1576
+ __: [7]
1577
+ })
1578
+ ]),
1579
+ _: 2
1580
+ }, 1032, ["class", "onClick"])
1581
+ ]),
1582
+ _: 2
1583
+ }, 1024)
1584
+ ]),
1585
+ _: 2
1586
+ }, 1024)
1587
+ ]))), 128))
1588
+ ]),
1589
+ "breakfast-option": a(() => [
1590
+ d.value ? (l(), f(B, { key: 0 }, [
1591
+ o(P, { "no-gutters": "" }, {
1592
+ default: a(() => [
1593
+ o(y, null, {
1594
+ default: a(() => [
1595
+ o(Gt, {
1596
+ "breakfast-count": u.hotelRoomOffer?.breakfastCount || void 0,
1597
+ "breakfast-option": u.hotelRoomOffer.breakfastCount && u.hotelRoomOffer.breakfastCount > 0 ? "INCLUDED" : d.value,
1598
+ class: "mr-n1"
1599
+ }, null, 8, ["breakfast-count", "breakfast-option"])
1600
+ ]),
1601
+ _: 1
1602
+ })
1603
+ ]),
1604
+ _: 1
1605
+ }),
1606
+ p.value ? (l(), S(P, {
1607
+ key: 0,
1608
+ class: "mt-2",
1609
+ "no-gutters": ""
1610
+ }, {
1611
+ default: a(() => [
1612
+ o(y, { class: "mb-2 mt-xl-0" }, {
1613
+ default: a(() => [
1614
+ o(Zt, {
1615
+ modelValue: k.value,
1616
+ "onUpdate:modelValue": g[0] || (g[0] = (H) => k.value = H),
1617
+ currency: u.currency,
1618
+ "is-loading": u.isLoading,
1619
+ price: u.hotelRoomOffer?.breakfastUnitPrice || 0
1620
+ }, null, 8, ["modelValue", "currency", "is-loading", "price"])
1621
+ ]),
1622
+ _: 1
1623
+ })
1624
+ ]),
1625
+ _: 1
1626
+ })) : I("", !0)
1627
+ ], 64)) : I("", !0)
1628
+ ]),
1629
+ "price-summary": a(() => [
1630
+ h("p", Yo, C(v(s)("BBasketSummary.priceDetails")), 1),
1631
+ o(P, {
1632
+ "no-gutters": "",
1633
+ class: "mt-1"
1634
+ }, {
1635
+ default: a(() => [
1636
+ o(y, null, {
1637
+ default: a(() => [
1638
+ h("p", Zo, C(v(s)("BBasketSummary.roomCount", {
1639
+ n: A.value,
1640
+ value: A.value
1641
+ })) + " x " + C(v(s)("BBasketSummary.nightCount", {
1642
+ n: T.value,
1643
+ value: T.value
1644
+ })), 1)
1645
+ ]),
1646
+ _: 1
1647
+ }),
1648
+ o(y, { class: "text-right" }, {
1649
+ default: a(() => [
1650
+ h("span", Ko, [
1651
+ o(lt, {
1652
+ amount: u.hotelRoomOffer.price,
1653
+ currency: u.hotelRoomOffer.currency
1654
+ }, null, 8, ["amount", "currency"])
1655
+ ])
1656
+ ]),
1657
+ _: 1
1658
+ })
1659
+ ]),
1660
+ _: 1
1661
+ }),
1662
+ o(P, {
1663
+ "no-gutters": "",
1664
+ class: "mt-n2"
1665
+ }, {
1666
+ default: a(() => [
1667
+ o(y, null, {
1668
+ default: a(() => [
1669
+ u.hotelRoomOffer.breakfastCount ? (l(), f("small", Jo, C(v(s)("BBasketSummary.breakfastIncluded", {
1670
+ n: u.hotelRoomOffer.breakfastCount,
1671
+ value: u.hotelRoomOffer.breakfastCount
1672
+ })), 1)) : I("", !0)
1673
+ ]),
1674
+ _: 1
1675
+ })
1676
+ ]),
1677
+ _: 1
1678
+ }),
1679
+ u.hotelRoomOffer.taxIncludedPrice - u.hotelRoomOffer.price > 0 ? (l(), S(P, {
1680
+ key: 0,
1681
+ "no-gutters": "",
1682
+ class: "mt-2 color-black"
1683
+ }, {
1684
+ default: a(() => [
1685
+ o(y, null, {
1686
+ default: a(() => g[8] || (g[8] = [
1687
+ h("small", { class: "text-caption text-left font-weight-bold" }, " Taxes & fees ", -1)
1688
+ ])),
1689
+ _: 1,
1690
+ __: [8]
1691
+ }),
1692
+ o(y, { class: "text-right" }, {
1693
+ default: a(() => [
1694
+ h("span", Qo, [
1695
+ o(lt, {
1696
+ amount: u.hotelRoomOffer.taxIncludedPrice - u.hotelRoomOffer.price,
1697
+ currency: u.hotelRoomOffer.currency
1698
+ }, null, 8, ["amount", "currency"])
1699
+ ])
1700
+ ]),
1701
+ _: 1
1702
+ })
1703
+ ]),
1704
+ _: 1
1705
+ })) : I("", !0),
1706
+ o(P, { class: "mt-0" }, {
1707
+ default: a(() => [
1708
+ o(y, null, {
1709
+ default: a(() => g[9] || (g[9] = [
1710
+ h("b", null, " Total ", -1)
1711
+ ])),
1712
+ _: 1,
1713
+ __: [9]
1714
+ }),
1715
+ o(y, null, {
1716
+ default: a(() => [
1717
+ o(Ct, {
1718
+ currency: u.currency,
1719
+ "is-tax-included": m.value,
1720
+ "night-count": 0,
1721
+ price: u.hotelRoomOffer.price,
1722
+ "tax-included-price": u.hotelRoomOffer.taxIncludedPrice,
1723
+ "room-count": A.value
1724
+ }, null, 8, ["currency", "is-tax-included", "price", "tax-included-price", "room-count"])
1725
+ ]),
1726
+ _: 1
1727
+ })
1728
+ ]),
1729
+ _: 1
1730
+ })
1731
+ ]),
1732
+ errors: a(() => [
1733
+ z.value && z.value < r.value ? (l(), S(Ke, {
1734
+ key: 0,
1735
+ class: "mb-0",
1736
+ color: "red",
1737
+ density: "compact",
1738
+ variant: "outlined"
1739
+ }, {
1740
+ default: a(() => [
1741
+ h("p", Xo, C(v(s)("BBasketSummary.occupancyWarning", {
1742
+ guestCount: r.value
1743
+ })), 1)
1744
+ ]),
1745
+ _: 1
1746
+ })) : I("", !0)
1747
+ ]),
1748
+ button: a(() => [
1749
+ o(st, {
1750
+ block: "",
1751
+ class: "text-none font-weight-bold",
1752
+ color: u.isSuccessful ? "success" : "primary",
1753
+ disabled: !u.hotelRoomOffer,
1754
+ loading: u.isSubmitting,
1755
+ onClick: g[1] || (g[1] = (H) => u.$emit("submit"))
1756
+ }, {
1757
+ default: a(() => [
1758
+ u.isSuccessful ? I("", !0) : (l(), f("span", ta, C(v(s)("BBasketSummary.book")), 1)),
1759
+ gt(o(at, { class: "position-absolute" }, {
1760
+ default: a(() => g[10] || (g[10] = [
1761
+ w(" fas fa-check ")
1762
+ ])),
1763
+ _: 1,
1764
+ __: [10]
1765
+ }, 512), [
1766
+ [yt, u.isSuccessful]
1767
+ ])
1768
+ ]),
1769
+ _: 1
1770
+ }, 8, ["color", "disabled", "loading"])
1771
+ ]),
1772
+ "cancellation-policies": a(() => [
1773
+ u.hotelRoomOffer && u.hotelRoomOffer.cancellationPolicies.length ? (l(), S(eo, {
1774
+ key: 0,
1775
+ "cancellation-policies": R.value,
1776
+ "check-in-date": u.checkInDate,
1777
+ class: "text-caption",
1778
+ timezone: u.hotelTimezone || v(co)
1779
+ }, null, 8, ["cancellation-policies", "check-in-date", "timezone"])) : (l(), f("span", ea))
1780
+ ]),
1781
+ _: 1
1782
+ })) : (l(), S(Dt, { key: "empty" }, {
1783
+ title: a(() => [
1784
+ h("span", null, C(v(s)("BBasketSummary.title")), 1)
1785
+ ]),
1786
+ "adult-count": a(() => [
1787
+ w(C(v(s)("BBasketSummary.noSelection")), 1)
1788
+ ]),
1789
+ "secondary-title": a(() => g[2] || (g[2] = [
1790
+ h("span", null, null, -1)
1791
+ ])),
1792
+ "hotel-rooms": a(() => g[3] || (g[3] = [
1793
+ h("span", null, null, -1)
1794
+ ])),
1795
+ "price-summary": a(() => g[4] || (g[4] = [
1796
+ h("span", null, null, -1)
1797
+ ])),
1798
+ button: a(() => [
1799
+ o(st, {
1800
+ block: "",
1801
+ class: "text-none font-weight-bold",
1802
+ disabled: ""
1803
+ }, {
1804
+ default: a(() => [
1805
+ u.isSuccessful ? I("", !0) : (l(), f("span", Go, C(v(s)("BBasketSummary.book")), 1)),
1806
+ gt(o(at, { class: "position-absolute" }, {
1807
+ default: a(() => g[5] || (g[5] = [
1808
+ w(" fas fa-check ")
1809
+ ])),
1810
+ _: 1,
1811
+ __: [5]
1812
+ }, 512), [
1813
+ [yt, u.isSuccessful]
1814
+ ])
1815
+ ]),
1816
+ _: 1
1817
+ })
1818
+ ]),
1819
+ "cancellation-policies": a(() => g[6] || (g[6] = [
1820
+ h("span", null, null, -1)
1821
+ ])),
1822
+ _: 1
1823
+ }))
1824
+ ]));
1825
+ }
1826
+ });
1827
+ function zt(t) {
1828
+ const e = t;
1829
+ e.__i18n = e.__i18n || [], e.__i18n.push({
1830
+ locale: "",
1831
+ resource: {
1832
+ "en-US": {
1833
+ BBasketSummary: {
1834
+ addBreakfast: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Add breakfast(s)" }, { t: 2, i: [{ t: 3, v: "Add " }, { t: 4, k: "n" }, { t: 3, v: " breakfast" }] }, { t: 2, i: [{ t: 3, v: "Add " }, { t: 4, k: "n" }, { t: 3, v: " breakfasts" }] }] } },
1835
+ addBreakfastHTML: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Add breakfast(s)" }, { t: 2, i: [{ t: 3, v: "Add <b>" }, { t: 4, k: "n" }, { t: 3, v: "</b> breakfast" }] }, { t: 2, i: [{ t: 3, v: "Add <b>" }, { t: 4, k: "n" }, { t: 3, v: "</b> breakfasts" }] }] } },
1836
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Book Now" } },
1837
+ breakfastIncluded: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Breakfast Included for " }, { t: 4, k: "value" }, { t: 3, v: " guest" }] }, { t: 2, i: [{ t: 3, v: "Breakfast Included for " }, { t: 4, k: "value" }, { t: 3, v: " guests" }] }] } },
1838
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Add Breakfast:" } },
1839
+ nightCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " night" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " nights" }] }] } },
1840
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "You haven't selected any rooms yet" } },
1841
+ occupancyWarning: { t: 0, b: { t: 2, i: [{ t: 3, v: "Your room selection does not accommodate " }, { t: 4, k: "guestCount" }, { t: 3, v: " guest(s) as per your request." }] } },
1842
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Price Details" } },
1843
+ roomCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " room" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " rooms" }] }] } },
1844
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Select breakfast count" } },
1845
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Your booking details" } },
1846
+ totalOccupancy: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Your reservation is suitable for <b>" }, { t: 4, k: "n" }, { t: 3, v: " adult</b>" }] }, { t: 2, i: [{ t: 3, v: "Your reservation is suitable for <b>" }, { t: 4, k: "n" }, { t: 3, v: " adults</b>" }] }] } },
1847
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Your selection:" } }
1848
+ }
1849
+ },
1850
+ "fr-FR": {
1851
+ BBasketSummary: {
1852
+ addBreakfast: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Ajouter des petits-déjeuners" }, { t: 2, i: [{ t: 3, v: "Ajouter " }, { t: 4, k: "n" }, { t: 3, v: " petit-déjeuner" }] }, { t: 2, i: [{ t: 3, v: "Ajouter " }, { t: 4, k: "n" }, { t: 3, v: " petits-déjeuners" }] }] } },
1853
+ addBreakfastHTML: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Ajouter des petits-déjeuners" }, { t: 2, i: [{ t: 3, v: "Ajouter " }, { t: 4, k: "n" }, { t: 3, v: " petit-déjeuner" }] }, { t: 2, i: [{ t: 3, v: "Ajouter " }, { t: 4, k: "n" }, { t: 3, v: " petits-déjeuners" }] }] } },
1854
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Réserver" } },
1855
+ breakfastIncluded: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Petit déjeuner inclus pour " }, { t: 4, k: "value" }, { t: 3, v: " personne" }] }, { t: 2, i: [{ t: 3, v: "Petit déjeuner inclus pour " }, { t: 4, k: "value" }, { t: 3, v: " personnes" }] }] } },
1856
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ajouter le petit déjeuner :" } },
1857
+ nightCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " nuit" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " nuits" }] }] } },
1858
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Vous n'avez pas sélectionné de chambres" } },
1859
+ occupancyWarning: { t: 0, b: { t: 2, i: [{ t: 3, v: "Votre sélection de chambre(s) ne permet pas de loger " }, { t: 4, k: "guestCount" }, { t: 3, v: " personnes(s) conformément à votre demande." }] } },
1860
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Détails sur le prix" } },
1861
+ roomCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " hébergement" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " hébergements" }] }] } },
1862
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sélectionnez le nombre de petits-déjeuners" } },
1863
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Vos informations de réservation" } },
1864
+ totalOccupancy: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Votre réservation peut accueillir <b>" }, { t: 4, k: "n" }, { t: 3, v: " personne</b>" }] }, { t: 2, i: [{ t: 3, v: "Votre réservation peut accueillir <b>" }, { t: 4, k: "n" }, { t: 3, v: " personnes</b>" }] }] } },
1865
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Vous avez choisi :" } }
1866
+ }
1867
+ },
1868
+ "de-DE": {
1869
+ BBasketSummary: {
1870
+ addBreakfast: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Frühstück hinzufügen" }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " Frühstück hinzufügen" }] }, { t: 2, i: [{ t: 4, k: "n" }, { t: 3, v: " Frühstücke hinzufügen" }] }] } },
1871
+ addBreakfastHTML: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Frühstück hinzufügen" }, { t: 2, i: [{ t: 3, v: "<b>" }, { t: 4, k: "n" }, { t: 3, v: "</b> Frühstück hinzufügen" }] }, { t: 2, i: [{ t: 3, v: "<b>" }, { t: 4, k: "n" }, { t: 3, v: "</b> Frühstücke hinzufügen" }] }] } },
1872
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Jetzt buchen" } },
1873
+ breakfastIncluded: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Frühstück für " }, { t: 4, k: "value" }, { t: 3, v: " Gast inbegriffen" }] }, { t: 2, i: [{ t: 3, v: "Frühstück für " }, { t: 4, k: "value" }, { t: 3, v: " Gäste inbegriffen" }] }] } },
1874
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Frühstück hinzufügen:" } },
1875
+ nightCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " Nacht" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " Nächte" }] }] } },
1876
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sie haben noch keine Zimmer ausgewählt" } },
1877
+ occupancyWarning: { t: 0, b: { t: 2, i: [{ t: 3, v: "Ihre Zimmerauswahl bietet nicht genügend Platz für " }, { t: 4, k: "guestCount" }, { t: 3, v: " Gast/Gäste gemäß Ihrer Anfrage." }] } },
1878
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Preisdetails" } },
1879
+ roomCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " Zimmer" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " Zimmer" }] }] } },
1880
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Anzahl der Frühstücke auswählen" } },
1881
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ihre Buchungsdetails" } },
1882
+ totalOccupancy: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Ihre Reservierung ist geeignet für <b>" }, { t: 4, k: "n" }, { t: 3, v: " Erwachsenen</b>" }] }, { t: 2, i: [{ t: 3, v: "Ihre Reservierung ist geeignet für <b>" }, { t: 4, k: "n" }, { t: 3, v: " Erwachsene</b>" }] }] } },
1883
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ihre Auswahl:" } }
1884
+ }
1885
+ },
1886
+ "es-ES": {
1887
+ BBasketSummary: {
1888
+ addBreakfast: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Añadir desayuno(s)" }, { t: 2, i: [{ t: 3, v: "Añadir " }, { t: 4, k: "n" }, { t: 3, v: " desayuno" }] }, { t: 2, i: [{ t: 3, v: "Añadir " }, { t: 4, k: "n" }, { t: 3, v: " desayunos" }] }] } },
1889
+ addBreakfastHTML: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Añadir desayuno(s)" }, { t: 2, i: [{ t: 3, v: "Añadir <b>" }, { t: 4, k: "n" }, { t: 3, v: "</b> desayuno" }] }, { t: 2, i: [{ t: 3, v: "Añadir <b>" }, { t: 4, k: "n" }, { t: 3, v: "</b> desayunos" }] }] } },
1890
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reservar ahora" } },
1891
+ breakfastIncluded: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Desayuno incluido para " }, { t: 4, k: "value" }, { t: 3, v: " huésped" }] }, { t: 2, i: [{ t: 3, v: "Desayuno incluido para " }, { t: 4, k: "value" }, { t: 3, v: " huéspedes" }] }] } },
1892
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Añadir desayuno:" } },
1893
+ nightCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " noche" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " noches" }] }] } },
1894
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aún no has seleccionado ninguna habitación" } },
1895
+ occupancyWarning: { t: 0, b: { t: 2, i: [{ t: 3, v: "Su selección de habitación no admite " }, { t: 4, k: "guestCount" }, { t: 3, v: " huésped(es) según su solicitud." }] } },
1896
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Detalles del precio" } },
1897
+ roomCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " habitación" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " habitaciones" }] }] } },
1898
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Seleccionar número de desayunos" } },
1899
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Detalles de su reserva" } },
1900
+ totalOccupancy: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Su reserva es adecuada para <b>" }, { t: 4, k: "n" }, { t: 3, v: " adulto</b>" }] }, { t: 2, i: [{ t: 3, v: "Su reserva es adecuada para <b>" }, { t: 4, k: "n" }, { t: 3, v: " adultos</b>" }] }] } },
1901
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Su selección:" } }
1902
+ }
1903
+ },
1904
+ "it-IT": {
1905
+ BBasketSummary: {
1906
+ addBreakfast: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Aggiungi colazione/i" }, { t: 2, i: [{ t: 3, v: "Aggiungi " }, { t: 4, k: "n" }, { t: 3, v: " colazione" }] }, { t: 2, i: [{ t: 3, v: "Aggiungi " }, { t: 4, k: "n" }, { t: 3, v: " colazioni" }] }] } },
1907
+ addBreakfastHTML: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Aggiungi colazione/i" }, { t: 2, i: [{ t: 3, v: "Aggiungi <b>" }, { t: 4, k: "n" }, { t: 3, v: "</b> colazione" }] }, { t: 2, i: [{ t: 3, v: "Aggiungi <b>" }, { t: 4, k: "n" }, { t: 3, v: "</b> colazioni" }] }] } },
1908
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prenota ora" } },
1909
+ breakfastIncluded: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Colazione inclusa per " }, { t: 4, k: "value" }, { t: 3, v: " ospite" }] }, { t: 2, i: [{ t: 3, v: "Colazione inclusa per " }, { t: 4, k: "value" }, { t: 3, v: " ospiti" }] }] } },
1910
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aggiungi colazione:" } },
1911
+ nightCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " notte" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " notti" }] }] } },
1912
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Non hai ancora selezionato nessuna camera" } },
1913
+ occupancyWarning: { t: 0, b: { t: 2, i: [{ t: 3, v: "La tua selezione di camere non può ospitare " }, { t: 4, k: "guestCount" }, { t: 3, v: " ospite/i come da tua richiesta." }] } },
1914
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Dettagli prezzo" } },
1915
+ roomCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " camera" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " camere" }] }] } },
1916
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Seleziona il numero di colazioni" } },
1917
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Dettagli della tua prenotazione" } },
1918
+ totalOccupancy: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "La tua prenotazione è adatta per <b>" }, { t: 4, k: "n" }, { t: 3, v: " adulto</b>" }] }, { t: 2, i: [{ t: 3, v: "La tua prenotazione è adatta per <b>" }, { t: 4, k: "n" }, { t: 3, v: " adulti</b>" }] }] } },
1919
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "La tua selezione:" } }
1920
+ }
1921
+ },
1922
+ "nl-NL": {
1923
+ BBasketSummary: {
1924
+ addBreakfast: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Voeg ontbijt(en) toe" }, { t: 2, i: [{ t: 3, v: "Voeg " }, { t: 4, k: "n" }, { t: 3, v: " ontbijt toe" }] }, { t: 2, i: [{ t: 3, v: "Voeg " }, { t: 4, k: "n" }, { t: 3, v: " ontbijten toe" }] }] } },
1925
+ addBreakfastHTML: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Voeg ontbijt(en) toe" }, { t: 2, i: [{ t: 3, v: "Voeg <b>" }, { t: 4, k: "n" }, { t: 3, v: "</b> ontbijt toe" }] }, { t: 2, i: [{ t: 3, v: "Voeg <b>" }, { t: 4, k: "n" }, { t: 3, v: "</b> ontbijten toe" }] }] } },
1926
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Boek nu" } },
1927
+ breakfastIncluded: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Ontbijt inbegrepen voor " }, { t: 4, k: "value" }, { t: 3, v: " gast" }] }, { t: 2, i: [{ t: 3, v: "Ontbijt inbegrepen voor " }, { t: 4, k: "value" }, { t: 3, v: " gasten" }] }] } },
1928
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Voeg ontbijt toe:" } },
1929
+ nightCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " nacht" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " nachten" }] }] } },
1930
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "U heeft nog geen kamers geselecteerd" } },
1931
+ occupancyWarning: { t: 0, b: { t: 2, i: [{ t: 3, v: "Uw kamerselectie is niet geschikt voor " }, { t: 4, k: "guestCount" }, { t: 3, v: " gast(en) zoals aangegeven." }] } },
1932
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prijsdetails" } },
1933
+ roomCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " kamer" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " kamers" }] }] } },
1934
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Selecteer aantal ontbijten" } },
1935
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Uw boekingsgegevens" } },
1936
+ totalOccupancy: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Uw reservering is geschikt voor <b>" }, { t: 4, k: "n" }, { t: 3, v: " volwassene</b>" }] }, { t: 2, i: [{ t: 3, v: "Uw reservering is geschikt voor <b>" }, { t: 4, k: "n" }, { t: 3, v: " volwassenen</b>" }] }] } },
1937
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Uw selectie:" } }
1938
+ }
1939
+ },
1940
+ "pt-PT": {
1941
+ BBasketSummary: {
1942
+ addBreakfast: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Adicionar pequeno-almoço(s)" }, { t: 2, i: [{ t: 3, v: "Adicionar " }, { t: 4, k: "n" }, { t: 3, v: " pequeno-almoço" }] }, { t: 2, i: [{ t: 3, v: "Adicionar " }, { t: 4, k: "n" }, { t: 3, v: " pequenos-almoços" }] }] } },
1943
+ addBreakfastHTML: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Adicionar pequeno-almoço(s)" }, { t: 2, i: [{ t: 3, v: "Adicionar <b>" }, { t: 4, k: "n" }, { t: 3, v: "</b> pequeno-almoço" }] }, { t: 2, i: [{ t: 3, v: "Adicionar <b>" }, { t: 4, k: "n" }, { t: 3, v: "</b> pequenos-almoços" }] }] } },
1944
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reservar agora" } },
1945
+ breakfastIncluded: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "Pequeno-almoço incluído para " }, { t: 4, k: "value" }, { t: 3, v: " hóspede" }] }, { t: 2, i: [{ t: 3, v: "Pequeno-almoço incluído para " }, { t: 4, k: "value" }, { t: 3, v: " hóspedes" }] }] } },
1946
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Adicionar pequeno-almoço:" } },
1947
+ nightCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " noite" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " noites" }] }] } },
1948
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ainda não selecionou nenhum quarto" } },
1949
+ occupancyWarning: { t: 0, b: { t: 2, i: [{ t: 3, v: "A sua seleção de quartos não acomoda " }, { t: 4, k: "guestCount" }, { t: 3, v: " hóspede(s) conforme o seu pedido." }] } },
1950
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Detalhes do preço" } },
1951
+ roomCount: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " quarto" }] }, { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: " quartos" }] }] } },
1952
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Selecionar número de pequenos-almoços" } },
1953
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Os seus detalhes de reserva" } },
1954
+ totalOccupancy: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3, v: "A sua reserva é adequada para <b>" }, { t: 4, k: "n" }, { t: 3, v: " adulto</b>" }] }, { t: 2, i: [{ t: 3, v: "A sua reserva é adequada para <b>" }, { t: 4, k: "n" }, { t: 3, v: " adultos</b>" }] }] } },
1955
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "A sua seleção:" } }
1956
+ }
1957
+ }
1958
+ }
1959
+ });
1960
+ }
1961
+ typeof zt == "function" && zt(Qt);
1962
+ const oa = {
1963
+ hotelId: {
1964
+ required: !0,
1965
+ type: String
1966
+ }
1967
+ }, aa = W({
1968
+ components: {
1969
+ BBasketSummary: Qt,
1970
+ HotelRoomOfferItem: Jt,
1971
+ HotelRoomOfferItemLayout: pt
1972
+ },
1973
+ computed: {
1974
+ ...Ce(bt, ft),
1975
+ adultCount() {
1976
+ return this.hotelRoomOfferRequest?.adultCount;
1977
+ },
1978
+ currency() {
1979
+ return window.RevolugoElements.config.currency;
1980
+ },
1981
+ hotelRoomOfferRequest() {
1982
+ return this.$store.get(
1983
+ "hotelRoomOfferRequest/hotelRoomOfferRequest",
1984
+ this.hotelId
1985
+ );
1986
+ },
1987
+ hotelRoomOffers() {
1988
+ return this.$store.get(
1989
+ "hotelRoomOffers/hotelRoomOffers",
1990
+ this.hotelId
1991
+ )?.offers?.filter(
1992
+ (t) => t.type === Ot.HotelRoom
1993
+ ) || null;
1994
+ },
1995
+ hotelTimezone() {
1996
+ return this.$store.get("hotelRoomOffers/hotelTimezone", this.hotelId);
1997
+ }
1998
+ },
1999
+ data() {
2000
+ return {
2001
+ addBreakfast: !1,
2002
+ basketContent: [],
2003
+ isLoading: !1,
2004
+ newCreatedPackage: void 0
2005
+ };
2006
+ },
2007
+ methods: {
2008
+ async createHotelRoomOfferPackage() {
2009
+ this.isLoading = !0;
2010
+ const t = this.basketContent.map((e) => ({
2011
+ count: e.count,
2012
+ hotelRoomOfferId: e.hotelRoomOfferId
2013
+ })).filter((e) => e.count > 0);
2014
+ try {
2015
+ this.newCreatedPackage = await this.bookingApiClient?.hotelRoomOffers.create({
2016
+ hotelRoomOffersCreateApi: {
2017
+ addBreakfast: this.addBreakfast,
2018
+ currency: this.currency,
2019
+ hotelRoomOffers: t
2020
+ }
2021
+ });
2022
+ } catch (e) {
2023
+ throw this.isLoading = !1, e;
2024
+ }
2025
+ this.isLoading = !1;
2026
+ },
2027
+ onBasketUpdate(t, e) {
2028
+ const s = {
2029
+ count: e,
2030
+ hotelRoomId: t.hotelRooms[0].id,
2031
+ hotelRoomOfferId: t.id
2032
+ }, i = this.basketContent.findIndex(
2033
+ (n) => n.hotelRoomOfferId === s.hotelRoomOfferId
2034
+ );
2035
+ i === -1 ? e === 0 ? [
2036
+ ...this.basketContent.slice(0, i),
2037
+ ...this.basketContent.slice(i + 1)
2038
+ ] : this.basketContent.splice(i, 1) : this.basketContent.push(s);
2039
+ },
2040
+ onBreakfastChange(t) {
2041
+ this.addBreakfast = t;
2042
+ },
2043
+ onDeleteRoom(t) {
2044
+ const e = this.basketContent.findIndex(
2045
+ (s) => s.hotelRoomId === t.id
2046
+ );
2047
+ this.basketContent[e].count = 0;
2048
+ },
2049
+ async onSubmit() {
2050
+ this.newCreatedPackage?.hotelRoomOffer.id && (this.isLoading = !0, await this.createBookingPolicy({
2051
+ addBreakfast: this.addBreakfast,
2052
+ hotelId: this.hotelId,
2053
+ hotelRoomOfferId: this.newCreatedPackage.hotelRoomOffer.id
2054
+ }), await this.createHotelRoomOfferPackage(), this.isLoading = !1);
2055
+ }
2056
+ },
2057
+ mixins: [Oe, so()],
2058
+ name: "HotelRoomOfferBasket",
2059
+ props: oa,
2060
+ setup() {
2061
+ const { t } = J();
2062
+ return {
2063
+ t
2064
+ };
2065
+ },
2066
+ watch: {
2067
+ async addBreakfast(t, e) {
2068
+ t !== e && await this.createHotelRoomOfferPackage();
2069
+ },
2070
+ basketContent: {
2071
+ deep: !0,
2072
+ handler(t) {
2073
+ t.reduce(
2074
+ (s, i) => s + i.count,
2075
+ 0
2076
+ ) === 0 ? this.newCreatedPackage = void 0 : this.createHotelRoomOfferPackage();
2077
+ },
2078
+ immediate: !1
2079
+ },
2080
+ hotelRoomOffers: {
2081
+ handler(t) {
2082
+ t && (this.basketContent = t.map((e) => ({
2083
+ count: 0,
2084
+ hotelRoomId: e.hotelRooms[0].id,
2085
+ hotelRoomOfferId: e.id
2086
+ })));
2087
+ },
2088
+ immediate: !0
2089
+ }
2090
+ }
2091
+ });
2092
+ function sa(t, e, s, i, n, k) {
2093
+ const d = ot("HotelRoomOfferItem"), r = ot("BBasketSummary");
2094
+ return l(), S(P, { "no-gutters": "" }, {
2095
+ default: a(() => [
2096
+ o(y, {
2097
+ cols: "12",
2098
+ md: "8"
2099
+ }, {
2100
+ default: a(() => [
2101
+ t.hotelRoomOffers.length && t.basketContent.length ? (l(!0), f(B, { key: 0 }, x(t.hotelRoomOffers, (p, m) => (l(), f(B, null, [
2102
+ m > 0 ? (l(), S(K, { key: 0 })) : I("", !0),
2103
+ o(d, q({
2104
+ modelValue: t.basketContent[m].count,
2105
+ "onUpdate:modelValue": (T) => t.basketContent[m].count = T
2106
+ }, { ref_for: !0 }, p), null, 16, ["modelValue", "onUpdate:modelValue"])
2107
+ ], 64))), 256)) : I("", !0)
2108
+ ]),
2109
+ _: 1
2110
+ }),
2111
+ o(K, {
2112
+ class: "d-none d-md-block",
2113
+ vertical: ""
2114
+ }),
2115
+ o(y, {
2116
+ class: "mt-3",
2117
+ cols: "12",
2118
+ md: "4"
2119
+ }, {
2120
+ default: a(() => [
2121
+ o(K, { class: "d-block d-md-none my-2" }),
2122
+ o(r, q(t.newCreatedPackage, {
2123
+ "adult-count": t.adultCount,
2124
+ "hotel-timezone": t.hotelTimezone,
2125
+ "is-loading": t.isLoading,
2126
+ "is-submitting": t.isFetchingBookingPolicies,
2127
+ "is-successful": t.isBookingPoliciesSuccessful,
2128
+ onBreakfastChange: t.onBreakfastChange,
2129
+ onDeleteRoom: t.onDeleteRoom,
2130
+ onSubmit: t.onSubmit
2131
+ }), null, 16, ["adult-count", "hotel-timezone", "is-loading", "is-submitting", "is-successful", "onBreakfastChange", "onDeleteRoom", "onSubmit"])
2132
+ ]),
2133
+ _: 1
2134
+ })
2135
+ ]),
2136
+ _: 1
2137
+ });
2138
+ }
2139
+ const ia = /* @__PURE__ */ it(aa, [["render", sa], ["__scopeId", "data-v-ee0e3c98"]]), Xt = /* @__PURE__ */ W({
2140
+ __name: "HotelRoomOfferListEmpty",
2141
+ props: {
2142
+ boilerplateSkeleton: { type: Boolean },
2143
+ itemCount: { default: 3 },
2144
+ type: {}
2145
+ },
2146
+ setup(t) {
2147
+ const { t: e } = J();
2148
+ return (s, i) => (l(), f("div", null, [
2149
+ (l(!0), f(B, null, x(s.itemCount, (n) => (l(), f(B, { key: n }, [
2150
+ n > 1 ? (l(), S(K, { key: 0 })) : I("", !0),
2151
+ o(pt, {
2152
+ boilerplate: s.boilerplateSkeleton,
2153
+ class: Rt({ "mt-0": n === 1, "mb-0": n === 3 })
2154
+ }, null, 8, ["boilerplate", "class"])
2155
+ ], 64))), 128)),
2156
+ s.type ? (l(), S(St, {
2157
+ key: 0,
2158
+ "min-height": "300px",
2159
+ "z-index": 50
2160
+ }, {
2161
+ title: a(() => [
2162
+ w(C(v(e)(`HotelRoomOfferListEmpty.${s.type}.title`)), 1)
2163
+ ]),
2164
+ description: a(() => [
2165
+ w(C(v(e)(`HotelRoomOfferListEmpty.${s.type}.description`)), 1)
2166
+ ]),
2167
+ _: 1
2168
+ })) : I("", !0)
2169
+ ]));
2170
+ }
2171
+ });
2172
+ function qt(t) {
2173
+ const e = t;
2174
+ e.__i18n = e.__i18n || [], e.__i18n.push({
2175
+ locale: "",
2176
+ resource: {
2177
+ "en-US": {
2178
+ HotelRoomOfferListEmpty: {
2179
+ internalError: {
2180
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Something went wrong..." } },
2181
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Please try again later" } }
2182
+ },
2183
+ missingHotelRoomOfferRequest: {
2184
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Choose your dates" } },
2185
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Please, select the check-in and check-out dates for your accommodation search" } }
2186
+ },
2187
+ noResults: {
2188
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "No accommodation offers found..." } },
2189
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Please try with different check-in / check-out dates" } }
2190
+ }
2191
+ }
2192
+ },
2193
+ "fr-FR": {
2194
+ HotelRoomOfferListEmpty: {
2195
+ internalError: {
2196
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Il y a eu un problème..." } },
2197
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Réessayez plus tard" } }
2198
+ },
2199
+ missingHotelRoomOfferRequest: {
2200
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Choisissez vos dates" } },
2201
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Veuillez sélectionner les dates souhaitées" } }
2202
+ },
2203
+ noResults: {
2204
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aucune offre d'hébergement trouvée..." } },
2205
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Veuillez essayer avec des dates différentes" } }
2206
+ }
2207
+ }
2208
+ },
2209
+ "de-DE": {
2210
+ HotelRoomOfferListEmpty: {
2211
+ internalError: {
2212
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Etwas ist schief gelaufen..." } },
2213
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Bitte versuchen Sie es später noch einmal" } }
2214
+ },
2215
+ missingHotelRoomOfferRequest: {
2216
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Wählen Sie Ihre Daten" } },
2217
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Bitte wählen Sie das Check-in- und Check-out-Datum für Ihre Unterkunftssuche aus" } }
2218
+ },
2219
+ noResults: {
2220
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Keine Unterkunftsangebote gefunden..." } },
2221
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Bitte versuchen Sie es mit anderen Check-in-/Check-out-Daten" } }
2222
+ }
2223
+ }
2224
+ },
2225
+ "es-ES": {
2226
+ HotelRoomOfferListEmpty: {
2227
+ internalError: {
2228
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Algo salió mal..." } },
2229
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, inténtalo de nuevo más tarde" } }
2230
+ },
2231
+ missingHotelRoomOfferRequest: {
2232
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Elige tus fechas" } },
2233
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, selecciona las fechas de entrada y salida para tu búsqueda de alojamiento" } }
2234
+ },
2235
+ noResults: {
2236
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "No se encontraron ofertas de alojamiento..." } },
2237
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, intenta con diferentes fechas de entrada y salida" } }
2238
+ }
2239
+ }
2240
+ },
2241
+ "it-IT": {
2242
+ HotelRoomOfferListEmpty: {
2243
+ internalError: {
2244
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Qualcosa è andato storto..." } },
2245
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Riprova più tardi" } }
2246
+ },
2247
+ missingHotelRoomOfferRequest: {
2248
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Scegli le tue date" } },
2249
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Seleziona le date di check-in e check-out per la tua ricerca di alloggio" } }
2250
+ },
2251
+ noResults: {
2252
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Nessuna offerta di alloggio trovata..." } },
2253
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prova con date di check-in/check-out diverse" } }
2254
+ }
2255
+ }
2256
+ },
2257
+ "nl-NL": {
2258
+ HotelRoomOfferListEmpty: {
2259
+ internalError: {
2260
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Er is iets misgegaan..." } },
2261
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Probeer het later opnieuw" } }
2262
+ },
2263
+ missingHotelRoomOfferRequest: {
2264
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Kies uw data" } },
2265
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Selecteer de in- en uitcheckdatum voor uw zoekopdracht naar een accommodatie" } }
2266
+ },
2267
+ noResults: {
2268
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Geen accommodatie aanbiedingen gevonden..." } },
2269
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Probeer het met andere in- / uitcheckdatums" } }
2270
+ }
2271
+ }
2272
+ },
2273
+ "pt-PT": {
2274
+ HotelRoomOfferListEmpty: {
2275
+ internalError: {
2276
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Algo correu mal..." } },
2277
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, tente novamente mais tarde" } }
2278
+ },
2279
+ missingHotelRoomOfferRequest: {
2280
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Escolha as suas datas" } },
2281
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, selecione as datas de check-in e check-out para a sua pesquisa de alojamento" } }
2282
+ },
2283
+ noResults: {
2284
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Não foram encontradas ofertas de alojamento..." } },
2285
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, tente com datas de check-in/check-out diferentes" } }
2286
+ }
2287
+ }
2288
+ }
2289
+ }
2290
+ });
2291
+ }
2292
+ typeof qt == "function" && qt(Xt);
2293
+ const te = {
2294
+ OnlyMatchingRoomCount: !1
2295
+ }, na = {
2296
+ ...Te,
2297
+ features: {
2298
+ default: () => te,
2299
+ type: [Object, String]
2300
+ },
2301
+ limit: {
2302
+ default: () => 0,
2303
+ type: Number
2304
+ }
2305
+ }, ee = W({
2306
+ components: {
2307
+ BErrorOverlay: St,
2308
+ HotelRoomOfferBasket: ia,
2309
+ HotelRoomOfferItem: Jt,
2310
+ HotelRoomOfferItemLayout: pt,
2311
+ HotelRoomOfferListEmpty: Xt
2312
+ },
2313
+ name: "HotelRoomOfferList",
2314
+ props: na,
2315
+ // eslint-disable-next-line max-lines-per-function
2316
+ setup(t) {
2317
+ const { t: e } = J(), s = ft(), i = bt(), n = F(null), k = F(["packageHotelRoomOffers", "hotelRoomHotelRoomOffers"]), d = ho({
2318
+ fallbackValue: te,
2319
+ prop: b(() => t.features)
2320
+ }), r = (_) => _.hotelRooms.reduce(($, j) => $ + j.count, 0), p = b(() => i.hotelRoomOfferRequest(t.hotelId)), m = b(
2321
+ () => s.hotelRoomOffers(t.hotelId)
2322
+ ), T = b(
2323
+ () => !!(p.value?.hasError || m.value?.hasError)
2324
+ ), A = b(
2325
+ () => m.value?.offers?.filter(
2326
+ (_) => _.type === Ot.HotelRoom
2327
+ ) || []
2328
+ ), R = b(() => {
2329
+ const _ = m.value?.offers?.filter(
2330
+ ($) => $.type === Ot.Package
2331
+ ).filter(($) => d.value?.OnlyMatchingRoomCount ? r($) === p.value?.roomCount : !0);
2332
+ return _?.slice(0, t.limit || _.length) || [];
2333
+ }), z = b(
2334
+ () => !!m.value?.isPolling && !!R.value?.length
2335
+ ), u = b(
2336
+ () => !p.value?.id || (!!p.value?.isFetching || !!m.value?.isPolling) && !R.value?.length
2337
+ ), g = async ({
2338
+ addBreakfast: _,
2339
+ hotelId: $,
2340
+ id: j
2341
+ }) => {
2342
+ await s.reifyHotelRoomOffer({
2343
+ addBreakfast: _,
2344
+ hotelId: $,
2345
+ id: j
2346
+ });
2347
+ }, H = async (_) => {
2348
+ if (!p.value?.id) {
2349
+ s.resetHotelRoomOffers({
2350
+ hotelId: t.hotelId
2351
+ });
2352
+ return;
2353
+ }
2354
+ await s.retrieveHotelRoomOffers({
2355
+ hotelId: t.hotelId,
2356
+ hotelRoomOfferRequestId: p.value.id,
2357
+ inProgressHotelRoomOfferIds: _
2358
+ });
2359
+ };
2360
+ async function E(_) {
2361
+ await H([_]);
2362
+ }
2363
+ D(
2364
+ () => p.value?.id,
2365
+ async () => {
2366
+ await H();
2367
+ },
2368
+ { immediate: !0 }
2369
+ );
2370
+ const { bookingApiClient: M, config: N } = Be();
2371
+ D(
2372
+ () => [M.value, N.value.currency, N.value.lang],
2373
+ async () => {
2374
+ await H();
2375
+ },
2376
+ { immediate: !0 }
2377
+ );
2378
+ const Y = So({
2379
+ adultCount: t.adultCount,
2380
+ checkInDate: t.checkInDate,
2381
+ checkOutDate: t.checkOutDate,
2382
+ children: t.children,
2383
+ hotelId: t.hotelId,
2384
+ roomCount: t.roomCount,
2385
+ sourceMarket: t.sourceMarket
2386
+ });
2387
+ return {
2388
+ hasError: T,
2389
+ hotelRoomHotelRoomOffers: A,
2390
+ isLoading: z,
2391
+ onBreakfastChange: g,
2392
+ packageHotelRoomOffers: R,
2393
+ showSkeleton: u,
2394
+ t: e,
2395
+ tab: n,
2396
+ tabItems: k,
2397
+ ...Y,
2398
+ onBookingPolicyFailed: E
2399
+ };
2400
+ }
2401
+ });
2402
+ function Mt(t) {
2403
+ const e = t;
2404
+ e.__i18n = e.__i18n || [], e.__i18n.push({
2405
+ locale: "",
2406
+ resource: {
2407
+ "en-US": {
2408
+ HotelRoomOfferList: {
2409
+ hotelRoomHotelRoomOffers: {
2410
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "All Available Rooms" } }
2411
+ },
2412
+ packageHotelRoomOffers: {
2413
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Recommended Offers" } }
2414
+ }
2415
+ }
2416
+ },
2417
+ "fr-FR": {
2418
+ HotelRoomOfferList: {
2419
+ hotelRoomHotelRoomOffers: {
2420
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Toutes Les Chambres Disponibles" } }
2421
+ },
2422
+ packageHotelRoomOffers: {
2423
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Offres recommandées" } }
2424
+ }
2425
+ }
2426
+ },
2427
+ "de-DE": {
2428
+ HotelRoomOfferList: {
2429
+ hotelRoomHotelRoomOffers: {
2430
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Alle verfügbaren Zimmer" } }
2431
+ },
2432
+ packageHotelRoomOffers: {
2433
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Empfohlene Angebote" } }
2434
+ }
2435
+ }
2436
+ },
2437
+ "es-ES": {
2438
+ HotelRoomOfferList: {
2439
+ hotelRoomHotelRoomOffers: {
2440
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Todas las habitaciones disponibles" } }
2441
+ },
2442
+ packageHotelRoomOffers: {
2443
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ofertas recomendadas" } }
2444
+ }
2445
+ }
2446
+ },
2447
+ "it-IT": {
2448
+ HotelRoomOfferList: {
2449
+ hotelRoomHotelRoomOffers: {
2450
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Tutte le camere disponibili" } }
2451
+ },
2452
+ packageHotelRoomOffers: {
2453
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Offerte consigliate" } }
2454
+ }
2455
+ }
2456
+ },
2457
+ "nl-NL": {
2458
+ HotelRoomOfferList: {
2459
+ hotelRoomHotelRoomOffers: {
2460
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Alle Beschikbare Kamers" } }
2461
+ },
2462
+ packageHotelRoomOffers: {
2463
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aanbevolen Aanbiedingen" } }
2464
+ }
2465
+ }
2466
+ },
2467
+ "pt-PT": {
2468
+ HotelRoomOfferList: {
2469
+ hotelRoomHotelRoomOffers: {
2470
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Todos os Quartos Disponíveis" } }
2471
+ },
2472
+ packageHotelRoomOffers: {
2473
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ofertas Recomendadas" } }
2474
+ }
2475
+ }
2476
+ }
2477
+ }
2478
+ });
2479
+ }
2480
+ const _t = Symbol.for("vuetify:v-tabs"), la = ut({
2481
+ fixed: Boolean,
2482
+ sliderColor: String,
2483
+ hideSlider: Boolean,
2484
+ direction: {
2485
+ type: String,
2486
+ default: "horizontal"
2487
+ },
2488
+ ...Ut(Je({
2489
+ selectedClass: "v-tab--selected",
2490
+ variant: "text"
2491
+ }), ["active", "block", "flat", "location", "position", "symbol"])
2492
+ }, "VTab"), oe = rt()({
2493
+ name: "VTab",
2494
+ props: la(),
2495
+ setup(t, e) {
2496
+ let {
2497
+ slots: s,
2498
+ attrs: i
2499
+ } = e;
2500
+ const {
2501
+ textColorClasses: n,
2502
+ textColorStyles: k
2503
+ } = Ve(t, "sliderColor"), d = F(), r = F(), p = b(() => t.direction === "horizontal"), m = b(() => d.value?.group?.isSelected.value ?? !1);
2504
+ function T(A) {
2505
+ let {
2506
+ value: R
2507
+ } = A;
2508
+ if (R) {
2509
+ const z = d.value?.$el.parentElement?.querySelector(".v-tab--selected .v-tab__slider"), u = r.value;
2510
+ if (!z || !u) return;
2511
+ const g = getComputedStyle(z).color, H = z.getBoundingClientRect(), E = u.getBoundingClientRect(), M = p.value ? "x" : "y", N = p.value ? "X" : "Y", Y = p.value ? "right" : "bottom", _ = p.value ? "width" : "height", $ = H[M], j = E[M], U = $ > j ? H[Y] - E[Y] : H[M] - E[M], nt = Math.sign(U) > 0 ? p.value ? "right" : "bottom" : Math.sign(U) < 0 ? p.value ? "left" : "top" : "center", Q = (Math.abs(U) + (Math.sign(U) < 0 ? H[_] : E[_])) / Math.max(H[_], E[_]) || 0, c = H[_] / E[_] || 0, V = 1.5;
2512
+ Ae(u, {
2513
+ backgroundColor: [g, "currentcolor"],
2514
+ transform: [`translate${N}(${U}px) scale${N}(${c})`, `translate${N}(${U / V}px) scale${N}(${(Q - 1) / V + 1})`, "none"],
2515
+ transformOrigin: Array(3).fill(nt)
2516
+ }, {
2517
+ duration: 225,
2518
+ easing: Le
2519
+ });
2520
+ }
2521
+ }
2522
+ return ct(() => {
2523
+ const A = st.filterProps(t);
2524
+ return o(st, q({
2525
+ symbol: _t,
2526
+ ref: d,
2527
+ class: ["v-tab", t.class],
2528
+ style: t.style,
2529
+ tabindex: m.value ? 0 : -1,
2530
+ role: "tab",
2531
+ "aria-selected": String(m.value),
2532
+ active: !1
2533
+ }, A, i, {
2534
+ block: t.fixed,
2535
+ maxWidth: t.fixed ? 300 : void 0,
2536
+ "onGroup:selected": T
2537
+ }), {
2538
+ ...s,
2539
+ default: () => o(B, null, [s.default?.() ?? t.text, !t.hideSlider && o("div", {
2540
+ ref: r,
2541
+ class: ["v-tab__slider", n.value],
2542
+ style: k.value
2543
+ }, null)])
2544
+ });
2545
+ }), no({}, d);
2546
+ }
2547
+ }), ra = ut({
2548
+ ...Ut(lo(), ["continuous", "nextIcon", "prevIcon", "showArrows", "touch", "mandatory"])
2549
+ }, "VTabsWindow"), ae = rt()({
2550
+ name: "VTabsWindow",
2551
+ props: ra(),
2552
+ emits: {
2553
+ "update:modelValue": (t) => !0
2554
+ },
2555
+ setup(t, e) {
2556
+ let {
2557
+ slots: s
2558
+ } = e;
2559
+ const i = Se(_t, null), n = mt(t, "modelValue"), k = b({
2560
+ get() {
2561
+ return n.value != null || !i ? n.value : i.items.value.find((d) => i.selected.value.includes(d.id))?.value;
2562
+ },
2563
+ set(d) {
2564
+ n.value = d;
2565
+ }
2566
+ });
2567
+ return ct(() => {
2568
+ const d = Ht.filterProps(t);
2569
+ return o(Ht, q({
2570
+ _as: "VTabsWindow"
2571
+ }, d, {
2572
+ modelValue: k.value,
2573
+ "onUpdate:modelValue": (r) => k.value = r,
2574
+ class: ["v-tabs-window", t.class],
2575
+ style: t.style,
2576
+ mandatory: !1,
2577
+ touch: !1
2578
+ }), s);
2579
+ }), {};
2580
+ }
2581
+ }), ua = ut({
2582
+ ...ro()
2583
+ }, "VTabsWindowItem"), Bt = rt()({
2584
+ name: "VTabsWindowItem",
2585
+ props: ua(),
2586
+ setup(t, e) {
2587
+ let {
2588
+ slots: s
2589
+ } = e;
2590
+ return ct(() => {
2591
+ const i = Et.filterProps(t);
2592
+ return o(Et, q({
2593
+ _as: "VTabsWindowItem"
2594
+ }, i, {
2595
+ class: ["v-tabs-window-item", t.class],
2596
+ style: t.style
2597
+ }), s);
2598
+ }), {};
2599
+ }
2600
+ });
2601
+ function ca(t) {
2602
+ return t ? t.map((e) => we(e) ? e : {
2603
+ text: e,
2604
+ value: e
2605
+ }) : [];
2606
+ }
2607
+ const da = ut({
2608
+ alignTabs: {
2609
+ type: String,
2610
+ default: "start"
2611
+ },
2612
+ color: String,
2613
+ fixedTabs: Boolean,
2614
+ items: {
2615
+ type: Array,
2616
+ default: () => []
2617
+ },
2618
+ stacked: Boolean,
2619
+ bgColor: String,
2620
+ grow: Boolean,
2621
+ height: {
2622
+ type: [Number, String],
2623
+ default: void 0
2624
+ },
2625
+ hideSlider: Boolean,
2626
+ sliderColor: String,
2627
+ ...uo({
2628
+ mandatory: "force",
2629
+ selectedClass: "v-tab-item--selected"
2630
+ }),
2631
+ ...Ge(),
2632
+ ...ze()
2633
+ }, "VTabs"), ma = rt()({
2634
+ name: "VTabs",
2635
+ props: da(),
2636
+ emits: {
2637
+ "update:modelValue": (t) => !0
2638
+ },
2639
+ setup(t, e) {
2640
+ let {
2641
+ attrs: s,
2642
+ slots: i
2643
+ } = e;
2644
+ const n = mt(t, "modelValue"), k = b(() => ca(t.items)), {
2645
+ densityClasses: d
2646
+ } = Fe(t), {
2647
+ backgroundColorClasses: r,
2648
+ backgroundColorStyles: p
2649
+ } = $e(tt(t, "bgColor")), {
2650
+ scopeId: m
2651
+ } = De();
2652
+ return Ie({
2653
+ VTab: {
2654
+ color: tt(t, "color"),
2655
+ direction: tt(t, "direction"),
2656
+ stacked: tt(t, "stacked"),
2657
+ fixed: tt(t, "fixedTabs"),
2658
+ sliderColor: tt(t, "sliderColor"),
2659
+ hideSlider: tt(t, "hideSlider")
2660
+ }
2661
+ }), ct(() => {
2662
+ const T = Vt.filterProps(t), A = !!(i.window || t.items.length > 0);
2663
+ return o(B, null, [o(Vt, q(T, {
2664
+ modelValue: n.value,
2665
+ "onUpdate:modelValue": (R) => n.value = R,
2666
+ class: ["v-tabs", `v-tabs--${t.direction}`, `v-tabs--align-tabs-${t.alignTabs}`, {
2667
+ "v-tabs--fixed-tabs": t.fixedTabs,
2668
+ "v-tabs--grow": t.grow,
2669
+ "v-tabs--stacked": t.stacked
2670
+ }, d.value, r.value, t.class],
2671
+ style: [{
2672
+ "--v-tabs-height": _e(t.height)
2673
+ }, p.value, t.style],
2674
+ role: "tablist",
2675
+ symbol: _t
2676
+ }, m, s), {
2677
+ default: () => [i.default?.() ?? k.value.map((R) => i.tab?.({
2678
+ item: R
2679
+ }) ?? o(oe, q(R, {
2680
+ key: R.text,
2681
+ value: R.value
2682
+ }), {
2683
+ default: i[`tab.${R.value}`] ? () => i[`tab.${R.value}`]?.({
2684
+ item: R
2685
+ }) : void 0
2686
+ }))]
2687
+ }), A && o(ae, q({
2688
+ modelValue: n.value,
2689
+ "onUpdate:modelValue": (R) => n.value = R,
2690
+ key: "tabs-window"
2691
+ }, m), {
2692
+ default: () => [k.value.map((R) => i.item?.({
2693
+ item: R
2694
+ }) ?? o(Bt, {
2695
+ value: R.value
2696
+ }, {
2697
+ default: () => i[`item.${R.value}`]?.({
2698
+ item: R
2699
+ })
2700
+ })), i.window?.()]
2701
+ })]);
2702
+ }), {};
2703
+ }
2704
+ }), fa = { class: "bg-white" }, ba = { key: 0 };
2705
+ function pa(t, e, s, i, n, k) {
2706
+ const d = ot("HotelRoomOfferListEmpty"), r = ot("HotelRoomOfferItem"), p = ot("HotelRoomOfferBasket");
2707
+ return l(), f("div", fa, [
2708
+ t.isBookingApiClientDefined ? (l(), f(B, { key: 1 }, [
2709
+ t.hasError ? (l(), S(d, {
2710
+ key: "error",
2711
+ boilerplate: "",
2712
+ type: "internalError"
2713
+ })) : t.showSkeleton ? (l(), S(d, { key: "skeleton" })) : t.packageHotelRoomOffers && t.packageHotelRoomOffers.length ? (l(), f(B, { key: 2 }, [
2714
+ t.hotelRoomHotelRoomOffers.length ? I("", !0) : (l(), f("div", ba)),
2715
+ t.isLoading ? (l(), S(xe, {
2716
+ key: 1,
2717
+ class: "loader position-absolute",
2718
+ color: "secondary",
2719
+ indeterminate: ""
2720
+ })) : I("", !0),
2721
+ t.hotelRoomHotelRoomOffers && t.hotelRoomHotelRoomOffers.length ? (l(), f(B, { key: 2 }, [
2722
+ o(ma, {
2723
+ color: "primary",
2724
+ density: "compact",
2725
+ modelValue: t.tab,
2726
+ "onUpdate:modelValue": e[0] || (e[0] = (m) => t.tab = m),
2727
+ grow: ""
2728
+ }, {
2729
+ default: a(() => [
2730
+ (l(!0), f(B, null, x(t.tabItems, (m) => (l(), f(B, { key: m }, [
2731
+ o(oe, null, {
2732
+ default: a(() => [
2733
+ w(C(t.t(`HotelRoomOfferList.${m}.title`)), 1)
2734
+ ]),
2735
+ _: 2
2736
+ }, 1024),
2737
+ o(K, { vertical: "" })
2738
+ ], 64))), 128))
2739
+ ]),
2740
+ _: 1
2741
+ }, 8, ["modelValue"]),
2742
+ o(ae, {
2743
+ modelValue: t.tab,
2744
+ "onUpdate:modelValue": e[1] || (e[1] = (m) => t.tab = m),
2745
+ class: "overflow-visible"
2746
+ }, {
2747
+ default: a(() => [
2748
+ o(Bt, { class: "pt-3" }, {
2749
+ default: a(() => [
2750
+ (l(!0), f(B, null, x(t.packageHotelRoomOffers, (m, T) => (l(), f(B, {
2751
+ key: m.id
2752
+ }, [
2753
+ T > 0 ? (l(), S(K, { key: 0 })) : I("", !0),
2754
+ o(r, q({ ref_for: !0 }, m, {
2755
+ onBreakfastChange: t.onBreakfastChange,
2756
+ onBookingPolicyFailed: t.onBookingPolicyFailed
2757
+ }), null, 16, ["onBreakfastChange", "onBookingPolicyFailed"])
2758
+ ], 64))), 128))
2759
+ ]),
2760
+ _: 1
2761
+ }),
2762
+ o(Bt, { class: "pt-3 pb-5" }, {
2763
+ default: a(() => [
2764
+ o(p, { "hotel-id": t.hotelId }, null, 8, ["hotel-id"])
2765
+ ]),
2766
+ _: 1
2767
+ })
2768
+ ]),
2769
+ _: 1
2770
+ }, 8, ["modelValue"])
2771
+ ], 64)) : (l(!0), f(B, { key: 3 }, x(t.packageHotelRoomOffers, (m, T) => (l(), f(B, {
2772
+ key: m.id
2773
+ }, [
2774
+ T > 0 ? (l(), S(K, { key: 0 })) : I("", !0),
2775
+ o(r, q({ ref_for: !0 }, m, {
2776
+ onBreakfastChange: t.onBreakfastChange,
2777
+ onBookingPolicyFailed: t.onBookingPolicyFailed
2778
+ }), null, 16, ["onBreakfastChange", "onBookingPolicyFailed"])
2779
+ ], 64))), 128))
2780
+ ], 64)) : !t.packageHotelRoomOffers || !t.packageHotelRoomOffers.length ? (l(), S(d, {
2781
+ key: "skeleton",
2782
+ boilerplate: "",
2783
+ type: "noResults"
2784
+ })) : I("", !0)
2785
+ ], 64)) : (l(), f(B, { key: 0 }, [], 64))
2786
+ ]);
2787
+ }
2788
+ typeof Mt == "function" && Mt(ee);
2789
+ const ja = /* @__PURE__ */ it(ee, [["render", pa], ["__scopeId", "data-v-e71fbea6"]]);
2790
+ ie("css/revolugo.hotelroomofferlist.D8JlZt_N.css");
2791
+ export {
2792
+ Ct as B,
2793
+ ja as H,
2794
+ te as a,
2795
+ na as h,
2796
+ po as r,
2797
+ ho as u
2798
+ };
2799
+ //# sourceMappingURL=revolugo.hotelroomofferlist.C9y91Ya3.min.js.map