@revolugo/elements 6.8.3-beta.11 → 6.8.3-beta.13

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 (122) hide show
  1. package/dist/css/revolugo.bhoteloffersfilterbar.BP8bd417.css +1 -0
  2. package/dist/css/revolugo.bimagecarousel.BxIL_xDV.css +1 -0
  3. package/dist/css/revolugo.creditcardform.BXv0c3zQ.css +1 -0
  4. package/dist/css/revolugo.hoteloffersmap.CdDZxzE3.css +1 -0
  5. package/dist/css/revolugo.hotelroomofferlist.C1uw1vfC.css +1 -0
  6. package/dist/css/revolugo.hotelroomoffersbookingflow.nFiRmYyk.css +1 -0
  7. package/dist/css/revolugo.prebookform.BqSw27Yj.css +1 -0
  8. package/dist/css/revolugo.vtextarea.BTR7f0gW.css +1 -0
  9. package/dist/{revolugo._baseiteratee.DP92zxle.min.js → revolugo._baseiteratee.cBR9c7y0.min.js} +2 -2
  10. package/dist/{revolugo.banktransferdetails.Clt6zoWY.min.js → revolugo.banktransferdetails.COKZxUgl.min.js} +10 -10
  11. package/dist/{revolugo.bdaterangepicker.DIZJ8RP6.min.js → revolugo.bdaterangepicker.DTHAdEo_.min.js} +5 -5
  12. package/dist/{revolugo.bformattedamount.vue_vue_type_script_setup_true_lang.CDRQwrv7.min.js → revolugo.bformattedamount.vue_vue_type_script_setup_true_lang.CSkPq_d5.min.js} +2 -2
  13. package/dist/{revolugo.bhoteloffersfilterbar.B_jLAORy.min.js → revolugo.bhoteloffersfilterbar.WV1ViyRw.min.js} +2391 -3078
  14. package/dist/{revolugo.bhotelroomsdetails.CNHF038L.min.js → revolugo.bhotelroomsdetails.Du1N0UAf.min.js} +11 -11
  15. package/dist/revolugo.bimagecarousel.CBxDqlvz.min.js +480 -0
  16. package/dist/{revolugo.bookingdetailssidebar.BvjQVRA_.min.js → revolugo.bookingdetailssidebar.DPhWTa8q.min.js} +4 -4
  17. package/dist/{revolugo.bookingdetailssidebar.vue_vue_type_script_setup_true_lang.B4RC_YAC.min.js → revolugo.bookingdetailssidebar.vue_vue_type_script_setup_true_lang.CFy72I3H.min.js} +213 -243
  18. package/dist/{revolugo.bookingmanager.CghMJdqz.min.js → revolugo.bookingmanager.DU11HnFM.min.js} +20 -20
  19. package/dist/{revolugo.bpricesummaryskeleton.vue_vue_type_script_setup_true_lang.Db_ACG1H.min.js → revolugo.bpricesummaryskeleton.vue_vue_type_script_setup_true_lang.O_acR9ze.min.js} +3 -3
  20. package/dist/{revolugo.bstarrating.vue_vue_type_script_setup_true_lang.CT_6nJxo.min.js → revolugo.bstarrating.vue_vue_type_script_setup_true_lang.CsJ-qnww.min.js} +7 -7
  21. package/dist/{revolugo.btag.7A6HnkUR.min.js → revolugo.btag.C62gPpXY.min.js} +20 -20
  22. package/dist/{revolugo.cancellationpoliciesbadge.RmBkzruq.min.js → revolugo.cancellationpoliciesbadge.2POZ-HT5.min.js} +7 -7
  23. package/dist/{revolugo.cancellationpoliciesbadge.D6FHfa0I.min.js → revolugo.cancellationpoliciesbadge.Ct0ngoDp.min.js} +4 -4
  24. package/dist/{revolugo.cancellationpolicieslist._M2P5eAM.min.js → revolugo.cancellationpolicieslist.B3anYVoy.min.js} +3 -3
  25. package/dist/{revolugo.cancellationpolicieslist.DfOXzNMU.min.js → revolugo.cancellationpolicieslist.CXfbgIoX.min.js} +4 -4
  26. package/dist/{revolugo.case-transformers.1_jOatQm.min.js → revolugo.case-transformers.BwQ_6ytS.min.js} +2 -2
  27. package/dist/{revolugo.creditcardform.BBaq6YmN.min.js → revolugo.creditcardform.Bk7yeZle.min.js} +196 -196
  28. package/dist/{revolugo.creditcardform.CTFNLH8J.min.js → revolugo.creditcardform.CLPMa22X.min.js} +4 -4
  29. package/dist/{revolugo.creditcardpayment.D4RSffRi.min.js → revolugo.creditcardpayment.16l0_Jf7.min.js} +16 -16
  30. package/dist/{revolugo.creditcardpayment.BxrVjLuU.min.js → revolugo.creditcardpayment.8uLeCSFY.min.js} +4 -4
  31. package/dist/{revolugo.currencypicker.CMJz4vqd.min.js → revolugo.currencypicker.C2vrmj29.min.js} +14 -14
  32. package/dist/{revolugo.currencypickerbtn.cUc7CL2Y.min.js → revolugo.currencypickerbtn.D-_ebAdx.min.js} +9 -9
  33. package/dist/{revolugo.currencypickerbtn.BY9oouTZ.min.js → revolugo.currencypickerbtn.oOaJl4xV.min.js} +4 -4
  34. package/dist/{revolugo.dates.DPQNmLzk.min.js → revolugo.dates.CjcXQ0GW.min.js} +2 -2
  35. package/dist/{revolugo.defaultsdeep.BVE67mfz.min.js → revolugo.defaultsdeep.BeZIlIB3.min.js} +2 -2
  36. package/dist/{revolugo.dialog-attach.YVQZM1DK.min.js → revolugo.dialog-attach.BhhnSZUl.min.js} +2 -2
  37. package/dist/{revolugo.dialog-transition.oQAo2-et.min.js → revolugo.dialog-transition.FTaI_Ytg.min.js} +3 -3
  38. package/dist/{revolugo.fastbookingflow.CENJomA1.min.js → revolugo.fastbookingflow.BEvuz8TE.min.js} +4 -4
  39. package/dist/{revolugo.fullbookingflow.CbLd9Lyf.min.js → revolugo.fullbookingflow.Cqc7o02c.min.js} +17 -17
  40. package/dist/{revolugo.hotel-offer-request.C1AKWroC.min.js → revolugo.hotel-offer-request.aeZsBIhG.min.js} +2 -2
  41. package/dist/{revolugo.hoteldescriptionview.BMdDyGVt.min.js → revolugo.hoteldescriptionview.Cc34IdcB.min.js} +22 -22
  42. package/dist/{revolugo.hoteldescriptionview._OO7w9zd.min.js → revolugo.hoteldescriptionview.bwCbJ_Lc.min.js} +4 -4
  43. package/dist/{revolugo.hotelofferitemlayout.vue_vue_type_script_setup_true_lang.DLrZACAp.min.js → revolugo.hotelofferitemlayout.vue_vue_type_script_setup_true_lang.CmUguFEO.min.js} +7 -7
  44. package/dist/{revolugo.hotelofferlist.Dh5vDJMe.min.js → revolugo.hotelofferlist.BjxZDBqQ.min.js} +4 -4
  45. package/dist/{revolugo.hotelofferlist.CFoAnyrB.min.js → revolugo.hotelofferlist.BvbLSbsN.min.js} +2855 -2870
  46. package/dist/{revolugo.hoteloffersearchmenu.CiJQ2M0P.min.js → revolugo.hoteloffersearchmenu.BJ-JtltU.min.js} +6 -6
  47. package/dist/{revolugo.hoteloffersearchmenuui.BgvuHVW2.min.js → revolugo.hoteloffersearchmenuui.EO_TtRM1.min.js} +31 -31
  48. package/dist/{revolugo.hoteloffersmap.BZKdMCGn.min.js → revolugo.hoteloffersmap.CXSkWGLL.min.js} +4 -4
  49. package/dist/{revolugo.hoteloffersmap.COupnZUn.min.js → revolugo.hoteloffersmap.CwRdoBFO.min.js} +2532 -1845
  50. package/dist/{revolugo.hoteloffersview.CqRz5ApR.min.js → revolugo.hoteloffersview.Bldot7ii.min.js} +4 -4
  51. package/dist/{revolugo.hoteloffersview.CuZN1LQf.min.js → revolugo.hoteloffersview.DmZBFwbi.min.js} +16 -16
  52. package/dist/{revolugo.hotelroomofferlist.CgSm4Pl8.min.js → revolugo.hotelroomofferlist.BMzSnIk0.min.js} +566 -566
  53. package/dist/{revolugo.hotelroomofferlist.BYsGBpdF.min.js → revolugo.hotelroomofferlist.BfIOXkSe.min.js} +4 -4
  54. package/dist/{revolugo.hotelroomofferrequestcreator.props.C_C-Y_h9.min.js → revolugo.hotelroomofferrequestcreator.props.C6XfAEF1.min.js} +2 -2
  55. package/dist/{revolugo.hotelroomoffersbookingflow.DFwr-egM.min.js → revolugo.hotelroomoffersbookingflow.NFAeeps4.min.js} +923 -923
  56. package/dist/{revolugo.hotelroomoffersearchmenu.X_iQ8R5P.min.js → revolugo.hotelroomoffersearchmenu.6fvMlU9I.min.js} +5 -5
  57. package/dist/{revolugo.hotelroomoffersearchmenu.BrzWEHwB.min.js → revolugo.hotelroomoffersearchmenu.DdtWQl8T.min.js} +8 -8
  58. package/dist/{revolugo.hotelroomoffersview.DQ2GcKPC.min.js → revolugo.hotelroomoffersview.BYJ5V84k.min.js} +12 -12
  59. package/dist/{revolugo.hotelroomoffersview.Cxe-LHyu.min.js → revolugo.hotelroomoffersview.CvL5egT6.min.js} +4 -4
  60. package/dist/{revolugo.index.28pb9NJA.min.js → revolugo.index.BEuxTkkV.min.js} +74 -74
  61. package/dist/{revolugo.index.BehZHE-w.min.js → revolugo.index.DW0gTseB.min.js} +6 -6
  62. package/dist/{revolugo.index.wc.BHVSqGrC.min.js → revolugo.index.wc.ChJWkzSz.min.js} +97 -97
  63. package/dist/{revolugo.langpicker.Ddak_l7M.min.js → revolugo.langpicker.C3WkV6vL.min.js} +5 -5
  64. package/dist/{revolugo.langpickerbtn.CNBIiZHd.min.js → revolugo.langpickerbtn.Big2FR0-.min.js} +10 -10
  65. package/dist/{revolugo.langpickerbtn.BzcFSIDj.min.js → revolugo.langpickerbtn.BtNmwMy5.min.js} +4 -4
  66. package/dist/revolugo.min.js +1 -1
  67. package/dist/{revolugo.parsed-props.CC-0bCLh.min.js → revolugo.parsed-props.CKrOq6vN.min.js} +4 -4
  68. package/dist/{revolugo.pathify.MnSO6lNi.min.js → revolugo.pathify.BXdI-Fp4.min.js} +2 -2
  69. package/dist/{revolugo.prebookform.Db-cKSs4.min.js → revolugo.prebookform.Bt4-Cptm.min.js} +4 -4
  70. package/dist/{revolugo.vtextarea.CpyjIdYe.min.js → revolugo.prebookform.DLNVSLoS.min.js} +2334 -1053
  71. package/dist/{revolugo.roominglisteditor.BQP7XwJk.min.js → revolugo.roominglisteditor.CQzIDZtG.min.js} +4 -4
  72. package/dist/{revolugo.roominglisteditor.CPYUR_4D.min.js → revolugo.roominglisteditor.w3dcygO-.min.js} +95 -103
  73. package/dist/{revolugo.rounded.BQUpkgY5.min.js → revolugo.rounded.TLykrsW-.min.js} +2 -2
  74. package/dist/{revolugo.ssrboot.oiwB_u4B.min.js → revolugo.ssrboot.B7Rop2QP.min.js} +2 -2
  75. package/dist/{revolugo.storybooktoolbar.pzZNLsbl.min.js → revolugo.storybooktoolbar.C-phKw4Y.min.js} +18 -18
  76. package/dist/{revolugo.termsandconditions.CVoc4wCL.min.js → revolugo.termsandconditions.BT6qdQad.min.js} +4 -4
  77. package/dist/revolugo.termsandconditions.Bo6ToP4B.min.js +405 -0
  78. package/dist/{revolugo.use-breakpoint-service.DCoxta_9.min.js → revolugo.use-breakpoint-service.CgKRPcVE.min.js} +3 -3
  79. package/dist/{revolugo.use-dialog-attach.B2t5QnKl.min.js → revolugo.use-dialog-attach.EGF5pKTl.min.js} +3 -3
  80. package/dist/revolugo.use-html-element.Bvmaeg1E.min.js +11 -0
  81. package/dist/{revolugo.use-parsed-props.DhDLqZ_E.min.js → revolugo.use-parsed-props.DL26tjRL.min.js} +3 -3
  82. package/dist/{revolugo.vautocomplete.DbuVpE77.min.js → revolugo.vautocomplete.C1ryjPoI.min.js} +31 -31
  83. package/dist/{revolugo.vbadge.BIU8KaMW.min.js → revolugo.vbadge.BFTNHKkx.min.js} +15 -15
  84. package/dist/{revolugo.vbtn.IUxF2ME5.min.js → revolugo.vbtn.Cw5eo1Xx.min.js} +17 -17
  85. package/dist/{revolugo.vcard.DAHM1t48.min.js → revolugo.vcard.DlI6Moiv.min.js} +23 -23
  86. package/dist/{revolugo.vcheckboxbtn.D5F58CoS.min.js → revolugo.vcheckboxbtn.Bc0xhmo2.min.js} +39 -39
  87. package/dist/{revolugo.vdialog.BQTEd3ge.min.js → revolugo.vdialog.up-Y8p7U.min.js} +7 -7
  88. package/dist/{revolugo.vdivider.BQ1hnmkI.min.js → revolugo.vdivider.CaptbTLL.min.js} +8 -8
  89. package/dist/{revolugo.vexpansionpanels.Dq2DJxg3.min.js → revolugo.vexpansionpanels.DeQCpMrB.min.js} +19 -19
  90. package/dist/{revolugo.vform.Dh0L7FRS.min.js → revolugo.vform.Cix7vOUg.min.js} +4 -4
  91. package/dist/{revolugo.vicon.9kLwN_wf.min.js → revolugo.vicon.BebzkIu9.min.js} +9 -9
  92. package/dist/{revolugo.vinput.VG8tTs4n.min.js → revolugo.vinput.BP0DAwB4.min.js} +38 -38
  93. package/dist/{revolugo.vlabel.KHqsrczG.min.js → revolugo.vlabel.BLwMEYcT.min.js} +3 -3
  94. package/dist/{revolugo.vlist.BR2uF_Ge.min.js → revolugo.vlist.BQB5ovkZ.min.js} +63 -63
  95. package/dist/{revolugo.vmenu.BnCJVuKZ.min.js → revolugo.vmenu.Bkfr0AZ8.min.js} +18 -18
  96. package/dist/{revolugo.vselect.gYsgWdrC.min.js → revolugo.vselect.CnEh8cV1.min.js} +87 -87
  97. package/dist/{revolugo.vsheet.B_wHziRR.min.js → revolugo.vsheet.3Q2yGw6P.min.js} +14 -14
  98. package/dist/{revolugo.vskeletonloader.CSovekwH.min.js → revolugo.vskeletonloader.Duv2gHal.min.js} +13 -13
  99. package/dist/{revolugo.vslidegroup.B4lxpAeu.min.js → revolugo.vslidegroup.DRWO8Opf.min.js} +21 -21
  100. package/dist/{revolugo.vsnackbar.Cg_I8qLG.min.js → revolugo.vsnackbar.IdM-bZTD.min.js} +29 -29
  101. package/dist/revolugo.vspacer.C-OarNi7.min.js +7 -0
  102. package/dist/revolugo.vtextarea.Dm9Cp0hC.min.js +240 -0
  103. package/dist/{revolugo.vtextfield.BFV9zA-d.min.js → revolugo.vtextfield.CJVqkfB9.min.js} +49 -49
  104. package/dist/{revolugo.vtoolbar.BUusfthT.min.js → revolugo.vtoolbar.DvuDs2yB.min.js} +17 -17
  105. package/dist/{revolugo.vtooltip.TpoT-GCL.min.js → revolugo.vtooltip.64CgkEK4.min.js} +6 -6
  106. package/dist/{revolugo.vwindowitem.ADlNaenF.min.js → revolugo.vwindowitem.qKodFAHS.min.js} +25 -25
  107. package/dist/{revolugo.watch-list.7eKmD-Cq.min.js → revolugo.watch-list.0WSknWRu.min.js} +2 -2
  108. package/dist/{revolugo.webcomponentwrapper.D9BPl-Pm.min.js → revolugo.webcomponentwrapper.BXqP9KYd.min.js} +67 -67
  109. package/package.json +1 -1
  110. package/dist/css/revolugo.bhoteloffersfilterbar.CekxoJmW.css +0 -1
  111. package/dist/css/revolugo.bimagecarousel.B2SxWMbZ.css +0 -1
  112. package/dist/css/revolugo.creditcardform.DWne0Lnv.css +0 -1
  113. package/dist/css/revolugo.hoteloffersmap.Cp2vN-VQ.css +0 -1
  114. package/dist/css/revolugo.hotelroomofferlist.BYvQZ5P2.css +0 -1
  115. package/dist/css/revolugo.hotelroomoffersbookingflow.LHa5iHB7.css +0 -1
  116. package/dist/css/revolugo.prebookform.BAOv_-Iq.css +0 -1
  117. package/dist/css/revolugo.vtextarea.Dxy6uSvm.css +0 -1
  118. package/dist/revolugo.bimagecarousel.BgFg06KV.min.js +0 -566
  119. package/dist/revolugo.prebookform.Y0RZLTMq.min.js +0 -1527
  120. package/dist/revolugo.termsandconditions.B3BUBkTZ.min.js +0 -405
  121. package/dist/revolugo.use-html-element.3dud1iQV.min.js +0 -11
  122. package/dist/revolugo.vspacer.WeQ8VCNg.min.js +0 -7
@@ -1,20 +1,20 @@
1
- import { a as Ve, h as Ee, H as Be } from "./revolugo.hotelroomoffersview.DQ2GcKPC.min.js";
2
- import { P as Oe, p as Ie, a as Te } from "./revolugo.prebookform.Y0RZLTMq.min.js";
3
- import { G as Re, d as x, al as Ce, u as _e, E as S, a2 as V, a1 as _, ag as Fe, a as t, H as d, J as Me, aH as De, a3 as P, an as He, a6 as Le, D as C, aa as $e, aU as Ae, aY as Ne, aZ as J, aV as ze, a_ as We, aW as qe, F as pe, c as g, w as i, k as X, B as Ue, g as B, b as f, e as y, t as h, i as T, aX as Ge, o as p, n as xe, h as Ye } from "./revolugo.index.wc.BHVSqGrC.min.js";
4
- import { a as je } from "./revolugo.hotelroomoffersearchmenu.BrzWEHwB.min.js";
5
- import { C as Ke } from "./revolugo.creditcardpayment.D4RSffRi.min.js";
6
- import { p as Ze } from "./revolugo.parsed-props.CC-0bCLh.min.js";
7
- import { s as Q } from "./revolugo.common.D-l8b0V5.min.js";
8
- import { a as ee } from "./revolugo.bformattedamount.vue_vue_type_script_setup_true_lang.CDRQwrv7.min.js";
9
- import { u as F, _ as fe, V as O, a as w, W as Je } from "./revolugo.webcomponentwrapper.D9BPl-Pm.min.js";
10
- import { V as I } from "./revolugo.vicon.9kLwN_wf.min.js";
11
- import { a as z } from "./revolugo.vbtn.IUxF2ME5.min.js";
12
- import { V as te } from "./revolugo.vsnackbar.Cg_I8qLG.min.js";
13
- import { a as oe, c as Xe, R as Qe, u as et, g as tt, h as ot, i as st, j as it, k as nt } from "./revolugo.index.28pb9NJA.min.js";
14
- import { V as se, m as at, a as ie, b as rt } from "./revolugo.vwindowitem.ADlNaenF.min.js";
15
- import { V as ne, m as lt } from "./revolugo.vsheet.B_wHziRR.min.js";
16
- import { V as G } from "./revolugo.vdivider.BQ1hnmkI.min.js";
17
- import { V as ut } from "./revolugo.vcheckboxbtn.D5F58CoS.min.js";
1
+ import { a as Ve, h as Ee, H as Be } from "./revolugo.hotelroomoffersview.BYJ5V84k.min.js";
2
+ import { P as Oe, p as Ie, a as Te } from "./revolugo.prebookform.DLNVSLoS.min.js";
3
+ import { a0 as V, $ as _, ae as Re, a as t, H as d, J as Ce, aG as _e, a1 as P, ap as Fe, a4 as Me, D as C, a8 as De, aL as $e, aY as Le, aZ as J, aM as He, a_ as Ae, aO as Ne, F as pe, G as ze, d as x, an as We, u as qe, E as S, c as g, w as i, k as Q, B as Ue, g as B, b as f, e as y, t as h, i as T, aP as Ge, o as p, n as xe, h as Ye } from "./revolugo.index.wc.ChJWkzSz.min.js";
4
+ import { a as je } from "./revolugo.hotelroomoffersearchmenu.DdtWQl8T.min.js";
5
+ import { C as Ke } from "./revolugo.creditcardpayment.16l0_Jf7.min.js";
6
+ import { p as Ze } from "./revolugo.parsed-props.CKrOq6vN.min.js";
7
+ import { s as X } from "./revolugo.common.D-l8b0V5.min.js";
8
+ import { a as ee } from "./revolugo.bformattedamount.vue_vue_type_script_setup_true_lang.CSkPq_d5.min.js";
9
+ import { u as F, _ as fe, V as O, a as w, W as Je } from "./revolugo.webcomponentwrapper.BXqP9KYd.min.js";
10
+ import { V as I } from "./revolugo.vicon.BebzkIu9.min.js";
11
+ import { a as z } from "./revolugo.vbtn.Cw5eo1Xx.min.js";
12
+ import { V as te } from "./revolugo.vsnackbar.IdM-bZTD.min.js";
13
+ import { a as oe, c as Qe, R as Xe, u as et, g as tt, h as ot, i as st, j as it, k as nt } from "./revolugo.index.BEuxTkkV.min.js";
14
+ import { V as se, m as at, a as ie, b as rt } from "./revolugo.vwindowitem.qKodFAHS.min.js";
15
+ import { V as ne, m as lt } from "./revolugo.vsheet.3Q2yGw6P.min.js";
16
+ import { V as G } from "./revolugo.vdivider.CaptbTLL.min.js";
17
+ import { V as ut } from "./revolugo.vcheckboxbtn.Bc0xhmo2.min.js";
18
18
  function Pe(e) {
19
19
  try {
20
20
  if (typeof document < "u") {
@@ -35,937 +35,937 @@ function Pe(e) {
35
35
  console.error("[revolugo-elements] ", o);
36
36
  }
37
37
  }
38
- const he = {
39
- HotelRoomOffersView: Ve,
40
- PrebookForm: Oe
41
- }, ve = {
42
- ...Ee,
43
- ...Re(Ie, ["bookingId", "bookingPolicyId", "hotelRoomOffer"]),
44
- features: {
45
- default: () => he,
46
- type: [Object, String]
38
+ const Y = Symbol.for("vuetify:v-stepper"), he = V({
39
+ color: String,
40
+ disabled: {
41
+ type: [Boolean, String],
42
+ default: !1
43
+ },
44
+ prevText: {
45
+ type: String,
46
+ default: "$vuetify.stepper.prev"
47
+ },
48
+ nextText: {
49
+ type: String,
50
+ default: "$vuetify.stepper.next"
47
51
  }
48
- }, L = 1e3, $ = 60 * L, A = 60 * $, ae = 24 * A, re = "abort", le = "end", ue = "progress", ce = "start", de = "visibilitychange", ct = x({
49
- beforeUnmount() {
50
- document.removeEventListener(
51
- de,
52
- this.handleVisibilityChange
53
- ), this.pause();
52
+ }, "VStepperActions"), ct = _()({
53
+ name: "VStepperActions",
54
+ props: he(),
55
+ emits: {
56
+ "click:prev": () => !0,
57
+ "click:next": () => !0
54
58
  },
55
- computed: {
56
- /**
57
- * Remaining days.
58
- * @returns {number} The computed value.
59
- */
60
- days() {
61
- return Math.floor(this.totalMilliseconds / ae);
62
- },
63
- /**
64
- * Remaining hours.
65
- * @returns {number} The computed value.
66
- */
67
- hours() {
68
- return Math.floor(
69
- this.totalMilliseconds % ae / A
70
- );
71
- },
72
- /**
73
- * Remaining milliseconds.
74
- * @returns {number} The computed value.
75
- */
76
- milliseconds() {
77
- return Math.floor(this.totalMilliseconds % L);
78
- },
79
- /**
80
- * Remaining minutes.
81
- * @returns {number} The computed value.
82
- */
83
- minutes() {
84
- return Math.floor(
85
- this.totalMilliseconds % A / $
86
- );
87
- },
88
- /**
89
- * Remaining seconds.
90
- * @returns {number} The computed value.
91
- */
92
- seconds() {
93
- return Math.floor(
94
- this.totalMilliseconds % $ / L
95
- );
96
- },
97
- /**
98
- * Total remaining days.
99
- * @returns {number} The computed value.
100
- */
101
- totalDays() {
102
- return this.days;
103
- },
104
- /**
105
- * Total remaining hours.
106
- * @returns {number} The computed value.
107
- */
108
- totalHours() {
109
- return Math.floor(this.totalMilliseconds / A);
110
- },
111
- /**
112
- * Total remaining minutes.
113
- * @returns {number} The computed value.
114
- */
115
- totalMinutes() {
116
- return Math.floor(this.totalMilliseconds / $);
117
- },
118
- /**
119
- * Total remaining seconds.
120
- * @returns {number} The computed value.
121
- */
122
- totalSeconds() {
123
- return Math.floor(this.totalMilliseconds / L);
59
+ setup(e, o) {
60
+ let {
61
+ emit: s,
62
+ slots: n
63
+ } = o;
64
+ const {
65
+ t: a
66
+ } = Re();
67
+ function r() {
68
+ s("click:prev");
69
+ }
70
+ function u() {
71
+ s("click:next");
124
72
  }
73
+ return F(() => {
74
+ const c = {
75
+ onClick: r
76
+ }, m = {
77
+ onClick: u
78
+ };
79
+ return t("div", {
80
+ class: "v-stepper-actions"
81
+ }, [t(oe, {
82
+ defaults: {
83
+ VBtn: {
84
+ disabled: ["prev", !0].includes(e.disabled),
85
+ text: a(e.prevText),
86
+ variant: "text"
87
+ }
88
+ }
89
+ }, {
90
+ default: () => [n.prev?.({
91
+ props: c
92
+ }) ?? t(z, c, null)]
93
+ }), t(oe, {
94
+ defaults: {
95
+ VBtn: {
96
+ color: e.color,
97
+ disabled: ["next", !0].includes(e.disabled),
98
+ text: a(e.nextText),
99
+ variant: "tonal"
100
+ }
101
+ }
102
+ }, {
103
+ default: () => [n.next?.({
104
+ props: m
105
+ }) ?? t(z, m, null)]
106
+ })]);
107
+ }), {};
108
+ }
109
+ }), ve = Qe("v-stepper-header"), dt = V({
110
+ color: String,
111
+ title: String,
112
+ subtitle: String,
113
+ complete: Boolean,
114
+ completeIcon: {
115
+ type: P,
116
+ default: "$complete"
125
117
  },
126
- data() {
127
- return {
128
- /**
129
- * Automatically pause the countdown when the document is hidden.
130
- * @type {boolean}
131
- */
132
- autoPauseOnHide: !1,
133
- /**
134
- * It is counting down.
135
- * @type {boolean}
136
- */
137
- counting: !1,
138
- /**
139
- * The absolute end time.
140
- * @type {number}
141
- */
142
- endTime: 0,
143
- /**
144
- * The request ID of the requestAnimationFrame.
145
- * @type {number}
146
- */
147
- requestId: 0,
148
- /**
149
- * The remaining milliseconds.
150
- * @type {number}
151
- */
152
- totalMilliseconds: 0
153
- };
118
+ editable: Boolean,
119
+ editIcon: {
120
+ type: P,
121
+ default: "$edit"
154
122
  },
155
- emits: [re, le, ue, ce],
156
- methods: {
157
- /**
158
- * Aborts the countdown.
159
- * @public
160
- * @emits Countdown#abort
161
- */
162
- abort() {
163
- this.counting && (this.pause(), this.counting = !1, this.emitEvents && this.$emit(re));
164
- },
165
- /**
166
- * Continues the countdown.
167
- * @private
168
- */
169
- continue() {
170
- if (!this.counting)
171
- return;
172
- const e = Math.min(this.totalMilliseconds, this.interval);
173
- if (e > 0) {
174
- let o, s;
175
- const n = (a) => {
176
- o || (o = a), s || (s = a);
177
- const r = a - o;
178
- r >= e || // Avoid losing time about one second per minute (now - prev ≈ 16ms) (#43)
179
- r + (a - s) / 2 >= e ? this.progress() : this.requestId = requestAnimationFrame(n), s = a;
180
- };
181
- this.requestId = requestAnimationFrame(n);
182
- } else
183
- this.end();
184
- },
185
- /**
186
- * Ends the countdown.
187
- * @public
188
- * @emits Countdown#end
189
- */
190
- end() {
191
- this.counting && (this.pause(), this.totalMilliseconds = 0, this.counting = !1, this.emitEvents && this.$emit(le));
192
- },
193
- /**
194
- * visibility change event handler.
195
- * @private
196
- */
197
- handleVisibilityChange() {
198
- switch (document.visibilityState) {
199
- case "visible":
200
- this.requestId === 0 && this.autoPauseOnHide && (this.update(), this.continue()), this.autoPauseOnHide = !1;
201
- break;
202
- case "hidden":
203
- this.requestId > 0 && (this.autoPauseOnHide = !0, this.pause());
204
- break;
205
- }
206
- },
207
- /**
208
- * Pauses the countdown.
209
- * @private
210
- */
211
- pause() {
212
- cancelAnimationFrame(this.requestId), this.requestId = 0;
213
- },
214
- /**
215
- * Progresses to countdown.
216
- * @private
217
- * @emits Countdown#progress
218
- */
219
- progress() {
220
- this.counting && (this.update(), this.emitEvents && this.totalMilliseconds > 0 && this.$emit(ue, {
221
- days: this.days,
222
- hours: this.hours,
223
- milliseconds: this.milliseconds,
224
- minutes: this.minutes,
225
- seconds: this.seconds,
226
- totalDays: this.totalDays,
227
- totalHours: this.totalHours,
228
- totalMilliseconds: this.totalMilliseconds,
229
- totalMinutes: this.totalMinutes,
230
- totalSeconds: this.totalSeconds
231
- }), this.continue());
232
- },
233
- /**
234
- * Restarts the count.
235
- * @public
236
- */
237
- restart() {
238
- this.pause(), this.totalMilliseconds = this.time, this.endTime = this.now() + this.time, this.counting = !1, this.start();
239
- },
240
- /**
241
- * Starts to countdown.
242
- * @public
243
- * @emits Countdown#start
244
- */
245
- start() {
246
- this.counting || (this.counting = !0, this.autoStart || (this.totalMilliseconds = this.time, this.endTime = this.now() + this.time), this.emitEvents && this.$emit(ce), document.visibilityState === "visible" && this.continue());
247
- },
248
- /**
249
- * Updates the count.
250
- * @private
251
- */
252
- update() {
253
- this.counting && (this.totalMilliseconds = Math.max(0, this.endTime - this.now()));
254
- }
255
- },
256
- mounted() {
257
- document.addEventListener(
258
- de,
259
- this.handleVisibilityChange
260
- );
261
- },
262
- name: "VueCountdown",
263
- props: {
264
- /**
265
- * Starts the countdown automatically when initialized.
266
- */
267
- autoStart: {
268
- default: !0,
269
- type: Boolean
270
- },
271
- /**
272
- * Emits the countdown events.
273
- */
274
- emitEvents: {
275
- default: !0,
276
- type: Boolean
277
- },
278
- /**
279
- * The interval time (in milliseconds) of the countdown progress.
280
- */
281
- interval: {
282
- default: 1e3,
283
- type: Number,
284
- validator: (e) => e >= 0
285
- },
286
- /**
287
- * Generate the current time of a specific time zone.
288
- */
289
- now: {
290
- default: () => Date.now(),
291
- type: Function
292
- },
293
- /**
294
- * The tag name of the component's root element.
295
- */
296
- tag: {
297
- default: "span",
298
- type: String
299
- },
300
- /**
301
- * The time (in milliseconds) to count down from.
302
- */
303
- time: {
304
- default: 0,
305
- type: Number,
306
- validator: (e) => e >= 0
307
- },
308
- /**
309
- * Transforms the output props before rendering.
310
- */
311
- transform: {
312
- default: (e) => e,
313
- type: Function
314
- }
123
+ error: Boolean,
124
+ errorIcon: {
125
+ type: P,
126
+ default: "$error"
315
127
  },
316
- render() {
317
- return Ce(
318
- this.tag,
319
- this.$slots.default ? [
320
- this.$slots.default(
321
- this.transform({
322
- days: this.days,
323
- hours: this.hours,
324
- milliseconds: this.milliseconds,
325
- minutes: this.minutes,
326
- seconds: this.seconds,
327
- totalDays: this.totalDays,
328
- totalHours: this.totalHours,
329
- totalMilliseconds: this.totalMilliseconds,
330
- totalMinutes: this.totalMinutes,
331
- totalSeconds: this.totalSeconds
332
- })
333
- )
334
- ] : void 0
335
- );
128
+ icon: P,
129
+ ripple: {
130
+ type: [Boolean, Object],
131
+ default: !0
336
132
  },
337
- watch: {
338
- $props: {
339
- deep: !0,
340
- /**
341
- * Update the countdown when props changed.
342
- */
343
- handler() {
344
- this.totalMilliseconds = this.time, this.endTime = this.now() + this.time, this.autoStart && this.start();
345
- },
346
- immediate: !0
347
- }
133
+ rules: {
134
+ type: Array,
135
+ default: () => []
348
136
  }
349
- });
350
- var ge = /* @__PURE__ */ ((e) => (e[e.Idle = 1] = "Idle", e[e.Payment = 3] = "Payment", e[e.PaymentRequested = 4] = "PaymentRequested", e[e.PaymentSuccessful = 5] = "PaymentSuccessful", e[e.PreBook = 2] = "PreBook", e))(ge || {});
351
- const be = x({
352
- components: {
353
- CreditCardPayment: Ke,
354
- HotelRoomOffersView: Be,
355
- PrebookForm: Te,
356
- VueCountdown: ct
137
+ }, "StepperItem"), mt = V({
138
+ ...dt(),
139
+ ...st()
140
+ }, "VStepperItem"), L = _()({
141
+ name: "VStepperItem",
142
+ directives: {
143
+ Ripple: Xe
357
144
  },
358
- computed: {
359
- backButtonLabel() {
360
- return [
361
- 2,
362
- 3
363
- /* Payment */
364
- ].includes(this.step) ? this.t("HotelRoomOffersBookingFlow.back") : this.t("HotelRoomOffersBookingFlow.makeNewBooking");
365
- },
366
- hotelRoomOffersViewProps() {
367
- const e = {
368
- ...this.lastRequest,
369
- ...this.$props,
370
- features: this.$props.features?.HotelRoomOffersView
371
- };
372
- return this.bookingPolicy && (e.adultCount = this.bookingPolicy.adultCount, e.children = this.bookingPolicy.children ?? null, e.checkInDate = this.bookingPolicy.checkInDate, e.checkOutDate = this.bookingPolicy.checkOutDate), e;
373
- },
374
- isWarningSnackarDisplayed() {
375
- return this.warningSnackbarMessages.length > 0;
376
- },
377
- prebookFormProps() {
378
- const e = {
379
- ...this.$props,
380
- ...this.lastRequest,
381
- ...this.formdata,
382
- features: this.$props.features?.PrebookForm
383
- };
384
- return this.bookingPolicy && (e.adultCount = this.bookingPolicy.adultCount, e.children = this.bookingPolicy.children ?? null, e.checkInDate = this.bookingPolicy.checkInDate, e.checkOutDate = this.bookingPolicy.checkOutDate), e;
385
- },
386
- transitionName() {
387
- return this.direction > 0 ? "slide-in" : "slide-out";
388
- }
145
+ props: mt(),
146
+ emits: {
147
+ "group:selected": (e) => !0
389
148
  },
390
- created() {
391
- this.$eventBus.$on(
392
- S.BookingPolicyCreated,
393
- this.onBookingPolicyCreated
394
- ), this.$eventBus.$on(
395
- S.HotelRoomOffersPriceIncreased,
396
- ([e, o]) => {
397
- this.warningSnackbarMessages.push(
398
- this.t("HotelRoomOffersBookingFlow.warnings.price", {
399
- from: ee({
400
- amount: o.taxIncludedPrice,
401
- currency: this.config.currency,
402
- locale: this.$i18n.locale
403
- }),
404
- to: ee({
405
- amount: e.taxIncludedPrice,
406
- currency: this.config.currency,
407
- locale: this.$i18n.locale
408
- })
409
- }).toString()
410
- );
149
+ setup(e, o) {
150
+ let {
151
+ slots: s
152
+ } = o;
153
+ const n = et(e, Y, !0), a = d(() => n?.value.value ?? e.value), r = d(() => e.rules.every((R) => R() === !0)), u = d(() => !e.disabled && e.editable), c = d(() => !e.disabled && e.editable), m = d(() => e.error || !r.value), b = d(() => e.complete || e.rules.length > 0 && r.value), l = d(() => m.value ? e.errorIcon : b.value ? e.completeIcon : n.isSelected.value && e.editable ? e.editIcon : e.icon), v = d(() => ({
154
+ canEdit: c.value,
155
+ hasError: m.value,
156
+ hasCompleted: b.value,
157
+ title: e.title,
158
+ subtitle: e.subtitle,
159
+ step: a.value,
160
+ value: e.value
161
+ }));
162
+ return F(() => {
163
+ const R = (!n || n.isSelected.value || b.value || c.value) && !m.value && !e.disabled, W = !!(e.title != null || s.title), M = !!(e.subtitle != null || s.subtitle);
164
+ function D() {
165
+ n?.toggle();
411
166
  }
412
- ), this.$eventBus.$on(S.CancellationPoliciesUpdated, () => {
413
- this.warningSnackbarMessages.push(
414
- this.t(
415
- "HotelRoomOffersBookingFlow.warnings.cancellationPolicies"
416
- ).toString()
417
- );
418
- }), this.$eventBus.$on(
419
- S.HotelRoomOfferRequestCreated,
420
- (e) => {
421
- this.lastRequest = e;
167
+ return Ce(t("button", {
168
+ class: ["v-stepper-item", {
169
+ "v-stepper-item--complete": b.value,
170
+ "v-stepper-item--disabled": e.disabled,
171
+ "v-stepper-item--error": m.value
172
+ }, n?.selectedClass.value],
173
+ disabled: !e.editable,
174
+ type: "button",
175
+ onClick: D
176
+ }, [u.value && tt(!0, "v-stepper-item"), t(ot, {
177
+ key: "stepper-avatar",
178
+ class: "v-stepper-item__avatar",
179
+ color: R ? e.color : void 0,
180
+ size: 24
181
+ }, {
182
+ default: () => [s.icon?.(v.value) ?? (l.value ? t(I, {
183
+ icon: l.value
184
+ }, null) : a.value)]
185
+ }), t("div", {
186
+ class: "v-stepper-item__content"
187
+ }, [W && t("div", {
188
+ key: "title",
189
+ class: "v-stepper-item__title"
190
+ }, [s.title?.(v.value) ?? e.title]), M && t("div", {
191
+ key: "subtitle",
192
+ class: "v-stepper-item__subtitle"
193
+ }, [s.subtitle?.(v.value) ?? e.subtitle]), s.default?.(v.value)])]), [[_e("ripple"), e.ripple && e.editable, null]]);
194
+ }), {};
195
+ }
196
+ }), pt = V({
197
+ ...De(at(), ["continuous", "nextIcon", "prevIcon", "showArrows", "touch", "mandatory"])
198
+ }, "VStepperWindow"), ft = _()({
199
+ name: "VStepperWindow",
200
+ props: pt(),
201
+ emits: {
202
+ "update:modelValue": (e) => !0
203
+ },
204
+ setup(e, o) {
205
+ let {
206
+ slots: s
207
+ } = o;
208
+ const n = Fe(Y, null), a = Me(e, "modelValue"), r = d({
209
+ get() {
210
+ return a.value != null || !n ? a.value : n.items.value.find((u) => n.selected.value.includes(u.id))?.value;
211
+ },
212
+ set(u) {
213
+ a.value = u;
422
214
  }
423
- ), this.$eventBus.$on(S.CurrencyUpdated, () => this.cancelBooking()), this.$eventBus.$on(S.BookingCreated, this.onBookingCreated), this.$eventBus.$on(S.PaymentSuccess, this.onPaymentSuccess), this.$eventBus.$on(S.PrebookForm, (e) => {
424
- this.formdata = e;
425
215
  });
426
- },
427
- data: () => ({
428
- STEPS: ge,
429
- booking: void 0,
430
- bookingPolicy: void 0,
431
- countdownSnackbar: !1,
432
- direction: 1,
433
- formdata: void 0,
434
- lastRequest: void 0,
435
- step: 1,
436
- warningSnackbarMessages: []
216
+ return F(() => {
217
+ const u = se.filterProps(e);
218
+ return t(se, C({
219
+ _as: "VStepperWindow"
220
+ }, u, {
221
+ modelValue: r.value,
222
+ "onUpdate:modelValue": (c) => r.value = c,
223
+ class: ["v-stepper-window", e.class],
224
+ style: e.style,
225
+ mandatory: !1,
226
+ touch: !1
227
+ }), s);
228
+ }), {};
229
+ }
230
+ }), ht = V({
231
+ ...rt()
232
+ }, "VStepperWindowItem"), vt = _()({
233
+ name: "VStepperWindowItem",
234
+ props: ht(),
235
+ setup(e, o) {
236
+ let {
237
+ slots: s
238
+ } = o;
239
+ return F(() => {
240
+ const n = ie.filterProps(e);
241
+ return t(ie, C({
242
+ _as: "VStepperWindowItem"
243
+ }, n, {
244
+ class: ["v-stepper-window-item", e.class],
245
+ style: e.style
246
+ }), s);
247
+ }), {};
248
+ }
249
+ }), gt = V({
250
+ altLabels: Boolean,
251
+ bgColor: String,
252
+ completeIcon: P,
253
+ editIcon: P,
254
+ editable: Boolean,
255
+ errorIcon: P,
256
+ hideActions: Boolean,
257
+ items: {
258
+ type: Array,
259
+ default: () => []
260
+ },
261
+ itemTitle: {
262
+ type: String,
263
+ default: "title"
264
+ },
265
+ itemValue: {
266
+ type: String,
267
+ default: "value"
268
+ },
269
+ nonLinear: Boolean,
270
+ flat: Boolean,
271
+ ...Ne()
272
+ }, "Stepper"), bt = V({
273
+ ...gt(),
274
+ ...nt({
275
+ mandatory: "force",
276
+ selectedClass: "v-stepper-item--selected"
437
277
  }),
438
- methods: {
439
- cancelBooking() {
440
- this.direction = -1, this.step = 1, this.bookingPolicy = void 0, this.booking = void 0, this.warningSnackbarMessages = [];
278
+ ...lt(),
279
+ ...Ae(he(), ["prevText", "nextText"])
280
+ }, "VStepper"), kt = _()({
281
+ name: "VStepper",
282
+ props: bt(),
283
+ emits: {
284
+ "update:modelValue": (e) => !0
285
+ },
286
+ setup(e, o) {
287
+ let {
288
+ slots: s
289
+ } = o;
290
+ const {
291
+ items: n,
292
+ next: a,
293
+ prev: r,
294
+ selected: u
295
+ } = it(e, Y), {
296
+ displayClasses: c,
297
+ mobile: m
298
+ } = $e(e), {
299
+ completeIcon: b,
300
+ editIcon: l,
301
+ errorIcon: v,
302
+ color: R,
303
+ editable: W,
304
+ prevText: M,
305
+ nextText: D
306
+ } = Le(e), j = d(() => e.items.map((k, q) => {
307
+ const $ = J(k, e.itemTitle, k), U = J(k, e.itemValue, q + 1);
308
+ return {
309
+ title: $,
310
+ value: U,
311
+ raw: k
312
+ };
313
+ })), K = d(() => n.value.findIndex((k) => u.value.includes(k.id))), ye = d(() => e.disabled ? e.disabled : K.value === 0 ? "prev" : K.value === n.value.length - 1 ? "next" : !1);
314
+ return He({
315
+ VStepperItem: {
316
+ editable: W,
317
+ errorIcon: v,
318
+ completeIcon: b,
319
+ editIcon: l,
320
+ prevText: M,
321
+ nextText: D
322
+ },
323
+ VStepperActions: {
324
+ color: R,
325
+ disabled: ye,
326
+ prevText: M,
327
+ nextText: D
328
+ }
329
+ }), F(() => {
330
+ const k = ne.filterProps(e), q = !!(s.header || e.items.length), $ = e.items.length > 0, U = !e.hideActions && !!($ || s.actions);
331
+ return t(ne, C(k, {
332
+ color: e.bgColor,
333
+ class: ["v-stepper", {
334
+ "v-stepper--alt-labels": e.altLabels,
335
+ "v-stepper--flat": e.flat,
336
+ "v-stepper--non-linear": e.nonLinear,
337
+ "v-stepper--mobile": m.value
338
+ }, c.value, e.class],
339
+ style: e.style
340
+ }), {
341
+ default: () => [q && t(ve, {
342
+ key: "stepper-header"
343
+ }, {
344
+ default: () => [j.value.map((E, we) => {
345
+ let {
346
+ raw: Ft,
347
+ ...Z
348
+ } = E;
349
+ return t(pe, null, [!!we && t(G, null, null), t(L, Z, {
350
+ default: s[`header-item.${Z.value}`] ?? s.header,
351
+ icon: s.icon,
352
+ title: s.title,
353
+ subtitle: s.subtitle
354
+ })]);
355
+ })]
356
+ }), $ && t(ft, {
357
+ key: "stepper-window"
358
+ }, {
359
+ default: () => [j.value.map((E) => t(vt, {
360
+ value: E.value
361
+ }, {
362
+ default: () => s[`item.${E.value}`]?.(E) ?? s.item?.(E)
363
+ }))]
364
+ }), s.default?.({
365
+ prev: r,
366
+ next: a
367
+ }), U && (s.actions?.({
368
+ next: a,
369
+ prev: r
370
+ }) ?? t(ct, {
371
+ key: "stepper-actions",
372
+ "onClick:prev": r,
373
+ "onClick:next": a
374
+ }, s))]
375
+ });
376
+ }), {
377
+ prev: r,
378
+ next: a
379
+ };
380
+ }
381
+ }), ge = {
382
+ HotelRoomOffersView: Ve,
383
+ PrebookForm: Oe
384
+ }, be = {
385
+ ...Ee,
386
+ ...ze(Ie, ["bookingId", "bookingPolicyId", "hotelRoomOffer"]),
387
+ features: {
388
+ default: () => ge,
389
+ type: [Object, String]
390
+ }
391
+ }, H = 1e3, A = 60 * H, N = 60 * A, ae = 24 * N, re = "abort", le = "end", ue = "progress", ce = "start", de = "visibilitychange", St = x({
392
+ beforeUnmount() {
393
+ document.removeEventListener(
394
+ de,
395
+ this.handleVisibilityChange
396
+ ), this.pause();
397
+ },
398
+ computed: {
399
+ /**
400
+ * Remaining days.
401
+ * @returns {number} The computed value.
402
+ */
403
+ days() {
404
+ return Math.floor(this.totalMilliseconds / ae);
441
405
  },
442
- cancelPayment() {
443
- this.direction = -1, this.step = 2;
406
+ /**
407
+ * Remaining hours.
408
+ * @returns {number} The computed value.
409
+ */
410
+ hours() {
411
+ return Math.floor(
412
+ this.totalMilliseconds % ae / N
413
+ );
444
414
  },
445
- onAfterLeave() {
446
- this.direction = 1;
415
+ /**
416
+ * Remaining milliseconds.
417
+ * @returns {number} The computed value.
418
+ */
419
+ milliseconds() {
420
+ return Math.floor(this.totalMilliseconds % H);
447
421
  },
448
- onBackButtonClick() {
449
- [
450
- 2,
451
- 5
452
- /* PaymentSuccessful */
453
- ].includes(this.step) ? this.cancelBooking() : this.step === 3 && this.cancelPayment();
422
+ /**
423
+ * Remaining minutes.
424
+ * @returns {number} The computed value.
425
+ */
426
+ minutes() {
427
+ return Math.floor(
428
+ this.totalMilliseconds % N / A
429
+ );
454
430
  },
455
- onBookingCreated(e) {
456
- this.booking = e, e && (Q(), this.direction = 1, this.step = 3);
431
+ /**
432
+ * Remaining seconds.
433
+ * @returns {number} The computed value.
434
+ */
435
+ seconds() {
436
+ return Math.floor(
437
+ this.totalMilliseconds % A / H
438
+ );
457
439
  },
458
- onBookingPolicyCreated(e) {
459
- this.bookingPolicy = e, e && (Q(), this.direction = 1, this.step = 2);
440
+ /**
441
+ * Total remaining days.
442
+ * @returns {number} The computed value.
443
+ */
444
+ totalDays() {
445
+ return this.days;
460
446
  },
461
- onCountdownEnd() {
462
- this.countdownSnackbar = !0, this.cancelBooking();
447
+ /**
448
+ * Total remaining hours.
449
+ * @returns {number} The computed value.
450
+ */
451
+ totalHours() {
452
+ return Math.floor(this.totalMilliseconds / N);
463
453
  },
464
- onPaymentSuccess() {
465
- this.direction = 1, this.step = 5;
454
+ /**
455
+ * Total remaining minutes.
456
+ * @returns {number} The computed value.
457
+ */
458
+ totalMinutes() {
459
+ return Math.floor(this.totalMilliseconds / A);
466
460
  },
467
- transformCountdownTimer(e) {
468
- const o = {};
469
- for (const [s, n] of Object.entries(e)) {
470
- const a = n < 10 ? `0${n}` : n;
471
- o[s] = `${a}`;
472
- }
473
- return o;
461
+ /**
462
+ * Total remaining seconds.
463
+ * @returns {number} The computed value.
464
+ */
465
+ totalSeconds() {
466
+ return Math.floor(this.totalMilliseconds / H);
474
467
  }
475
468
  },
476
- mixins: [
477
- je,
478
- Ze({
479
- fallbackValue: he,
480
- propsName: "features"
481
- })
482
- ],
483
- props: ve,
484
- setup() {
485
- const { t: e } = _e();
469
+ data() {
486
470
  return {
487
- t: e
488
- };
489
- }
490
- });
491
- function me(e) {
492
- const o = e;
493
- o.__i18n = o.__i18n || [], o.__i18n.push({
494
- locale: "",
495
- resource: {
496
- "en-US": {
497
- HotelRoomOffersBookingFlow: {
498
- back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Go back" } },
499
- makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Make a new reservation" } },
500
- steps: {
501
- yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Your Selection" } },
502
- yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Your Details" } },
503
- finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Final Step" } }
504
- },
505
- timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Please complete registration and payment within 15 minutes." } },
506
- timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "After 15 minutes, the reservation we're holding will be released to others." } },
507
- timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sorry, you took too long to complete your reservation. You can still choose an offer." } },
508
- warnings: {
509
- cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "The selected rate's cancellation policies have changed and are more restrictive than previously stated." } },
510
- price: { t: 0, b: { t: 2, i: [{ t: 3, v: "The selected rate's increased compared to the previous step from " }, { t: 4, k: "from" }, { t: 3, v: " to " }, { t: 4, k: "to" }, { t: 3, v: "." }] } }
511
- }
512
- }
513
- },
514
- "fr-FR": {
515
- HotelRoomOffersBookingFlow: {
516
- back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Revenir en arrière" } },
517
- makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Effectuer une nouvelle reservation" } },
518
- steps: {
519
- yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Votre Sélection" } },
520
- yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Vos Informations" } },
521
- finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Dernière Étape" } }
522
- },
523
- timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Veuillez terminer votre réservation dans les 15 prochaines minutes." } },
524
- timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Au-delà de 15 minutes, la réservation que nous retenons sera à nouveau disponible pour les autres." } },
525
- timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Désolé, vous avez dépassé le délai pour finaliser votre réservation. Veuillez sélectionner de nouveau une offre." } },
526
- warnings: {
527
- cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Les conditions d'annulation de l'offre sélectionnée ont changées et sont plus contraignantes que celles de l'offre initialement sélectionnée." } },
528
- price: { t: 0, b: { t: 2, i: [{ t: 3, v: "Le prix de l'offre sélectionnée a augmenté par rapport à l'étape précédente de " }, { t: 4, k: "from" }, { t: 3, v: " à " }, { t: 4, k: "to" }, { t: 3, v: "." }] } }
529
- }
530
- }
531
- },
532
- "de-DE": {
533
- HotelRoomOffersBookingFlow: {
534
- back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Zurück" } },
535
- makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Neue Reservierung erstellen" } },
536
- steps: {
537
- yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ihre Auswahl" } },
538
- yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ihre Angaben" } },
539
- finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Letzter Schritt" } }
540
- },
541
- timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Bitte schließen Sie die Registrierung und Zahlung innerhalb von 15 Minuten ab." } },
542
- timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Nach 15 Minuten wird die Reservierung, die wir halten, für andere freigegeben." } },
543
- timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Es tut uns leid, Sie haben zu lange gebraucht, um Ihre Reservierung abzuschließen. Sie können trotzdem noch ein Angebot auswählen." } },
544
- warnings: {
545
- cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Die Stornierungsbedingungen des ausgewählten Tarifs haben sich geändert und sind restriktiver als zuvor angegeben." } },
546
- price: { t: 0, b: { t: 2, i: [{ t: 3, v: "Der Preis des ausgewählten Tarifs hat sich im Vergleich zum vorherigen Schritt von " }, { t: 4, k: "from" }, { t: 3, v: " auf " }, { t: 4, k: "to" }, { t: 3, v: " erhöht." }] } }
547
- }
548
- }
549
- },
550
- "es-ES": {
551
- HotelRoomOffersBookingFlow: {
552
- back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Volver atrás" } },
553
- makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Hacer una nueva reserva" } },
554
- steps: {
555
- yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Tu Selección" } },
556
- yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Tus Datos" } },
557
- finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Paso Final" } }
558
- },
559
- timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, complete el registro y el pago en 15 minutos." } },
560
- timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Después de 15 minutos, la reserva que estamos reteniendo se liberará para otros." } },
561
- timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Lo sentimos, tardaste demasiado en completar tu reserva. Aún puedes elegir una oferta." } },
562
- warnings: {
563
- cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Las políticas de cancelación de la tarifa seleccionada han cambiado y son más restrictivas de lo que se indicó anteriormente." } },
564
- price: { t: 0, b: { t: 2, i: [{ t: 3, v: "El precio de la tarifa seleccionada ha aumentado en comparación con el paso anterior de " }, { t: 4, k: "from" }, { t: 3, v: " a " }, { t: 4, k: "to" }, { t: 3, v: "." }] } }
565
- }
566
- }
567
- },
568
- "it-IT": {
569
- HotelRoomOffersBookingFlow: {
570
- back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Torna indietro" } },
571
- makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Effettua una nuova prenotazione" } },
572
- steps: {
573
- yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "La Tua Selezione" } },
574
- yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "I Tuoi Dettagli" } },
575
- finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Passaggio Finale" } }
576
- },
577
- timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Si prega di completare la registrazione e il pagamento entro 15 minuti." } },
578
- timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Dopo 15 minuti, la prenotazione che stiamo trattenendo verrà rilasciata ad altri clienti." } },
579
- timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Siamo spiacenti, hai impiegato troppo tempo per completare la prenotazione. Puoi comunque scegliere un'offerta." } },
580
- warnings: {
581
- cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Le politiche di cancellazione della tariffa selezionata sono cambiate e sono più restrittive di quanto dichiarato in precedenza." } },
582
- price: { t: 0, b: { t: 2, i: [{ t: 3, v: "Il prezzo della tariffa selezionata è aumentato rispetto al passaggio precedente da " }, { t: 4, k: "from" }, { t: 3, v: " a " }, { t: 4, k: "to" }, { t: 3, v: "." }] } }
583
- }
584
- }
585
- },
586
- "nl-NL": {
587
- HotelRoomOffersBookingFlow: {
588
- back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ga terug" } },
589
- makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Maak een nieuwe reservering" } },
590
- steps: {
591
- yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Uw Selectie" } },
592
- yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Uw Gegevens" } },
593
- finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Laatste Stap" } }
594
- },
595
- timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Voltooi de registratie en betaling binnen 15 minuten." } },
596
- timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Na 15 minuten wordt de reservering die we vasthouden vrijgegeven aan anderen." } },
597
- timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sorry, u hebt er te lang over gedaan om uw reservering te voltooien. U kunt nog steeds een aanbieding kiezen." } },
598
- warnings: {
599
- cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Het annuleringsbeleid van het geselecteerde tarief is gewijzigd en is restrictiever dan eerder vermeld." } },
600
- price: { t: 0, b: { t: 2, i: [{ t: 3, v: "De prijs van het geselecteerde tarief is verhoogd ten opzichte van de vorige stap van " }, { t: 4, k: "from" }, { t: 3, v: " naar " }, { t: 4, k: "to" }, { t: 3, v: "." }] } }
601
- }
602
- }
603
- },
604
- "pt-PT": {
605
- HotelRoomOffersBookingFlow: {
606
- back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Voltar" } },
607
- makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Fazer uma nova reserva" } },
608
- steps: {
609
- yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "A Sua Seleção" } },
610
- yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Os Seus Dados" } },
611
- finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Passo Final" } }
612
- },
613
- timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, complete o registo e o pagamento dentro de 15 minutos." } },
614
- timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Após 15 minutos, a reserva que estamos a guardar será libertada para outros." } },
615
- timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Desculpe, demorou demasiado tempo a concluir a sua reserva. Ainda pode escolher uma oferta." } },
616
- warnings: {
617
- cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "As políticas de cancelamento da tarifa selecionada foram alteradas e são mais restritivas do que o indicado anteriormente." } },
618
- price: { t: 0, b: { t: 2, i: [{ t: 3, v: "O preço da tarifa selecionada aumentou em comparação com o passo anterior de " }, { t: 4, k: "from" }, { t: 3, v: " para " }, { t: 4, k: "to" }, { t: 3, v: "." }] } }
619
- }
620
- }
621
- }
622
- }
623
- });
624
- }
625
- const Y = Symbol.for("vuetify:v-stepper"), ke = V({
626
- color: String,
627
- disabled: {
628
- type: [Boolean, String],
629
- default: !1
630
- },
631
- prevText: {
632
- type: String,
633
- default: "$vuetify.stepper.prev"
634
- },
635
- nextText: {
636
- type: String,
637
- default: "$vuetify.stepper.next"
638
- }
639
- }, "VStepperActions"), dt = _()({
640
- name: "VStepperActions",
641
- props: ke(),
642
- emits: {
643
- "click:prev": () => !0,
644
- "click:next": () => !0
645
- },
646
- setup(e, o) {
647
- let {
648
- emit: s,
649
- slots: n
650
- } = o;
651
- const {
652
- t: a
653
- } = Fe();
654
- function r() {
655
- s("click:prev");
656
- }
657
- function u() {
658
- s("click:next");
659
- }
660
- return F(() => {
661
- const c = {
662
- onClick: r
663
- }, m = {
664
- onClick: u
665
- };
666
- return t("div", {
667
- class: "v-stepper-actions"
668
- }, [t(oe, {
669
- defaults: {
670
- VBtn: {
671
- disabled: ["prev", !0].includes(e.disabled),
672
- text: a(e.prevText),
673
- variant: "text"
674
- }
675
- }
676
- }, {
677
- default: () => [n.prev?.({
678
- props: c
679
- }) ?? t(z, c, null)]
680
- }), t(oe, {
681
- defaults: {
682
- VBtn: {
683
- color: e.color,
684
- disabled: ["next", !0].includes(e.disabled),
685
- text: a(e.nextText),
686
- variant: "tonal"
687
- }
688
- }
689
- }, {
690
- default: () => [n.next?.({
691
- props: m
692
- }) ?? t(z, m, null)]
693
- })]);
694
- }), {};
695
- }
696
- }), Se = Xe("v-stepper-header"), mt = V({
697
- color: String,
698
- title: String,
699
- subtitle: String,
700
- complete: Boolean,
701
- completeIcon: {
702
- type: P,
703
- default: "$complete"
704
- },
705
- editable: Boolean,
706
- editIcon: {
707
- type: P,
708
- default: "$edit"
709
- },
710
- error: Boolean,
711
- errorIcon: {
712
- type: P,
713
- default: "$error"
714
- },
715
- icon: P,
716
- ripple: {
717
- type: [Boolean, Object],
718
- default: !0
719
- },
720
- rules: {
721
- type: Array,
722
- default: () => []
723
- }
724
- }, "StepperItem"), pt = V({
725
- ...mt(),
726
- ...st()
727
- }, "VStepperItem"), N = _()({
728
- name: "VStepperItem",
729
- directives: {
730
- Ripple: Qe
731
- },
732
- props: pt(),
733
- emits: {
734
- "group:selected": (e) => !0
471
+ /**
472
+ * Automatically pause the countdown when the document is hidden.
473
+ * @type {boolean}
474
+ */
475
+ autoPauseOnHide: !1,
476
+ /**
477
+ * It is counting down.
478
+ * @type {boolean}
479
+ */
480
+ counting: !1,
481
+ /**
482
+ * The absolute end time.
483
+ * @type {number}
484
+ */
485
+ endTime: 0,
486
+ /**
487
+ * The request ID of the requestAnimationFrame.
488
+ * @type {number}
489
+ */
490
+ requestId: 0,
491
+ /**
492
+ * The remaining milliseconds.
493
+ * @type {number}
494
+ */
495
+ totalMilliseconds: 0
496
+ };
735
497
  },
736
- setup(e, o) {
737
- let {
738
- slots: s
739
- } = o;
740
- const n = et(e, Y, !0), a = d(() => n?.value.value ?? e.value), r = d(() => e.rules.every((R) => R() === !0)), u = d(() => !e.disabled && e.editable), c = d(() => !e.disabled && e.editable), m = d(() => e.error || !r.value), b = d(() => e.complete || e.rules.length > 0 && r.value), l = d(() => m.value ? e.errorIcon : b.value ? e.completeIcon : n.isSelected.value && e.editable ? e.editIcon : e.icon), v = d(() => ({
741
- canEdit: c.value,
742
- hasError: m.value,
743
- hasCompleted: b.value,
744
- title: e.title,
745
- subtitle: e.subtitle,
746
- step: a.value,
747
- value: e.value
748
- }));
749
- return F(() => {
750
- const R = (!n || n.isSelected.value || b.value || c.value) && !m.value && !e.disabled, W = !!(e.title != null || s.title), M = !!(e.subtitle != null || s.subtitle);
751
- function D() {
752
- n?.toggle();
498
+ emits: [re, le, ue, ce],
499
+ methods: {
500
+ /**
501
+ * Aborts the countdown.
502
+ * @public
503
+ * @emits Countdown#abort
504
+ */
505
+ abort() {
506
+ this.counting && (this.pause(), this.counting = !1, this.emitEvents && this.$emit(re));
507
+ },
508
+ /**
509
+ * Continues the countdown.
510
+ * @private
511
+ */
512
+ continue() {
513
+ if (!this.counting)
514
+ return;
515
+ const e = Math.min(this.totalMilliseconds, this.interval);
516
+ if (e > 0) {
517
+ let o, s;
518
+ const n = (a) => {
519
+ o || (o = a), s || (s = a);
520
+ const r = a - o;
521
+ r >= e || // Avoid losing time about one second per minute (now - prev ≈ 16ms) (#43)
522
+ r + (a - s) / 2 >= e ? this.progress() : this.requestId = requestAnimationFrame(n), s = a;
523
+ };
524
+ this.requestId = requestAnimationFrame(n);
525
+ } else
526
+ this.end();
527
+ },
528
+ /**
529
+ * Ends the countdown.
530
+ * @public
531
+ * @emits Countdown#end
532
+ */
533
+ end() {
534
+ this.counting && (this.pause(), this.totalMilliseconds = 0, this.counting = !1, this.emitEvents && this.$emit(le));
535
+ },
536
+ /**
537
+ * visibility change event handler.
538
+ * @private
539
+ */
540
+ handleVisibilityChange() {
541
+ switch (document.visibilityState) {
542
+ case "visible":
543
+ this.requestId === 0 && this.autoPauseOnHide && (this.update(), this.continue()), this.autoPauseOnHide = !1;
544
+ break;
545
+ case "hidden":
546
+ this.requestId > 0 && (this.autoPauseOnHide = !0, this.pause());
547
+ break;
753
548
  }
754
- return Me(t("button", {
755
- class: ["v-stepper-item", {
756
- "v-stepper-item--complete": b.value,
757
- "v-stepper-item--disabled": e.disabled,
758
- "v-stepper-item--error": m.value
759
- }, n?.selectedClass.value],
760
- disabled: !e.editable,
761
- type: "button",
762
- onClick: D
763
- }, [u.value && tt(!0, "v-stepper-item"), t(ot, {
764
- key: "stepper-avatar",
765
- class: "v-stepper-item__avatar",
766
- color: R ? e.color : void 0,
767
- size: 24
768
- }, {
769
- default: () => [s.icon?.(v.value) ?? (l.value ? t(I, {
770
- icon: l.value
771
- }, null) : a.value)]
772
- }), t("div", {
773
- class: "v-stepper-item__content"
774
- }, [W && t("div", {
775
- key: "title",
776
- class: "v-stepper-item__title"
777
- }, [s.title?.(v.value) ?? e.title]), M && t("div", {
778
- key: "subtitle",
779
- class: "v-stepper-item__subtitle"
780
- }, [s.subtitle?.(v.value) ?? e.subtitle]), s.default?.(v.value)])]), [[De("ripple"), e.ripple && e.editable, null]]);
781
- }), {};
782
- }
783
- }), ft = V({
784
- ...$e(at(), ["continuous", "nextIcon", "prevIcon", "showArrows", "touch", "mandatory"])
785
- }, "VStepperWindow"), ht = _()({
786
- name: "VStepperWindow",
787
- props: ft(),
788
- emits: {
789
- "update:modelValue": (e) => !0
549
+ },
550
+ /**
551
+ * Pauses the countdown.
552
+ * @private
553
+ */
554
+ pause() {
555
+ cancelAnimationFrame(this.requestId), this.requestId = 0;
556
+ },
557
+ /**
558
+ * Progresses to countdown.
559
+ * @private
560
+ * @emits Countdown#progress
561
+ */
562
+ progress() {
563
+ this.counting && (this.update(), this.emitEvents && this.totalMilliseconds > 0 && this.$emit(ue, {
564
+ days: this.days,
565
+ hours: this.hours,
566
+ milliseconds: this.milliseconds,
567
+ minutes: this.minutes,
568
+ seconds: this.seconds,
569
+ totalDays: this.totalDays,
570
+ totalHours: this.totalHours,
571
+ totalMilliseconds: this.totalMilliseconds,
572
+ totalMinutes: this.totalMinutes,
573
+ totalSeconds: this.totalSeconds
574
+ }), this.continue());
575
+ },
576
+ /**
577
+ * Restarts the count.
578
+ * @public
579
+ */
580
+ restart() {
581
+ this.pause(), this.totalMilliseconds = this.time, this.endTime = this.now() + this.time, this.counting = !1, this.start();
582
+ },
583
+ /**
584
+ * Starts to countdown.
585
+ * @public
586
+ * @emits Countdown#start
587
+ */
588
+ start() {
589
+ this.counting || (this.counting = !0, this.autoStart || (this.totalMilliseconds = this.time, this.endTime = this.now() + this.time), this.emitEvents && this.$emit(ce), document.visibilityState === "visible" && this.continue());
590
+ },
591
+ /**
592
+ * Updates the count.
593
+ * @private
594
+ */
595
+ update() {
596
+ this.counting && (this.totalMilliseconds = Math.max(0, this.endTime - this.now()));
597
+ }
790
598
  },
791
- setup(e, o) {
792
- let {
793
- slots: s
794
- } = o;
795
- const n = He(Y, null), a = Le(e, "modelValue"), r = d({
796
- get() {
797
- return a.value != null || !n ? a.value : n.items.value.find((u) => n.selected.value.includes(u.id))?.value;
798
- },
799
- set(u) {
800
- a.value = u;
801
- }
802
- });
803
- return F(() => {
804
- const u = se.filterProps(e);
805
- return t(se, C({
806
- _as: "VStepperWindow"
807
- }, u, {
808
- modelValue: r.value,
809
- "onUpdate:modelValue": (c) => r.value = c,
810
- class: ["v-stepper-window", e.class],
811
- style: e.style,
812
- mandatory: !1,
813
- touch: !1
814
- }), s);
815
- }), {};
816
- }
817
- }), vt = V({
818
- ...rt()
819
- }, "VStepperWindowItem"), gt = _()({
820
- name: "VStepperWindowItem",
821
- props: vt(),
822
- setup(e, o) {
823
- let {
824
- slots: s
825
- } = o;
826
- return F(() => {
827
- const n = ie.filterProps(e);
828
- return t(ie, C({
829
- _as: "VStepperWindowItem"
830
- }, n, {
831
- class: ["v-stepper-window-item", e.class],
832
- style: e.style
833
- }), s);
834
- }), {};
835
- }
836
- }), bt = V({
837
- altLabels: Boolean,
838
- bgColor: String,
839
- completeIcon: P,
840
- editIcon: P,
841
- editable: Boolean,
842
- errorIcon: P,
843
- hideActions: Boolean,
844
- items: {
845
- type: Array,
846
- default: () => []
599
+ mounted() {
600
+ document.addEventListener(
601
+ de,
602
+ this.handleVisibilityChange
603
+ );
847
604
  },
848
- itemTitle: {
849
- type: String,
850
- default: "title"
605
+ name: "VueCountdown",
606
+ props: {
607
+ /**
608
+ * Starts the countdown automatically when initialized.
609
+ */
610
+ autoStart: {
611
+ default: !0,
612
+ type: Boolean
613
+ },
614
+ /**
615
+ * Emits the countdown events.
616
+ */
617
+ emitEvents: {
618
+ default: !0,
619
+ type: Boolean
620
+ },
621
+ /**
622
+ * The interval time (in milliseconds) of the countdown progress.
623
+ */
624
+ interval: {
625
+ default: 1e3,
626
+ type: Number,
627
+ validator: (e) => e >= 0
628
+ },
629
+ /**
630
+ * Generate the current time of a specific time zone.
631
+ */
632
+ now: {
633
+ default: () => Date.now(),
634
+ type: Function
635
+ },
636
+ /**
637
+ * The tag name of the component's root element.
638
+ */
639
+ tag: {
640
+ default: "span",
641
+ type: String
642
+ },
643
+ /**
644
+ * The time (in milliseconds) to count down from.
645
+ */
646
+ time: {
647
+ default: 0,
648
+ type: Number,
649
+ validator: (e) => e >= 0
650
+ },
651
+ /**
652
+ * Transforms the output props before rendering.
653
+ */
654
+ transform: {
655
+ default: (e) => e,
656
+ type: Function
657
+ }
851
658
  },
852
- itemValue: {
853
- type: String,
854
- default: "value"
659
+ render() {
660
+ return We(
661
+ this.tag,
662
+ this.$slots.default ? [
663
+ this.$slots.default(
664
+ this.transform({
665
+ days: this.days,
666
+ hours: this.hours,
667
+ milliseconds: this.milliseconds,
668
+ minutes: this.minutes,
669
+ seconds: this.seconds,
670
+ totalDays: this.totalDays,
671
+ totalHours: this.totalHours,
672
+ totalMilliseconds: this.totalMilliseconds,
673
+ totalMinutes: this.totalMinutes,
674
+ totalSeconds: this.totalSeconds
675
+ })
676
+ )
677
+ ] : void 0
678
+ );
855
679
  },
856
- nonLinear: Boolean,
857
- flat: Boolean,
858
- ...qe()
859
- }, "Stepper"), kt = V({
860
- ...bt(),
861
- ...nt({
862
- mandatory: "force",
863
- selectedClass: "v-stepper-item--selected"
864
- }),
865
- ...lt(),
866
- ...We(ke(), ["prevText", "nextText"])
867
- }, "VStepper"), St = _()({
868
- name: "VStepper",
869
- props: kt(),
870
- emits: {
871
- "update:modelValue": (e) => !0
680
+ watch: {
681
+ $props: {
682
+ deep: !0,
683
+ /**
684
+ * Update the countdown when props changed.
685
+ */
686
+ handler() {
687
+ this.totalMilliseconds = this.time, this.endTime = this.now() + this.time, this.autoStart && this.start();
688
+ },
689
+ immediate: !0
690
+ }
691
+ }
692
+ });
693
+ var ke = /* @__PURE__ */ ((e) => (e[e.Idle = 1] = "Idle", e[e.Payment = 3] = "Payment", e[e.PaymentRequested = 4] = "PaymentRequested", e[e.PaymentSuccessful = 5] = "PaymentSuccessful", e[e.PreBook = 2] = "PreBook", e))(ke || {});
694
+ const Se = x({
695
+ components: {
696
+ CreditCardPayment: Ke,
697
+ HotelRoomOffersView: Be,
698
+ PrebookForm: Te,
699
+ VueCountdown: St
872
700
  },
873
- setup(e, o) {
874
- let {
875
- slots: s
876
- } = o;
877
- const {
878
- items: n,
879
- next: a,
880
- prev: r,
881
- selected: u
882
- } = it(e, Y), {
883
- displayClasses: c,
884
- mobile: m
885
- } = Ae(e), {
886
- completeIcon: b,
887
- editIcon: l,
888
- errorIcon: v,
889
- color: R,
890
- editable: W,
891
- prevText: M,
892
- nextText: D
893
- } = Ne(e), j = d(() => e.items.map((k, q) => {
894
- const H = J(k, e.itemTitle, k), U = J(k, e.itemValue, q + 1);
895
- return {
896
- title: H,
897
- value: U,
898
- raw: k
701
+ computed: {
702
+ backButtonLabel() {
703
+ return [
704
+ 2,
705
+ 3
706
+ /* Payment */
707
+ ].includes(this.step) ? this.t("HotelRoomOffersBookingFlow.back") : this.t("HotelRoomOffersBookingFlow.makeNewBooking");
708
+ },
709
+ hotelRoomOffersViewProps() {
710
+ const e = {
711
+ ...this.lastRequest,
712
+ ...this.$props,
713
+ features: this.$props.features?.HotelRoomOffersView
899
714
  };
900
- })), K = d(() => n.value.findIndex((k) => u.value.includes(k.id))), ye = d(() => e.disabled ? e.disabled : K.value === 0 ? "prev" : K.value === n.value.length - 1 ? "next" : !1);
901
- return ze({
902
- VStepperItem: {
903
- editable: W,
904
- errorIcon: v,
905
- completeIcon: b,
906
- editIcon: l,
907
- prevText: M,
908
- nextText: D
909
- },
910
- VStepperActions: {
911
- color: R,
912
- disabled: ye,
913
- prevText: M,
914
- nextText: D
715
+ return this.bookingPolicy && (e.adultCount = this.bookingPolicy.adultCount, e.children = this.bookingPolicy.children ?? null, e.checkInDate = this.bookingPolicy.checkInDate, e.checkOutDate = this.bookingPolicy.checkOutDate), e;
716
+ },
717
+ isWarningSnackarDisplayed() {
718
+ return this.warningSnackbarMessages.length > 0;
719
+ },
720
+ prebookFormProps() {
721
+ const e = {
722
+ ...this.$props,
723
+ ...this.lastRequest,
724
+ ...this.formdata,
725
+ features: this.$props.features?.PrebookForm
726
+ };
727
+ return this.bookingPolicy && (e.adultCount = this.bookingPolicy.adultCount, e.children = this.bookingPolicy.children ?? null, e.checkInDate = this.bookingPolicy.checkInDate, e.checkOutDate = this.bookingPolicy.checkOutDate), e;
728
+ },
729
+ transitionName() {
730
+ return this.direction > 0 ? "slide-in" : "slide-out";
731
+ }
732
+ },
733
+ created() {
734
+ this.$eventBus.$on(
735
+ S.BookingPolicyCreated,
736
+ this.onBookingPolicyCreated
737
+ ), this.$eventBus.$on(
738
+ S.HotelRoomOffersPriceIncreased,
739
+ ([e, o]) => {
740
+ this.warningSnackbarMessages.push(
741
+ this.t("HotelRoomOffersBookingFlow.warnings.price", {
742
+ from: ee({
743
+ amount: o.taxIncludedPrice,
744
+ currency: this.config.currency,
745
+ locale: this.$i18n.locale
746
+ }),
747
+ to: ee({
748
+ amount: e.taxIncludedPrice,
749
+ currency: this.config.currency,
750
+ locale: this.$i18n.locale
751
+ })
752
+ }).toString()
753
+ );
915
754
  }
916
- }), F(() => {
917
- const k = ne.filterProps(e), q = !!(s.header || e.items.length), H = e.items.length > 0, U = !e.hideActions && !!(H || s.actions);
918
- return t(ne, C(k, {
919
- color: e.bgColor,
920
- class: ["v-stepper", {
921
- "v-stepper--alt-labels": e.altLabels,
922
- "v-stepper--flat": e.flat,
923
- "v-stepper--non-linear": e.nonLinear,
924
- "v-stepper--mobile": m.value
925
- }, c.value, e.class],
926
- style: e.style
927
- }), {
928
- default: () => [q && t(Se, {
929
- key: "stepper-header"
930
- }, {
931
- default: () => [j.value.map((E, we) => {
932
- let {
933
- raw: Ft,
934
- ...Z
935
- } = E;
936
- return t(pe, null, [!!we && t(G, null, null), t(N, Z, {
937
- default: s[`header-item.${Z.value}`] ?? s.header,
938
- icon: s.icon,
939
- title: s.title,
940
- subtitle: s.subtitle
941
- })]);
942
- })]
943
- }), H && t(ht, {
944
- key: "stepper-window"
945
- }, {
946
- default: () => [j.value.map((E) => t(gt, {
947
- value: E.value
948
- }, {
949
- default: () => s[`item.${E.value}`]?.(E) ?? s.item?.(E)
950
- }))]
951
- }), s.default?.({
952
- prev: r,
953
- next: a
954
- }), U && (s.actions?.({
955
- next: a,
956
- prev: r
957
- }) ?? t(dt, {
958
- key: "stepper-actions",
959
- "onClick:prev": r,
960
- "onClick:next": a
961
- }, s))]
962
- });
963
- }), {
964
- prev: r,
965
- next: a
755
+ ), this.$eventBus.$on(S.CancellationPoliciesUpdated, () => {
756
+ this.warningSnackbarMessages.push(
757
+ this.t(
758
+ "HotelRoomOffersBookingFlow.warnings.cancellationPolicies"
759
+ ).toString()
760
+ );
761
+ }), this.$eventBus.$on(
762
+ S.HotelRoomOfferRequestCreated,
763
+ (e) => {
764
+ this.lastRequest = e;
765
+ }
766
+ ), this.$eventBus.$on(S.CurrencyUpdated, () => this.cancelBooking()), this.$eventBus.$on(S.BookingCreated, this.onBookingCreated), this.$eventBus.$on(S.PaymentSuccess, this.onPaymentSuccess), this.$eventBus.$on(S.PrebookForm, (e) => {
767
+ this.formdata = e;
768
+ });
769
+ },
770
+ data: () => ({
771
+ STEPS: ke,
772
+ booking: void 0,
773
+ bookingPolicy: void 0,
774
+ countdownSnackbar: !1,
775
+ direction: 1,
776
+ formdata: void 0,
777
+ lastRequest: void 0,
778
+ step: 1,
779
+ warningSnackbarMessages: []
780
+ }),
781
+ methods: {
782
+ cancelBooking() {
783
+ this.direction = -1, this.step = 1, this.bookingPolicy = void 0, this.booking = void 0, this.warningSnackbarMessages = [];
784
+ },
785
+ cancelPayment() {
786
+ this.direction = -1, this.step = 2;
787
+ },
788
+ onAfterLeave() {
789
+ this.direction = 1;
790
+ },
791
+ onBackButtonClick() {
792
+ [
793
+ 2,
794
+ 5
795
+ /* PaymentSuccessful */
796
+ ].includes(this.step) ? this.cancelBooking() : this.step === 3 && this.cancelPayment();
797
+ },
798
+ onBookingCreated(e) {
799
+ this.booking = e, e && (X(), this.direction = 1, this.step = 3);
800
+ },
801
+ onBookingPolicyCreated(e) {
802
+ this.bookingPolicy = e, e && (X(), this.direction = 1, this.step = 2);
803
+ },
804
+ onCountdownEnd() {
805
+ this.countdownSnackbar = !0, this.cancelBooking();
806
+ },
807
+ onPaymentSuccess() {
808
+ this.direction = 1, this.step = 5;
809
+ },
810
+ transformCountdownTimer(e) {
811
+ const o = {};
812
+ for (const [s, n] of Object.entries(e)) {
813
+ const a = n < 10 ? `0${n}` : n;
814
+ o[s] = `${a}`;
815
+ }
816
+ return o;
817
+ }
818
+ },
819
+ mixins: [
820
+ je,
821
+ Ze({
822
+ fallbackValue: ge,
823
+ propsName: "features"
824
+ })
825
+ ],
826
+ props: be,
827
+ setup() {
828
+ const { t: e } = qe();
829
+ return {
830
+ t: e
966
831
  };
967
832
  }
968
- }), yt = { class: "pl-3" }, wt = { class: "text-grey-darken-3 font-weight-bold" }, Pt = { class: "text-grey-darken-3 font-weight-bold" }, Vt = { class: "text-grey-darken-3 font-weight-bold" }, Et = { class: "text-h5 mx-sm-2 px-sm-2 mx-md-6 px-md-6 mx-lg-10 px-lg-10 mx-xl-16 px-xl-16" }, Bt = { class: "pl-5 ma-0" }, Ot = { class: "font-weight-bold" }, It = { class: "font-weight-bold" };
833
+ });
834
+ function me(e) {
835
+ const o = e;
836
+ o.__i18n = o.__i18n || [], o.__i18n.push({
837
+ locale: "",
838
+ resource: {
839
+ "en-US": {
840
+ HotelRoomOffersBookingFlow: {
841
+ back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Go back" } },
842
+ makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Make a new reservation" } },
843
+ steps: {
844
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Your Selection" } },
845
+ yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Your Details" } },
846
+ finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Final Step" } }
847
+ },
848
+ timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Please complete registration and payment within 15 minutes." } },
849
+ timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "After 15 minutes, the reservation we're holding will be released to others." } },
850
+ timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sorry, you took too long to complete your reservation. You can still choose an offer." } },
851
+ warnings: {
852
+ cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "The selected rate's cancellation policies have changed and are more restrictive than previously stated." } },
853
+ price: { t: 0, b: { t: 2, i: [{ t: 3, v: "The selected rate's increased compared to the previous step from " }, { t: 4, k: "from" }, { t: 3, v: " to " }, { t: 4, k: "to" }, { t: 3, v: "." }] } }
854
+ }
855
+ }
856
+ },
857
+ "fr-FR": {
858
+ HotelRoomOffersBookingFlow: {
859
+ back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Revenir en arrière" } },
860
+ makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Effectuer une nouvelle reservation" } },
861
+ steps: {
862
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Votre Sélection" } },
863
+ yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Vos Informations" } },
864
+ finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Dernière Étape" } }
865
+ },
866
+ timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Veuillez terminer votre réservation dans les 15 prochaines minutes." } },
867
+ timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Au-delà de 15 minutes, la réservation que nous retenons sera à nouveau disponible pour les autres." } },
868
+ timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Désolé, vous avez dépassé le délai pour finaliser votre réservation. Veuillez sélectionner de nouveau une offre." } },
869
+ warnings: {
870
+ cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Les conditions d'annulation de l'offre sélectionnée ont changées et sont plus contraignantes que celles de l'offre initialement sélectionnée." } },
871
+ price: { t: 0, b: { t: 2, i: [{ t: 3, v: "Le prix de l'offre sélectionnée a augmenté par rapport à l'étape précédente de " }, { t: 4, k: "from" }, { t: 3, v: " à " }, { t: 4, k: "to" }, { t: 3, v: "." }] } }
872
+ }
873
+ }
874
+ },
875
+ "de-DE": {
876
+ HotelRoomOffersBookingFlow: {
877
+ back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Zurück" } },
878
+ makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Neue Reservierung erstellen" } },
879
+ steps: {
880
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ihre Auswahl" } },
881
+ yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ihre Angaben" } },
882
+ finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Letzter Schritt" } }
883
+ },
884
+ timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Bitte schließen Sie die Registrierung und Zahlung innerhalb von 15 Minuten ab." } },
885
+ timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Nach 15 Minuten wird die Reservierung, die wir halten, für andere freigegeben." } },
886
+ timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Es tut uns leid, Sie haben zu lange gebraucht, um Ihre Reservierung abzuschließen. Sie können trotzdem noch ein Angebot auswählen." } },
887
+ warnings: {
888
+ cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Die Stornierungsbedingungen des ausgewählten Tarifs haben sich geändert und sind restriktiver als zuvor angegeben." } },
889
+ price: { t: 0, b: { t: 2, i: [{ t: 3, v: "Der Preis des ausgewählten Tarifs hat sich im Vergleich zum vorherigen Schritt von " }, { t: 4, k: "from" }, { t: 3, v: " auf " }, { t: 4, k: "to" }, { t: 3, v: " erhöht." }] } }
890
+ }
891
+ }
892
+ },
893
+ "es-ES": {
894
+ HotelRoomOffersBookingFlow: {
895
+ back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Volver atrás" } },
896
+ makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Hacer una nueva reserva" } },
897
+ steps: {
898
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Tu Selección" } },
899
+ yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Tus Datos" } },
900
+ finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Paso Final" } }
901
+ },
902
+ timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, complete el registro y el pago en 15 minutos." } },
903
+ timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Después de 15 minutos, la reserva que estamos reteniendo se liberará para otros." } },
904
+ timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Lo sentimos, tardaste demasiado en completar tu reserva. Aún puedes elegir una oferta." } },
905
+ warnings: {
906
+ cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Las políticas de cancelación de la tarifa seleccionada han cambiado y son más restrictivas de lo que se indicó anteriormente." } },
907
+ price: { t: 0, b: { t: 2, i: [{ t: 3, v: "El precio de la tarifa seleccionada ha aumentado en comparación con el paso anterior de " }, { t: 4, k: "from" }, { t: 3, v: " a " }, { t: 4, k: "to" }, { t: 3, v: "." }] } }
908
+ }
909
+ }
910
+ },
911
+ "it-IT": {
912
+ HotelRoomOffersBookingFlow: {
913
+ back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Torna indietro" } },
914
+ makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Effettua una nuova prenotazione" } },
915
+ steps: {
916
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "La Tua Selezione" } },
917
+ yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "I Tuoi Dettagli" } },
918
+ finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Passaggio Finale" } }
919
+ },
920
+ timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Si prega di completare la registrazione e il pagamento entro 15 minuti." } },
921
+ timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Dopo 15 minuti, la prenotazione che stiamo trattenendo verrà rilasciata ad altri clienti." } },
922
+ timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Siamo spiacenti, hai impiegato troppo tempo per completare la prenotazione. Puoi comunque scegliere un'offerta." } },
923
+ warnings: {
924
+ cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Le politiche di cancellazione della tariffa selezionata sono cambiate e sono più restrittive di quanto dichiarato in precedenza." } },
925
+ price: { t: 0, b: { t: 2, i: [{ t: 3, v: "Il prezzo della tariffa selezionata è aumentato rispetto al passaggio precedente da " }, { t: 4, k: "from" }, { t: 3, v: " a " }, { t: 4, k: "to" }, { t: 3, v: "." }] } }
926
+ }
927
+ }
928
+ },
929
+ "nl-NL": {
930
+ HotelRoomOffersBookingFlow: {
931
+ back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ga terug" } },
932
+ makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Maak een nieuwe reservering" } },
933
+ steps: {
934
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Uw Selectie" } },
935
+ yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Uw Gegevens" } },
936
+ finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Laatste Stap" } }
937
+ },
938
+ timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Voltooi de registratie en betaling binnen 15 minuten." } },
939
+ timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Na 15 minuten wordt de reservering die we vasthouden vrijgegeven aan anderen." } },
940
+ timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sorry, u hebt er te lang over gedaan om uw reservering te voltooien. U kunt nog steeds een aanbieding kiezen." } },
941
+ warnings: {
942
+ cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Het annuleringsbeleid van het geselecteerde tarief is gewijzigd en is restrictiever dan eerder vermeld." } },
943
+ price: { t: 0, b: { t: 2, i: [{ t: 3, v: "De prijs van het geselecteerde tarief is verhoogd ten opzichte van de vorige stap van " }, { t: 4, k: "from" }, { t: 3, v: " naar " }, { t: 4, k: "to" }, { t: 3, v: "." }] } }
944
+ }
945
+ }
946
+ },
947
+ "pt-PT": {
948
+ HotelRoomOffersBookingFlow: {
949
+ back: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Voltar" } },
950
+ makeNewBooking: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Fazer uma nova reserva" } },
951
+ steps: {
952
+ yourSelection: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "A Sua Seleção" } },
953
+ yourDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Os Seus Dados" } },
954
+ finalStep: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Passo Final" } }
955
+ },
956
+ timer1: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Por favor, complete o registo e o pagamento dentro de 15 minutos." } },
957
+ timer2: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Após 15 minutos, a reserva que estamos a guardar será libertada para outros." } },
958
+ timerEnd: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Desculpe, demorou demasiado tempo a concluir a sua reserva. Ainda pode escolher uma oferta." } },
959
+ warnings: {
960
+ cancellationPolicies: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "As políticas de cancelamento da tarifa selecionada foram alteradas e são mais restritivas do que o indicado anteriormente." } },
961
+ price: { t: 0, b: { t: 2, i: [{ t: 3, v: "O preço da tarifa selecionada aumentou em comparação com o passo anterior de " }, { t: 4, k: "from" }, { t: 3, v: " para " }, { t: 4, k: "to" }, { t: 3, v: "." }] } }
962
+ }
963
+ }
964
+ }
965
+ }
966
+ });
967
+ }
968
+ const yt = { class: "pl-3" }, wt = { class: "text-grey-darken-3 font-weight-bold" }, Pt = { class: "text-grey-darken-3 font-weight-bold" }, Vt = { class: "text-grey-darken-3 font-weight-bold" }, Et = { class: "text-h5 mx-sm-2 px-sm-2 mx-md-6 px-md-6 mx-lg-10 px-lg-10 mx-xl-16 px-xl-16" }, Bt = { class: "pl-5 ma-0" }, Ot = { class: "font-weight-bold" }, It = { class: "font-weight-bold" };
969
969
  function Tt(e, o, s, n, a, r) {
970
970
  const u = T("VueCountdown"), c = T("PrebookForm"), m = T("CreditCardPayment"), b = T("HotelRoomOffersView");
971
971
  return p(), g(O, { dense: "" }, {
@@ -1003,7 +1003,7 @@ function Tt(e, o, s, n, a, r) {
1003
1003
  }, 1032, ["onClick"])
1004
1004
  ]),
1005
1005
  default: i(() => [
1006
- (p(!0), X(pe, null, Ue(e.warningSnackbarMessages, (l, v) => (p(), X("p", {
1006
+ (p(!0), Q(pe, null, Ue(e.warningSnackbarMessages, (l, v) => (p(), Q("p", {
1007
1007
  key: v,
1008
1008
  class: "text-white ma-0"
1009
1009
  }, [
@@ -1067,16 +1067,16 @@ function Tt(e, o, s, n, a, r) {
1067
1067
  sm: "9"
1068
1068
  }, {
1069
1069
  default: i(() => [
1070
- t(St, {
1070
+ t(kt, {
1071
1071
  class: "bg-transparent",
1072
1072
  modelValue: e.step,
1073
1073
  "onUpdate:modelValue": o[1] || (o[1] = (l) => e.step = l),
1074
1074
  elevation: "0"
1075
1075
  }, {
1076
1076
  default: i(() => [
1077
- t(Se, { color: "primary" }, {
1077
+ t(ve, { color: "primary" }, {
1078
1078
  default: i(() => [
1079
- t(N, {
1079
+ t(L, {
1080
1080
  color: "primary",
1081
1081
  complete: "",
1082
1082
  value: e.STEPS.Idle
@@ -1087,7 +1087,7 @@ function Tt(e, o, s, n, a, r) {
1087
1087
  _: 1
1088
1088
  }, 8, ["value"]),
1089
1089
  t(G),
1090
- t(N, {
1090
+ t(L, {
1091
1091
  color: "primary",
1092
1092
  complete: [e.STEPS.PaymentSuccessful, e.STEPS.Payment].includes(e.step),
1093
1093
  value: e.STEPS.PreBook
@@ -1098,7 +1098,7 @@ function Tt(e, o, s, n, a, r) {
1098
1098
  _: 1
1099
1099
  }, 8, ["complete", "value"]),
1100
1100
  t(G),
1101
- t(N, {
1101
+ t(L, {
1102
1102
  color: "primary",
1103
1103
  complete: e.step === e.STEPS.PaymentSuccessful,
1104
1104
  value: e.STEPS.Payment
@@ -1256,13 +1256,13 @@ function Tt(e, o, s, n, a, r) {
1256
1256
  _: 1
1257
1257
  });
1258
1258
  }
1259
- typeof me == "function" && me(be);
1260
- const Rt = /* @__PURE__ */ fe(be, [["render", Tt], ["__scopeId", "data-v-17bd38d1"]]), Ct = x({
1259
+ typeof me == "function" && me(Se);
1260
+ const Rt = /* @__PURE__ */ fe(Se, [["render", Tt], ["__scopeId", "data-v-17bd38d1"]]), Ct = x({
1261
1261
  components: {
1262
1262
  HotelRoomOffersBookingFlow: Rt,
1263
1263
  WebComponentWrapper: Je
1264
1264
  },
1265
- props: ve
1265
+ props: be
1266
1266
  });
1267
1267
  function _t(e, o, s, n, a, r) {
1268
1268
  const u = T("HotelRoomOffersBookingFlow", !0), c = T("WebComponentWrapper");
@@ -1274,8 +1274,8 @@ function _t(e, o, s, n, a, r) {
1274
1274
  });
1275
1275
  }
1276
1276
  const Jt = /* @__PURE__ */ fe(Ct, [["render", _t]]);
1277
- Pe("css/revolugo.hotelroomoffersbookingflow.LHa5iHB7.css");
1277
+ Pe("css/revolugo.hotelroomoffersbookingflow.nFiRmYyk.css");
1278
1278
  export {
1279
1279
  Jt as default
1280
1280
  };
1281
- //# sourceMappingURL=revolugo.hotelroomoffersbookingflow.DFwr-egM.min.js.map
1281
+ //# sourceMappingURL=revolugo.hotelroomoffersbookingflow.NFAeeps4.min.js.map