@revolugo/elements 6.8.3-beta.0 → 6.8.3-beta.10

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 (174) hide show
  1. package/dist/css/fonts.css +1 -1
  2. package/dist/css/revolugo.bdaterangepicker.B6KA5TYs.css +1 -0
  3. package/dist/css/revolugo.bhoteloffersfilterbar.CekxoJmW.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.CNP_D5F3.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.currencypicker.DO0IrmRK.css +1 -0
  13. package/dist/css/revolugo.fullbookingflow.Bm8JAQF7.css +1 -0
  14. package/dist/css/revolugo.hoteldescriptionview.Dfi-84To.css +1 -0
  15. package/dist/css/revolugo.hotelofferlist.BkctzTMI.css +1 -0
  16. package/dist/css/revolugo.hoteloffersearchmenuui.ZbUh8ba2.css +1 -0
  17. package/dist/css/revolugo.hoteloffersmap.Cp2vN-VQ.css +1 -0
  18. package/dist/css/revolugo.hoteloffersview.Xw1flMYo.css +1 -0
  19. package/dist/css/revolugo.hotelroomofferlist.BYvQZ5P2.css +1 -0
  20. package/dist/css/revolugo.hotelroomoffersbookingflow.LHa5iHB7.css +1 -0
  21. package/dist/css/revolugo.index.DK7d_h6O.css +1 -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.termsandconditions.D8IMR9da.css +1 -0
  25. package/dist/css/revolugo.vautocomplete.CuVjyvcC.css +1 -0
  26. package/dist/css/revolugo.vbadge.C45eZpxy.css +1 -0
  27. package/dist/css/revolugo.vbtn.DpMO1Ky2.css +1 -0
  28. package/dist/css/revolugo.vcard.TERzfknI.css +1 -0
  29. package/dist/css/revolugo.vcheckboxbtn.Bp_BNQWb.css +1 -0
  30. package/dist/css/revolugo.vdialog.DwTSAOeg.css +1 -0
  31. package/dist/css/revolugo.vdivider.CTbbZwnv.css +1 -0
  32. package/dist/css/revolugo.vexpansionpanels.RsCANmDP.css +1 -0
  33. package/dist/css/revolugo.vicon.eIkh7vVK.css +1 -0
  34. package/dist/css/revolugo.vinput.BPiFMorL.css +1 -0
  35. package/dist/css/revolugo.vlabel.BvKaKg7Y.css +1 -0
  36. package/dist/css/revolugo.vlist.-Y4qkukF.css +1 -0
  37. package/dist/css/revolugo.vmenu.DvKwEp1j.css +1 -0
  38. package/dist/css/revolugo.vselect.C5CKHFYB.css +1 -0
  39. package/dist/css/revolugo.vsheet.Dmcoj8cr.css +1 -0
  40. package/dist/css/revolugo.vskeletonloader.BlK8uFkX.css +1 -0
  41. package/dist/css/revolugo.vslidegroup.ECiLCEE9.css +1 -0
  42. package/dist/css/revolugo.vsnackbar.CCfuo3ao.css +1 -0
  43. package/dist/css/revolugo.vtextarea.Dxy6uSvm.css +1 -0
  44. package/dist/css/revolugo.vtextfield.BIH_AWWP.css +1 -0
  45. package/dist/css/revolugo.vtoolbar.BZert82L.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.DGADlvX0.css → revolugo.webcomponentwrapper.cFJPP6Rp.css} +1 -1
  49. package/dist/revolugo._baseiteratee.BQAqIqmD.min.js +247 -0
  50. package/dist/revolugo.banktransferdetails.0j9oc308.min.js +373 -0
  51. package/dist/revolugo.bdaterangepicker.CuXt5m8k.min.js +8324 -0
  52. package/dist/revolugo.bformattedamount.vue_vue_type_script_setup_true_lang.1LgvMIpZ.min.js +143 -0
  53. package/dist/revolugo.bhoteloffersfilterbar.JyThxTJT.min.js +4896 -0
  54. package/dist/revolugo.bhotelroomsdetails.ziCA0uqt.min.js +965 -0
  55. package/dist/revolugo.bimagecarousel.LON3YyDv.min.js +566 -0
  56. package/dist/revolugo.bookingdetailssidebar.CLb15O8T.min.js +24 -0
  57. package/dist/revolugo.bookingdetailssidebar.CQF8f2p5.min.js +866 -0
  58. package/dist/revolugo.bookingmanager.BEFqmO93.min.js +1755 -0
  59. package/dist/revolugo.bpricesummaryskeleton.vue_vue_type_script_setup_true_lang.k5o2Io4n.min.js +91 -0
  60. package/dist/revolugo.bstarrating.vue_vue_type_script_setup_true_lang.BnT8lMCQ.min.js +604 -0
  61. package/dist/revolugo.btag.CZ9KR3bN.min.js +375 -0
  62. package/dist/revolugo.cancellationpoliciesbadge.KxXb8ZYt.min.js +28 -0
  63. package/dist/revolugo.cancellationpoliciesbadge.gXl0amBL.min.js +198 -0
  64. package/dist/revolugo.cancellationpolicieslist.BYH8J8e1.min.js +148 -0
  65. package/dist/revolugo.cancellationpolicieslist.CVTMLJs5.min.js +25 -0
  66. package/dist/revolugo.cancellationpolicieslist.props.s6oWxIxG.min.js +21 -0
  67. package/dist/revolugo.case-transformers.Ca4kmzjy.min.js +123 -0
  68. package/dist/revolugo.common.D-l8b0V5.min.js +10 -0
  69. package/dist/revolugo.creditcardform.8N0BWYbc.min.js +24 -0
  70. package/dist/revolugo.creditcardform.DawvObHo.min.js +2148 -0
  71. package/dist/revolugo.creditcardpayment.-uEi7Rky.min.js +885 -0
  72. package/dist/revolugo.creditcardpayment.CYrmSY04.min.js +24 -0
  73. package/dist/revolugo.currencypicker.sqbxVvvs.min.js +330 -0
  74. package/dist/revolugo.currencypickerbtn.BSUDuF7M.min.js +24 -0
  75. package/dist/revolugo.currencypickerbtn.BoXjqXbM.min.js +157 -0
  76. package/dist/revolugo.dates.CE3ChILc.min.js +31 -0
  77. package/dist/revolugo.defaultsdeep.ChES_MUh.min.js +104 -0
  78. package/dist/revolugo.dialog-attach.BogqVGDT.min.js +27 -0
  79. package/dist/revolugo.dialog-transition.EGNOTJLZ.min.js +111 -0
  80. package/dist/revolugo.fastbookingflow.Crr6eF_n.min.js +34 -0
  81. package/dist/revolugo.forwardrefs.VVhh1qV3.min.js +70 -0
  82. package/dist/revolugo.fullbookingflow.CzofWe_h.min.js +429 -0
  83. package/dist/revolugo.hotel-offer-request.BrgYCPvB.min.js +98 -0
  84. package/dist/revolugo.hoteldescriptionview.BaN6Jn_K.min.js +2955 -0
  85. package/dist/revolugo.hoteldescriptionview.BfUYrAbK.min.js +24 -0
  86. package/dist/revolugo.hotelofferitemlayout.vue_vue_type_script_setup_true_lang.B0aPs9nv.min.js +241 -0
  87. package/dist/revolugo.hotelofferlist.CEtclWHx.min.js +5639 -0
  88. package/dist/revolugo.hotelofferlist.DGO-YnB3.min.js +24 -0
  89. package/dist/revolugo.hotelofferrequestcreator.props.BeQuCTZy.min.js +44 -0
  90. package/dist/{revolugo.hoteloffersearchmenu.BZ2z-tDx.min.js → revolugo.hoteloffersearchmenu.9ePsLejx.min.js} +46 -43
  91. package/dist/revolugo.hoteloffersearchmenuui.Dq3SUHsn.min.js +829 -0
  92. package/dist/revolugo.hoteloffersmap.DFUv89P-.min.js +8329 -0
  93. package/dist/revolugo.hoteloffersmap.DbfMieYw.min.js +24 -0
  94. package/dist/revolugo.hoteloffersview.CMQC6sEW.min.js +19 -0
  95. package/dist/revolugo.hoteloffersview.DR-NQds9.min.js +614 -0
  96. package/dist/revolugo.hotelroomofferlist.BDmmTZzY.min.js +2811 -0
  97. package/dist/revolugo.hotelroomofferlist.VfQvHfAJ.min.js +24 -0
  98. package/dist/revolugo.hotelroomofferrequestcreator.props.BkEQaSSo.min.js +171 -0
  99. package/dist/revolugo.hotelroomoffersbookingflow.BdI11kxD.min.js +1281 -0
  100. package/dist/revolugo.hotelroomoffersearchmenu.Be69MN7I.min.js +231 -0
  101. package/dist/revolugo.hotelroomoffersearchmenu.i97dxjV4.min.js +25 -0
  102. package/dist/revolugo.hotelroomoffersview.CZRrXMrq.min.js +24 -0
  103. package/dist/revolugo.hotelroomoffersview.QIikXLmz.min.js +290 -0
  104. package/dist/{revolugo.index.CVHWSVdZ.min.js → revolugo.index.BkZCIWDs.min.js} +10 -10
  105. package/dist/revolugo.index.EVacDza9.min.js +1232 -0
  106. package/dist/{revolugo.index.wc.DxOdmA3C.min.js → revolugo.index.wc.B-VISNof.min.js} +5843 -5853
  107. package/dist/revolugo.langpicker.Dqh1HLSM.min.js +99 -0
  108. package/dist/revolugo.langpickerbtn.BHidyFm0.min.js +29 -0
  109. package/dist/revolugo.langpickerbtn.D2BROzmF.min.js +131 -0
  110. package/dist/revolugo.min.js +1 -1
  111. package/dist/revolugo.pathify.Cj2pWNwI.min.js +36 -0
  112. package/dist/revolugo.prebookform.BEoRLmXN.min.js +24 -0
  113. package/dist/revolugo.prebookform.DJtQZk4h.min.js +1527 -0
  114. package/dist/revolugo.roominglisteditor.Bde6fZE4.min.js +24 -0
  115. package/dist/revolugo.roominglisteditor.DOIoiZUZ.min.js +385 -0
  116. package/dist/revolugo.rounded.CuDW7ReX.min.js +68 -0
  117. package/dist/revolugo.ssrboot.BkAAdgIG.min.js +18 -0
  118. package/dist/{revolugo.storybooktoolbar.CkwMUZCe.min.js → revolugo.storybooktoolbar.BrYrYQ9u.min.js} +161 -147
  119. package/dist/revolugo.termsandconditions.DdFCvyY1.min.js +405 -0
  120. package/dist/revolugo.termsandconditions.DsQqeMuQ.min.js +23 -0
  121. package/dist/revolugo.use-breakpoint-service.Bd-iL63O.min.js +39 -0
  122. package/dist/revolugo.use-dialog-attach.CQ3SJvi2.min.js +16 -0
  123. package/dist/revolugo.use-html-element.DSBxvQwo.min.js +11 -0
  124. package/dist/revolugo.vautocomplete.3H62FFlI.min.js +445 -0
  125. package/dist/revolugo.vbadge.DIKTZfYf.min.js +112 -0
  126. package/dist/revolugo.vbtn.ikEGbF2M.min.js +398 -0
  127. package/dist/revolugo.vcard.k3F27b0_.min.js +313 -0
  128. package/dist/revolugo.vcheckboxbtn.DUDck9Jj.min.js +478 -0
  129. package/dist/revolugo.vdialog.I9viR6u_.min.js +133 -0
  130. package/dist/revolugo.vdivider.BU_Qpn1Y.min.js +77 -0
  131. package/dist/revolugo.vexpansionpanels.BlsPrY5r.min.js +262 -0
  132. package/dist/revolugo.vform.BuY4c-jG.min.js +46 -0
  133. package/dist/revolugo.vicon.0oYbTzMR.min.js +105 -0
  134. package/dist/revolugo.vinput.BhulYzYM.min.js +463 -0
  135. package/dist/revolugo.vlabel.C7Tnm2IP.min.js +48 -0
  136. package/dist/revolugo.vlist.Ds4pFDgs.min.js +1299 -0
  137. package/dist/revolugo.vmenu.DQI1PK0w.min.js +145 -0
  138. package/dist/revolugo.vselect.rRp_6FBN.min.js +660 -0
  139. package/dist/revolugo.vsheet.n_e1sEwZ.min.js +72 -0
  140. package/dist/revolugo.vskeletonloader.nVyGxNEH.min.js +136 -0
  141. package/dist/revolugo.vslidegroup.CTyaEfLB.min.js +325 -0
  142. package/dist/revolugo.vsnackbar.DTgtMyMg.min.js +198 -0
  143. package/dist/revolugo.vspacer.0M0DbPqW.min.js +7 -0
  144. package/dist/revolugo.vtextarea.mqbZT0AH.min.js +2092 -0
  145. package/dist/revolugo.vtextfield.C3PH47E4.min.js +501 -0
  146. package/dist/revolugo.vtoolbar.BTinlkeA.min.js +180 -0
  147. package/dist/revolugo.vtooltip.CvIhH6aP.min.js +89 -0
  148. package/dist/revolugo.vwindowitem.Cf667i7i.min.js +317 -0
  149. package/dist/revolugo.watch-list.BVepdYEA.min.js +16 -0
  150. package/dist/revolugo.webcomponentwrapper.BZSwKZDU.min.js +2088 -0
  151. package/package.json +1 -1
  152. package/dist/revolugo.banktransferdetails.C9OqrvmN.min.js +0 -23
  153. package/dist/revolugo.bookingdetailssidebar.V97LTM8j.min.js +0 -23
  154. package/dist/revolugo.bookingmanager.BZERpaf3.min.js +0 -23
  155. package/dist/revolugo.cancellationpoliciesbadge.CUKJ9TsD.min.js +0 -23
  156. package/dist/revolugo.cancellationpolicieslist.C3PJPST4.min.js +0 -23
  157. package/dist/revolugo.creditcardform.D-8j5GCw.min.js +0 -23
  158. package/dist/revolugo.creditcardpayment.DU-WYlhZ.min.js +0 -23
  159. package/dist/revolugo.currencypickerbtn.B7Y3Ok11.min.js +0 -23
  160. package/dist/revolugo.fastbookingflow.BoQVk0eU.min.js +0 -33
  161. package/dist/revolugo.fullbookingflow.DoXfBawU.min.js +0 -23
  162. package/dist/revolugo.hoteldescriptionview.B-0OAOlZ.min.js +0 -23
  163. package/dist/revolugo.hotelofferlist.CZtxadW_.min.js +0 -23
  164. package/dist/revolugo.hoteloffersmap.CKwOA3mF.min.js +0 -23
  165. package/dist/revolugo.hoteloffersview.Bxf47jSF.min.js +0 -18
  166. package/dist/revolugo.hotelroomofferlist.PzbhafeA.min.js +0 -23
  167. package/dist/revolugo.hotelroomoffersbookingflow.BXolY5lJ.min.js +0 -23
  168. package/dist/revolugo.hotelroomoffersearchmenu.BAqeXS0Y.min.js +0 -23
  169. package/dist/revolugo.hotelroomoffersview.Ch8BiNJ_.min.js +0 -23
  170. package/dist/revolugo.langpickerbtn.B5MAr-qc.min.js +0 -28
  171. package/dist/revolugo.prebookform.9dLTmLrv.min.js +0 -23
  172. package/dist/revolugo.roominglisteditor.CA09WMcG.min.js +0 -23
  173. package/dist/revolugo.termsandconditions.CLIxEOxi.min.js +0 -22
  174. package/dist/revolugo.webcomponentwrapper.Dt-VzVVw.min.js +0 -60489
@@ -0,0 +1,2811 @@
1
+ import { aj as ft, k as F, by as G, H as b, bz as le, d as x, bA as Ut, bB as re, u as Y, i as f, g as I, e as h, t as C, p, a as o, f as w, F as B, o as l, S as ue, O as D, M as ce, b as jt, c as S, w as a, j as L, r as ot, a1 as rt, a2 as ut, a6 as mt, bC as de, aL as me, b5 as fe, D as q, m as be, l as pe, bD as dt, J as ht, K as gt, n as ve, h as ke, B as W, I as he, E as ge, bE as ye, q as vt, v as Pt, s as Re, C as yt, bF as Oe, ah as Ce, bG as Rt, bH as Be, aa as Ft, an as Se, af as tt, aV as Ie, ad as _e, bI as we } from "./revolugo.index.wc.B-VISNof.min.js";
2
+ import { s as Pe } from "./revolugo.dates.CE3ChILc.min.js";
3
+ import { u as bt, h as Te } from "./revolugo.hotelroomofferrequestcreator.props.BkEQaSSo.min.js";
4
+ import { C as He } from "./revolugo.cancellationpoliciesbadge.gXl0amBL.min.js";
5
+ import { a as Bt, _ as Ee } from "./revolugo.bpricesummaryskeleton.vue_vue_type_script_setup_true_lang.k5o2Io4n.min.js";
6
+ import { _ as it, V as P, a as y, u as ct, l as xt, B as St, d as Ve, q as Ae, s as Le, b as $e, g as De, e as ze } from "./revolugo.webcomponentwrapper.BZSwKZDU.min.js";
7
+ import { V as K } from "./revolugo.vskeletonloader.nVyGxNEH.min.js";
8
+ import { _ as Gt, B as Wt } from "./revolugo.bhotelroomsdetails.ziCA0uqt.min.js";
9
+ import { _ as lt, a as qe } from "./revolugo.bformattedamount.vue_vue_type_script_setup_true_lang.1LgvMIpZ.min.js";
10
+ import { V as at } from "./revolugo.vicon.0oYbTzMR.min.js";
11
+ import { r as Me, a as Ne, e as Ue, L as je, s as Fe, m as xe, V as Ge } from "./revolugo.index.EVacDza9.min.js";
12
+ import { u as We, V as Tt, m as Ye } from "./revolugo.vinput.BhulYzYM.min.js";
13
+ import { b as Ht, c as Ze, V as Ke } from "./revolugo.vcheckboxbtn.DUDck9Jj.min.js";
14
+ import { V as It, a as st, m as Qe } from "./revolugo.vbtn.ikEGbF2M.min.js";
15
+ import { B as kt } from "./revolugo.btag.CZ9KR3bN.min.js";
16
+ import { u as Je } from "./revolugo.use-breakpoint-service.Bd-iL63O.min.js";
17
+ import { V as Xe } from "./revolugo.vselect.rRp_6FBN.min.js";
18
+ import { V as to } from "./revolugo.vlist.Ds4pFDgs.min.js";
19
+ import { V as Q } from "./revolugo.vdivider.BU_Qpn1Y.min.js";
20
+ import { _ as eo } from "./revolugo.cancellationpolicieslist.BYH8J8e1.min.js";
21
+ import { k as oo, C as ao } from "./revolugo.case-transformers.Ca4kmzjy.min.js";
22
+ /* empty css */
23
+ import { p as so } from "./revolugo.pathify.Cj2pWNwI.min.js";
24
+ import { d as io } from "./revolugo.defaultsdeep.ChES_MUh.min.js";
25
+ import { f as no } from "./revolugo.forwardrefs.VVhh1qV3.min.js";
26
+ import { V as Et, m as lo, a as Vt, b as ro } from "./revolugo.vwindowitem.Cf667i7i.min.js";
27
+ import { a as At, m as uo } from "./revolugo.vslidegroup.CTyaEfLB.min.js";
28
+ function ne(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: v
73
+ }) {
74
+ e.value = G.FetchingBookingPolicies;
75
+ try {
76
+ await t.createBookingPolicies({
77
+ addBreakfast: d,
78
+ hotelId: r,
79
+ hotelRoomOfferId: v
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)
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(le(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" }, Yt = /* @__PURE__ */ x({
124
+ __name: "BPriceSummary",
125
+ props: {
126
+ adultCount: { default: 0 },
127
+ currency: { default: re.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: Ut.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 } = Y(), 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(p(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(p(s)("BPriceSummary.total")) + " " + C(p(s)("BPriceSummary.summary", {
160
+ rooms: p(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(p(s)("BPriceSummary.taxIncluded")), 1)
167
+ ], 64)) : (l(), f(B, { key: 1 }, [
168
+ w(C(p(s)("BPriceSummary.taxNotIncluded")), 1)
169
+ ], 64))
170
+ ], 64)) : I("", !0)
171
+ ])
172
+ ]));
173
+ }
174
+ });
175
+ function Lt(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 Lt == "function" && Lt(Yt);
282
+ const Ot = /* @__PURE__ */ it(Yt, [["__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 = ue(
301
+ async function() {
302
+ const v = i.value, m = n.value;
303
+ t.hotelRoomOfferRequestId && t.hotelRoomOfferRequestId !== m?.id ? (await e.retrieveHotelRoomOfferRequest({
304
+ hotelId: v.hotelId,
305
+ hotelRoomOfferRequestId: t.hotelRoomOfferRequestId
306
+ }), (!m || m.hasError) && await e.createHotelRoomOfferRequest(v)) : (!m || !m.id || m.hasError || !Bo(v, m)) && await e.createHotelRoomOfferRequest(v);
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, v) => {
369
+ v && e.deleteHotelRoomOfferRequest(v), 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
+ () => ce(),
402
+ () => {
403
+ d();
404
+ },
405
+ { immediate: !0 }
406
+ ), {
407
+ hotelRoomOfferRequest: n,
408
+ hotelRoomOfferRequestInternal: i
409
+ };
410
+ }
411
+ const Io = x({
412
+ components: {
413
+ BPriceSummarySkeleton: Bt
414
+ },
415
+ mixins: [jt],
416
+ name: "HotelRoomOfferLayout",
417
+ props: {
418
+ boilerplate: { type: Boolean }
419
+ },
420
+ setup() {
421
+ const { t } = Y();
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(K, {
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(K, {
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(K, {
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 _t = /* @__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: v,
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 = Tt.filterProps(t), Z = Ht.filterProps(t);
563
+ return o(Tt, 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 J = {
588
+ model: k,
589
+ isValid: et
590
+ };
591
+ return o(Ht, q({
592
+ ref: T
593
+ }, Z, {
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: v,
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"](J)]), i["track-false"] && o("div", {
619
+ key: "append",
620
+ class: "v-switch__track-false"
621
+ }, [i["track-false"](J)])]);
622
+ },
623
+ input: (c) => {
624
+ let {
625
+ inputNode: V,
626
+ icon: O,
627
+ backgroundColorClasses: X,
628
+ backgroundColorStyles: ie
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 : ie.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
+ ...J,
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: (pt) => i.loader ? i.loader(pt) : o(It, {
654
+ active: pt.isActive,
655
+ color: pt.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"], Zt = /* @__PURE__ */ x({
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 } = Y(), 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(p(s)("BBreakfastSwitch.title")), 1),
714
+ h("span", {
715
+ innerHTML: p(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 $t(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 $t == "function" && $t(Zt);
777
+ const Kt = /* @__PURE__ */ it(Zt, [["__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 }, Qt = /* @__PURE__ */ x({
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 } = Y(), { 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(), v = 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
+ () => v.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: Z,
871
+ createBookingPolicy: _,
872
+ isBookingPoliciesSuccessful: $,
873
+ isBookingPoliciesUnavailable: j,
874
+ isFetchingBookingPolicies: U
875
+ } = vo();
876
+ D(Z, (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
+ Je(et);
892
+ const J = window.RevolugoElements.config.lang || Ut.fr_FR;
893
+ return (c, V) => (l(), f("div", {
894
+ class: "position-relative",
895
+ ref_key: "root",
896
+ ref: et
897
+ }, [
898
+ o(_t, { key: "is-available" }, {
899
+ "room-details": a(() => [
900
+ o(Wt, {
901
+ "hotel-rooms": c.hotelRooms
902
+ }, null, 8, ["hotel-rooms"])
903
+ ]),
904
+ "package-type": a(() => [
905
+ c.type === "PACKAGE" && c.packageType !== "REGULAR" ? (l(), S(kt, {
906
+ key: 0,
907
+ class: "mb-3",
908
+ color: g.value,
909
+ variant: "outlined"
910
+ }, {
911
+ description: a(() => [
912
+ w(C(p(i)(
913
+ `HotelRoomOfferItem.packageTypes.${c.packageType}.description`,
914
+ { n: T.value }
915
+ )), 1)
916
+ ]),
917
+ default: a(() => [
918
+ w(C(p(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(Kt, {
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, W(M.value, (O, X) => (l(), S(kt, {
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, W(N.value, (O, X) => (l(), S(kt, {
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(Ot, {
993
+ "adult-count": 1,
994
+ class: "text-right",
995
+ "is-tax-included": !1,
996
+ "night-count": 0,
997
+ price: c.price,
998
+ "room-count": 0
999
+ }, null, 8, ["price"])
1000
+ ]),
1001
+ _: 1
1002
+ })
1003
+ ]),
1004
+ _: 1
1005
+ }),
1006
+ o(P, {
1007
+ align: "end",
1008
+ "no-gutters": ""
1009
+ }, {
1010
+ default: a(() => [
1011
+ o(y, {
1012
+ align: "end",
1013
+ class: "d-flex justify-end"
1014
+ }, {
1015
+ default: a(() => [
1016
+ h("div", null, [
1017
+ o(Xe, {
1018
+ modelValue: E.value,
1019
+ "onUpdate:modelValue": V[1] || (V[1] = (O) => E.value = O),
1020
+ class: "item-count mt-2",
1021
+ density: "compact",
1022
+ "hide-details": "",
1023
+ items: R.value,
1024
+ "menu-props": {
1025
+ minWidth: "125px"
1026
+ },
1027
+ variant: "outlined"
1028
+ }, {
1029
+ item: a(({ item: O, props: X }) => [
1030
+ o(to, ve(ke(X)), {
1031
+ title: a(() => [
1032
+ h("span", zo, [
1033
+ w(C(O.raw) + " ", 1),
1034
+ O.raw ? (l(), f(B, { key: 0 }, [
1035
+ V[2] || (V[2] = w(" (")),
1036
+ o(lt, {
1037
+ amount: O.raw * c.price,
1038
+ currency: s.currency,
1039
+ locale: p(J)
1040
+ }, null, 8, ["amount", "currency", "locale"]),
1041
+ V[3] || (V[3] = w(") "))
1042
+ ], 64)) : I("", !0)
1043
+ ])
1044
+ ]),
1045
+ _: 2
1046
+ }, 1040)
1047
+ ]),
1048
+ _: 1
1049
+ }, 8, ["modelValue", "items"])
1050
+ ])
1051
+ ]),
1052
+ _: 1
1053
+ })
1054
+ ]),
1055
+ _: 1
1056
+ })
1057
+ ], 64)) : (l(), S(Ot, {
1058
+ key: 1,
1059
+ "adult-count": T.value,
1060
+ class: "text-right",
1061
+ "is-tax-included": "",
1062
+ "night-count": u.value ?? 0,
1063
+ price: c.price,
1064
+ "room-count": H.value,
1065
+ "round-mode": "ceil",
1066
+ "tax-included-price": c.taxIncludedPrice
1067
+ }, null, 8, ["adult-count", "night-count", "price", "room-count", "tax-included-price"]))
1068
+ ]),
1069
+ action: a(() => [
1070
+ c.type === "PACKAGE" ? (l(), S(st, {
1071
+ key: 0,
1072
+ class: "text-none font-weight-bold book-btn w-100 w-sm-auto",
1073
+ color: p($) ? "success" : "primary",
1074
+ disabled: p(U) || p(j) || c.isLoading,
1075
+ elevation: "0",
1076
+ loading: p(U),
1077
+ size: "small",
1078
+ onClick: nt
1079
+ }, {
1080
+ default: a(() => [
1081
+ p($) ? I("", !0) : (l(), f("span", qo, C(p(i)("HotelRoomOfferItem.book")), 1)),
1082
+ ht(o(at, { class: "position-absolute" }, {
1083
+ default: a(() => V[4] || (V[4] = [
1084
+ w(" fas fa-check ")
1085
+ ])),
1086
+ _: 1,
1087
+ __: [4]
1088
+ }, 512), [
1089
+ [gt, p($)]
1090
+ ])
1091
+ ]),
1092
+ _: 1
1093
+ }, 8, ["color", "disabled", "loading"])) : (l(), f("span", Mo))
1094
+ ]),
1095
+ _: 1
1096
+ }),
1097
+ c.isLoading ? (l(), S(xt, {
1098
+ key: 0,
1099
+ absolute: "",
1100
+ class: "mx-n4",
1101
+ scrim: "grey-lighten-4",
1102
+ opacity: "0.75"
1103
+ }, {
1104
+ default: a(() => [
1105
+ o(It, {
1106
+ color: "primary",
1107
+ indeterminate: "",
1108
+ size: "64"
1109
+ })
1110
+ ]),
1111
+ _: 1
1112
+ })) : I("", !0),
1113
+ p(j) || c.gone ? (l(), S(St, {
1114
+ key: 1,
1115
+ "margin-top": 16
1116
+ }, {
1117
+ title: a(() => [
1118
+ w(C(p(i)("HotelRoomOfferItem.unavailable.title")), 1)
1119
+ ]),
1120
+ description: a(() => [
1121
+ w(C(p(i)("HotelRoomOfferItem.unavailable.description")), 1)
1122
+ ]),
1123
+ _: 1
1124
+ })) : I("", !0)
1125
+ ], 512));
1126
+ }
1127
+ });
1128
+ function Dt(t) {
1129
+ const e = t;
1130
+ e.__i18n = e.__i18n || [], e.__i18n.push({
1131
+ locale: "",
1132
+ resource: {
1133
+ "en-US": {
1134
+ HotelRoomOfferItem: {
1135
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Book this selection" } },
1136
+ packageTypes: {
1137
+ BEST_MATCH: {
1138
+ 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" }] }] } },
1139
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Recommended option" } }
1140
+ },
1141
+ CHEAPEST: {
1142
+ 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" }] }] } },
1143
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cheapest option available !" } }
1144
+ },
1145
+ MATCHING_ROOM_COUNT: {
1146
+ 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" }] }] } },
1147
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Matching all your requirements" } }
1148
+ }
1149
+ },
1150
+ unavailable: {
1151
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "This offer is no longer available" } },
1152
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Please consider an alternative offer" } }
1153
+ }
1154
+ }
1155
+ },
1156
+ "fr-FR": {
1157
+ HotelRoomOfferItem: {
1158
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Réserver cette sélection" } },
1159
+ packageTypes: {
1160
+ BEST_MATCH: {
1161
+ 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" }] }] } },
1162
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sélection recommandée" } }
1163
+ },
1164
+ CHEAPEST: {
1165
+ 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" }] }] } },
1166
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prix le plus bas disponible !" } }
1167
+ },
1168
+ MATCHING_ROOM_COUNT: {
1169
+ 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" }] }] } },
1170
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Adapté à vos demandes" } }
1171
+ }
1172
+ },
1173
+ unavailable: {
1174
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cette offre n'est plus disponible" } },
1175
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Essayez de réserver une autre offre" } }
1176
+ }
1177
+ }
1178
+ },
1179
+ "de-DE": {
1180
+ HotelRoomOfferItem: {
1181
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Diese Auswahl buchen" } },
1182
+ packageTypes: {
1183
+ BEST_MATCH: {
1184
+ 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" }] }] } },
1185
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Empfohlene Option" } }
1186
+ },
1187
+ CHEAPEST: {
1188
+ 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" }] }] } },
1189
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Günstigste verfügbare Option!" } }
1190
+ },
1191
+ MATCHING_ROOM_COUNT: {
1192
+ 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" }] }] } },
1193
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Entspricht all Ihren Anforderungen" } }
1194
+ }
1195
+ },
1196
+ unavailable: {
1197
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Dieses Angebot ist nicht mehr verfügbar" } },
1198
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Bitte berücksichtigen Sie ein alternatives Angebot" } }
1199
+ }
1200
+ }
1201
+ },
1202
+ "es-ES": {
1203
+ HotelRoomOfferItem: {
1204
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reservar esta selección" } },
1205
+ packageTypes: {
1206
+ BEST_MATCH: {
1207
+ 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" }] }] } },
1208
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Opción recomendada" } }
1209
+ },
1210
+ CHEAPEST: {
1211
+ 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" }] }] } },
1212
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "¡Opción más económica disponible!" } }
1213
+ },
1214
+ MATCHING_ROOM_COUNT: {
1215
+ 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" }] }] } },
1216
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Coincide con todos sus requisitos" } }
1217
+ }
1218
+ },
1219
+ unavailable: {
1220
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Esta oferta ya no está disponible" } },
1221
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Considere una oferta alternativa" } }
1222
+ }
1223
+ }
1224
+ },
1225
+ "it-IT": {
1226
+ HotelRoomOfferItem: {
1227
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prenota questa selezione" } },
1228
+ packageTypes: {
1229
+ BEST_MATCH: {
1230
+ 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" }] }] } },
1231
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Opzione consigliata" } }
1232
+ },
1233
+ CHEAPEST: {
1234
+ 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" }] }] } },
1235
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Opzione più economica disponibile!" } }
1236
+ },
1237
+ MATCHING_ROOM_COUNT: {
1238
+ 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" }] }] } },
1239
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Corrisponde a tutte le tue esigenze" } }
1240
+ }
1241
+ },
1242
+ unavailable: {
1243
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Questa offerta non è più disponibile" } },
1244
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Considera un'offerta alternativa" } }
1245
+ }
1246
+ }
1247
+ },
1248
+ "nl-NL": {
1249
+ HotelRoomOfferItem: {
1250
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Boek deze selectie" } },
1251
+ packageTypes: {
1252
+ BEST_MATCH: {
1253
+ 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" }] }] } },
1254
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aanbevolen optie" } }
1255
+ },
1256
+ CHEAPEST: {
1257
+ 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" }] }] } },
1258
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Goedkoopste optie beschikbaar!" } }
1259
+ },
1260
+ MATCHING_ROOM_COUNT: {
1261
+ 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" }] }] } },
1262
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Voldoet aan al uw eisen" } }
1263
+ }
1264
+ },
1265
+ unavailable: {
1266
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Deze aanbieding is niet langer beschikbaar" } },
1267
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Overweeg een alternatieve aanbieding" } }
1268
+ }
1269
+ }
1270
+ },
1271
+ "pt-PT": {
1272
+ HotelRoomOfferItem: {
1273
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reservar esta seleção" } },
1274
+ packageTypes: {
1275
+ BEST_MATCH: {
1276
+ 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" }] }] } },
1277
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Opção recomendada" } }
1278
+ },
1279
+ CHEAPEST: {
1280
+ 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" }] }] } },
1281
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Opção mais barata disponível!" } }
1282
+ },
1283
+ MATCHING_ROOM_COUNT: {
1284
+ 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" }] }] } },
1285
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Corresponde a todos os seus requisitos" } }
1286
+ }
1287
+ },
1288
+ unavailable: {
1289
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Esta oferta já não está disponível" } },
1290
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Considere uma oferta alternativa" } }
1291
+ }
1292
+ }
1293
+ }
1294
+ }
1295
+ });
1296
+ }
1297
+ typeof Dt == "function" && Dt(Qt);
1298
+ const Jt = /* @__PURE__ */ it(Qt, [["__scopeId", "data-v-4631d14a"]]), 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" }, zt = /* @__PURE__ */ x({
1299
+ __name: "BBasketSummaryLayout",
1300
+ setup(t) {
1301
+ return (e, s) => (l(), S(P, { class: "px-2" }, {
1302
+ default: a(() => [
1303
+ o(y, null, {
1304
+ default: a(() => [
1305
+ o(P, null, {
1306
+ default: a(() => [
1307
+ o(y, null, {
1308
+ default: a(() => [
1309
+ h("div", No, [
1310
+ L(e.$slots, "title", {}, () => [
1311
+ o(K, {
1312
+ height: "18px",
1313
+ tile: "",
1314
+ type: "heading",
1315
+ width: "200px"
1316
+ })
1317
+ ])
1318
+ ])
1319
+ ]),
1320
+ _: 3
1321
+ })
1322
+ ]),
1323
+ _: 3
1324
+ }),
1325
+ o(P, null, {
1326
+ default: a(() => [
1327
+ o(y, null, {
1328
+ default: a(() => [
1329
+ h("div", Uo, [
1330
+ L(e.$slots, "adult-count", {}, () => [
1331
+ o(K, {
1332
+ tile: "",
1333
+ type: "text",
1334
+ width: "150px"
1335
+ })
1336
+ ])
1337
+ ]),
1338
+ h("div", jo, [
1339
+ L(e.$slots, "secondary-title", {}, () => [
1340
+ o(K, {
1341
+ height: "18px",
1342
+ tile: "",
1343
+ type: "heading",
1344
+ width: "150px"
1345
+ })
1346
+ ])
1347
+ ])
1348
+ ]),
1349
+ _: 3
1350
+ })
1351
+ ]),
1352
+ _: 3
1353
+ }),
1354
+ L(e.$slots, "hotel-rooms", {}, () => [
1355
+ h("div", Fo, [
1356
+ (l(), f(B, null, W(2, (i) => h("div", null, [
1357
+ o(P, {
1358
+ align: "center",
1359
+ class: "pt-4"
1360
+ }, {
1361
+ default: a(() => [
1362
+ o(y, { cols: "auto" }, {
1363
+ default: a(() => [
1364
+ o(Ee, { boilerplate: "" })
1365
+ ]),
1366
+ _: 1
1367
+ })
1368
+ ]),
1369
+ _: 1
1370
+ })
1371
+ ])), 64))
1372
+ ])
1373
+ ]),
1374
+ o(P, null, {
1375
+ default: a(() => [
1376
+ o(y, null, {
1377
+ default: a(() => [
1378
+ L(e.$slots, "breakfast-option")
1379
+ ]),
1380
+ _: 3
1381
+ })
1382
+ ]),
1383
+ _: 3
1384
+ }),
1385
+ o(P, { class: "mt-1" }, {
1386
+ default: a(() => [
1387
+ o(y, null, {
1388
+ default: a(() => [
1389
+ o(Q)
1390
+ ]),
1391
+ _: 1
1392
+ })
1393
+ ]),
1394
+ _: 1
1395
+ }),
1396
+ o(P, {
1397
+ "no-gutters": "",
1398
+ class: "mt-1"
1399
+ }, {
1400
+ default: a(() => [
1401
+ o(y, null, {
1402
+ default: a(() => [
1403
+ L(e.$slots, "price-summary", {}, () => [
1404
+ o(Bt, { boilerplate: !0 })
1405
+ ])
1406
+ ]),
1407
+ _: 3
1408
+ })
1409
+ ]),
1410
+ _: 3
1411
+ }),
1412
+ o(P, null, {
1413
+ default: a(() => [
1414
+ o(y, { class: "py-0" }, {
1415
+ default: a(() => [
1416
+ L(e.$slots, "errors")
1417
+ ]),
1418
+ _: 3
1419
+ })
1420
+ ]),
1421
+ _: 3
1422
+ }),
1423
+ o(P, null, {
1424
+ default: a(() => [
1425
+ o(y, { class: "pb-0" }, {
1426
+ default: a(() => [
1427
+ L(e.$slots, "button", {}, () => [
1428
+ o(K, {
1429
+ height: "38px",
1430
+ tile: "",
1431
+ type: "heading",
1432
+ width: "100%"
1433
+ })
1434
+ ])
1435
+ ]),
1436
+ _: 3
1437
+ })
1438
+ ]),
1439
+ _: 3
1440
+ }),
1441
+ o(P, null, {
1442
+ default: a(() => [
1443
+ o(y, null, {
1444
+ default: a(() => [
1445
+ L(e.$slots, "cancellation-policies", {}, () => [
1446
+ o(K, {
1447
+ tile: "",
1448
+ type: "paragraph",
1449
+ width: "100%"
1450
+ })
1451
+ ])
1452
+ ]),
1453
+ _: 3
1454
+ })
1455
+ ]),
1456
+ _: 3
1457
+ })
1458
+ ]),
1459
+ _: 3
1460
+ })
1461
+ ]),
1462
+ _: 3
1463
+ }));
1464
+ }
1465
+ }), xo = { key: 0 }, Go = ["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" }, Qo = {
1466
+ key: 0,
1467
+ class: "text-caption pl-2"
1468
+ }, Jo = { class: "text-caption" }, Xo = { class: "text-caption font-weight-bold text-center my-0 text-red rounded" }, ta = { key: 0 }, ea = { key: 1 }, Xt = /* @__PURE__ */ x({
1469
+ __name: "BBasketSummary",
1470
+ props: {
1471
+ adultCount: {},
1472
+ checkInDate: {},
1473
+ checkOutDate: {},
1474
+ children: {},
1475
+ currency: {},
1476
+ hotelRoomOffer: {},
1477
+ hotelTimezone: {},
1478
+ isLoading: { type: Boolean },
1479
+ isSubmitting: { type: Boolean },
1480
+ isSuccessful: { type: Boolean }
1481
+ },
1482
+ emits: ["breakfast-change", "delete-room", "submit"],
1483
+ setup(t, { emit: e }) {
1484
+ const { t: s } = Y(), i = e, n = t, k = F(
1485
+ n.hotelRoomOffer?.breakfastCount && n.hotelRoomOffer?.breakfastCount > 0 || !1
1486
+ ), d = b(() => n.hotelRoomOffer?.breakfastOption), r = b(
1487
+ () => bo(n.adultCount, n.children)
1488
+ ), v = b(
1489
+ () => n.hotelRoomOffer.breakfastOption === ye.Optional
1490
+ ), m = b(
1491
+ () => n.hotelRoomOffer.taxIncludedPrice - n.hotelRoomOffer.price > 0
1492
+ ), T = b(() => !n.hotelRoomOffer || !n.checkOutDate || !n.checkInDate ? 0 : vt(n.checkOutDate).diff(vt(n.checkInDate), "day")), A = b(
1493
+ () => Pt(n.hotelRoomOffer?.hotelRooms, "count")
1494
+ ), R = b(
1495
+ () => oo(
1496
+ Re({
1497
+ bookingDatetime: vt().format(),
1498
+ cancellationPolicies: n.hotelRoomOffer?.cancellationPolicies,
1499
+ checkInDate: n.checkInDate,
1500
+ timezone: n.hotelTimezone
1501
+ }),
1502
+ ao.Camel
1503
+ )
1504
+ ), z = b(
1505
+ () => Pt(
1506
+ n.hotelRoomOffer?.hotelRooms,
1507
+ (u) => u.count * u.occupancy
1508
+ )
1509
+ );
1510
+ return D(k, (u) => {
1511
+ i("breakfast-change", u);
1512
+ }), (u, g) => (l(), f("div", null, [
1513
+ u.isLoading ? (l(), S(xt, {
1514
+ key: 0,
1515
+ absolute: "",
1516
+ class: "mx-n3",
1517
+ scrim: "grey-lighten-4",
1518
+ opacity: "0.75"
1519
+ }, {
1520
+ default: a(() => [
1521
+ o(It, {
1522
+ color: "primary",
1523
+ indeterminate: "",
1524
+ size: "64"
1525
+ })
1526
+ ]),
1527
+ _: 1
1528
+ })) : I("", !0),
1529
+ u.hotelRoomOffer ? (l(), S(zt, { key: "filled-up" }, {
1530
+ title: a(() => [
1531
+ h("span", null, C(p(s)("BBasketSummary.title")), 1)
1532
+ ]),
1533
+ "adult-count": a(() => [
1534
+ h("span", {
1535
+ innerHTML: p(s)("BBasketSummary.totalOccupancy", { n: z.value })
1536
+ }, null, 8, Go)
1537
+ ]),
1538
+ "secondary-title": a(() => [
1539
+ h("span", Wo, C(p(s)("BBasketSummary.yourSelection")), 1)
1540
+ ]),
1541
+ "hotel-rooms": a(() => [
1542
+ (l(!0), f(B, null, W(u.hotelRoomOffer.hotelRooms, (H, E) => (l(), f("div", {
1543
+ key: `room-${E}`
1544
+ }, [
1545
+ o(P, null, {
1546
+ default: a(() => [
1547
+ o(y, {
1548
+ class: "d-flex justify-space-between",
1549
+ cols: "12"
1550
+ }, {
1551
+ default: a(() => [
1552
+ o(Wt, {
1553
+ class: yt({
1554
+ "mt-n4": E >= 1
1555
+ }),
1556
+ "hotel-rooms": [H]
1557
+ }, null, 8, ["class", "hotel-rooms"]),
1558
+ o(st, {
1559
+ class: yt({
1560
+ "mt-n4": E >= 1
1561
+ }),
1562
+ color: "red",
1563
+ icon: "",
1564
+ variant: "text",
1565
+ size: "small",
1566
+ onClick: (M) => u.$emit("delete-room", H)
1567
+ }, {
1568
+ default: a(() => [
1569
+ o(at, null, {
1570
+ default: a(() => g[7] || (g[7] = [
1571
+ w("fas fa-times")
1572
+ ])),
1573
+ _: 1,
1574
+ __: [7]
1575
+ })
1576
+ ]),
1577
+ _: 2
1578
+ }, 1032, ["class", "onClick"])
1579
+ ]),
1580
+ _: 2
1581
+ }, 1024)
1582
+ ]),
1583
+ _: 2
1584
+ }, 1024)
1585
+ ]))), 128))
1586
+ ]),
1587
+ "breakfast-option": a(() => [
1588
+ d.value ? (l(), f(B, { key: 0 }, [
1589
+ o(P, { "no-gutters": "" }, {
1590
+ default: a(() => [
1591
+ o(y, null, {
1592
+ default: a(() => [
1593
+ o(Gt, {
1594
+ "breakfast-count": u.hotelRoomOffer?.breakfastCount || void 0,
1595
+ "breakfast-option": u.hotelRoomOffer.breakfastCount && u.hotelRoomOffer.breakfastCount > 0 ? "INCLUDED" : d.value,
1596
+ class: "mr-n1"
1597
+ }, null, 8, ["breakfast-count", "breakfast-option"])
1598
+ ]),
1599
+ _: 1
1600
+ })
1601
+ ]),
1602
+ _: 1
1603
+ }),
1604
+ v.value ? (l(), S(P, {
1605
+ key: 0,
1606
+ class: "mt-2",
1607
+ "no-gutters": ""
1608
+ }, {
1609
+ default: a(() => [
1610
+ o(y, { class: "mb-2 mt-xl-0" }, {
1611
+ default: a(() => [
1612
+ o(Kt, {
1613
+ modelValue: k.value,
1614
+ "onUpdate:modelValue": g[0] || (g[0] = (H) => k.value = H),
1615
+ currency: u.currency,
1616
+ "is-loading": u.isLoading,
1617
+ price: u.hotelRoomOffer?.breakfastUnitPrice || 0
1618
+ }, null, 8, ["modelValue", "currency", "is-loading", "price"])
1619
+ ]),
1620
+ _: 1
1621
+ })
1622
+ ]),
1623
+ _: 1
1624
+ })) : I("", !0)
1625
+ ], 64)) : I("", !0)
1626
+ ]),
1627
+ "price-summary": a(() => [
1628
+ h("p", Yo, C(p(s)("BBasketSummary.priceDetails")), 1),
1629
+ o(P, {
1630
+ "no-gutters": "",
1631
+ class: "mt-1"
1632
+ }, {
1633
+ default: a(() => [
1634
+ o(y, null, {
1635
+ default: a(() => [
1636
+ h("p", Zo, C(p(s)("BBasketSummary.roomCount", {
1637
+ n: A.value,
1638
+ value: A.value
1639
+ })) + " x " + C(p(s)("BBasketSummary.nightCount", {
1640
+ n: T.value,
1641
+ value: T.value
1642
+ })), 1)
1643
+ ]),
1644
+ _: 1
1645
+ }),
1646
+ o(y, { class: "text-right" }, {
1647
+ default: a(() => [
1648
+ h("span", Ko, [
1649
+ o(lt, {
1650
+ amount: u.hotelRoomOffer.price,
1651
+ currency: u.hotelRoomOffer.currency
1652
+ }, null, 8, ["amount", "currency"])
1653
+ ])
1654
+ ]),
1655
+ _: 1
1656
+ })
1657
+ ]),
1658
+ _: 1
1659
+ }),
1660
+ o(P, {
1661
+ "no-gutters": "",
1662
+ class: "mt-n2"
1663
+ }, {
1664
+ default: a(() => [
1665
+ o(y, null, {
1666
+ default: a(() => [
1667
+ u.hotelRoomOffer.breakfastCount ? (l(), f("small", Qo, C(p(s)("BBasketSummary.breakfastIncluded", {
1668
+ n: u.hotelRoomOffer.breakfastCount,
1669
+ value: u.hotelRoomOffer.breakfastCount
1670
+ })), 1)) : I("", !0)
1671
+ ]),
1672
+ _: 1
1673
+ })
1674
+ ]),
1675
+ _: 1
1676
+ }),
1677
+ u.hotelRoomOffer.taxIncludedPrice - u.hotelRoomOffer.price > 0 ? (l(), S(P, {
1678
+ key: 0,
1679
+ "no-gutters": "",
1680
+ class: "mt-2 color-black"
1681
+ }, {
1682
+ default: a(() => [
1683
+ o(y, null, {
1684
+ default: a(() => g[8] || (g[8] = [
1685
+ h("small", { class: "text-caption text-left font-weight-bold" }, " Taxes & fees ", -1)
1686
+ ])),
1687
+ _: 1,
1688
+ __: [8]
1689
+ }),
1690
+ o(y, { class: "text-right" }, {
1691
+ default: a(() => [
1692
+ h("span", Jo, [
1693
+ o(lt, {
1694
+ amount: u.hotelRoomOffer.taxIncludedPrice - u.hotelRoomOffer.price,
1695
+ currency: u.hotelRoomOffer.currency
1696
+ }, null, 8, ["amount", "currency"])
1697
+ ])
1698
+ ]),
1699
+ _: 1
1700
+ })
1701
+ ]),
1702
+ _: 1
1703
+ })) : I("", !0),
1704
+ o(P, { class: "mt-0" }, {
1705
+ default: a(() => [
1706
+ o(y, null, {
1707
+ default: a(() => g[9] || (g[9] = [
1708
+ h("b", null, " Total ", -1)
1709
+ ])),
1710
+ _: 1,
1711
+ __: [9]
1712
+ }),
1713
+ o(y, null, {
1714
+ default: a(() => [
1715
+ o(Ot, {
1716
+ "is-tax-included": m.value,
1717
+ "night-count": 0,
1718
+ price: u.hotelRoomOffer.price,
1719
+ "tax-included-price": u.hotelRoomOffer.taxIncludedPrice,
1720
+ "room-count": A.value
1721
+ }, null, 8, ["is-tax-included", "price", "tax-included-price", "room-count"])
1722
+ ]),
1723
+ _: 1
1724
+ })
1725
+ ]),
1726
+ _: 1
1727
+ })
1728
+ ]),
1729
+ errors: a(() => [
1730
+ z.value && z.value < r.value ? (l(), S(Ke, {
1731
+ key: 0,
1732
+ class: "mb-0",
1733
+ color: "red",
1734
+ density: "compact",
1735
+ variant: "outlined"
1736
+ }, {
1737
+ default: a(() => [
1738
+ h("p", Xo, C(p(s)("BBasketSummary.occupancyWarning", {
1739
+ guestCount: r.value
1740
+ })), 1)
1741
+ ]),
1742
+ _: 1
1743
+ })) : I("", !0)
1744
+ ]),
1745
+ button: a(() => [
1746
+ o(st, {
1747
+ block: "",
1748
+ class: "text-none font-weight-bold",
1749
+ color: u.isSuccessful ? "success" : "primary",
1750
+ disabled: !u.hotelRoomOffer,
1751
+ loading: u.isSubmitting,
1752
+ onClick: g[1] || (g[1] = (H) => u.$emit("submit"))
1753
+ }, {
1754
+ default: a(() => [
1755
+ u.isSuccessful ? I("", !0) : (l(), f("span", ta, C(p(s)("BBasketSummary.book")), 1)),
1756
+ ht(o(at, { class: "position-absolute" }, {
1757
+ default: a(() => g[10] || (g[10] = [
1758
+ w(" fas fa-check ")
1759
+ ])),
1760
+ _: 1,
1761
+ __: [10]
1762
+ }, 512), [
1763
+ [gt, u.isSuccessful]
1764
+ ])
1765
+ ]),
1766
+ _: 1
1767
+ }, 8, ["color", "disabled", "loading"])
1768
+ ]),
1769
+ "cancellation-policies": a(() => [
1770
+ u.hotelRoomOffer && u.hotelRoomOffer.cancellationPolicies.length ? (l(), S(eo, {
1771
+ key: 0,
1772
+ "cancellation-policies": R.value,
1773
+ "check-in-date": u.checkInDate,
1774
+ class: "text-caption",
1775
+ timezone: u.hotelTimezone || p(co)
1776
+ }, null, 8, ["cancellation-policies", "check-in-date", "timezone"])) : (l(), f("span", ea))
1777
+ ]),
1778
+ _: 1
1779
+ })) : (l(), S(zt, { key: "empty" }, {
1780
+ title: a(() => [
1781
+ h("span", null, C(p(s)("BBasketSummary.title")), 1)
1782
+ ]),
1783
+ "adult-count": a(() => [
1784
+ w(C(p(s)("BBasketSummary.noSelection")), 1)
1785
+ ]),
1786
+ "secondary-title": a(() => g[2] || (g[2] = [
1787
+ h("span", null, null, -1)
1788
+ ])),
1789
+ "hotel-rooms": a(() => g[3] || (g[3] = [
1790
+ h("span", null, null, -1)
1791
+ ])),
1792
+ "price-summary": a(() => g[4] || (g[4] = [
1793
+ h("span", null, null, -1)
1794
+ ])),
1795
+ button: a(() => [
1796
+ o(st, {
1797
+ block: "",
1798
+ class: "text-none font-weight-bold",
1799
+ disabled: ""
1800
+ }, {
1801
+ default: a(() => [
1802
+ u.isSuccessful ? I("", !0) : (l(), f("span", xo, C(p(s)("BBasketSummary.book")), 1)),
1803
+ ht(o(at, { class: "position-absolute" }, {
1804
+ default: a(() => g[5] || (g[5] = [
1805
+ w(" fas fa-check ")
1806
+ ])),
1807
+ _: 1,
1808
+ __: [5]
1809
+ }, 512), [
1810
+ [gt, u.isSuccessful]
1811
+ ])
1812
+ ]),
1813
+ _: 1
1814
+ })
1815
+ ]),
1816
+ "cancellation-policies": a(() => g[6] || (g[6] = [
1817
+ h("span", null, null, -1)
1818
+ ])),
1819
+ _: 1
1820
+ }))
1821
+ ]));
1822
+ }
1823
+ });
1824
+ function qt(t) {
1825
+ const e = t;
1826
+ e.__i18n = e.__i18n || [], e.__i18n.push({
1827
+ locale: "",
1828
+ resource: {
1829
+ "en-US": {
1830
+ BBasketSummary: {
1831
+ 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" }] }] } },
1832
+ 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" }] }] } },
1833
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Book Now" } },
1834
+ 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" }] }] } },
1835
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Add Breakfast:" } },
1836
+ 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" }] }] } },
1837
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "You haven't selected any rooms yet" } },
1838
+ 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." }] } },
1839
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Price Details" } },
1840
+ 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" }] }] } },
1841
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Select breakfast count" } },
1842
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Your booking details" } },
1843
+ 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>" }] }] } },
1844
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Your selection:" } }
1845
+ }
1846
+ },
1847
+ "fr-FR": {
1848
+ BBasketSummary: {
1849
+ 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" }] }] } },
1850
+ 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" }] }] } },
1851
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Réserver" } },
1852
+ 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" }] }] } },
1853
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ajouter le petit déjeuner :" } },
1854
+ 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" }] }] } },
1855
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Vous n'avez pas sélectionné de chambres" } },
1856
+ 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." }] } },
1857
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Détails sur le prix" } },
1858
+ 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" }] }] } },
1859
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sélectionnez le nombre de petits-déjeuners" } },
1860
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Vos informations de réservation" } },
1861
+ 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>" }] }] } },
1862
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Vous avez choisi :" } }
1863
+ }
1864
+ },
1865
+ "de-DE": {
1866
+ BBasketSummary: {
1867
+ 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" }] }] } },
1868
+ 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" }] }] } },
1869
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Jetzt buchen" } },
1870
+ 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" }] }] } },
1871
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Frühstück hinzufügen:" } },
1872
+ 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" }] }] } },
1873
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sie haben noch keine Zimmer ausgewählt" } },
1874
+ 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." }] } },
1875
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Preisdetails" } },
1876
+ 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" }] }] } },
1877
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Anzahl der Frühstücke auswählen" } },
1878
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ihre Buchungsdetails" } },
1879
+ 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>" }] }] } },
1880
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ihre Auswahl:" } }
1881
+ }
1882
+ },
1883
+ "es-ES": {
1884
+ BBasketSummary: {
1885
+ 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" }] }] } },
1886
+ 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" }] }] } },
1887
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reservar ahora" } },
1888
+ 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" }] }] } },
1889
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Añadir desayuno:" } },
1890
+ 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" }] }] } },
1891
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aún no has seleccionado ninguna habitación" } },
1892
+ 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." }] } },
1893
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Detalles del precio" } },
1894
+ 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" }] }] } },
1895
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Seleccionar número de desayunos" } },
1896
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Detalles de su reserva" } },
1897
+ 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>" }] }] } },
1898
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Su selección:" } }
1899
+ }
1900
+ },
1901
+ "it-IT": {
1902
+ BBasketSummary: {
1903
+ 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" }] }] } },
1904
+ 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" }] }] } },
1905
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prenota ora" } },
1906
+ 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" }] }] } },
1907
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aggiungi colazione:" } },
1908
+ 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" }] }] } },
1909
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Non hai ancora selezionato nessuna camera" } },
1910
+ 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." }] } },
1911
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Dettagli prezzo" } },
1912
+ 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" }] }] } },
1913
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Seleziona il numero di colazioni" } },
1914
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Dettagli della tua prenotazione" } },
1915
+ 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>" }] }] } },
1916
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "La tua selezione:" } }
1917
+ }
1918
+ },
1919
+ "nl-NL": {
1920
+ BBasketSummary: {
1921
+ 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" }] }] } },
1922
+ 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" }] }] } },
1923
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Boek nu" } },
1924
+ 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" }] }] } },
1925
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Voeg ontbijt toe:" } },
1926
+ 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" }] }] } },
1927
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "U heeft nog geen kamers geselecteerd" } },
1928
+ 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." }] } },
1929
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prijsdetails" } },
1930
+ 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" }] }] } },
1931
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Selecteer aantal ontbijten" } },
1932
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Uw boekingsgegevens" } },
1933
+ 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>" }] }] } },
1934
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Uw selectie:" } }
1935
+ }
1936
+ },
1937
+ "pt-PT": {
1938
+ BBasketSummary: {
1939
+ 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" }] }] } },
1940
+ 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" }] }] } },
1941
+ book: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reservar agora" } },
1942
+ 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" }] }] } },
1943
+ includeBreakfast: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Adicionar pequeno-almoço:" } },
1944
+ 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" }] }] } },
1945
+ noSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ainda não selecionou nenhum quarto" } },
1946
+ 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." }] } },
1947
+ priceDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Detalhes do preço" } },
1948
+ 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" }] }] } },
1949
+ selectBreakfastCount: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Selecionar número de pequenos-almoços" } },
1950
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Os seus detalhes de reserva" } },
1951
+ 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>" }] }] } },
1952
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "A sua seleção:" } }
1953
+ }
1954
+ }
1955
+ }
1956
+ });
1957
+ }
1958
+ typeof qt == "function" && qt(Xt);
1959
+ const oa = {
1960
+ hotelId: {
1961
+ required: !0,
1962
+ type: String
1963
+ }
1964
+ }, aa = x({
1965
+ components: {
1966
+ BBasketSummary: Xt,
1967
+ HotelRoomOfferItem: Jt,
1968
+ HotelRoomOfferItemLayout: _t
1969
+ },
1970
+ computed: {
1971
+ ...Ce(bt, ft),
1972
+ adultCount() {
1973
+ return this.hotelRoomOfferRequest?.adultCount;
1974
+ },
1975
+ currency() {
1976
+ return window.RevolugoElements.config.currency;
1977
+ },
1978
+ hotelRoomOfferRequest() {
1979
+ return this.$store.get(
1980
+ "hotelRoomOfferRequest/hotelRoomOfferRequest",
1981
+ this.hotelId
1982
+ );
1983
+ },
1984
+ hotelRoomOffers() {
1985
+ return this.$store.get(
1986
+ "hotelRoomOffers/hotelRoomOffers",
1987
+ this.hotelId
1988
+ )?.offers?.filter(
1989
+ (t) => t.type === Rt.HotelRoom
1990
+ ) || null;
1991
+ },
1992
+ hotelTimezone() {
1993
+ return this.$store.get("hotelRoomOffers/hotelTimezone", this.hotelId);
1994
+ }
1995
+ },
1996
+ data() {
1997
+ return {
1998
+ addBreakfast: !1,
1999
+ basketContent: [],
2000
+ isLoading: !1,
2001
+ newCreatedPackage: void 0
2002
+ };
2003
+ },
2004
+ methods: {
2005
+ async createHotelRoomOfferPackage() {
2006
+ this.isLoading = !0;
2007
+ const t = this.basketContent.map((e) => ({
2008
+ count: e.count,
2009
+ hotelRoomOfferId: e.hotelRoomOfferId
2010
+ })).filter((e) => e.count > 0);
2011
+ try {
2012
+ this.newCreatedPackage = await this.bookingApiClient?.hotelRoomOffers.create({
2013
+ hotelRoomOffersCreateApi: {
2014
+ addBreakfast: this.addBreakfast,
2015
+ currency: this.currency,
2016
+ hotelRoomOffers: t
2017
+ }
2018
+ });
2019
+ } catch (e) {
2020
+ throw this.isLoading = !1, e;
2021
+ }
2022
+ this.isLoading = !1;
2023
+ },
2024
+ onBasketUpdate(t, e) {
2025
+ const s = {
2026
+ count: e,
2027
+ hotelRoomId: t.hotelRooms[0].id,
2028
+ hotelRoomOfferId: t.id
2029
+ }, i = this.basketContent.findIndex(
2030
+ (n) => n.hotelRoomOfferId === s.hotelRoomOfferId
2031
+ );
2032
+ i === -1 ? e === 0 ? [
2033
+ ...this.basketContent.slice(0, i),
2034
+ ...this.basketContent.slice(i + 1)
2035
+ ] : this.basketContent.splice(i, 1) : this.basketContent.push(s);
2036
+ },
2037
+ onBreakfastChange(t) {
2038
+ this.addBreakfast = t;
2039
+ },
2040
+ onDeleteRoom(t) {
2041
+ const e = this.basketContent.findIndex(
2042
+ (s) => s.hotelRoomId === t.id
2043
+ );
2044
+ this.basketContent[e].count = 0;
2045
+ },
2046
+ async onSubmit() {
2047
+ this.newCreatedPackage?.hotelRoomOffer.id && (this.isLoading = !0, await this.createBookingPolicy({
2048
+ addBreakfast: this.addBreakfast,
2049
+ hotelId: this.hotelId,
2050
+ hotelRoomOfferId: this.newCreatedPackage.hotelRoomOffer.id
2051
+ }), await this.createHotelRoomOfferPackage(), this.isLoading = !1);
2052
+ }
2053
+ },
2054
+ mixins: [Oe, so()],
2055
+ name: "HotelRoomOfferBasket",
2056
+ props: oa,
2057
+ setup() {
2058
+ const { t } = Y();
2059
+ return {
2060
+ t
2061
+ };
2062
+ },
2063
+ watch: {
2064
+ async addBreakfast(t, e) {
2065
+ t !== e && await this.createHotelRoomOfferPackage();
2066
+ },
2067
+ basketContent: {
2068
+ deep: !0,
2069
+ handler(t) {
2070
+ t.reduce(
2071
+ (s, i) => s + i.count,
2072
+ 0
2073
+ ) === 0 ? this.newCreatedPackage = void 0 : this.createHotelRoomOfferPackage();
2074
+ },
2075
+ immediate: !1
2076
+ },
2077
+ hotelRoomOffers: {
2078
+ handler(t) {
2079
+ t && (this.basketContent = t.map((e) => ({
2080
+ count: 0,
2081
+ hotelRoomId: e.hotelRooms[0].id,
2082
+ hotelRoomOfferId: e.id
2083
+ })));
2084
+ },
2085
+ immediate: !0
2086
+ }
2087
+ }
2088
+ });
2089
+ function sa(t, e, s, i, n, k) {
2090
+ const d = ot("HotelRoomOfferItem"), r = ot("BBasketSummary");
2091
+ return l(), S(P, { "no-gutters": "" }, {
2092
+ default: a(() => [
2093
+ o(y, {
2094
+ cols: "12",
2095
+ md: "8"
2096
+ }, {
2097
+ default: a(() => [
2098
+ t.hotelRoomOffers.length && t.basketContent.length ? (l(!0), f(B, { key: 0 }, W(t.hotelRoomOffers, (v, m) => (l(), f(B, null, [
2099
+ m > 0 ? (l(), S(Q, { key: 0 })) : I("", !0),
2100
+ o(d, q({
2101
+ modelValue: t.basketContent[m].count,
2102
+ "onUpdate:modelValue": (T) => t.basketContent[m].count = T
2103
+ }, { ref_for: !0 }, v), null, 16, ["modelValue", "onUpdate:modelValue"])
2104
+ ], 64))), 256)) : I("", !0)
2105
+ ]),
2106
+ _: 1
2107
+ }),
2108
+ o(Q, {
2109
+ class: "d-none d-md-block",
2110
+ vertical: ""
2111
+ }),
2112
+ o(y, {
2113
+ class: "mt-3",
2114
+ cols: "12",
2115
+ md: "4"
2116
+ }, {
2117
+ default: a(() => [
2118
+ o(Q, { class: "d-block d-md-none my-2" }),
2119
+ o(r, q(t.newCreatedPackage, {
2120
+ "adult-count": t.adultCount,
2121
+ "hotel-timezone": t.hotelTimezone,
2122
+ "is-loading": t.isLoading,
2123
+ "is-submitting": t.isFetchingBookingPolicies,
2124
+ "is-successful": t.isBookingPoliciesSuccessful,
2125
+ onBreakfastChange: t.onBreakfastChange,
2126
+ onDeleteRoom: t.onDeleteRoom,
2127
+ onSubmit: t.onSubmit
2128
+ }), null, 16, ["adult-count", "hotel-timezone", "is-loading", "is-submitting", "is-successful", "onBreakfastChange", "onDeleteRoom", "onSubmit"])
2129
+ ]),
2130
+ _: 1
2131
+ })
2132
+ ]),
2133
+ _: 1
2134
+ });
2135
+ }
2136
+ const ia = /* @__PURE__ */ it(aa, [["render", sa], ["__scopeId", "data-v-ee0e3c98"]]), na = x({
2137
+ components: {
2138
+ BPriceSummarySkeleton: Bt
2139
+ },
2140
+ mixins: [jt],
2141
+ name: "HotelRoomOfferLayout",
2142
+ props: {
2143
+ boilerplate: { type: Boolean }
2144
+ },
2145
+ setup() {
2146
+ const { t } = Y();
2147
+ return {
2148
+ t
2149
+ };
2150
+ }
2151
+ }), te = /* @__PURE__ */ x({
2152
+ __name: "HotelRoomOfferListEmpty",
2153
+ props: {
2154
+ boilerplateSkeleton: { type: Boolean },
2155
+ itemCount: { default: 3 },
2156
+ type: {}
2157
+ },
2158
+ setup(t) {
2159
+ const { t: e } = Y();
2160
+ return (s, i) => (l(), f("div", null, [
2161
+ (l(!0), f(B, null, W(s.itemCount, (n) => (l(), f(B, { key: n }, [
2162
+ n > 1 ? (l(), S(Q, { key: 0 })) : I("", !0),
2163
+ o(p(na), {
2164
+ boilerplate: s.boilerplateSkeleton,
2165
+ class: yt({ "mt-0": n === 1, "mb-0": n === 3 })
2166
+ }, null, 8, ["boilerplate", "class"])
2167
+ ], 64))), 128)),
2168
+ s.type ? (l(), S(St, {
2169
+ key: 0,
2170
+ "min-height": "300px",
2171
+ "z-index": 50
2172
+ }, {
2173
+ title: a(() => [
2174
+ w(C(p(e)(`HotelRoomOfferListEmpty.${s.type}.title`)), 1)
2175
+ ]),
2176
+ description: a(() => [
2177
+ w(C(p(e)(`HotelRoomOfferListEmpty.${s.type}.description`)), 1)
2178
+ ]),
2179
+ _: 1
2180
+ })) : I("", !0)
2181
+ ]));
2182
+ }
2183
+ });
2184
+ function Mt(t) {
2185
+ const e = t;
2186
+ e.__i18n = e.__i18n || [], e.__i18n.push({
2187
+ locale: "",
2188
+ resource: {
2189
+ "en-US": {
2190
+ HotelRoomOfferListEmpty: {
2191
+ internalError: {
2192
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Something went wrong..." } },
2193
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Please try again later" } }
2194
+ },
2195
+ missingHotelRoomOfferRequest: {
2196
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Choose your dates" } },
2197
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Please, select the check-in and check-out dates for your accommodation search" } }
2198
+ },
2199
+ noResults: {
2200
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "No accommodation offers found..." } },
2201
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Please try with different check-in / check-out dates" } }
2202
+ }
2203
+ }
2204
+ },
2205
+ "fr-FR": {
2206
+ HotelRoomOfferListEmpty: {
2207
+ internalError: {
2208
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Il y a eu un problème..." } },
2209
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Réessayez plus tard" } }
2210
+ },
2211
+ missingHotelRoomOfferRequest: {
2212
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Choisissez vos dates" } },
2213
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Veuillez sélectionner les dates souhaitées" } }
2214
+ },
2215
+ noResults: {
2216
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aucune offre d'hébergement trouvée..." } },
2217
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Veuillez essayer avec des dates différentes" } }
2218
+ }
2219
+ }
2220
+ },
2221
+ "de-DE": {
2222
+ HotelRoomOfferListEmpty: {
2223
+ internalError: {
2224
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Etwas ist schief gelaufen..." } },
2225
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Bitte versuchen Sie es später noch einmal" } }
2226
+ },
2227
+ missingHotelRoomOfferRequest: {
2228
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Wählen Sie Ihre Daten" } },
2229
+ 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" } }
2230
+ },
2231
+ noResults: {
2232
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Keine Unterkunftsangebote gefunden..." } },
2233
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Bitte versuchen Sie es mit anderen Check-in-/Check-out-Daten" } }
2234
+ }
2235
+ }
2236
+ },
2237
+ "es-ES": {
2238
+ HotelRoomOfferListEmpty: {
2239
+ internalError: {
2240
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Algo salió mal..." } },
2241
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, inténtalo de nuevo más tarde" } }
2242
+ },
2243
+ missingHotelRoomOfferRequest: {
2244
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Elige tus fechas" } },
2245
+ 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" } }
2246
+ },
2247
+ noResults: {
2248
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "No se encontraron ofertas de alojamiento..." } },
2249
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, intenta con diferentes fechas de entrada y salida" } }
2250
+ }
2251
+ }
2252
+ },
2253
+ "it-IT": {
2254
+ HotelRoomOfferListEmpty: {
2255
+ internalError: {
2256
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Qualcosa è andato storto..." } },
2257
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Riprova più tardi" } }
2258
+ },
2259
+ missingHotelRoomOfferRequest: {
2260
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Scegli le tue date" } },
2261
+ 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" } }
2262
+ },
2263
+ noResults: {
2264
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Nessuna offerta di alloggio trovata..." } },
2265
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prova con date di check-in/check-out diverse" } }
2266
+ }
2267
+ }
2268
+ },
2269
+ "nl-NL": {
2270
+ HotelRoomOfferListEmpty: {
2271
+ internalError: {
2272
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Er is iets misgegaan..." } },
2273
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Probeer het later opnieuw" } }
2274
+ },
2275
+ missingHotelRoomOfferRequest: {
2276
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Kies uw data" } },
2277
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Selecteer de in- en uitcheckdatum voor uw zoekopdracht naar een accommodatie" } }
2278
+ },
2279
+ noResults: {
2280
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Geen accommodatie aanbiedingen gevonden..." } },
2281
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Probeer het met andere in- / uitcheckdatums" } }
2282
+ }
2283
+ }
2284
+ },
2285
+ "pt-PT": {
2286
+ HotelRoomOfferListEmpty: {
2287
+ internalError: {
2288
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Algo correu mal..." } },
2289
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, tente novamente mais tarde" } }
2290
+ },
2291
+ missingHotelRoomOfferRequest: {
2292
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Escolha as suas datas" } },
2293
+ 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" } }
2294
+ },
2295
+ noResults: {
2296
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Não foram encontradas ofertas de alojamento..." } },
2297
+ description: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, tente com datas de check-in/check-out diferentes" } }
2298
+ }
2299
+ }
2300
+ }
2301
+ }
2302
+ });
2303
+ }
2304
+ typeof Mt == "function" && Mt(te);
2305
+ const ee = {
2306
+ OnlyMatchingRoomCount: !1
2307
+ }, la = {
2308
+ ...Te,
2309
+ features: {
2310
+ default: () => ee,
2311
+ type: [Object, String]
2312
+ },
2313
+ limit: {
2314
+ default: () => 0,
2315
+ type: Number
2316
+ }
2317
+ }, oe = x({
2318
+ components: {
2319
+ BErrorOverlay: St,
2320
+ HotelRoomOfferBasket: ia,
2321
+ HotelRoomOfferItem: Jt,
2322
+ HotelRoomOfferItemLayout: _t,
2323
+ HotelRoomOfferListEmpty: te
2324
+ },
2325
+ name: "HotelRoomOfferList",
2326
+ props: la,
2327
+ // eslint-disable-next-line max-lines-per-function
2328
+ setup(t) {
2329
+ const { t: e } = Y(), s = ft(), i = bt(), n = F(null), k = F(["packageHotelRoomOffers", "hotelRoomHotelRoomOffers"]), d = ho({
2330
+ fallbackValue: ee,
2331
+ prop: b(() => t.features)
2332
+ }), r = (_) => _.hotelRooms.reduce(($, j) => $ + j.count, 0), v = b(() => i.hotelRoomOfferRequest(t.hotelId)), m = b(
2333
+ () => s.hotelRoomOffers(t.hotelId)
2334
+ ), T = b(
2335
+ () => !!(v.value?.hasError || m.value?.hasError)
2336
+ ), A = b(
2337
+ () => m.value?.offers?.filter(
2338
+ (_) => _.type === Rt.HotelRoom
2339
+ ) || []
2340
+ ), R = b(() => {
2341
+ const _ = m.value?.offers?.filter(
2342
+ ($) => $.type === Rt.Package
2343
+ ).filter(($) => d.value?.OnlyMatchingRoomCount ? r($) === v.value?.roomCount : !0);
2344
+ return _?.slice(0, t.limit || _.length) || [];
2345
+ }), z = b(
2346
+ () => !!m.value?.isPolling && !!R.value?.length
2347
+ ), u = b(
2348
+ () => !v.value?.id || (!!v.value?.isFetching || !!m.value?.isPolling) && !R.value?.length
2349
+ ), g = async ({
2350
+ addBreakfast: _,
2351
+ hotelId: $,
2352
+ id: j
2353
+ }) => {
2354
+ await s.reifyHotelRoomOffer({
2355
+ addBreakfast: _,
2356
+ hotelId: $,
2357
+ id: j
2358
+ });
2359
+ }, H = async (_) => {
2360
+ if (!v.value?.id) {
2361
+ s.resetHotelRoomOffers({
2362
+ hotelId: t.hotelId
2363
+ });
2364
+ return;
2365
+ }
2366
+ await s.retrieveHotelRoomOffers({
2367
+ hotelId: t.hotelId,
2368
+ hotelRoomOfferRequestId: v.value.id,
2369
+ inProgressHotelRoomOfferIds: _
2370
+ });
2371
+ };
2372
+ async function E(_) {
2373
+ await H([_]);
2374
+ }
2375
+ D(
2376
+ () => v.value?.id,
2377
+ async () => {
2378
+ await H();
2379
+ },
2380
+ { immediate: !0 }
2381
+ );
2382
+ const { bookingApiClient: M, config: N } = Be();
2383
+ D(
2384
+ () => [M.value, N.value.currency, N.value.lang],
2385
+ async () => {
2386
+ await H();
2387
+ },
2388
+ { immediate: !0 }
2389
+ );
2390
+ const Z = So({
2391
+ adultCount: t.adultCount,
2392
+ checkInDate: t.checkInDate,
2393
+ checkOutDate: t.checkOutDate,
2394
+ children: t.children,
2395
+ hotelId: t.hotelId,
2396
+ roomCount: t.roomCount,
2397
+ sourceMarket: t.sourceMarket
2398
+ });
2399
+ return {
2400
+ hasError: T,
2401
+ hotelRoomHotelRoomOffers: A,
2402
+ isLoading: z,
2403
+ onBreakfastChange: g,
2404
+ packageHotelRoomOffers: R,
2405
+ showSkeleton: u,
2406
+ t: e,
2407
+ tab: n,
2408
+ tabItems: k,
2409
+ ...Z,
2410
+ onBookingPolicyFailed: E
2411
+ };
2412
+ }
2413
+ });
2414
+ function Nt(t) {
2415
+ const e = t;
2416
+ e.__i18n = e.__i18n || [], e.__i18n.push({
2417
+ locale: "",
2418
+ resource: {
2419
+ "en-US": {
2420
+ HotelRoomOfferList: {
2421
+ hotelRoomHotelRoomOffers: {
2422
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "All Available Rooms" } }
2423
+ },
2424
+ packageHotelRoomOffers: {
2425
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Recommended Offers" } }
2426
+ }
2427
+ }
2428
+ },
2429
+ "fr-FR": {
2430
+ HotelRoomOfferList: {
2431
+ hotelRoomHotelRoomOffers: {
2432
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Toutes Les Chambres Disponibles" } }
2433
+ },
2434
+ packageHotelRoomOffers: {
2435
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Offres recommandées" } }
2436
+ }
2437
+ }
2438
+ },
2439
+ "de-DE": {
2440
+ HotelRoomOfferList: {
2441
+ hotelRoomHotelRoomOffers: {
2442
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Alle verfügbaren Zimmer" } }
2443
+ },
2444
+ packageHotelRoomOffers: {
2445
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Empfohlene Angebote" } }
2446
+ }
2447
+ }
2448
+ },
2449
+ "es-ES": {
2450
+ HotelRoomOfferList: {
2451
+ hotelRoomHotelRoomOffers: {
2452
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Todas las habitaciones disponibles" } }
2453
+ },
2454
+ packageHotelRoomOffers: {
2455
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ofertas recomendadas" } }
2456
+ }
2457
+ }
2458
+ },
2459
+ "it-IT": {
2460
+ HotelRoomOfferList: {
2461
+ hotelRoomHotelRoomOffers: {
2462
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Tutte le camere disponibili" } }
2463
+ },
2464
+ packageHotelRoomOffers: {
2465
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Offerte consigliate" } }
2466
+ }
2467
+ }
2468
+ },
2469
+ "nl-NL": {
2470
+ HotelRoomOfferList: {
2471
+ hotelRoomHotelRoomOffers: {
2472
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Alle Beschikbare Kamers" } }
2473
+ },
2474
+ packageHotelRoomOffers: {
2475
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aanbevolen Aanbiedingen" } }
2476
+ }
2477
+ }
2478
+ },
2479
+ "pt-PT": {
2480
+ HotelRoomOfferList: {
2481
+ hotelRoomHotelRoomOffers: {
2482
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Todos os Quartos Disponíveis" } }
2483
+ },
2484
+ packageHotelRoomOffers: {
2485
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ofertas Recomendadas" } }
2486
+ }
2487
+ }
2488
+ }
2489
+ }
2490
+ });
2491
+ }
2492
+ const wt = Symbol.for("vuetify:v-tabs"), ra = ut({
2493
+ fixed: Boolean,
2494
+ sliderColor: String,
2495
+ hideSlider: Boolean,
2496
+ direction: {
2497
+ type: String,
2498
+ default: "horizontal"
2499
+ },
2500
+ ...Ft(Qe({
2501
+ selectedClass: "v-tab--selected",
2502
+ variant: "text"
2503
+ }), ["active", "block", "flat", "location", "position", "symbol"])
2504
+ }, "VTab"), ae = rt()({
2505
+ name: "VTab",
2506
+ props: ra(),
2507
+ setup(t, e) {
2508
+ let {
2509
+ slots: s,
2510
+ attrs: i
2511
+ } = e;
2512
+ const {
2513
+ textColorClasses: n,
2514
+ textColorStyles: k
2515
+ } = Ve(t, "sliderColor"), d = F(), r = F(), v = b(() => t.direction === "horizontal"), m = b(() => d.value?.group?.isSelected.value ?? !1);
2516
+ function T(A) {
2517
+ let {
2518
+ value: R
2519
+ } = A;
2520
+ if (R) {
2521
+ const z = d.value?.$el.parentElement?.querySelector(".v-tab--selected .v-tab__slider"), u = r.value;
2522
+ if (!z || !u) return;
2523
+ const g = getComputedStyle(z).color, H = z.getBoundingClientRect(), E = u.getBoundingClientRect(), M = v.value ? "x" : "y", N = v.value ? "X" : "Y", Z = v.value ? "right" : "bottom", _ = v.value ? "width" : "height", $ = H[M], j = E[M], U = $ > j ? H[Z] - E[Z] : H[M] - E[M], nt = Math.sign(U) > 0 ? v.value ? "right" : "bottom" : Math.sign(U) < 0 ? v.value ? "left" : "top" : "center", J = (Math.abs(U) + (Math.sign(U) < 0 ? H[_] : E[_])) / Math.max(H[_], E[_]) || 0, c = H[_] / E[_] || 0, V = 1.5;
2524
+ Ae(u, {
2525
+ backgroundColor: [g, "currentcolor"],
2526
+ transform: [`translate${N}(${U}px) scale${N}(${c})`, `translate${N}(${U / V}px) scale${N}(${(J - 1) / V + 1})`, "none"],
2527
+ transformOrigin: Array(3).fill(nt)
2528
+ }, {
2529
+ duration: 225,
2530
+ easing: Le
2531
+ });
2532
+ }
2533
+ }
2534
+ return ct(() => {
2535
+ const A = st.filterProps(t);
2536
+ return o(st, q({
2537
+ symbol: wt,
2538
+ ref: d,
2539
+ class: ["v-tab", t.class],
2540
+ style: t.style,
2541
+ tabindex: m.value ? 0 : -1,
2542
+ role: "tab",
2543
+ "aria-selected": String(m.value),
2544
+ active: !1
2545
+ }, A, i, {
2546
+ block: t.fixed,
2547
+ maxWidth: t.fixed ? 300 : void 0,
2548
+ "onGroup:selected": T
2549
+ }), {
2550
+ ...s,
2551
+ default: () => o(B, null, [s.default?.() ?? t.text, !t.hideSlider && o("div", {
2552
+ ref: r,
2553
+ class: ["v-tab__slider", n.value],
2554
+ style: k.value
2555
+ }, null)])
2556
+ });
2557
+ }), no({}, d);
2558
+ }
2559
+ }), ua = ut({
2560
+ ...Ft(lo(), ["continuous", "nextIcon", "prevIcon", "showArrows", "touch", "mandatory"])
2561
+ }, "VTabsWindow"), se = rt()({
2562
+ name: "VTabsWindow",
2563
+ props: ua(),
2564
+ emits: {
2565
+ "update:modelValue": (t) => !0
2566
+ },
2567
+ setup(t, e) {
2568
+ let {
2569
+ slots: s
2570
+ } = e;
2571
+ const i = Se(wt, null), n = mt(t, "modelValue"), k = b({
2572
+ get() {
2573
+ return n.value != null || !i ? n.value : i.items.value.find((d) => i.selected.value.includes(d.id))?.value;
2574
+ },
2575
+ set(d) {
2576
+ n.value = d;
2577
+ }
2578
+ });
2579
+ return ct(() => {
2580
+ const d = Et.filterProps(t);
2581
+ return o(Et, q({
2582
+ _as: "VTabsWindow"
2583
+ }, d, {
2584
+ modelValue: k.value,
2585
+ "onUpdate:modelValue": (r) => k.value = r,
2586
+ class: ["v-tabs-window", t.class],
2587
+ style: t.style,
2588
+ mandatory: !1,
2589
+ touch: !1
2590
+ }), s);
2591
+ }), {};
2592
+ }
2593
+ }), ca = ut({
2594
+ ...ro()
2595
+ }, "VTabsWindowItem"), Ct = rt()({
2596
+ name: "VTabsWindowItem",
2597
+ props: ca(),
2598
+ setup(t, e) {
2599
+ let {
2600
+ slots: s
2601
+ } = e;
2602
+ return ct(() => {
2603
+ const i = Vt.filterProps(t);
2604
+ return o(Vt, q({
2605
+ _as: "VTabsWindowItem"
2606
+ }, i, {
2607
+ class: ["v-tabs-window-item", t.class],
2608
+ style: t.style
2609
+ }), s);
2610
+ }), {};
2611
+ }
2612
+ });
2613
+ function da(t) {
2614
+ return t ? t.map((e) => we(e) ? e : {
2615
+ text: e,
2616
+ value: e
2617
+ }) : [];
2618
+ }
2619
+ const ma = ut({
2620
+ alignTabs: {
2621
+ type: String,
2622
+ default: "start"
2623
+ },
2624
+ color: String,
2625
+ fixedTabs: Boolean,
2626
+ items: {
2627
+ type: Array,
2628
+ default: () => []
2629
+ },
2630
+ stacked: Boolean,
2631
+ bgColor: String,
2632
+ grow: Boolean,
2633
+ height: {
2634
+ type: [Number, String],
2635
+ default: void 0
2636
+ },
2637
+ hideSlider: Boolean,
2638
+ sliderColor: String,
2639
+ ...uo({
2640
+ mandatory: "force",
2641
+ selectedClass: "v-tab-item--selected"
2642
+ }),
2643
+ ...xe(),
2644
+ ...ze()
2645
+ }, "VTabs"), fa = rt()({
2646
+ name: "VTabs",
2647
+ props: ma(),
2648
+ emits: {
2649
+ "update:modelValue": (t) => !0
2650
+ },
2651
+ setup(t, e) {
2652
+ let {
2653
+ attrs: s,
2654
+ slots: i
2655
+ } = e;
2656
+ const n = mt(t, "modelValue"), k = b(() => da(t.items)), {
2657
+ densityClasses: d
2658
+ } = Fe(t), {
2659
+ backgroundColorClasses: r,
2660
+ backgroundColorStyles: v
2661
+ } = $e(tt(t, "bgColor")), {
2662
+ scopeId: m
2663
+ } = De();
2664
+ return Ie({
2665
+ VTab: {
2666
+ color: tt(t, "color"),
2667
+ direction: tt(t, "direction"),
2668
+ stacked: tt(t, "stacked"),
2669
+ fixed: tt(t, "fixedTabs"),
2670
+ sliderColor: tt(t, "sliderColor"),
2671
+ hideSlider: tt(t, "hideSlider")
2672
+ }
2673
+ }), ct(() => {
2674
+ const T = At.filterProps(t), A = !!(i.window || t.items.length > 0);
2675
+ return o(B, null, [o(At, q(T, {
2676
+ modelValue: n.value,
2677
+ "onUpdate:modelValue": (R) => n.value = R,
2678
+ class: ["v-tabs", `v-tabs--${t.direction}`, `v-tabs--align-tabs-${t.alignTabs}`, {
2679
+ "v-tabs--fixed-tabs": t.fixedTabs,
2680
+ "v-tabs--grow": t.grow,
2681
+ "v-tabs--stacked": t.stacked
2682
+ }, d.value, r.value, t.class],
2683
+ style: [{
2684
+ "--v-tabs-height": _e(t.height)
2685
+ }, v.value, t.style],
2686
+ role: "tablist",
2687
+ symbol: wt
2688
+ }, m, s), {
2689
+ default: () => [i.default?.() ?? k.value.map((R) => i.tab?.({
2690
+ item: R
2691
+ }) ?? o(ae, q(R, {
2692
+ key: R.text,
2693
+ value: R.value
2694
+ }), {
2695
+ default: i[`tab.${R.value}`] ? () => i[`tab.${R.value}`]?.({
2696
+ item: R
2697
+ }) : void 0
2698
+ }))]
2699
+ }), A && o(se, q({
2700
+ modelValue: n.value,
2701
+ "onUpdate:modelValue": (R) => n.value = R,
2702
+ key: "tabs-window"
2703
+ }, m), {
2704
+ default: () => [k.value.map((R) => i.item?.({
2705
+ item: R
2706
+ }) ?? o(Ct, {
2707
+ value: R.value
2708
+ }, {
2709
+ default: () => i[`item.${R.value}`]?.({
2710
+ item: R
2711
+ })
2712
+ })), i.window?.()]
2713
+ })]);
2714
+ }), {};
2715
+ }
2716
+ }), ba = { class: "bg-white" }, pa = { key: 0 };
2717
+ function va(t, e, s, i, n, k) {
2718
+ const d = ot("HotelRoomOfferListEmpty"), r = ot("HotelRoomOfferItem"), v = ot("HotelRoomOfferBasket");
2719
+ return l(), f("div", ba, [
2720
+ t.isBookingApiClientDefined ? (l(), f(B, { key: 1 }, [
2721
+ t.hasError ? (l(), S(d, {
2722
+ key: "error",
2723
+ boilerplate: "",
2724
+ type: "internalError"
2725
+ })) : t.showSkeleton ? (l(), S(d, { key: "skeleton" })) : t.packageHotelRoomOffers && t.packageHotelRoomOffers.length ? (l(), f(B, { key: 2 }, [
2726
+ t.hotelRoomHotelRoomOffers.length ? I("", !0) : (l(), f("div", pa)),
2727
+ t.isLoading ? (l(), S(Ge, {
2728
+ key: 1,
2729
+ class: "loader position-absolute",
2730
+ color: "secondary",
2731
+ indeterminate: ""
2732
+ })) : I("", !0),
2733
+ t.hotelRoomHotelRoomOffers && t.hotelRoomHotelRoomOffers.length ? (l(), f(B, { key: 2 }, [
2734
+ o(fa, {
2735
+ color: "primary",
2736
+ density: "compact",
2737
+ modelValue: t.tab,
2738
+ "onUpdate:modelValue": e[0] || (e[0] = (m) => t.tab = m),
2739
+ grow: ""
2740
+ }, {
2741
+ default: a(() => [
2742
+ (l(!0), f(B, null, W(t.tabItems, (m) => (l(), f(B, { key: m }, [
2743
+ o(ae, null, {
2744
+ default: a(() => [
2745
+ w(C(t.t(`HotelRoomOfferList.${m}.title`)), 1)
2746
+ ]),
2747
+ _: 2
2748
+ }, 1024),
2749
+ o(Q, { vertical: "" })
2750
+ ], 64))), 128))
2751
+ ]),
2752
+ _: 1
2753
+ }, 8, ["modelValue"]),
2754
+ o(se, {
2755
+ modelValue: t.tab,
2756
+ "onUpdate:modelValue": e[1] || (e[1] = (m) => t.tab = m),
2757
+ class: "overflow-visible"
2758
+ }, {
2759
+ default: a(() => [
2760
+ o(Ct, { class: "pt-3" }, {
2761
+ default: a(() => [
2762
+ (l(!0), f(B, null, W(t.packageHotelRoomOffers, (m, T) => (l(), f(B, {
2763
+ key: m.id
2764
+ }, [
2765
+ T > 0 ? (l(), S(Q, { key: 0 })) : I("", !0),
2766
+ o(r, q({ ref_for: !0 }, m, {
2767
+ onBreakfastChange: t.onBreakfastChange,
2768
+ onBookingPolicyFailed: t.onBookingPolicyFailed
2769
+ }), null, 16, ["onBreakfastChange", "onBookingPolicyFailed"])
2770
+ ], 64))), 128))
2771
+ ]),
2772
+ _: 1
2773
+ }),
2774
+ o(Ct, { class: "pt-3 pb-5" }, {
2775
+ default: a(() => [
2776
+ o(v, { "hotel-id": t.hotelId }, null, 8, ["hotel-id"])
2777
+ ]),
2778
+ _: 1
2779
+ })
2780
+ ]),
2781
+ _: 1
2782
+ }, 8, ["modelValue"])
2783
+ ], 64)) : (l(!0), f(B, { key: 3 }, W(t.packageHotelRoomOffers, (m, T) => (l(), f(B, {
2784
+ key: m.id
2785
+ }, [
2786
+ T > 0 ? (l(), S(Q, { key: 0 })) : I("", !0),
2787
+ o(r, q({ ref_for: !0 }, m, {
2788
+ onBreakfastChange: t.onBreakfastChange,
2789
+ onBookingPolicyFailed: t.onBookingPolicyFailed
2790
+ }), null, 16, ["onBreakfastChange", "onBookingPolicyFailed"])
2791
+ ], 64))), 128))
2792
+ ], 64)) : !t.packageHotelRoomOffers || !t.packageHotelRoomOffers.length ? (l(), S(d, {
2793
+ key: "skeleton",
2794
+ boilerplate: "",
2795
+ type: "noResults"
2796
+ })) : I("", !0)
2797
+ ], 64)) : (l(), f(B, { key: 0 }, [], 64))
2798
+ ]);
2799
+ }
2800
+ typeof Nt == "function" && Nt(oe);
2801
+ const Fa = /* @__PURE__ */ it(oe, [["render", va], ["__scopeId", "data-v-e71fbea6"]]);
2802
+ ne("css/revolugo.hotelroomofferlist.BYvQZ5P2.css");
2803
+ export {
2804
+ Ot as B,
2805
+ Fa as H,
2806
+ ee as a,
2807
+ la as h,
2808
+ po as r,
2809
+ ho as u
2810
+ };
2811
+ //# sourceMappingURL=revolugo.hotelroomofferlist.BDmmTZzY.min.js.map