@roomstay/frontend 2.6.31 → 2.6.33

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 (235) hide show
  1. package/dist/166.bundle.js +1 -1
  2. package/dist/279.bundle.js +1 -1
  3. package/dist/370.bundle.js +1 -1
  4. package/dist/449.bundle.js +1 -1
  5. package/dist/586.bundle.js +1 -1
  6. package/dist/736.bundle.js +1 -1
  7. package/dist/873.bundle.js +1 -1
  8. package/dist/903.bundle.js +1 -1
  9. package/dist/927.bundle.js +1 -1
  10. package/dist/972.bundle.js +1 -1
  11. package/dist/978.bundle.js +1 -1
  12. package/dist/e2e/canChangeCurrency.spec.d.ts +1 -0
  13. package/dist/e2e/canChangeCurrency.spec.js +59 -0
  14. package/dist/e2e/canChangeCurrency.spec.js.map +1 -0
  15. package/dist/e2e/canCheckout.spec.d.ts +1 -0
  16. package/dist/e2e/canCheckout.spec.js +205 -0
  17. package/dist/e2e/canCheckout.spec.js.map +1 -0
  18. package/dist/e2e/canViewFindReservationsPage.spec.d.ts +1 -0
  19. package/dist/e2e/canViewFindReservationsPage.spec.js +37 -0
  20. package/dist/e2e/canViewFindReservationsPage.spec.js.map +1 -0
  21. package/dist/e2e/canViewHotelnfoPage.spec.d.ts +1 -0
  22. package/dist/e2e/canViewHotelnfoPage.spec.js +42 -0
  23. package/dist/e2e/canViewHotelnfoPage.spec.js.map +1 -0
  24. package/dist/e2e/frontendTestConfigs.d.ts +7 -0
  25. package/dist/e2e/frontendTestConfigs.js +31 -0
  26. package/dist/e2e/frontendTestConfigs.js.map +1 -0
  27. package/dist/e2e/frontendTestData.d.ts +15 -0
  28. package/dist/e2e/frontendTestData.js +18 -0
  29. package/dist/e2e/frontendTestData.js.map +1 -0
  30. package/dist/e2e/goBackAndCheckoutAgain.spec.js +1 -0
  31. package/dist/e2e/goBackAndCheckoutAgain.spec.js.map +1 -1
  32. package/dist/e2e/helpers/playwrightHelpers.d.ts +2 -0
  33. package/dist/e2e/helpers/playwrightHelpers.js +27 -0
  34. package/dist/e2e/helpers/playwrightHelpers.js.map +1 -0
  35. package/dist/main.bundle.js +1 -1
  36. package/dist/src/api/AvailabilityAPI.d.ts +6 -5
  37. package/dist/src/api/AvailabilityAPI.js +24 -30
  38. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  39. package/dist/src/api/HotelAPI.js +3 -0
  40. package/dist/src/api/HotelAPI.js.map +1 -1
  41. package/dist/src/components/generic/HtmlContentViewer.d.ts +3 -0
  42. package/dist/src/components/generic/HtmlContentViewer.js +41 -0
  43. package/dist/src/components/generic/HtmlContentViewer.js.map +1 -0
  44. package/dist/src/components/generic/Icon/Icon.d.ts +5 -93
  45. package/dist/src/components/generic/Icon/Icon.js +6 -124
  46. package/dist/src/components/generic/Icon/Icon.js.map +1 -1
  47. package/dist/src/components/generic/InputGroup/InputGroup.js +1 -0
  48. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  49. package/dist/src/components/generic/InputGroup/InputGroup.types.d.ts +1 -1
  50. package/dist/src/components/generic/InputGroup/InputGroup.types.js.map +1 -1
  51. package/dist/src/components/generic/ScrollToTop.js +10 -1
  52. package/dist/src/components/generic/ScrollToTop.js.map +1 -1
  53. package/dist/src/components/generic/date/DatePicker.js +4 -3
  54. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  55. package/dist/src/components/generic/date/DatePickerDay.js +4 -3
  56. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  57. package/dist/src/components/members/SignInModal/EmailAndFullnameMemberModal.d.ts +4 -0
  58. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/EmailAndFullnameMemberModal.js +8 -4
  59. package/dist/src/components/members/SignInModal/EmailAndFullnameMemberModal.js.map +1 -0
  60. package/dist/src/components/members/SignInModal/EmailPasswordMemberModal.d.ts +4 -0
  61. package/dist/src/components/members/SignInModal/EmailPasswordMemberModal.js +29 -0
  62. package/dist/src/components/members/SignInModal/EmailPasswordMemberModal.js.map +1 -0
  63. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/ExternalMemberModal.d.ts +8 -3
  64. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/ExternalMemberModal.js +24 -23
  65. package/dist/src/components/members/SignInModal/ExternalMemberModal.js.map +1 -0
  66. package/dist/src/components/members/SignInModal/FamilyNameMemberModal.d.ts +4 -0
  67. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/FamilyNameMemberModal.js +6 -4
  68. package/dist/src/components/members/SignInModal/FamilyNameMemberModal.js.map +1 -0
  69. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/InternalMemberSignInModal.d.ts +1 -0
  70. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/InternalMemberSignInModal.js +28 -39
  71. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js.map +1 -0
  72. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/InternalMemberSignInModal.types.d.ts +1 -1
  73. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.types.js.map +1 -0
  74. package/dist/src/components/members/SignInModal/MemberSignInModal.js +86 -0
  75. package/dist/src/components/members/SignInModal/MemberSignInModal.js.map +1 -0
  76. package/dist/src/components/steps/MinimumNightStayPill.js +2 -2
  77. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  78. package/dist/src/components/steps/confirmation/RoomContactDetails.js +74 -6
  79. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  80. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  81. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +3 -2
  82. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  83. package/dist/src/components/steps/date/PeoplePicker.js +6 -4
  84. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  85. package/dist/src/components/steps/date/PeoplePickerRow.d.ts +1 -0
  86. package/dist/src/components/steps/date/PeoplePickerRow.js +14 -4
  87. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  88. package/dist/src/components/steps/date/StepDatePricePerRoom.js +4 -3
  89. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  90. package/dist/src/components/steps/hotel/HotelCard.js +8 -6
  91. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  92. package/dist/src/components/steps/hotel/HotelCardModal.js +8 -6
  93. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  94. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js +3 -5
  95. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js.map +1 -1
  96. package/dist/src/components/steps/room/AvailableUpgradesModal.js +3 -3
  97. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  98. package/dist/src/components/steps/room/LargeRoomCard.js +3 -1
  99. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  100. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +2 -2
  101. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  102. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +4 -4
  103. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  104. package/dist/src/components/steps/room/RoomModalPerkRow.js +3 -5
  105. package/dist/src/components/steps/room/RoomModalPerkRow.js.map +1 -1
  106. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +13 -10
  107. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  108. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +5 -1
  109. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
  110. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js +13 -2
  111. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js.map +1 -1
  112. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +4 -6
  113. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
  114. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +11 -10
  115. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  116. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +1 -1
  117. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  118. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +3 -2
  119. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  120. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +3 -1
  121. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  122. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +3 -2
  123. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  124. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  125. package/dist/src/components/summary/BEMobileSummaryModal.js +1 -1
  126. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  127. package/dist/src/components/summary/BESummary.js +1 -1
  128. package/dist/src/components/summary/BESummary.js.map +1 -1
  129. package/dist/src/components/summary/BESummaryPerkBlock.js +4 -3
  130. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  131. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +18 -11
  132. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  133. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +21 -12
  134. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  135. package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.d.ts +8 -1
  136. package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.js.map +1 -1
  137. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +5 -0
  138. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  139. package/dist/src/contexts/CompanyContext/CompanyContextType.type.d.ts +1 -1
  140. package/dist/src/contexts/CompanyContext/CompanyContextType.type.js.map +1 -1
  141. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +40 -29
  142. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  143. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +8 -4
  144. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  145. package/dist/src/contexts/HotelOverridesContext.js +8 -0
  146. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  147. package/dist/src/engines/BaseEngine.d.ts +4 -1
  148. package/dist/src/engines/BaseEngine.js +6 -1
  149. package/dist/src/engines/BaseEngine.js.map +1 -1
  150. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +2 -2
  151. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  152. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +1 -1
  153. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  154. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +2 -2
  155. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  156. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -1
  157. package/dist/src/hooks/useCalendarNightStay.js +6 -4
  158. package/dist/src/hooks/useCalendarNightStay.js.map +1 -1
  159. package/dist/src/hooks/useSignedInMember.d.ts +7 -0
  160. package/dist/src/hooks/{useExternalMember.js → useSignedInMember.js} +7 -5
  161. package/dist/src/hooks/useSignedInMember.js.map +1 -0
  162. package/dist/src/index.d.ts +2 -1
  163. package/dist/src/index.js +6 -4
  164. package/dist/src/index.js.map +1 -1
  165. package/dist/src/models/Api/HotelDTO.d.ts +1 -1
  166. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  167. package/dist/src/models/Api/HotelOverrideDTO.d.ts +15 -7
  168. package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
  169. package/dist/src/models/Api/ReservationsDTO.d.ts +1 -0
  170. package/dist/src/models/Api/ReservationsDTO.js.map +1 -1
  171. package/dist/src/models/BasketRow.d.ts +16 -1
  172. package/dist/src/models/BasketRow.js +32 -2
  173. package/dist/src/models/BasketRow.js.map +1 -1
  174. package/dist/src/models/Client/Hotel/Hotel.d.ts +8 -2
  175. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  176. package/dist/src/models/Client/Hotel/HotelPerk.d.ts +1 -1
  177. package/dist/src/models/Client/Hotel/HotelPerk.js.map +1 -1
  178. package/dist/src/models/Confirmation.d.ts +5 -0
  179. package/dist/src/models/Confirmation.js +5 -1
  180. package/dist/src/models/Confirmation.js.map +1 -1
  181. package/dist/src/models/LocalStorageModel.d.ts +7 -0
  182. package/dist/src/models/LocalStorageModel.js +3 -0
  183. package/dist/src/models/LocalStorageModel.js.map +1 -0
  184. package/dist/src/models/Promotion/IPromotion.type.d.ts +2 -0
  185. package/dist/src/models/Promotion/IPromotion.type.js.map +1 -1
  186. package/dist/src/pages/findReservation/FindReservationResults.js +22 -4
  187. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  188. package/dist/src/pages/hotel/HotelInfo.js +2 -2
  189. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  190. package/dist/src/providers/RoomstayThemeEngine.js +1 -1
  191. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  192. package/dist/src/providers/storage/LocalStorageProvider.d.ts +9 -14
  193. package/dist/src/providers/storage/LocalStorageProvider.js +19 -97
  194. package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -1
  195. package/dist/src/providers/{SessionProvider.d.ts → storage/SessionProvider.d.ts} +1 -1
  196. package/dist/src/providers/{SessionProvider.js → storage/SessionProvider.js} +13 -12
  197. package/dist/src/providers/storage/SessionProvider.js.map +1 -0
  198. package/dist/src/providers/storage/StorageProvider.d.ts +14 -8
  199. package/dist/src/providers/storage/StorageProvider.js +94 -7
  200. package/dist/src/providers/storage/StorageProvider.js.map +1 -1
  201. package/dist/src/translations/Translation.d.ts +9 -0
  202. package/dist/src/translations/Translation.js +9 -0
  203. package/dist/src/translations/Translation.js.map +1 -1
  204. package/dist/src/translations/languages/en-gb.js +9 -0
  205. package/dist/src/translations/languages/en-gb.js.map +1 -1
  206. package/dist/src/util/CalendarHelper.d.ts +1 -0
  207. package/dist/src/util/CalendarHelper.js +16 -1
  208. package/dist/src/util/CalendarHelper.js.map +1 -1
  209. package/dist/src/util/EventsHelper.js +2 -2
  210. package/dist/src/util/EventsHelper.js.map +1 -1
  211. package/dist/src/util/HotelPerkHelper.d.ts +3 -0
  212. package/dist/src/util/HotelPerkHelper.js +46 -0
  213. package/dist/src/util/HotelPerkHelper.js.map +1 -0
  214. package/dist/test.bundle.js +1 -1
  215. package/dist/tests/jest/providers/SessionProvider.test.js +7 -7
  216. package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -1
  217. package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js +17 -28
  218. package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js.map +1 -1
  219. package/dist/vendors.bundle.js +1 -1
  220. package/dist/vendors.bundle.js.LICENSE.txt +9 -1
  221. package/package.json +9 -4
  222. package/dist/src/components/steps/room/MemberSignInModal/EmailAndFullnameMemberModal.d.ts +0 -4
  223. package/dist/src/components/steps/room/MemberSignInModal/EmailAndFullnameMemberModal.js.map +0 -1
  224. package/dist/src/components/steps/room/MemberSignInModal/ExternalMemberModal.js.map +0 -1
  225. package/dist/src/components/steps/room/MemberSignInModal/FamilyNameMemberModal.d.ts +0 -8
  226. package/dist/src/components/steps/room/MemberSignInModal/FamilyNameMemberModal.js.map +0 -1
  227. package/dist/src/components/steps/room/MemberSignInModal/InternalMemberSignInModal.js.map +0 -1
  228. package/dist/src/components/steps/room/MemberSignInModal/InternalMemberSignInModal.types.js.map +0 -1
  229. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +0 -62
  230. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +0 -1
  231. package/dist/src/hooks/useExternalMember.d.ts +0 -5
  232. package/dist/src/hooks/useExternalMember.js.map +0 -1
  233. package/dist/src/providers/SessionProvider.js.map +0 -1
  234. /package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/InternalMemberSignInModal.types.js +0 -0
  235. /package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/MemberSignInModal.d.ts +0 -0
@@ -1 +1 @@
1
- (("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[927],{95032:function(e,t,n){"use strict";n.d(t,{z:function(){return c}});var r=n(15671),a=n(43144),o=n(60136),l=n(82963),i=n(61120);var c=function(e){(0,o.Z)(s,e);var t,n,c=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,i.Z)(t);if(n){var a=(0,i.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,l.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),(t=c.call(this)).basketRows=void 0,t.basketRows=e,t}return(0,a.Z)(s,null,[{key:"getLabel",value:function(){return"View/Checkout"}}]),s}(n(97112).x)},90927:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Ut}});var r=n(728),a=n(95032),o=n(27484),l=n.n(o),i=n(67294),c=n(26793),s=n(73727),u=n(79478),d=n(13821),m=n(13010),p=n(46409),f=n(19874),v=n(47304),g=n(87462),A=n(70885),C=n(89331),y=n(88144),h=n(87582),b=n(73460),E=n(79740),_=n(21120),x=n(78886),k=n(7832),P=n(30584),Z=n(94184),w=n.n(Z),S=n(44744),N=n(97754);function B(e){var t=e.addon,n=(0,c.$)().t;return i.createElement("div",{className:w()("additional-offers--column",{"--selected":e.selected}),style:{backgroundImage:"url('".concat(t.image&&S.Z.resizeImage(t.image,S.h.Original),"')")},onClick:function(){var t;null===(t=e.cardClicked)||void 0===t||t.call(e)}},i.createElement("div",{className:"additional-offers--column-body"},i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.White},i.createElement("strong",null,t.name)),i.createElement("div",{className:"u-flex"},i.createElement(P.ZP,{inline:!0,type:P.yG.Small,color:N.Il.White},n(u.W.Misc.SeeDetails)),i.createElement(x.ZP,{icon:x.Tu.ArrowRight,color:N.Il.White}))))}var I=n(64854),R=n(20858),W=n(65128),D=n(16380),M=n(63351);function T(e){var t,n=e.addon,a=((0,c.$)().t,(0,i.useContext)(r.hy)),o=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedDate():""),l=(0,A.Z)(o,2),s=l[0],u=l[1],d=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedTime():""),p=(0,A.Z)(d,2),f=p[0],v=p[1],g=(0,i.useState)({quantity:1}),C=(0,A.Z)(g,2),y=C[0],h=C[1],b=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getQuantity():1),E=(0,A.Z)(b,2),_=E[0],x=E[1],k=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getAdultQuantity():1),Z=(0,A.Z)(k,2),w=Z[0],B=Z[1],T=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getChildQuantity():0),G=(0,A.Z)(T,2),q=G[0],O=G[1];return i.useEffect((function(){var t,r,a,o,l,i;if(n)return e.basketAddonRow?(h(null!==(t=n.availability[e.basketAddonRow.getSelectedDate()])&&void 0!==t?t:n.availability[n.firstDate]),u(null!==(r=e.basketAddonRow.getSelectedDate())&&void 0!==r?r:n.firstDate),v(null!==(a=e.basketAddonRow.getSelectedTime())&&void 0!==a?a:""),x(e.basketAddonRow.getQuantity()),B(e.basketAddonRow.getAdultQuantity()),O(e.basketAddonRow.getChildQuantity())):(h(n.availability[n.firstDate]),u(n.firstDate),v((null===(o=n.availability[n.firstDate])||void 0===o||null===(l=o.selectorTimes)||void 0===l||null===(i=l[0])||void 0===i?void 0:i.value)||"")),function(){x(1),B(1),O(0)}}),[n]),i.createElement(W.Z,{open:e.isOpen,onClose:e.onClose,size:W.g.Small,title:n?n.name:""},n&&i.createElement(i.Fragment,null,i.createElement("div",{style:{height:"350px",width:"100%",backgroundImage:'url("'.concat(n.image&&S.Z.resizeImage(n.image,S.h.Original),'")'),backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"cover"}}),i.createElement("div",{className:"u-marg-heavy u-marg@m-"},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},n.name)),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.DarkGrey},n.description)),i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(P.ZP,null,"Date"),i.createElement(M.P,{nativeOnMobile:!0,options:n.selectorDates,value:s,onChange:function(e){var t,r,a,o;t=e,h(n.availability[t]),u(t),v((null===(r=n.availability[t])||void 0===r||null===(a=r.selectorTimes)||void 0===a||null===(o=a[0])||void 0===o?void 0:o.value)||""),n.availability[t].quantity<_&&x(n.availability[t].quantity)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),0!==(null==y||null===(t=y.selectorTimes)||void 0===t?void 0:t.length)&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(P.ZP,null,"Time"),i.createElement(M.P,{nativeOnMobile:!0,options:(null==y?void 0:y.selectorTimes)||[],value:f,onChange:function(e){v(e)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),y.price&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(P.ZP,null,"Quantity"),i.createElement(D.Z,{number:_,min:1,max:y.quantity,onChange:function(e){x(e)}}))),y.adultPrice&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(P.ZP,null,"Adults"),i.createElement(D.Z,{number:w,min:0,max:y.quantity-q,onChange:function(e){B(e)}}))),y.childPrice&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(P.ZP,null,"Children"),i.createElement(D.Z,{number:q,min:0,max:y.quantity-w,onChange:function(e){O(e)}}))),i.createElement("div",{className:"u-flex align-items-center u-marg-top"},y.price&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,y.price),"/ Qty"),y.adultPrice&&y.childPrice&&i.createElement("h2",{className:"u-marg-none"},i.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,y.adultPrice)," / Adult"),i.createElement("br",null),i.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,y.childPrice)," / Child")),y.adultPrice&&!y.childPrice&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,y.adultPrice)," / Adult"),y.childPrice&&!y.adultPrice&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,y.childPrice)," / Child"),i.createElement(I.Z,{filled:!0,primary:!0,onClick:function(){a.setAddonQuantities(n,{quantity:_,adult:w,child:q},s,f),e.onClose()}},e.basketAddonRow?"Update Cart":"Add to Cart")),n.guaranteeDescription&&i.createElement(i.Fragment,null,i.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Guarantee"),i.createElement("div",{className:"u-marg-bot--heavy"},i.createElement(P.ZP,{type:P.yG.Small},n.guaranteeDescription))),n.cancelPenalty&&i.createElement(i.Fragment,null,i.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Cancellation Policy"),i.createElement("div",{className:"u-marg-bot--heavy"},i.createElement(P.ZP,{type:P.yG.Small},n.cancelPenalty))))))}function G(){var e=(0,i.useContext)(r.hy),t=(0,i.useContext)(r.Qm),n=(0,C.WP)().hotel,a=(0,y.q_)((function(){return{x:0}})),o=(0,A.Z)(a,2),l=o[0].x,s=o[1],d=(0,b.Z)(),p=(0,A.Z)(d,2),f=p[0],v=p[1],Z=(0,c.$)().t,w=i.useState([]),S=(0,A.Z)(w,2),I=S[0],R=S[1],W=(0,i.useState)(!1),D=(0,A.Z)(W,2),M=D[0],G=D[1],q=(0,i.useState)(null),O=(0,A.Z)(q,2),L=O[0],U=O[1],F=(0,i.useState)(!1),j=(0,A.Z)(F,2),z=j[0],Q=j[1],H=(0,i.useState)(0),Y=(0,A.Z)(H,2),V=Y[0],$=Y[1],J=(0,i.useState)(0),K=(0,A.Z)(J,2),X=(K[0],K[1]),ee=(0,i.useState)(-1),te=(0,A.Z)(ee,2),ne=te[0],re=te[1];i.useEffect((function(){var t=!1,r=e.getAllValidRows();return Q(!0),_.Z.Addons.findAddons(r,null==n?void 0:n.hotelID).then((function(e){t||(Q(!1),R(e))})),function(){Q(!1),t=!0}}),[t.currentLanguage]);var ae=222,oe=ae*I.length>=v.width,le=(0,h.c0)((function(e){var t=e.down,n=(0,A.Z)(e.movement,1)[0];ie(t,n)})),ie=function(e,t){if(oe)if(e)s({x:V+1.5*t});else{var n=V+t,r=(I.length-1)*ae,a=0;if(n>0)a=0,re(-1);else if(n<-(r-v.width+ae))a=-(r-v.width+ae),re(1);else{var o=-n/ae,l=n%ae>-111?Math.floor(o):Math.ceil(o);a=-l*ae,X(l),re(0)}s({x:a}),$(a)}};return i.createElement(E.Z,{open:!z&&0!==(null==I?void 0:I.length)||!(null==n||!n.showAddonLoader)},i.createElement("div",{className:"u-pad-bottom--heavy "},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},Z(u.W.Step.Confirmation.AdditionalOfferings))),z&&null!=n&&n.showAddonLoader?i.createElement(k.Z,null):0===(null==I?void 0:I.length)?i.createElement("div",null,i.createElement(P.ZP,{color:N.Il.DarkGrey},Z(u.W.Step.Confirmation.NoAdditionalOfferings))):i.createElement("div",{className:"additional-offers"+(I.length>2?"":" --wide"),ref:f},oe&&i.createElement("div",{className:"additional-offers--navigation"},i.createElement(x.ZP,{icon:x.Tu.ArrowLeft2,onClick:function(){ie(!1,ae)},color:-1===ne?N.Il.DarkGrey:N.Il.White,backgroundColor:N.Il.Navy,borderRadius:"round",size:"24px"}),i.createElement(x.ZP,{icon:x.Tu.ArrowRight2,onClick:function(){ie(!1,-222)},color:1===ne?N.Il.DarkGrey:N.Il.White,backgroundColor:N.Il.Navy,borderRadius:"round",size:"24px"})),i.createElement("div",{className:"additional-offers--track-container"},i.createElement(y.q.div,(0,g.Z)({className:"additional-offers--track"},le(),{style:{left:l}}),I.map((function(t,n){return i.createElement(B,{selected:!!e.getRowForAddon(t),key:n,addon:t,cardClicked:function(){G(!0),U(t)}})}))))),i.createElement(T,{isOpen:M&&!!L,addon:L,basketAddonRow:e.getRowForAddon(L),onClose:function(){G(!1)}})))}var q=n(87933);function O(e){var t=(0,i.useState)(e.endTimeDate.diff(l()(),"second")),n=(0,A.Z)(t,2),r=n[0],a=n[1];return(0,i.useEffect)((function(){var t=!1,n=setTimeout((function(){t||(r>0?a((function(e){return e-1})):(e.onEnd&&e.onEnd(),t=!0,clearTimeout(n)))}),1e3);return function(){t=!0,clearTimeout(n)}}),[r]),(0,i.useMemo)((function(){var e=[Math.floor(r/60/60),Math.floor(r/60%60),Math.floor(r%60)];return i.createElement(i.Fragment,null,e.map((function(e){return e.toString().padStart(2,"0")})).join(":"))}),[r])}var L=n(84544);function U(e){var t=(0,i.useState)(!1),n=(0,A.Z)(t,2),r=n[0],a=n[1],o=(0,c.$)().t;return i.createElement(q.ZP,{type:q.NK.Accent1},i.createElement("div",{className:"u-flex w-100 flex-wrap align-items-center"},i.createElement("div",null,i.createElement(P.ZP,null,i.createElement("strong",null,o(u.W.Step.Confirmation.YourRoomIs))),i.createElement(P.ZP,null,i.createElement("strong",null,o(u.W.Step.Confirmation.BeingHeldFor)))),i.createElement("div",{className:r?"a-flash":""},i.createElement(m.Z,{size:"large",bold:!0,color:N.Il.White},i.createElement(O,{endTimeDate:e.endDate,onEnd:function(){L.ZP.instance.sendInteraction("Countdown End Seen",L.s_.LINK,L._J.GUEST_DETAILS),a(!0)}})))))}var F=n(4511),j=n(38279),z=n(40370),Q=n(3933),H=n(16337),Y=n(25400),V=n(90292),$=n(95692),J=n(15861),K=n(64687),X=n.n(K),ee=n(76598),te=n(39666),ne=n(13819),re=n(87536),ae=n(16550),oe=n(79852),le=(0,i.createContext)({}),ie=function(){return(0,i.useContext)(le)},ce=n(30075),se=n(15671),ue=n(43144),de=n(60136),me=n(82963),pe=n(61120),fe=n(97112);var ve=function(e){(0,de.Z)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,pe.Z)(t);if(n){var a=(0,pe.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,me.Z)(this,e)});function a(e,t){var n;return(0,se.Z)(this,a),(n=r.call(this)).reservation=void 0,n.basketRows=void 0,n.reservation=e,n.basketRows=t,n}return(0,ue.Z)(a,null,[{key:"getLabel",value:function(){return"Booking/Committed"}}]),a}(fe.x);var ge=function(e){(0,de.Z)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,pe.Z)(t);if(n){var a=(0,pe.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,me.Z)(this,e)});function a(e){var t;return(0,se.Z)(this,a),(t=r.call(this)).reservation=void 0,t.reservation=e,t}return(0,ue.Z)(a,null,[{key:"getLabel",value:function(){return"Booking/RolledBack"}}]),a}(fe.x),Ae=n(25758),Ce=function(){var e=(0,Ae.u)(),t=(0,Ae.a)(),n=(0,i.useMemo)((function(){return["paymentMethod","roomstayId","planpay_checkout_id","returnFromPayment","success"].map((function(n){return t.get(n)||e.get(n)}))}),[e,t]),r=(0,A.Z)(n,5);return{queryPaymentMethod:r[0],queryRoomstayId:r[1],queryPlanpayCheckoutId:r[2],returnFromPayment:"true"===r[3],success:"true"===r[4]}},ye=n(33349),he=n(39605),be=function(e){var t=e.errorData,n=e.onClose,r=e.isLoading;return i.createElement(W.Z,{open:!!t,size:W.g.Small,alignCenter:!0,onClose:n},i.createElement("div",{className:"u-pad--heavy-plus"},i.createElement("div",{className:"u-flex justify-content-center u-marg-bottom"},i.createElement(x.ZP,{icon:x.Tu.Error,size:"85px",color:N.Il.Accent})),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(m.Z,{align:he.P.Center,size:"larger",bold:!0},"Apologies ",i.createElement("br",null),"for the inconvenience.")),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(P.ZP,{type:P.yG.Body,align:he.P.Center},null==t?void 0:t.publicMessage)),!(null!=t&&t.isPaymentTaken)&&i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.Grey,align:he.P.Center},"* No payment has been taken")),i.createElement("div",{className:"u-flex justify-content-center"},i.createElement(I.Z,{icon:x.Tu.Close,stopIconAnimation:!0,onClick:n,wide:!0,isLoading:e.isLoading,disabled:r},"Reload"),(null==t?void 0:t.canRetryPayment)&&i.createElement(I.Z,{className:"u-marg-left",primary:!0,filled:!0,icon:x.Tu.ArrowRight2,stopIconAnimation:!0,iconPosition:"right",wide:!0,onClick:e.onRetry,isLoading:e.isLoading,disabled:e.isLoading},"Retry"))))},Ee=le.Provider,_e=function(e){var t=e.children,n=Ce(),a=n.queryPaymentMethod,o=n.queryRoomstayId,l=n.queryPlanpayCheckoutId,s=n.returnFromPayment,d=n.success,m=(0,i.useContext)(r.g7),p=(0,i.useState)(!1),f=(0,A.Z)(p,2),v=f[0],g=f[1],y=(0,i.useState)(""),h=(0,A.Z)(y,2),b=h[0],E=h[1],x=(0,ye.o)(),k=x.isExternalMemberHotel,P=x.memberNumber,Z=(0,i.useState)(),w=(0,A.Z)(Z,2),S=w[0],N=w[1],B=(0,i.useState)(!1),I=(0,A.Z)(B,2),R=I[0],W=I[1],D=(0,re.cI)({mode:"onChange"}),M=(0,i.useContext)(r.hy),T=M.getAllValidRows(),G=M.basketAddonRows,q=((0,ae.k6)(),(0,i.useMemo)((function(){return m.engine.getInitialSession()}),[])),O=(0,C.WP)().hotel,U=(0,c.$)().t,F=(0,C.zX)().raise;(0,i.useEffect)((function(){null!=O&&O.requireDeposit&&M.getBasketQuoteDetails()}),[null==O?void 0:O.requireDeposit]);var j=function(e){return e.userProfiles.map((function(t){return{Title:t.Title,FirstName:t.Forename,LastName:t.Surname,Phone:t.Phone.replace(" ",""),Email:t.Email,Address:{Line1:t.Address,City:t.City,PostalCode:t.PostCode,State:t.State,Country:t.Country,CountryId:t.CountryId,CountryCode:t.CountryCode},MarketingOptIn:e.marketingOptIn,AuxInputs:t.AuxInputs}}))},z=function(){var e=(0,J.Z)(X().mark((function e(t){var n;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=[],!t.reservations){e.next=5;break}t.reservations.forEach((function(e,t){var r=M.currentBasketRows[t].checkDiffFromReservation(e);r&&n.push(r)})),e.next=7;break;case 5:throw te.n_({level:ne.z.Error,message:"No reservation data: "+JSON.stringify(t)}),new Error("The reservation could not be completed due to an unexpected issue, please try again");case 7:if(!(n.length||t.warnings&&t.warnings.length)){e.next=9;break}return e.abrupt("return",{differences:n,warnings:t.warnings});case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Q=function(){var e=(0,J.Z)(X().mark((function e(t,n){var r,a,o,l;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(F(new ce.m(t,M.currentBasketRows,O)),n!==ee.EBookingPaymentMethod.Planpay){e.next=3;break}return e.abrupt("return");case 3:if((null==O?void 0:O.cardProcessor)!==ee.EHotelCardProcessor.Passthrough){e.next=8;break}return e.next=6,null==K?void 0:K(t);case 6:e.next=9;break;case 8:null!==(r=t.payment)&&void 0!==r&&null!==(a=r.external)&&void 0!==a&&a.redirectUrl&&se(null===(o=t.payment)||void 0===o||null===(l=o.external)||void 0===l?void 0:l.redirectUrl);case 9:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),H=function(e,t,n,r){return function(){var a=(0,J.Z)(X().mark((function a(o){var l,i,c,s;return X().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(L.ZP.instance.sendInteraction("Complete Booking",L.s_.BUTTON,L._J.GUEST_DETAILS),g(!0),a.t0=!n,a.t0){a.next=7;break}return a.next=6,n();case 6:a.t0=a.sent;case 7:if(a.t0){a.next=11;break}return g(!1),a.abrupt("return");case 11:return a.next=13,e();case 13:return i=a.sent,c=j(o),a.prev=15,a.next=18,_.Z.Reservation.bookNow(T,c,i,G,t||"",null==O?void 0:O.hotelID,m.sessionProvider.getCurrentSessionID().toString(),void 0,void 0,void 0,k?P:void 0);case 18:return l=a.sent,a.next=21,M.booked(l,{userProfiles:c,payment:i,comments:t||""});case 21:return a.next=23,z(l);case 23:if(!(s=a.sent)){a.next=29;break}g(!1),null==r||r(s),a.next=31;break;case 29:return a.next=31,Q(l,i.Method);case 31:a.next=36;break;case 33:a.prev=33,a.t1=a.catch(15),N(a.t1);case 36:return a.prev=36,g(!1),a.finish(36);case 39:case"end":return a.stop()}}),a,null,[[15,33,36,39]])})));return function(e){return a.apply(this,arguments)}}()},Y=!!l&&!!o&&!!a,V=!(!s||!d&&Y||!o),$=function(e){var t;return null==e||null===(t=e.reservations)||void 0===t?void 0:t.map((function(e){return e.reservationNumber}))},K=function(){var e=(0,J.Z)(X().mark((function e(t,n){var a,o;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,n&&E(n),g(!0),!t){e.next=22;break}if(!(a=$(t)).length){e.next=20;break}return e.prev=6,e.next=9,_.Z.Reservation.commit(a,t.itineraryNumber,null==O?void 0:O.hotelID,l||void 0);case 9:o=e.sent;try{L.ZP.instance.sendReservationConfirmed(M.getAllValidRows(),M.basketAddonRows,o)}catch(e){te.Tb("Failed to read reservations from GTM code: "+JSON.stringify(e))}M.checkedOut(o),F(new ve(t,M.currentBasketRows)),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(6),N(e.t0);case 18:e.next=22;break;case 20:r.qL.add({message:U(u.W.Step.Confirmation.UnexpectedErrorOnCommittingReservation)}),te.Tb("No reservation IDs found when attempting to commit: "+JSON.stringify(t));case 22:e.next=28;break;case 24:e.prev=24,e.t1=e.catch(0),console.error(e.t1),te.Tb(e.t1);case 28:g(!1);case 29:case"end":return e.stop()}}),e,null,[[0,24],[6,15]])})));return function(t,n){return e.apply(this,arguments)}}(),le=function(){var e=(0,J.Z)(X().mark((function e(){var t;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(M.reservationData){e.next=2;break}return e.abrupt("return");case 2:if(e.prev=2,!(t=$(M.reservationData)).length){e.next=11;break}return g(!0),e.next=8,_.Z.Reservation.rollback(t,M.reservationData.itineraryNumber,null==O?void 0:O.hotelID);case 8:F(new ge(M.reservationData)),e.next=12;break;case 11:te.Tb("No reservation IDs found when attempting to rollback: "+JSON.stringify(M.reservationData));case 12:e.next=18;break;case 14:e.prev=14,e.t0=e.catch(2),console.log("Failed to rollback reservations"),te.Tb(e.t0);case 18:return e.prev=18,M.rollback(),g(!1),e.finish(18);case 22:case"end":return e.stop()}}),e,null,[[2,14,18,22]])})));return function(){return e.apply(this,arguments)}}(),ie=function(){var e=(0,J.Z)(X().mark((function e(t,n,r,a){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,D.handleSubmit(H(t,n,r,a))();case 2:case"end":return e.stop()}}),e)})));return function(t,n,r,a){return e.apply(this,arguments)}}(),se=function(e,t){g(!0),t&&E(t),window.location.href=e},ue=function(){var e=(0,J.Z)(X().mark((function e(){var t,n,r,a,o;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(W(!0),n=null==q?void 0:q.reservationRequest,r=null==q||null===(t=q.reservation)||void 0===t?void 0:t.roomstayId,n&&r){e.next=5;break}return e.abrupt("return",null);case 5:return e.prev=5,e.next=8,_.Z.Reservation.bookNow(T,n.userProfiles,n.payment,G,"",null==O?void 0:O.hotelID,m.sessionProvider.getCurrentSessionID().toString(),void 0,!0,r,k?P:void 0);case 8:return a=e.sent,e.next=11,M.booked(a);case 11:return e.next=13,z(a);case 13:if(!e.sent){e.next=18;break}g(!1),e.next=20;break;case 18:return e.next=20,Q(a,null===(o=n.payment)||void 0===o?void 0:o.Method);case 20:e.next=25;break;case 22:e.prev=22,e.t0=e.catch(5),N(e.t0);case 25:return e.prev=25,g(!1),W(!1),e.finish(25);case 29:case"end":return e.stop()}}),e,null,[[5,22,25,29]])})));return function(){return e.apply(this,arguments)}}(),de=function(){var e=(0,J.Z)(X().mark((function e(){var t;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:W(!0),t=new URLSearchParams(window.location.search),window.history.replaceState({},"","".concat(window.location.pathname,"?").concat(t)),window.location.reload();case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return i.createElement(re.RV,D,i.createElement(Ee,{value:{book:ie,commitReservation:K,rollbackReservation:le,redirectOut:se,setLoadingStatus:E,isLoading:v,isBackFromPlanpay:Y,isBackFromExternalPayment:V}},v&&i.createElement(oe.E,{isFullscreen:!0,label:b}),i.createElement(be,{onRetry:ue,onClose:de,errorData:S,isLoading:R}),t))},xe=n(22566),ke=n(25112),Pe=n(62364);function Ze(){var e=(0,c.$)().t;return i.createElement(ke.Z,{title:e(u.W.Step.Confirmation.SSLSecure)},i.createElement("img",{src:Pe.Z.getAssetUrl()+"assets/img/ssl-secure-connection.png"}))}var we=n(78029),Se=n(41432),Ne=n(4942),Be=n(35729),Ie=n.n(Be),Re=function(e){var t=e.vgsCardName,n=e.large;return i.createElement("div",{className:w()(Ie().root,(0,Ne.Z)({},Ie()["--large"],n)),style:{backgroundImage:"url('".concat(Pe.Z.getImageAssetUrl()+t+".png","')")}})},We=n(33409),De=n(59111),Me=function(e){var t,n=e.isCurrent,r=e.isDefault,a=e.style,o=(0,C.WP)().hotel,l=(null!==(t=null==o?void 0:o.paymentCardTypes)&&void 0!==t?t:[]).map((function(e){return De.w[e]?{name:De.w[e],status:!1}:null})).filter((function(e){return e}));return i.createElement("div",{className:"u-flex flex-row justify-content-start"},Object.keys(l).map((function(e){var t,o;return i.createElement("div",{key:e,id:null===(t=l[e])||void 0===t?void 0:t.name,className:w()("cc-icon u-flex u-marg-right--light",{"-current":null==n?void 0:n(e),"-default":null==r?void 0:r(e)}),style:Object.assign({backgroundImage:"url('".concat(Pe.Z.getAssetUrl()+"assets/img/"+(null===(o=l[e])||void 0===o?void 0:o.name)+".png","')"),backgroundSize:"contain"},a||{})})})))},Te=n(49723),Ge=n(75498),qe=n.n(Ge),Oe=function(e){var t,n=e.card,a=(e.active,e.overrideSubLabel),o=(0,c.$)().t,l=(0,r.ZS)().roomstayMember,s=(0,(0,r.Kc)().getTotalPayNow)(),d=(0,Te.Z)({children:s}),m=d.symbol,p=d.prettyValue,f=a||(n?"Expires ".concat((t=n.expiry).slice(0,2)+" / "+t.slice(2)):o(u.W.Step.Confirmation.CardSubLabel));return i.createElement("div",{className:"u-flex u-flex-justify-between w-100 u-flex-align-center"},i.createElement("div",{className:qe().root},n?i.createElement("div",{className:"flex-shrink-0"},i.createElement(Re,{vgsCardName:n.type,large:!0})):null,i.createElement("div",null,i.createElement(P.ZP,{align:he.P.Left,type:P.yG.Small,color:N.Il.Navy},n?"**** **** **** ".concat(n.cardNumber.slice(-4)):o(u.W.Step.Confirmation.CardLabel)),i.createElement(P.ZP,{className:"u-marg-top--lighter",align:he.P.Left,type:P.yG.Caption,color:N.Il.DarkGrey},f)),!n&&i.createElement("div",null,i.createElement(Me,{style:{width:24,height:16,borderRadius:1.5,border:"0.5px solid #DFE1E5"},isCurrent:function(){return!0}})),(null==l?void 0:l.defaultCard)&&n&&n.cardId===l.defaultCard&&i.createElement(We.ZP,{size:"small",type:We.Rm.Primary},"DEFAULT CARD")),i.createElement(P.ZP,{bold:!0,className:"u-flex",color:N.Il.Navy,type:P.yG.Small},m,p))},Le=n(45987),Ue=n(89089),Fe=n(57970),je=n.n(Fe),ze=function(e,t){var n,r=e.checked,a=e.onChange,o=e.disabled,l=e.label,c=e.renderContent,s=e.className,u=e.headerRef;return i.createElement("div",{className:w()(je().root,s,(n={},(0,Ne.Z)(n,je().disabled,o),(0,Ne.Z)(n,je().checked,r),n)),onClick:a,ref:t},i.createElement("div",{className:je().header,ref:u},i.createElement("div",{className:je().design}),i.createElement("div",{className:je().text},l)),c&&r&&i.createElement(E.Z,{open:!0},i.createElement("div",{className:je().content},c())))},Qe=(0,i.forwardRef)(ze),He=n(9502),Ye=n.n(He),Ve=["renderContent"],$e=function(e){var t=e.option,n=e.value,r=e.onChange,a=e.renderChildrenContent,o=t.options,l=!(null==o||!o.length),c=(0,i.useState)(null),s=(0,A.Z)(c,2),u=s[0],d=s[1],m=(0,i.useState)(!1),p=(0,A.Z)(m,2),f=p[0],v=p[1],g=l&&n&&o.find((function(e){return e.value===n}))||t,C=i.createElement(Qe,{headerRef:d,className:Ye().item,key:null==g?void 0:g.value,checked:!(null!=g&&g.disabled)&&(null==g?void 0:g.value)===n,onChange:function(){null!=g&&g.disabled||(l?v(!f):null!=g&&g.value&&(null==g?void 0:g.value)!==n&&(null==r||r(g.value)))},label:null==g?void 0:g.label,disabled:null==g?void 0:g.disabled,renderContent:null==g?void 0:g.renderContent});return null!=g&&g.disabled&&null!=g&&g.disabledReason?i.createElement(ke.Z,{key:null==g?void 0:g.value,wrapperClasses:Ye().wrapper,title:null==g?void 0:g.disabledReason},C):i.createElement(i.Fragment,null,i.createElement("div",{key:null==g?void 0:g.value,className:Ye().wrapper},C,o&&i.createElement("div",{className:Ye().childrenIndicator},i.createElement(x.ZP,{size:"24px",icon:x.Tu.Dropdown}))),o&&i.createElement(Ue.a,{onClose:function(){return v(!1)},className:Ye().overlay,hideStyles:!0,containerClassName:"u-w-100",open:f,followElement:u||void 0,offset:[0,0],placement:"top-start"},i.createElement(Je,{options:o.map((function(e){e.renderContent;var t=(0,Le.Z)(e,Ve);return a?e:t})),onChange:function(e){null==r||r(e),v(!1)},value:n})))},Je=function(e){var t=e.options,n=void 0===t?[]:t,r=e.value,a=e.onChange,o=e.renderChildrenContent;return i.createElement("div",{className:Ye().root},n.map((function(e){return i.createElement($e,{key:e.value,option:e,value:r,onChange:a,renderChildrenContent:o})})))},Ke=Je,Xe=n(45993),et=n(71291),tt=(0,i.forwardRef)((function(e,t){var n,r=(0,C.WP)().hotel,a=(0,i.useState)({}),o=(0,A.Z)(a,2),l=o[0],s=o[1],d=(0,c.$)().t,m=(0,C.b)().focusElement,p={fontSize:"13px",lineHeight:"18px","&::placeholder":{color:"#8B8F9A",opacity:1}},f=(0,et.c)([{label:d(u.W.Step.Confirmation.Inputs.CardNumber),name:"credit-card",type:"card-number",vgsProps:{autoComplete:["cc-number"],successColor:"#4F8A10",errorColor:"#D8000C",showCardIcon:!1,placeholder:d(u.W.Step.Confirmation.Inputs.CardNumber)+" *",validations:["required","validCardNumber"],css:p}},{label:d(u.W.Step.Confirmation.Inputs.NameOnCard),name:"card-name",type:"text",vgsProps:{validations:["required"],css:p,placeholder:d(u.W.Step.Confirmation.Inputs.NameOnCard)+" *"}},{label:d(u.W.Step.Confirmation.Inputs.CardExpiry),name:"expiration-date",type:"card-expiration-date",vgsProps:{placeholder:d(u.W.Step.Confirmation.Inputs.CardExpiry)+" *",validations:["required","validCardExpirationDate"],css:p}},{label:d(u.W.Step.Confirmation.Inputs.SecurityCode),name:"security-code",type:"card-security-code",vgsProps:{placeholder:d(u.W.Step.Confirmation.Inputs.SecurityCode)+" *",validations:["required","validCardSecurityCode"],css:p}}]),v=(0,A.Z)(f.fields,4),g=v[0],y=v[1],h=v[2],b=v[3],_=f.vgsForm,k=function(e){var t={};Object.keys(e).forEach((function(n){var r="";switch(n){case"credit-card":r=d(u.W.Step.Confirmation.Inputs.CardNumber);break;case"expiration-date":r=d(u.W.Step.Confirmation.Inputs.CardExpiry);break;case"security-code":r=d(u.W.Step.Confirmation.Inputs.SecurityCode);break;default:r=d(u.W.Step.Confirmation.Inputs.NameOnCard)}t[n]=r+" "+e[n].errorMessages[e[n].errorMessages.length-1]})),s(t)};(0,i.useEffect)((function(){var e,t;l&&0!==Object.keys(l).length&&null!=g&&null!==(e=g.ref)&&void 0!==e&&e.current&&m(null==g||null===(t=g.ref)||void 0===t?void 0:t.current)}),[l]),(0,i.useImperativeHandle)(t,(function(){return{getTokenizedCode:function(){return new Promise((function(e,t){_?_.submit("/post",{serializer:"deep",methods:"POST"},(function(n,r){var a=r,o=a["expiration-date"].match(/^(\d+)\s*\/\s*(\d+)$/);if(!o||o[1].length>2||4!==o[2].length&&2!==o[2].length)return k({"expiration-date":{errorMessages:[d(u.W.Step.Confirmation.InputErrors.CardExpiry.Invalid)]}}),void t(d(u.W.Step.Confirmation.InputErrors.CardExpiry.Invalid));var l=(1===o[1].length?"0":"")+o[1]+(2===o[2].length?o[2]:o[2].substr(2)),i={CVV:a["security-code"],Expiry:l,Name:a["card-name"],Number:a["credit-card"],Type:g.state.cardType};e(i)}),(function(e){k(e),t(e)})):console.error("VGS not on element, problem has occurred")}))}}}));var Z=(0,i.useRef)(null),w=(null!==(n=null==r?void 0:r.paymentCardTypes)&&void 0!==n?n:[]).map((function(e){return De.w[e]?{name:De.w[e],status:!1}:null})).filter((function(e){return e}));return i.createElement("div",null,["credit-card","card-name","expiration-date","security-code"].map((function(e){var t=l[e];return i.createElement(E.Z,{open:!!t,key:e},i.createElement("div",{className:"u-flex"},i.createElement(q.ZP,{type:q.NK.Danger,icon:x.Tu.Error},i.createElement(P.ZP,{type:P.yG.Small},t))))})),i.createElement("div",{className:"u-marg-bottom"},i.createElement(Me,{isCurrent:function(e){var t;return null!==g.state.cardType&&(null===(t=w[e])||void 0===t?void 0:t.name)===g.state.cardType},isDefault:function(e){return null===g.state.cardType}})),i.createElement("form",{ref:Z},i.createElement(Xe.Z,{dimensions:"2/2"},i.createElement("div",{className:g.getClasses(),ref:g.ref}),i.createElement(Xe.Z,{dimensions:"2/2"},i.createElement("div",{className:h.getClasses(),ref:h.ref}),i.createElement("div",{className:b.getClasses(),ref:b.ref}))),i.createElement(Xe.Z,{dimensions:"1"},i.createElement("div",{className:y.getClasses(),ref:y.ref}))))})),nt=n(46716),rt=n(1320),at=n.n(rt),ot=function(){var e=(0,c.$)().t;return i.createElement("div",{className:at()["label-and-logo"]},i.createElement("div",null,e(u.W.Step.Confirmation.PlanpayLabel)),i.createElement("div",{className:"u-flex u-flex-align-center u-marg-left--light"},i.createElement("img",{style:{borderRadius:"24px",width:"65px",height:"16px"},height:16,width:65,src:Pe.Z.getImageAssetUrl("planpay-logo-small.svg"),alt:""})))},lt=function(){var e=(0,c.$)().t;return i.createElement(P.ZP,{color:N.Il.Graphite,className:"u-flex u-flex-align-center",style:{color:"#313131",fontSize:10}},i.createElement(x.ZP,{color:N.Il.DarkGrey,icon:x.Tu.Info,className:"u-marg-right--lighter u-marg-left--light"}),e(u.W.Step.Confirmation.PlanpayHelperText))},it=function(e){var t=e.symbol,n=e.rawPrice;return i.createElement(P.ZP,{bold:!0,className:at().price,color:N.Il.Navy,type:P.yG.Small},t,null==n?void 0:n.installmentAmount," ",null==n?void 0:n.frequency)},ct=function(){var e,t,n,a,o,l,c,s,u,d,m,p,f,v,g,C,y,h,b,E=(0,re.Gc)(),_=(0,i.useContext)(r.g7),x=(n=(e={}).price,a=e.checkin,o=e.currency,l=(0,r.Kc)(),c=(0,nt.Z)(),s=c.planpay,u=c.planpayConfig,d=c.hasPlanpay,m=(0,i.useContext)(r.Qm).currentCurrency,p=null!=o?o:m,f=l.getTotalPrice()||n,v=(0,Te.Z)({children:f}).value,g=null!=a?a:((null===(t=l.selectedBasketRow)||void 0===t?void 0:t.getStartDate())||l.endDate).format("YYYY-MM-DD"),C=(0,i.useState)(void 0),y=(0,A.Z)(C,2),h=y[0],b=y[1],(0,i.useEffect)((function(){if(d&&v){var e=function(){var e=(0,J.Z)(X().mark((function e(){var t;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,s.pricePreview.fetch({totalCost:f,merchantId:u.username,currencyCode:p,redemptionDate:g});case 2:t=e.sent,b(t);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();e()}}),[v,d,p,f]),h),k=(0,r.Kc)().getTotalPrice,P=(0,Te.Z)({children:k()}).symbol,Z=_.screenSize<=V.Z.Large;return i.createElement("div",{className:"u-flex u-flex-justify-between w-100 u-flex-align-center"},i.createElement("div",{className:at().root},i.createElement("div",{className:at().container},i.createElement(ot,null),Z?i.createElement(it,{symbol:P,rawPrice:x}):E.formState.isValid?null:i.createElement(lt,null)),Z?i.createElement(lt,null):i.createElement(it,{symbol:P,rawPrice:x})))},st=n(53296),ut=n(69747),dt=n(514),mt=function(){return i.createElement("div",null,i.createElement("div",{className:"row no-gutters"},i.createElement("div",{className:"col-md-4"},i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(ut.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement(ut.Z,{type:"text",h:"md",blink:!0}),i.createElement(ut.Z,{type:"text",h:"md",blink:!0})),i.createElement("div",{className:"col-md-4"},i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(ut.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement(ut.Z,{type:"text",h:"sm",blink:!0}),i.createElement(ut.Z,{type:"text",h:"sm",blink:!0}),i.createElement(ut.Z,{type:"text",h:"sm",blink:!0})),i.createElement("div",{className:"col-md-4"},i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(ut.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},i.createElement(ut.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})),i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(ut.Z,{type:"text",w:"md",h:"sm",blink:!0,noMarg:!0})),i.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},i.createElement(ut.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})))),i.createElement("div",{className:"row no-gutters"},i.createElement("div",{className:"col-md-4"},i.createElement(ut.Z,{type:"text",h:"lg",blink:!0})),i.createElement("div",{className:"offset-md-4 col-md-4 d-flex align-items-center"},i.createElement(ut.Z,{type:"text",w:"xl",h:"sm",blink:!0}))))},pt=function(){var e,t,n=(0,i.useContext)(r.hy),a=(0,dt.W)().hotel,o=(0,nt.Z)(),l=o.hasPlanpay,c=o.loadPlanPaySDK,s=null===(e=n.reservationData)||void 0===e||null===(t=e.payment)||void 0===t?void 0:t.planpay;return(0,i.useLayoutEffect)((function(){null!=s&&s.id&&st.planpay.checkout.refresh()}),[null==s?void 0:s.id]),(0,i.useEffect)((function(){l&&c()}),[a]),i.createElement(i.Fragment,null,i.createElement("div",{className:"planpay-payment-container","data-planpay-checkout-id":null==s?void 0:s.id,style:{minHeight:"204px",display:"flex",justifyContent:"flex-end",flexDirection:"column"}},i.createElement(mt,null)))};function ft(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ft(Object(n),!0).forEach((function(t){(0,Ne.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ft(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var At=function(e){var t,n=e.tokenizerRef,a=e.onChangeCb,o=(0,re.Gc)(),s=(0,C.WP)().hotel,d=(0,r.Kc)(),m=(0,nt.Z)(),p=m.hasPricePreview,f=m.planpayConfig,v=(0,r.ZS)(),g=v.cards,A=void 0===g?[]:g,y=v.roomstayMember,h=(0,i.useMemo)((function(){return A.find((function(e){return e.cardId===(null==y?void 0:y.defaultCard)}))}),[A,y]),b=(0,c.$)().t,E=(0,i.useContext)(r.Qm).currentCurrency,_=o.watch("paymentMethod"),x=null==s||!s.cardProcessor||s.cardProcessor===ee.EHotelCardProcessor.Passthrough,k={value:ee.EBookingPaymentMethod.Card,label:i.createElement(Oe,{active:_===ee.EBookingPaymentMethod.Card,overrideSubLabel:x?void 0:b(u.W.Step.Confirmation.CardThirdPartyLabel)}),renderContent:x?function(){return i.createElement(tt,{ref:n})}:void 0},P=[];if(null!=s&&null!==(t=s.paymentMethods)&&void 0!==t&&t.includes(ee.EBookingPaymentMethod.Card)){var Z;if(A.length&&x){var w=h||A[0];Z={value:w.cardId,label:i.createElement(Oe,{card:w})}}else Z=k;var S=[];if(A.length){var N,B=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return gt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gt(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){i=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(i)throw o}}}}(A);try{for(B.s();!(N=B.n()).done;){var I=N.value;S.push({value:I.cardId,label:i.createElement(Oe,{card:I})})}}catch(e){B.e(e)}finally{B.f()}S.push(k)}P.push(vt(vt({},Z),{},{options:S.length>0?S:void 0}))}return(0,i.useEffect)((function(){o.trigger("paymentMethod")}),[E]),p&&f&&f.minDaysShowPlanpay&&l()(d.startDate).diff(l()(),"day")>f.minDaysShowPlanpay&&P.push({value:ee.EBookingPaymentMethod.Planpay,label:i.createElement(ct,null),disabled:!o.formState.isValid,disabledReason:o.formState.isValid?"":"You must fill all the above details before proceeding with Planpay",renderContent:function(){return i.createElement(pt,null)}}),i.createElement(re.Qr,{control:o.control,name:"paymentMethod",render:function(e){var t=e.field,n=t.onChange,r=t.value;return i.createElement(i.Fragment,null,i.createElement("div",null,i.createElement(Ke,{options:P,value:r,onChange:function(e){n(e),a(e)}})))}})},Ct=n(69024),yt=n(66604),ht=n(14590),bt=n(65762),Et=n(95494),_t=function(e){return e.Title="Title",e.Forename="Forename",e.Surname="Surname",e.Email="Email",e.Phone="Phone",e.Address="Address",e.City="City",e.PostCode="PostCode",e.State="State",e.Country="Country",e.CountryId="CountryId",e.CountryCode="CountryCode",e}({}),xt=n(61248),kt=n(48340),Pt=n(43261),Zt=n(16431),wt=["ref","onChange"],St=["ref"],Nt=["ref"],Bt=function(){var e=(0,re.Gc)(),t=e.register,n=e.formState,a=e.control,o=e.watch,l=e.getValues,s=e.setValue,d=(0,i.useContext)(r.hy),p=d.getAllValidRows(),v=d.basketAddonRows,y=(0,C.WP)().hotel,h=(0,re.Dq)({control:a,name:"userProfiles",rules:{required:!1}}),b=h.update,_=h.fields,k=o(["copyCheckBox","paymentMethod"]),Z=(0,A.Z)(k,2),w=Z[0],S=Z[1],B=n.errors,I=(0,c.$)().t,R=(0,i.useContext)(r.P0).roomstayMember,W=(0,Et.X)().showChildren;(0,i.useEffect)((function(){var e,t;null===(e=B.userProfiles)||void 0===e||null===(t=e.forEach)||void 0===t||t.call(e,(function(e,t){var n;null!==(n=B.userProfiles)&&void 0!==n&&n[t]&&(T[t]=!0)})),G(T.slice(0))}),[B.userProfiles,w]),(0,i.useEffect)((function(){var e=function(e){return 0===e&&arguments.length>1&&void 0!==arguments[1]?arguments[1]:""},t=p.map((function(t,n){var r,a,o,l,i,c,s,u,d,m,p,f,v,g,A,C,y=t.checkoutDefaults,h=null==y?void 0:y.Address;return C={},(0,Ne.Z)(C,_t.Title,""),(0,Ne.Z)(C,_t.Forename,e(n,null!==(r=null==y?void 0:y.FirstName)&&void 0!==r?r:null==R?void 0:R.forename)),(0,Ne.Z)(C,_t.Surname,e(n,null!==(a=null==y?void 0:y.LastName)&&void 0!==a?a:null==R?void 0:R.surname)),(0,Ne.Z)(C,_t.Email,e(n,null!==(o=null==y?void 0:y.Email)&&void 0!==o?o:null==R?void 0:R.email)),(0,Ne.Z)(C,_t.Phone,e(n,null!==(l=null==y?void 0:y.Phone)&&void 0!==l?l:null==R?void 0:R.phoneNumber)),(0,Ne.Z)(C,_t.Address,e(n,null!==(i=null==h?void 0:h.Line1)&&void 0!==i?i:null==R||null===(c=R.address)||void 0===c?void 0:c.address)),(0,Ne.Z)(C,_t.City,e(n,null!==(s=null==h?void 0:h.City)&&void 0!==s?s:null==R||null===(u=R.address)||void 0===u?void 0:u.city)),(0,Ne.Z)(C,_t.PostCode,e(n,null!==(d=null==h?void 0:h.PostalCode)&&void 0!==d?d:null==R||null===(m=R.address)||void 0===m?void 0:m.zip)),(0,Ne.Z)(C,_t.State,e(n,null!==(p=null==h?void 0:h.State)&&void 0!==p?p:null==R||null===(f=R.address)||void 0===f?void 0:f.state)),(0,Ne.Z)(C,_t.Country,e(n,null!==(v=null==h?void 0:h.Country)&&void 0!==v?v:null==R||null===(g=R.address)||void 0===g?void 0:g.country)),(0,Ne.Z)(C,_t.CountryId,e(n,null==h||null===(A=h.CountryId)||void 0===A?void 0:A.toString())),(0,Ne.Z)(C,_t.CountryCode,e(n,null==h?void 0:h.CountryCode)),C}));s("userProfiles",t),s("copyCheckBox",!!(null!=p&&p.length&&p.length>1))}),[R,null==p?void 0:p.length]);var D=(0,i.useState)(p.map((function(e,t){return 0===t}))),M=(0,A.Z)(D,2),T=M[0],G=M[1],O=function(e,t){return function(e){L.ZP.instance.sendInteraction(t,L.s_.FORM_FIELD,L._J.GUEST_DETAILS)}};return(0,i.useEffect)((function(){w&&_.forEach((function(e,t){0!==t&&b(t,l("userProfiles.0"))}))}),[w]),(0,i.useEffect)((function(){var e=o((function(e,t){var n=t.name;"change"===t.type&&null!=n&&n.includes("userProfiles")&&"0"===n.split(".")[1]&&e.copyCheckBox&&_.map((function(e,t){0!==t&&b(t,l("userProfiles.0"))}))})).unsubscribe;return function(){e()}}),[_]),(0,i.useEffect)((function(){L.ZP.instance.sendCheckoutView(p,v)}),[]),i.createElement(i.Fragment,null,_.map((function(e,r){for(var o,l,c=function(e){return function(e,t){return"userProfiles.".concat(t,".").concat(e)}(e,r)},d=function(e){var t,n,a;if(B.userProfiles&&!(w&&r>=1))return null!==(t=B.userProfiles[r])&&void 0!==t&&t[e]||null!==(n=B.userProfiles[r])&&void 0!==n&&null!==(a=n.AuxInputs)&&void 0!==a&&a[e.replace("AuxInputs.","")]?"error":"success"},v=p[r],A=v.getRoom(),C=w&&r>=1||S===ee.EBookingPaymentMethod.Planpay,h=(null==y?void 0:y.stateFieldConfiguration)===ee.EHotelStateFieldConfiguration.Optional||(null==y?void 0:y.stateFieldConfiguration)===ee.EHotelStateFieldConfiguration.Required,b=(null==y?void 0:y.stateFieldConfiguration)===ee.EHotelStateFieldConfiguration.Required,k=null==y||null===(o=y.roomGroups)||void 0===o?void 0:o.find((function(e){return e.id===A.roomGroupId})),Z=[],R=function(){var e,t,n=M[D],r=null==k?void 0:k.filters[n],a=null==A||null===(e=A.auxiliaryValues)||void 0===e||null===(t=e[n])||void 0===t?void 0:t.map((function(e){return e.toString()}));if(null!=r&&r.requireInput&&a){var o=r.options.filter((function(e){if(a.includes(e.value.toString()))return e}));Z.push({id:"".concat((0,ee.nameof)("AuxInputs"),".").concat(n),name:r.name,label:r.name,options:o.map((function(e){return{label:e.label,value:e.value.toString()}}))})}},D=0,M=Object.keys(null!==(L=null==k?void 0:k.filters)&&void 0!==L?L:{});D<M.length;D++){var L;R()}var U,F,j,z=i.createElement(re.Qr,{control:a,name:c(_t.Country),rules:{required:{value:!0,message:I(u.W.Step.Confirmation.Inputs.Required,{field:I(u.W.Step.Confirmation.Inputs.Country)})}},render:function(e){var t=e.field,n=(t.ref,t.onChange),r=(0,Le.Z)(t,wt);return i.createElement(bt.Z,(0,g.Z)({disabled:C,validationStatus:d(_t.Country),onChange:function(e){n(e),O(c(_t.Country),"Country - Address")(e)},onChangeId:function(e){s(c(_t.CountryId),e)},onChangeCode:function(e){s(c(_t.CountryCode),e)}},r))}});return i.createElement("div",{key:e.id},i.createElement("div",{className:0===r?"":"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom",onClick:function(){0!==r&&function(e,t){T.splice(e,1,t),G(T.slice(0))}(r,!T[r])}},i.createElement("div",{className:"u-flex u-marg-bottom align-items-center"},i.createElement(m.Z,{bold:!0},I(u.W.Misc.Room)," ",r+1),0!==r&&i.createElement(x.ZP,{icon:T[r]?x.Tu.ArrowDown2:x.Tu.ArrowUp2,color:N.Il.Grey})),v&&i.createElement("div",{className:"u-marg-bottom"},i.createElement(P.ZP,null,i.createElement("strong",{className:"u-block@l-"},v.getRoom().name)," for"," ",Pt.Z.pluralWithDictAndCount(v.getAdults(),u.W.Step.Date.Adult,I),W?i.createElement(i.Fragment,null,", ",Pt.Z.pluralWithDictAndCount(v.getChildren(),u.W.Step.Date.Child,I)):null,null!=y&&null!==(l=y.childConfiguration)&&void 0!==l&&l.supportInfants?i.createElement(i.Fragment,null,", ",Pt.Z.pluralWithDictAndCount(v.getInfants(),u.W.Step.Date.Infant,I)):null),i.createElement("div",{className:"step-one-status--dates u-flex justify-content-start"},i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.Accent},i.createElement("strong",null,v.getStartDate().format("ddd, MMM D"))),i.createElement(x.ZP,{icon:x.Tu.ArrowRight2,size:"18px"}),i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.Accent},i.createElement("strong",null,v.getEndDate().format("ddd, MMM D"))))),(U=r,(j=null===(F=B.userProfiles)||void 0===F?void 0:F[U])&&n.submitCount>=1&&(0===U||!w)&&Object.values(j).map((function(e,t){return i.createElement(E.Z,{key:t,open:!0},i.createElement("div",{className:"u-flex"},i.createElement(q.ZP,{icon:x.Tu.Error,type:q.NK.Danger,noMargin:t===Object.keys(j).length-1},i.createElement(P.ZP,{type:P.yG.Small},null==e?void 0:e.message))))})),null)),i.createElement("div",{className:"room-contact-details--row",style:{maxHeight:T[r]?void 0:0}},i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(P.ZP,{type:P.yG.Small},i.createElement("strong",null,I(u.W.Step.Confirmation.ContactInfo)))),i.createElement(Xe.Z,{dimensions:kt.Z.isActive()?"1/2/2":"2/2"},kt.Z.isActive()&&i.createElement(re.Qr,{control:a,name:c(_t.Title),rules:{required:!0},render:function(e){var t=e.field,n=(t.ref,(0,Le.Z)(t,St));return i.createElement(ht.JD,(0,g.Z)({keyName:"value",labelName:"label",options:kt.Z.getTitleOptions(),placeholder:I(u.W.Step.Confirmation.Inputs.Title)+" *",required:!0,validationStatus:d(_t.Title)},n))}}),i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:C},placeholder:I(u.W.Step.Confirmation.Inputs.Forename)+" *",wide:!0,required:!0,validationStatus:d(_t.Forename)},t(c(_t.Forename),{onChange:O(c(_t.Forename),"Forename - Contact Info"),required:{value:!0,message:I(u.W.Step.Confirmation.Inputs.Required,{field:I(u.W.Step.Confirmation.Inputs.Forename)})}}))),i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:C},placeholder:I(u.W.Step.Confirmation.Inputs.Surname)+" *",wide:!0,required:!0,validationStatus:d(_t.Surname)},t(c(_t.Surname),{onChange:O(c(_t.Surname),"Surname - Contact Info"),required:{value:!0,message:I(u.W.Step.Confirmation.Inputs.Required,{field:I(u.W.Step.Confirmation.Inputs.Surname)})}})))),i.createElement(Xe.Z,{dimensions:"2/2"},i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:C},placeholder:I(u.W.Step.Confirmation.Inputs.Email)+" *",wide:!0,validationStatus:d(_t.Email),required:!0},t(c(_t.Email),{onChange:O(c(_t.Email),"Email - Contact Info"),required:{value:!0,message:I(u.W.Step.Confirmation.Inputs.Required,{field:I(u.W.Step.Confirmation.Inputs.Email)})},pattern:{value:Zt.CU,message:I(u.W.Step.Confirmation.Inputs.InvalidEmail)}}))),xt.Z.isActive()?i.createElement(re.Qr,{control:a,name:c(_t.Phone),rules:{required:{value:!0,message:I(u.W.Step.Confirmation.Inputs.Required,{field:I(u.W.Step.Confirmation.Inputs.Phone)})},minLength:{value:5,message:"Phone number is required"},maxLength:{value:17,message:"Phone number is too long"},pattern:{value:/^[1-9]( |\d){1,15}$/g,message:"Incorrect phone number entered"}},render:function(e){var t=e.field;return i.createElement(yt.Z,(0,g.Z)({disabled:C,validationStatus:d(_t.Phone)},t,{onChange:function(e){t.onChange(e),O(c(_t.Phone),"Phone - Contact Info")(e)}}))}}):i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:C},placeholder:I(u.W.Step.Confirmation.Inputs.Phone)+" *",wide:!0,required:!0,validationStatus:d(_t.Phone)},t(c(_t.Phone),{onChange:O(c(_t.Phone),"Phone - Contact Info"),required:{value:!0,message:I(u.W.Step.Confirmation.Inputs.Required,{field:I(u.W.Step.Confirmation.Inputs.Phone)})}}))))),i.createElement("div",{className:""},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(P.ZP,{type:P.yG.Small},i.createElement("strong",null,I(u.W.Step.Confirmation.Address)))),i.createElement(Xe.Z,{dimensions:"3/1"},i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:C},placeholder:I(u.W.Step.Confirmation.Inputs.Address)+" *",wide:!0,required:!0,validationStatus:d(_t.Address)},t(c(_t.Address),{onChange:O(c(_t.Address),"Address - Address"),required:{value:!0,message:I(u.W.Step.Confirmation.Inputs.Required,{field:I(u.W.Step.Confirmation.Inputs.Address)})}}))),i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:C},placeholder:I(u.W.Step.Confirmation.Inputs.City)+" *",wide:!0,required:!0,validationStatus:d(_t.City)},t(c(_t.City),{onChange:O(c(_t.City),"City - Address"),required:{value:!0,message:I(u.W.Step.Confirmation.Inputs.Required,{field:I(u.W.Step.Confirmation.Inputs.City)})}})))),i.createElement(Xe.Z,{dimensions:"2/2"},i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:C},placeholder:I(u.W.Step.Confirmation.Inputs.PostCode)+" *",wide:!0,required:!0,validationStatus:d(_t.PostCode)},t(c(_t.PostCode),{onChange:O(c(_t.PostCode),"PostCode - Address"),required:{value:!0,message:I(u.W.Step.Confirmation.Inputs.Required,{field:I(u.W.Step.Confirmation.Inputs.PostCode)})}}))),h?i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:C},placeholder:I(u.W.Step.Confirmation.Inputs.State)+(b?" *":""),wide:!0,required:b,validationStatus:d(_t.State)},t(c(_t.State),{onChange:O(c(_t.State),"State - Address"),required:{value:b,message:I(u.W.Step.Confirmation.Inputs.Required,{field:I(u.W.Step.Confirmation.Inputs.State)})}}))):z),h&&i.createElement(Xe.Z,{dimensions:"1"},z))),Z.length>0&&i.createElement("div",{className:"u-marg-top"},i.createElement("div",{className:"u-marg-top"},i.createElement(Xe.Z,{dimensions:"2/2"},Z.map((function(e){var t=e.options;return i.createElement(re.Qr,{key:e.id,control:a,name:c(e.id),rules:{required:!0},render:function(n){var r=n.field,a=(r.ref,(0,Le.Z)(r,Nt));return i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(P.ZP,{type:P.yG.Small},i.createElement("strong",null,e.name))),i.createElement(ht.JD,(0,g.Z)({key:e.id,keyName:(0,ee.nameof)("value"),labelName:(0,ee.nameof)("label"),options:t,placeholder:"Please Select *",validationStatus:d(e.id)},a)))}})}))))),i.createElement(f.Z,null)),_.length>1&&0===r?i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(Ct.Z,(0,g.Z)({label:I(u.W.Step.Confirmation.ApplySameInfoToOtherRooms)},t("copyCheckBox")))):null)})))},It=i.forwardRef((function(e,t){var n=(0,c.$)().t,r=e.confirmationPolicyError,a=(0,C.WP)().hotel,o=(0,re.Gc)().register;return i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},n(u.W.Step.Confirmation.Acknowledgement))),i.createElement("div",null,i.createElement(Ct.Z,(0,g.Z)({label:n(u.W.Step.Confirmation.EmailSpecialOffers)},o("marketingOptIn",{})))),i.createElement("div",{className:"u-marg-top--light"},i.createElement(Ct.Z,{ref:t,label:i.createElement("div",null,n(u.W.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)," ",i.createElement("a",{style:{color:N.Il.Accent},className:"--underlined",href:null==a?void 0:a.privacyPolicyUrl,target:"_blank",rel:"noreferrer"},n(u.W.Step.Confirmation.PrivacyPolicy)))})),i.createElement(E.Z,{open:r},i.createElement("div",{className:"u-flex u-marg-top"},i.createElement(q.ZP,{type:q.NK.Danger,icon:x.Tu.Error},i.createElement(P.ZP,{type:P.yG.Small},n(u.W.Step.Confirmation.PrivacyPolicyError))))))}));function Rt(e){var t,n,a=(0,i.useContext)(r.hy),o=(0,c.$)().t,s=(0,i.useState)(l()().add(14,"minute")),d=(0,A.Z)(s,2),p=d[0];d[1],(0,i.useEffect)((function(){var t,n=!1,r=null;return(e.differences.length||null!==(t=e.warnings)&&void 0!==t&&t.length)&&(r=setTimeout((function(){n||e.onClose()}),74e4)),function(){n=!0,clearTimeout(r)}}),[e.differences.length,null===(t=e.warnings)||void 0===t?void 0:t.length]);var v=i.createElement("div",{className:"u-flex"},i.createElement(I.Z,{isText:!0,size:"small",icon:x.Tu.ArrowLeft,onClick:e.onClose,isLoading:e.isLoading},o(u.W.Step.Confirmation.TakeMeBack)),i.createElement(I.Z,{primary:!0,filled:!0,icon:x.Tu.ArrowRight,iconPosition:"right",onClick:e.onProceed,isLoading:e.isLoading},o(u.W.Step.Confirmation.ContinueWithReservation)));return i.createElement(W.Z,{open:!!e.differences.length||!(null===(n=e.warnings)||void 0===n||!n.length),title:o(u.W.Step.Confirmation.YourTotalPriceHasChanged),mobileFooter:v,desktopFooter:i.createElement("div",{className:"u-marg-heavy u-marg@m-"},v),size:W.g.Small,alignCenter:!0},i.createElement("div",{className:"u-marg-heavy u-marg@m-"},i.createElement("div",{className:"row"},i.createElement("div",{className:"col-md-8"},i.createElement(P.ZP,{type:P.yG.Small},o(u.W.Step.Confirmation.ConfirmationCheckoutTitle))),i.createElement("div",{className:"col-md-4"},i.createElement(We.ZP,{icon:x.Tu.Time,type:We.Rm.Primary},i.createElement("span",{className:"u-marg-right--light"},o(u.W.Step.Confirmation.RevertsIn)),i.createElement(O,{endTimeDate:p})))),i.createElement(f.Z,null),!(!e.differences||!e.differences.length)&&e.differences.map((function(e){var t,n,r,o=a.getAllValidRows().find((function(t){return t.getID()===e.id}));return i.createElement("div",{key:e.id},!!o&&i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(m.Z,null,o.getRoom().name)),i.createElement(P.ZP,null,null===(t=o.getRate())||void 0===t?void 0:t.name)),i.createElement("div",{className:"u-flex u-marg-bottom--light"},i.createElement(P.ZP,{type:P.yG.Body},i.createElement("strong",null,"Displayed price:")),i.createElement(P.ZP,{color:N.Il.Alert},i.createElement(R.Z,null,null===(n=e.totalPrice)||void 0===n?void 0:n.before))),i.createElement("div",{className:"u-flex"},i.createElement(P.ZP,{type:P.yG.Body},i.createElement("strong",null,"Actual price:")),i.createElement(P.ZP,{color:N.Il.Success},i.createElement(R.Z,null,null===(r=e.totalPrice)||void 0===r?void 0:r.after))),i.createElement(f.Z,null))})),!(!e.warnings||!e.warnings.length)&&e.warnings.map((function(e,t){return i.createElement(P.ZP,{key:t},e)}))))}var Wt=n(92710);function Dt(){var e=(0,c.$)().t,t=(0,C.WP)().hotel;return i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},e(u.W.Step.Confirmation.Policies))),i.createElement("div",{className:"u-marg-bottom step-confirmation-policies-section"},i.createElement("div",{className:"row"},i.createElement("div",{className:"col-6 col-md-3"},i.createElement(P.ZP,{type:P.yG.Small},i.createElement("strong",null,e(u.W.Misc.CheckIn))),i.createElement(P.ZP,{type:P.yG.Small},e(u.W.Misc.After)," ",null==t?void 0:t.checkInTime)),i.createElement("div",{className:"col-6 col-md-3"},i.createElement(P.ZP,{type:P.yG.Small},i.createElement("strong",null,e(u.W.Misc.CheckOut))),i.createElement(P.ZP,{type:P.yG.Small},e(u.W.Misc.Before)," ",null==t?void 0:t.checkOutTime)))))}function Mt(){var e=(0,i.useContext)(r.hy),t=(0,c.$)().t,n=t(u.W.Misc.Room);return(0,i.useMemo)((function(){var r={},a=e.getAllValidRows(),o=0;return a.length>1?a.forEach((function(e){o++;var t=e.getRate(),n=r["".concat(null==t?void 0:t.cancelPolicyCode,"-").concat(null==t?void 0:t.guaranteeCode)];n||(n=r["".concat(null==t?void 0:t.cancelPolicyCode,"-").concat(null==t?void 0:t.guaranteeCode)]={rooms:[]}),n.rooms.push({index:o,room:e})})):r[0]={rooms:[{index:1,room:a[0]}]},i.createElement("div",{className:"u-marg-bottom step-confirmation-policy-block"},Object.values(r).map((function(e,r){var a,o,l,c=e.rooms[0];return i.createElement("div",{className:"u-marg-bottom--heavy",key:r},i.createElement("div",{className:"u-marg-bottom"},e.rooms.map((function(e){var t;return i.createElement(P.ZP,{key:e.index,type:P.yG.Small},i.createElement("strong",null,n," ",e.index)," ",e.room.getRoom().name," - ",null===(t=e.room.getRate())||void 0===t?void 0:t.name)}))),i.createElement("div",{className:"u-marg-bottom"},null!==(a=c.room.getRate())&&void 0!==a&&a.getGuaranteePolicy()?i.createElement(i.Fragment,null,i.createElement(P.ZP,{type:P.yG.Small,bold:!0,className:"u-marg-bottom--light"},t(u.W.Misc.GuaranteePolicy)),i.createElement(P.ZP,{type:P.yG.Small},i.createElement("span",{className:"u-clear-font-weight",dangerouslySetInnerHTML:{__html:(null===(o=c.room.getRate())||void 0===o?void 0:o.getGuaranteePolicy())||""}}))):null),i.createElement(P.ZP,{type:P.yG.Small,bold:!0,className:"u-marg-bottom--light"},t(u.W.Misc.CancellationPolicy)),i.createElement(P.ZP,{type:P.yG.Small},i.createElement("span",{className:"u-clear-font-weight",dangerouslySetInnerHTML:{__html:(null===(l=c.room.getRate())||void 0===l?void 0:l.getCancellationPolicy())||""}})))})))}),[e.currentBasketRows])}var Tt=n(96222),Gt=n(28016),qt=n(71657);function Ot(){var e=(0,i.useState)({differences:[],warnings:[]}),t=(0,A.Z)(e,2),n=t[0],a=t[1],o=(0,i.useContext)(r.gr),l=(0,i.useState)(""),s=(0,A.Z)(l,2),d=s[0],p=s[1],v=(0,i.useState)(!1),y=(0,A.Z)(v,2),h=y[0],b=y[1],E=(0,i.useRef)(null),_=(0,i.useRef)(null),Z=(0,c.$)().t,w=Ce(),S=w.queryPaymentMethod,B=w.queryRoomstayId,R=w.queryPlanpayCheckoutId,W=(0,r.dF)(),D=(0,re.Gc)(),M=ie(),T=M.isBackFromPlanpay,G=M.isBackFromExternalPayment,O=M.isLoading,L=M.setLoadingStatus,U=M.book,F=M.rollbackReservation,j=M.commitReservation,z=(0,r.Kc)(),Q=(0,i.useRef)(null),H=(0,xe.J)(),Y=(0,r.ZS)().roomstayMember,V=(0,C.WP)().hotel,$=null==V||!V.cardProcessor||V.cardProcessor===ee.EHotelCardProcessor.Passthrough,K=function(){var e=(0,J.Z)(X().mark((function e(t){var n,r,a,o;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t,e.next=e.t0===ee.EBookingPaymentMethod.Planpay?3:e.t0===ee.EBookingPaymentMethod.Card?10:(e.t0,ee.EBookingPaymentMethod.SavedCard,20);break;case 3:return(r=new URLSearchParams(window.location.search)).set("roomstayId","{{rsId}}"),r.set("session",W.sessionProvider.getCurrentSessionID().toString()),r.set("paymentMethod",ee.EBookingPaymentMethod.Planpay),a="".concat(window.location.origin).concat(window.location.pathname).concat(window.location.search,"#/step/confirmation/?").concat(r),n={Method:ee.EBookingPaymentMethod.Planpay,PlanpayCheckoutId:R||void 0,RedirectUrl:a},e.abrupt("break",21);case 10:if(!$){e.next=18;break}return e.t1=ee.EBookingPaymentMethod.Card,e.next=14,null===(o=Q.current)||void 0===o?void 0:o.getTokenizedCode();case 14:e.t2=e.sent,n={Method:e.t1,PaymentCard:e.t2},e.next=19;break;case 18:n={Method:ee.EBookingPaymentMethod.Card};case 19:return e.abrupt("break",21);case 20:n={Method:ee.EBookingPaymentMethod.SavedCard,SavedCardID:t};case 21:return e.abrupt("return",n);case 22:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();(0,i.useEffect)((function(){var e,t,n="";n=Object.values(ee.EBookingPaymentMethod).includes(S)?S:null!=Y&&Y.defaultCard&&null!=Y&&null!==(t=Y.cards)&&void 0!==t&&t.find((function(e){return e.cardId===(null==Y?void 0:Y.defaultCard)}))?null==Y?void 0:Y.defaultCard:ee.EBookingPaymentMethod.Card,D.setValue("paymentMethod",n);var r=null===(e=z.reservationData)||void 0===e?void 0:e.roomstayId;return!G||!B||r&&B!==r?se(n):null==j||j(z.reservationData,"Please wait... Finalising your reservation"),T&&(B===r?te():null==F||F()),function(){T||G||null==F||F()}}),[]);var te=function(){var e=(0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==j?void 0:j(z.reservationData);case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ne=D.watch("paymentMethod");W.engine.getSessionProvider().getSession().then((function(e){p(e.source)}));var ae=function(){var e=(0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:H((0,qt.Z)().getStepUrl());case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),oe=function(){var e=(0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(null==V?void 0:V.cardProcessor)!==ee.EHotelCardProcessor.Passthrough?L("You will be redirected shortly to the payment provider."):L("Processing booking"),e.next=3,ce(ne);case 3:return e.abrupt("return",!1);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),le=function(e){var t=null==o?void 0:o.errorChecks.every((function(t){return t().validate(e)}));return void 0===t||t},ce=function(){var e=(0,J.Z)(X().mark((function e(t){var n;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==U?void 0:U((0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",K(t));case 1:case"end":return e.stop()}}),e)}))),null===(n=_.current)||void 0===n?void 0:n.value,(0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=void 0,!Tt.Z.isActive()||null!=E&&null!==(n=E.current)&&void 0!==n&&n.checked){e.next=3;break}return b(!0),e.abrupt("return",!1);case 3:if(le(!0)){e.next=5;break}return e.abrupt("return",!1);case 5:if(e.prev=5,t!==ee.EBookingPaymentMethod.Card||!$){e.next=9;break}return e.next=9,Q.current.getTokenizedCode();case 9:return e.abrupt("return",!0);case 12:return e.prev=12,e.t0=e.catch(5),e.abrupt("return",!1);case 15:case"end":return e.stop()}var n}),e,null,[[5,12]])}))),(function(e){e&&a(e)}));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),se=function(){var e=(0,J.Z)(X().mark((function e(t){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t===ee.EBookingPaymentMethod.Planpay){e.next=3;break}return e.next=3,null==F?void 0:F();case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return i.createElement("form",null,T?i.createElement(k.Z,null):i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(m.Z,{bold:!0},Z(u.W.Step.Confirmation.GuestDetails))),i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.Success},i.createElement("strong",null,Z(u.W.Step.Confirmation.AlmostDone,{required:"*"})))),i.createElement(Bt,null),"inline"===d?i.createElement(q.ZP,{type:q.NK.Accent2,heavyPadding:!0},i.createElement("div",{className:"u-flex u-w-100 flex-wrap flex-xl-nowrap"},i.createElement("div",null,i.createElement(P.ZP,{color:N.Il.Accent,bold:!0},Z(u.W.Step.Confirmation.WantMoreRooms)),i.createElement(P.ZP,{color:N.Il.Navy},Z(u.W.Step.Confirmation.YouCanAddAndEditRooms))),i.createElement("div",{className:"d-flex align-items-center u-marg-top@xl-"},i.createElement(I.Z,{filled:!0,primary:!0,icon:x.Tu.Add,iconPosition:"left",onClick:ae},Z(u.W.Step.Confirmation.AddMoreRooms))))):i.createElement(i.Fragment,null),Gt.Z.isActive()&&i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},"Travel Agent")),i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(P.ZP,{type:P.yG.Small},i.createElement("strong",null,Z(u.W.Step.Confirmation.Inputs.IATANumber)))),i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(P.ZP,{type:P.yG.Small},Z(u.W.Step.Confirmation.Inputs.IATANumberGuide))),i.createElement(Se.Z,(0,g.Z)({placeholder:Z(u.W.Step.Confirmation.Inputs.IATANumber),wide:!0},D.register("IATANumber")))),i.createElement(f.Z,null)),i.createElement(Wt.h,{inputRef:_}),i.createElement(f.Z,null),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},Z(u.W.Navigation.Menu.PaymentInformation))),i.createElement(At,{tokenizerRef:Q,onChangeCb:function(){var e=(0,J.Z)(X().mark((function e(t){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,se(t);case 2:if(t!==ee.EBookingPaymentMethod.Planpay){e.next=5;break}return e.next=5,ce(t);case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}),i.createElement("div",{className:"u-marg-top u-flex align-items-center"},i.createElement("div",{className:"u-flex align-items-center justify-content-start"},i.createElement(x.ZP,{icon:x.Tu.Lock,color:N.Il.Success}),i.createElement("div",{className:"u-marg-left--light"},i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.Success},i.createElement("strong",null,Z(u.W.Step.Confirmation.Secured))))),i.createElement(Ze,null))),i.createElement(f.Z,null),i.createElement(Dt,null),i.createElement("div",{className:"u-pad-top--light u-marg-bottom"},i.createElement(Mt,null)),Tt.Z.isActive()&&i.createElement(i.Fragment,null,i.createElement(f.Z,null),i.createElement("div",null,i.createElement(It,{ref:E,confirmationPolicyError:h}))),i.createElement("div",{className:"u-flex u-marg-top--heavy justify-content-end"},i.createElement(we.Z,{disabled:ne===ee.EBookingPaymentMethod.Planpay||O,text:Z(u.W.Step.Confirmation.ConfirmReservation),isLoading:O,onClick:oe}))),i.createElement(Rt,{differences:n.differences,warnings:n.warnings,isLoading:O,onClose:(0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==F?void 0:F();case 2:H((0,qt.Z)().getStepUrl());case 3:case"end":return e.stop()}}),e)}))),onProceed:(0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ne!==ee.EBookingPaymentMethod.Planpay){e.next=4;break}a({differences:[],warnings:[]}),e.next=6;break;case 4:return e.next=6,null==j?void 0:j(z.reservationData);case 6:case"end":return e.stop()}}),e)})))}))}function Lt(){return i.createElement(_e,null,i.createElement(Ot,null))}var Ut=function(){var e=(0,i.useContext)(r.g7),t=(0,i.useContext)(r.aN).currentStep,n=(0,i.useContext)(r.hy).currentBasketRows,o=(0,c.$)().t,g=(0,H.z)().raise;return(0,i.useEffect)((function(){var e=new a.z(n);g(e)}),[]),i.createElement("div",{className:"container"},i.createElement(v.V,{step:"Confirmation"}),i.createElement(r.s$,null,i.createElement(z.default,null),i.createElement(p.i5,null,i.createElement(p.mV,null,e.screenSize>V.Z.Medium&&i.createElement(i.Fragment,null,i.createElement(s.rU,{to:$.Z.getPreviousStepUrl(t)},i.createElement(d.Z,null)),i.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},i.createElement(m.Z,{bold:!0},o(u.W.Navigation.Steps.Confirmation)))),i.createElement("div",{className:"u-marg-top@m-"},i.createElement(F.Z,null))),e.screenSize>V.Z.Medium&&i.createElement(p.f,null,i.createElement(j.Z,null))),i.createElement(f.Z,null),i.createElement(p.i5,null,i.createElement(p.mV,null,i.createElement("div",{className:"block-container"},!Y.Z.isActive()&&i.createElement(G,null),i.createElement(Lt,null))),e.screenSize>V.Z.Medium&&i.createElement(p.f,null,i.createElement(U,{endDate:l()().add(10,"minute")}),i.createElement(Q.v,{showImages:!0})))))}},12899:function(e,t,n){(t=n(23645)(!0)).push([e.id,".InlinePaymentCard-module__root___3JISW{width:24px;height:16px;background-size:contain;background-repeat:no-repeat;border-radius:2.5px;border:.5px solid #dfe1e5}.InlinePaymentCard-module__root___3JISW.InlinePaymentCard-module__--large____T4UH{width:48px;height:32px}","",{version:3,sources:["InlinePaymentCard.module.scss"],names:[],mappings:"AAAA,wCAAM,UAAU,CAAC,WAAW,CAAC,uBAAuB,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,kFAAc,UAAU,CAAC,WAAW",file:"InlinePaymentCard.module.scss",sourcesContent:[".root{width:24px;height:16px;background-size:contain;background-repeat:no-repeat;border-radius:2.5px;border:.5px solid #dfe1e5}.root.--large{width:48px;height:32px}"]}]),t.locals={root:"InlinePaymentCard-module__root___3JISW","--large":"InlinePaymentCard-module__--large____T4UH"},e.exports=t},94319:function(e,t,n){(t=n(23645)(!0)).push([e.id,".InlinePaymentOption-module__root___qRPN1{display:flex;align-items:center;gap:12px;margin-left:4px}@media(max-width: 991px){.InlinePaymentOption-module__root___qRPN1{flex-direction:column;align-items:flex-start}}","",{version:3,sources:["InlinePaymentOption.module.scss"],names:[],mappings:"AAAA,0CAAM,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,0CAAM,qBAAqB,CAAC,sBAAsB,CAAC",file:"InlinePaymentOption.module.scss",sourcesContent:[".root{display:flex;align-items:center;gap:12px;margin-left:4px}@media(max-width: 991px){.root{flex-direction:column;align-items:flex-start}}"]}]),t.locals={root:"InlinePaymentOption-module__root___qRPN1"},e.exports=t},80987:function(e,t,n){(t=n(23645)(!0)).push([e.id,'.roomstay-booking-container .RadioButton-module__root___1w9es{width:100%;display:block;border:1px solid var(--rs-color-light-grey);border-radius:8px;margin:10px 0;cursor:pointer;transition:.3s}.roomstay-booking-container .RadioButton-module__root___1w9es+.RadioButton-module__root___1w9es{margin-top:8px}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO{background:#f6f6fa;cursor:not-allowed}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO .RadioButton-module__design___3kmtW{border:solid 1px #dfe1e5;background:rgba(0,0,0,0)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO .RadioButton-module__design___3kmtW::before{background:rgba(0,0,0,0)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO .RadioButton-module__text___1CCxU{color:#c0c3cc}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__checked___XmNJ8 .RadioButton-module__design___3kmtW{background:var(--rs-color-accent-2);border:solid 1px var(--rs-color-accent-1)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__checked___XmNJ8 .RadioButton-module__design___3kmtW::before{transform:translate(-50%, -50%) scale(1);background:var(--rs-color-accent-1)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__checked___XmNJ8 .RadioButton-module__text___1CCxU{color:var(--rs-color-navy)}.roomstay-booking-container .RadioButton-module__input___3WTPl{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;z-index:-1}.roomstay-booking-container .RadioButton-module__design___3kmtW{flex-shrink:0;width:16px;height:16px;border-radius:100px;position:relative;border:solid 1px var(--rs-color-light-grey)}.roomstay-booking-container .RadioButton-module__design___3kmtW::before{content:"";width:10px;height:10px;display:inline-block;border-radius:inherit;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(0,0,0,0);transition:.3s;position:absolute}.roomstay-booking-container .RadioButton-module__text___1CCxU{width:100%;color:var(--rs-color-navy);font-size:14px;font-weight:400;line-height:18px;margin-left:8px;transition:.3s}.roomstay-booking-container .RadioButton-module__content___2b4U9{display:block;padding:16px;border-top:solid 1px var(--rs-color-light-grey)}.roomstay-booking-container .RadioButton-module__header___2nA7I{padding:8px 16px;display:flex;align-items:center}.roomstay-booking-container .RadioButton-module__header___2nA7I:hover{background:rgba(204,204,204,.14)}',"",{version:3,sources:["RadioButton.module.scss"],names:[],mappings:"AAAA,8DAA2C,UAAU,CAAC,aAAa,CAAC,2CAA2C,CAAC,iBAAiB,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,gGAAiD,cAAc,CAAC,mGAAoD,kBAAkB,CAAC,kBAAkB,CAAC,uIAA4D,wBAAwB,CAAC,wBAAwB,CAAC,+IAAoE,wBAAwB,CAAC,qIAA0D,aAAa,CAAC,sIAA2D,mCAAmC,CAAC,yCAAyC,CAAC,8IAAmE,wCAAwC,CAAC,mCAAmC,CAAC,oIAAyD,0BAA0B,CAAC,+DAA4C,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,gEAA6C,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,2CAA2C,CAAC,wEAAqD,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,wBAAwB,CAAC,cAAc,CAAC,iBAAiB,CAAC,8DAA2C,UAAU,CAAC,0BAA0B,CAAC,cAAc,CAAC,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAAC,iEAA8C,aAAa,CAAC,YAAY,CAAC,+CAA+C,CAAC,gEAA6C,gBAAgB,CAAC,YAAY,CAAC,kBAAkB,CAAC,sEAAmD,gCAAgC",file:"RadioButton.module.scss",sourcesContent:[':global(.roomstay-booking-container) .root{width:100%;display:block;border:1px solid var(--rs-color-light-grey);border-radius:8px;margin:10px 0;cursor:pointer;transition:.3s}:global(.roomstay-booking-container) .root+.root{margin-top:8px}:global(.roomstay-booking-container) .root.disabled{background:#f6f6fa;cursor:not-allowed}:global(.roomstay-booking-container) .root.disabled .design{border:solid 1px #dfe1e5;background:rgba(0,0,0,0)}:global(.roomstay-booking-container) .root.disabled .design::before{background:rgba(0,0,0,0)}:global(.roomstay-booking-container) .root.disabled .text{color:#c0c3cc}:global(.roomstay-booking-container) .root.checked .design{background:var(--rs-color-accent-2);border:solid 1px var(--rs-color-accent-1)}:global(.roomstay-booking-container) .root.checked .design::before{transform:translate(-50%, -50%) scale(1);background:var(--rs-color-accent-1)}:global(.roomstay-booking-container) .root.checked .text{color:var(--rs-color-navy)}:global(.roomstay-booking-container) .input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;z-index:-1}:global(.roomstay-booking-container) .design{flex-shrink:0;width:16px;height:16px;border-radius:100px;position:relative;border:solid 1px var(--rs-color-light-grey)}:global(.roomstay-booking-container) .design::before{content:"";width:10px;height:10px;display:inline-block;border-radius:inherit;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(0,0,0,0);transition:.3s;position:absolute}:global(.roomstay-booking-container) .text{width:100%;color:var(--rs-color-navy);font-size:14px;font-weight:400;line-height:18px;margin-left:8px;transition:.3s}:global(.roomstay-booking-container) .content{display:block;padding:16px;border-top:solid 1px var(--rs-color-light-grey)}:global(.roomstay-booking-container) .header{padding:8px 16px;display:flex;align-items:center}:global(.roomstay-booking-container) .header:hover{background:rgba(204,204,204,.14)}']}]),t.locals={root:"RadioButton-module__root___1w9es",disabled:"RadioButton-module__disabled___1HXUO",design:"RadioButton-module__design___3kmtW",text:"RadioButton-module__text___1CCxU",checked:"RadioButton-module__checked___XmNJ8",input:"RadioButton-module__input___3WTPl",content:"RadioButton-module__content___2b4U9",header:"RadioButton-module__header___2nA7I"},e.exports=t},5205:function(e,t,n){(t=n(23645)(!0)).push([e.id,".RadioButtonGroup-module__root___3QZUp{position:relative}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__wrapper___3_Rg6{position:relative}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__wrapper___3_Rg6:first-child .RadioButtonGroup-module__item___3rGSy{border-top-left-radius:5px !important;border-top-right-radius:5px !important}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__wrapper___3_Rg6:last-child .RadioButtonGroup-module__item___3rGSy{border-bottom:1px solid var(--rs-color-light-grey) !important;border-bottom-left-radius:5px !important;border-bottom-right-radius:5px !important}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__item___3rGSy{border-radius:0 !important;margin-top:0 !important;margin-bottom:0 !important;border-bottom:0 !important}.RadioButtonGroup-module__overlay___p2ip9{background-color:#fff;box-shadow:0px 8px 24px rgba(0,0,0,.25);border:1px solid #dfe1e5;border-radius:5px}.RadioButtonGroup-module__childrenIndicator___16sSu{position:absolute;right:16px;top:16px;pointer-events:none}","",{version:3,sources:["RadioButtonGroup.module.scss"],names:[],mappings:"AAAA,uCAAM,iBAAiB,CAAC,iFAAe,iBAAiB,CAAC,oIAAiC,qCAAqC,CAAC,sCAAsC,CAAC,mIAAgC,6DAA6D,CAAC,wCAAwC,CAAC,yCAAyC,CAAC,8EAAY,0BAA0B,CAAC,uBAAuB,CAAC,0BAA0B,CAAC,0BAA0B,CAAC,0CAAS,qBAAqB,CAAC,uCAAuC,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,oDAAmB,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,mBAAmB",file:"RadioButtonGroup.module.scss",sourcesContent:[".root{position:relative}.root .wrapper{position:relative}.root .wrapper:first-child .item{border-top-left-radius:5px !important;border-top-right-radius:5px !important}.root .wrapper:last-child .item{border-bottom:1px solid var(--rs-color-light-grey) !important;border-bottom-left-radius:5px !important;border-bottom-right-radius:5px !important}.root .item{border-radius:0 !important;margin-top:0 !important;margin-bottom:0 !important;border-bottom:0 !important}.overlay{background-color:#fff;box-shadow:0px 8px 24px rgba(0,0,0,.25);border:1px solid #dfe1e5;border-radius:5px}.childrenIndicator{position:absolute;right:16px;top:16px;pointer-events:none}"]}]),t.locals={root:"RadioButtonGroup-module__root___3QZUp",wrapper:"RadioButtonGroup-module__wrapper___3_Rg6",item:"RadioButtonGroup-module__item___3rGSy",overlay:"RadioButtonGroup-module__overlay___p2ip9",childrenIndicator:"RadioButtonGroup-module__childrenIndicator___16sSu"},e.exports=t},87518:function(e,t,n){(t=n(23645)(!0)).push([e.id,".PlanpayLabel-module__root___a2__0{display:flex;align-items:center;justify-content:space-between;width:100%}@media(max-width: 991px){.PlanpayLabel-module__root___a2__0{flex-direction:column;align-items:flex-start}}.PlanpayLabel-module__container___pMoWg{display:flex;align-items:center;gap:12px}@media(max-width: 991px){.PlanpayLabel-module__container___pMoWg{flex:1 auto;flex-direction:row;align-items:center}}.PlanpayLabel-module__label-and-logo___3gMbJ{display:flex;align-items:center;flex:1 auto}@media(max-width: 991px){.PlanpayLabel-module__label-and-logo___3gMbJ{flex-direction:row-reverse;align-items:center;gap:12px}}.PlanpayLabel-module__price___2TINl{display:flex}@media(max-width: 991px){.PlanpayLabel-module__price___2TINl{text-align:right}}","",{version:3,sources:["PlanpayLabel.module.scss"],names:[],mappings:"AAAA,mCAAM,YAAY,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,UAAU,CAAC,yBAAyB,mCAAM,qBAAqB,CAAC,sBAAsB,CAAC,CAAC,wCAAW,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,yBAAyB,wCAAW,WAAW,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,6CAAgB,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,yBAAyB,6CAAgB,0BAA0B,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,oCAAO,YAAY,CAAC,yBAAyB,oCAAO,gBAAgB,CAAC",file:"PlanpayLabel.module.scss",sourcesContent:[".root{display:flex;align-items:center;justify-content:space-between;width:100%}@media(max-width: 991px){.root{flex-direction:column;align-items:flex-start}}.container{display:flex;align-items:center;gap:12px}@media(max-width: 991px){.container{flex:1 auto;flex-direction:row;align-items:center}}.label-and-logo{display:flex;align-items:center;flex:1 auto}@media(max-width: 991px){.label-and-logo{flex-direction:row-reverse;align-items:center;gap:12px}}.price{display:flex}@media(max-width: 991px){.price{text-align:right}}"]}]),t.locals={root:"PlanpayLabel-module__root___a2__0",container:"PlanpayLabel-module__container___pMoWg","label-and-logo":"PlanpayLabel-module__label-and-logo___3gMbJ",price:"PlanpayLabel-module__price___2TINl"},e.exports=t},35729:function(e,t,n){var r=n(93379),a=n(12899);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},75498:function(e,t,n){var r=n(93379),a=n(94319);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},57970:function(e,t,n){var r=n(93379),a=n(80987);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},9502:function(e,t,n){var r=n(93379),a=n(5205);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},1320:function(e,t,n){var r=n(93379),a=n(87518);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}}}]);
1
+ (("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[927],{95032:function(e,t,n){"use strict";n.d(t,{z:function(){return c}});var r=n(15671),a=n(43144),o=n(60136),l=n(82963),i=n(61120);var c=function(e){(0,o.Z)(u,e);var t,n,c=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,i.Z)(t);if(n){var a=(0,i.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,l.Z)(this,e)});function u(e){var t;return(0,r.Z)(this,u),(t=c.call(this)).basketRows=void 0,t.basketRows=e,t}return(0,a.Z)(u,null,[{key:"getLabel",value:function(){return"View/Checkout"}}]),u}(n(97112).x)},90927:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Qt}});var r=n(29177),a=n(95032),o=n(27484),l=n.n(o),i=n(67294),c=n(26793),u=n(73727),s=n(79478),d=n(13821),m=n(13010),p=n(46409),f=n(19874),v=n(47304),g=n(87462),A=n(70885),C=n(89331),y=n(88144),h=n(87582),b=n(73460),E=n(79740),x=n(21120),_=n(78886),k=n(7832),P=n(30584),Z=n(94184),w=n.n(Z),S=n(44744),N=n(97754);function B(e){var t=e.addon,n=(0,c.$)().t;return i.createElement("div",{className:w()("additional-offers--column",{"--selected":e.selected}),style:{backgroundImage:"url('".concat(t.image&&S.Z.resizeImage(t.image,S.h.Original),"')")},onClick:function(){var t;null===(t=e.cardClicked)||void 0===t||t.call(e)}},i.createElement("div",{className:"additional-offers--column-body"},i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.White},i.createElement("strong",null,t.name)),i.createElement("div",{className:"u-flex"},i.createElement(P.ZP,{inline:!0,type:P.yG.Small,color:N.Il.White},n(s.W.Misc.SeeDetails)),i.createElement(_.ZP,{icon:_.Tu.ArrowRight,color:N.Il.White}))))}var I=n(64854),R=n(20858),W=n(65128),D=n(16380),M=n(63351);function T(e){var t,n=e.addon,a=((0,c.$)().t,(0,i.useContext)(r.hy)),o=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedDate():""),l=(0,A.Z)(o,2),u=l[0],s=l[1],d=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedTime():""),p=(0,A.Z)(d,2),f=p[0],v=p[1],g=(0,i.useState)({quantity:1}),C=(0,A.Z)(g,2),y=C[0],h=C[1],b=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getQuantity():1),E=(0,A.Z)(b,2),x=E[0],_=E[1],k=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getAdultQuantity():1),Z=(0,A.Z)(k,2),w=Z[0],B=Z[1],T=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getChildQuantity():0),G=(0,A.Z)(T,2),q=G[0],O=G[1];return i.useEffect((function(){var t,r,a,o,l,i;if(n)return e.basketAddonRow?(h(null!==(t=n.availability[e.basketAddonRow.getSelectedDate()])&&void 0!==t?t:n.availability[n.firstDate]),s(null!==(r=e.basketAddonRow.getSelectedDate())&&void 0!==r?r:n.firstDate),v(null!==(a=e.basketAddonRow.getSelectedTime())&&void 0!==a?a:""),_(e.basketAddonRow.getQuantity()),B(e.basketAddonRow.getAdultQuantity()),O(e.basketAddonRow.getChildQuantity())):(h(n.availability[n.firstDate]),s(n.firstDate),v((null===(o=n.availability[n.firstDate])||void 0===o||null===(l=o.selectorTimes)||void 0===l||null===(i=l[0])||void 0===i?void 0:i.value)||"")),function(){_(1),B(1),O(0)}}),[n]),i.createElement(W.Z,{open:e.isOpen,onClose:e.onClose,size:W.g.Small,title:n?n.name:""},n&&i.createElement(i.Fragment,null,i.createElement("div",{style:{height:"350px",width:"100%",backgroundImage:'url("'.concat(n.image&&S.Z.resizeImage(n.image,S.h.Original),'")'),backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"cover"}}),i.createElement("div",{className:"u-marg-heavy u-marg@m-"},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},n.name)),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.DarkGrey},n.description)),i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(P.ZP,null,"Date"),i.createElement(M.P,{nativeOnMobile:!0,options:n.selectorDates,value:u,onChange:function(e){var t,r,a,o;t=e,h(n.availability[t]),s(t),v((null===(r=n.availability[t])||void 0===r||null===(a=r.selectorTimes)||void 0===a||null===(o=a[0])||void 0===o?void 0:o.value)||""),n.availability[t].quantity<x&&_(n.availability[t].quantity)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),0!==(null==y||null===(t=y.selectorTimes)||void 0===t?void 0:t.length)&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(P.ZP,null,"Time"),i.createElement(M.P,{nativeOnMobile:!0,options:(null==y?void 0:y.selectorTimes)||[],value:f,onChange:function(e){v(e)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),y.price&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(P.ZP,null,"Quantity"),i.createElement(D.Z,{number:x,min:1,max:y.quantity,onChange:function(e){_(e)}}))),y.adultPrice&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(P.ZP,null,"Adults"),i.createElement(D.Z,{number:w,min:0,max:y.quantity-q,onChange:function(e){B(e)}}))),y.childPrice&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(P.ZP,null,"Children"),i.createElement(D.Z,{number:q,min:0,max:y.quantity-w,onChange:function(e){O(e)}}))),i.createElement("div",{className:"u-flex align-items-center u-marg-top"},y.price&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,y.price),"/ Qty"),y.adultPrice&&y.childPrice&&i.createElement("h2",{className:"u-marg-none"},i.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,y.adultPrice)," / Adult"),i.createElement("br",null),i.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,y.childPrice)," / Child")),y.adultPrice&&!y.childPrice&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,y.adultPrice)," / Adult"),y.childPrice&&!y.adultPrice&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,y.childPrice)," / Child"),i.createElement(I.Z,{filled:!0,primary:!0,onClick:function(){a.setAddonQuantities(n,{quantity:x,adult:w,child:q},u,f),e.onClose()}},e.basketAddonRow?"Update Cart":"Add to Cart")),n.guaranteeDescription&&i.createElement(i.Fragment,null,i.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Guarantee"),i.createElement("div",{className:"u-marg-bot--heavy"},i.createElement(P.ZP,{type:P.yG.Small},n.guaranteeDescription))),n.cancelPenalty&&i.createElement(i.Fragment,null,i.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Cancellation Policy"),i.createElement("div",{className:"u-marg-bot--heavy"},i.createElement(P.ZP,{type:P.yG.Small},n.cancelPenalty))))))}function G(){var e=(0,i.useContext)(r.hy),t=(0,i.useContext)(r.Qm),n=(0,C.WP)().hotel,a=(0,y.q_)((function(){return{x:0}})),o=(0,A.Z)(a,2),l=o[0].x,u=o[1],d=(0,b.Z)(),p=(0,A.Z)(d,2),f=p[0],v=p[1],Z=(0,c.$)().t,w=i.useState([]),S=(0,A.Z)(w,2),I=S[0],R=S[1],W=(0,i.useState)(!1),D=(0,A.Z)(W,2),M=D[0],G=D[1],q=(0,i.useState)(null),O=(0,A.Z)(q,2),F=O[0],L=O[1],U=(0,i.useState)(!1),j=(0,A.Z)(U,2),z=j[0],Q=j[1],Y=(0,i.useState)(0),H=(0,A.Z)(Y,2),V=H[0],$=H[1],J=(0,i.useState)(0),K=(0,A.Z)(J,2),X=(K[0],K[1]),ee=(0,i.useState)(-1),te=(0,A.Z)(ee,2),ne=te[0],re=te[1];i.useEffect((function(){var t=!1,r=e.getAllValidRows();return Q(!0),x.Z.Addons.findAddons(r,null==n?void 0:n.hotelID).then((function(e){t||(Q(!1),R(e))})),function(){Q(!1),t=!0}}),[t.currentLanguage]);var ae=222,oe=ae*I.length>=v.width,le=(0,h.c0)((function(e){var t=e.down,n=(0,A.Z)(e.movement,1)[0];ie(t,n)})),ie=function(e,t){if(oe)if(e)u({x:V+1.5*t});else{var n=V+t,r=(I.length-1)*ae,a=0;if(n>0)a=0,re(-1);else if(n<-(r-v.width+ae))a=-(r-v.width+ae),re(1);else{var o=-n/ae,l=n%ae>-111?Math.floor(o):Math.ceil(o);a=-l*ae,X(l),re(0)}u({x:a}),$(a)}};return i.createElement(E.Z,{open:!z&&0!==(null==I?void 0:I.length)||!(null==n||!n.showAddonLoader)},i.createElement("div",{className:"u-pad-bottom--heavy "},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},Z(s.W.Step.Confirmation.AdditionalOfferings))),z&&null!=n&&n.showAddonLoader?i.createElement(k.Z,null):0===(null==I?void 0:I.length)?i.createElement("div",null,i.createElement(P.ZP,{color:N.Il.DarkGrey},Z(s.W.Step.Confirmation.NoAdditionalOfferings))):i.createElement("div",{className:"additional-offers"+(I.length>2?"":" --wide"),ref:f},oe&&i.createElement("div",{className:"additional-offers--navigation"},i.createElement(_.ZP,{icon:_.Tu.ArrowLeft2,onClick:function(){ie(!1,ae)},color:-1===ne?N.Il.DarkGrey:N.Il.White,backgroundColor:N.Il.Navy,borderRadius:"round",size:"24px"}),i.createElement(_.ZP,{icon:_.Tu.ArrowRight2,onClick:function(){ie(!1,-222)},color:1===ne?N.Il.DarkGrey:N.Il.White,backgroundColor:N.Il.Navy,borderRadius:"round",size:"24px"})),i.createElement("div",{className:"additional-offers--track-container"},i.createElement(y.q.div,(0,g.Z)({className:"additional-offers--track"},le(),{style:{left:l}}),I.map((function(t,n){return i.createElement(B,{selected:!!e.getRowForAddon(t),key:n,addon:t,cardClicked:function(){G(!0),L(t)}})}))))),i.createElement(T,{isOpen:M&&!!F,addon:F,basketAddonRow:e.getRowForAddon(F),onClose:function(){G(!1)}})))}var q=n(87933);function O(e){var t=(0,i.useState)(e.endTimeDate.diff(l()(),"second")),n=(0,A.Z)(t,2),r=n[0],a=n[1];return(0,i.useEffect)((function(){var t=!1,n=setTimeout((function(){t||(r>0?a((function(e){return e-1})):(e.onEnd&&e.onEnd(),t=!0,clearTimeout(n)))}),1e3);return function(){t=!0,clearTimeout(n)}}),[r]),(0,i.useMemo)((function(){var e=[Math.floor(r/60/60),Math.floor(r/60%60),Math.floor(r%60)];return i.createElement(i.Fragment,null,e.map((function(e){return e.toString().padStart(2,"0")})).join(":"))}),[r])}var F=n(84544);function L(e){var t=(0,i.useState)(!1),n=(0,A.Z)(t,2),r=n[0],a=n[1],o=(0,c.$)().t;return i.createElement(q.ZP,{type:q.NK.Accent1},i.createElement("div",{className:"u-flex w-100 flex-wrap align-items-center"},i.createElement("div",null,i.createElement(P.ZP,null,i.createElement("strong",null,o(s.W.Step.Confirmation.YourRoomIs))),i.createElement(P.ZP,null,i.createElement("strong",null,o(s.W.Step.Confirmation.BeingHeldFor)))),i.createElement("div",{className:r?"a-flash":""},i.createElement(m.Z,{size:"large",bold:!0,color:N.Il.White},i.createElement(O,{endTimeDate:e.endDate,onEnd:function(){F.ZP.instance.sendInteraction("Countdown End Seen",F.s_.LINK,F._J.GUEST_DETAILS),a(!0)}})))))}var U=n(4511),j=n(38279),z=n(40370),Q=n(3933),Y=n(16337),H=n(25400),V=n(90292),$=n(95692),J=n(15861),K=n(64687),X=n.n(K),ee=n(76598),te=n(39666),ne=n(13819),re=n(87536),ae=n(16550),oe=n(79852),le=(0,i.createContext)({}),ie=function(){return(0,i.useContext)(le)},ce=n(30075),ue=n(15671),se=n(43144),de=n(60136),me=n(82963),pe=n(61120),fe=n(97112);var ve=function(e){(0,de.Z)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,pe.Z)(t);if(n){var a=(0,pe.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,me.Z)(this,e)});function a(e,t){var n;return(0,ue.Z)(this,a),(n=r.call(this)).reservation=void 0,n.basketRows=void 0,n.reservation=e,n.basketRows=t,n}return(0,se.Z)(a,null,[{key:"getLabel",value:function(){return"Booking/Committed"}}]),a}(fe.x);var ge=function(e){(0,de.Z)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,pe.Z)(t);if(n){var a=(0,pe.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,me.Z)(this,e)});function a(e){var t;return(0,ue.Z)(this,a),(t=r.call(this)).reservation=void 0,t.reservation=e,t}return(0,se.Z)(a,null,[{key:"getLabel",value:function(){return"Booking/RolledBack"}}]),a}(fe.x),Ae=n(25758),Ce=function(){var e=(0,Ae.u)(),t=(0,Ae.a)(),n=(0,i.useMemo)((function(){return["paymentMethod","roomstayId","planpay_checkout_id","returnFromPayment","success"].map((function(n){return t.get(n)||e.get(n)}))}),[e,t]),r=(0,A.Z)(n,5);return{queryPaymentMethod:r[0],queryRoomstayId:r[1],queryPlanpayCheckoutId:r[2],returnFromPayment:"true"===r[3],success:"true"===r[4]}},ye=n(57133),he=n(39605),be=function(e){var t=e.errorData,n=e.onClose,r=e.isLoading;return i.createElement(W.Z,{open:!!t,size:W.g.Small,alignCenter:!0,onClose:n},i.createElement("div",{className:"u-pad--heavy-plus"},i.createElement("div",{className:"u-flex justify-content-center u-marg-bottom"},i.createElement(_.ZP,{icon:_.Tu.Error,size:"85px",color:N.Il.Accent})),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(m.Z,{align:he.P.Center,size:"larger",bold:!0},"Apologies ",i.createElement("br",null),"for the inconvenience.")),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(P.ZP,{type:P.yG.Body,align:he.P.Center},null==t?void 0:t.publicMessage)),!(null!=t&&t.isPaymentTaken)&&i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.Grey,align:he.P.Center},"* No payment has been taken")),i.createElement("div",{className:"u-flex justify-content-center"},i.createElement(I.Z,{icon:_.Tu.Close,stopIconAnimation:!0,onClick:n,wide:!0,isLoading:e.isLoading,disabled:r},"Reload"),(null==t?void 0:t.canRetryPayment)&&i.createElement(I.Z,{className:"u-marg-left",primary:!0,filled:!0,icon:_.Tu.ArrowRight2,stopIconAnimation:!0,iconPosition:"right",wide:!0,onClick:e.onRetry,isLoading:e.isLoading,disabled:e.isLoading},"Retry"))))},Ee=le.Provider,xe=function(e){var t=e.children,n=Ce(),a=n.queryPaymentMethod,o=n.queryRoomstayId,l=n.queryPlanpayCheckoutId,u=n.returnFromPayment,d=n.success,m=(0,i.useContext)(r.g7),p=(0,i.useState)(!1),f=(0,A.Z)(p,2),v=f[0],g=f[1],y=(0,i.useState)(""),h=(0,A.Z)(y,2),b=h[0],E=h[1],_=(0,ye.t)(),k=_.isExternalMemberHotel,P=_.memberNumber,Z=(0,i.useState)(),w=(0,A.Z)(Z,2),S=w[0],N=w[1],B=(0,i.useState)(!1),I=(0,A.Z)(B,2),R=I[0],W=I[1],D=(0,re.cI)({mode:"onChange"}),M=(0,i.useContext)(r.hy),T=M.getAllValidRows(),G=M.basketAddonRows,q=((0,ae.k6)(),(0,i.useMemo)((function(){return m.engine.getInitialSession()}),[])),O=(0,C.WP)().hotel,L=(0,c.$)().t,U=(0,C.zX)().raise;(0,i.useEffect)((function(){null!=O&&O.requireDeposit&&M.getBasketQuoteDetails()}),[null==O?void 0:O.requireDeposit]);var j=function(e){return e.userProfiles.map((function(t){return{Title:t.Title,FirstName:t.Forename,LastName:t.Surname,Phone:t.Phone.replace(" ",""),Email:t.Email,Address:{Line1:t.Address,City:t.City,PostalCode:t.PostCode,State:t.State,Country:t.Country,CountryId:t.CountryId,CountryCode:t.CountryCode},MarketingOptIn:e.marketingOptIn,AuxInputs:t.AuxInputs}}))},z=function(){var e=(0,J.Z)(X().mark((function e(t){var n;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=[],!t.reservations){e.next=5;break}t.reservations.forEach((function(e,t){var r=M.currentBasketRows[t].checkDiffFromReservation(e);r&&n.push(r)})),e.next=7;break;case 5:throw te.n_({level:ne.z.Error,message:"No reservation data: "+JSON.stringify(t)}),new Error("The reservation could not be completed due to an unexpected issue, please try again");case 7:if(!(n.length||t.warnings&&t.warnings.length)){e.next=9;break}return e.abrupt("return",{differences:n,warnings:t.warnings});case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Q=function(){var e=(0,J.Z)(X().mark((function e(t,n){var r,a,o,l;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(U(new ce.m(t,M.currentBasketRows,O)),n!==ee.EBookingPaymentMethod.Planpay){e.next=3;break}return e.abrupt("return");case 3:if((null==O?void 0:O.cardProcessor)!==ee.EHotelCardProcessor.Passthrough){e.next=8;break}return e.next=6,null==K?void 0:K(t);case 6:e.next=9;break;case 8:null!==(r=t.payment)&&void 0!==r&&null!==(a=r.external)&&void 0!==a&&a.redirectUrl&&ue(null===(o=t.payment)||void 0===o||null===(l=o.external)||void 0===l?void 0:l.redirectUrl);case 9:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),Y=function(e,t,n,r){return function(){var a=(0,J.Z)(X().mark((function a(o){var l,i,c,u,s,d;return X().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(F.ZP.instance.sendInteraction("Complete Booking",F.s_.BUTTON,F._J.GUEST_DETAILS),g(!0),a.t0=!n,a.t0){a.next=7;break}return a.next=6,n();case 6:a.t0=a.sent;case 7:if(a.t0){a.next=11;break}return g(!1),a.abrupt("return");case 11:return a.next=13,e();case 13:return i=a.sent,c=j(o),a.prev=15,u=null!=O&&O.captureChildAge?o.userProfiles.flatMap((function(e,t){var n;return(null==e||null===(n=e.CaptureChildAge)||void 0===n?void 0:n.map((function(e,n){return"Room ".concat(t+1," - Child: ").concat(n+1," Age: ").concat(e)})))||[]})):[],s=u.length>0?"".concat(t,"\n").concat(u.join("\n")):t,a.next=20,x.Z.Reservation.bookNow(T,c,i,G,s||"",null==O?void 0:O.hotelID,m.sessionProvider.getCurrentSessionID().toString(),void 0,void 0,void 0,k?P:void 0);case 20:return l=a.sent,a.next=23,M.booked(l,{userProfiles:c,payment:i,comments:s||""});case 23:return a.next=25,z(l);case 25:if(!(d=a.sent)){a.next=31;break}g(!1),null==r||r(d),a.next=33;break;case 31:return a.next=33,Q(l,i.Method);case 33:a.next=38;break;case 35:a.prev=35,a.t1=a.catch(15),N(a.t1);case 38:return a.prev=38,g(!1),a.finish(38);case 41:case"end":return a.stop()}}),a,null,[[15,35,38,41]])})));return function(e){return a.apply(this,arguments)}}()},H=!!l&&!!o&&!!a,V=!(!u||!d&&H||!o),$=function(e){var t;return null==e||null===(t=e.reservations)||void 0===t?void 0:t.map((function(e){return e.reservationNumber}))},K=function(){var e=(0,J.Z)(X().mark((function e(t,n){var a,o;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,n&&E(n),g(!0),!t){e.next=22;break}if(!(a=$(t)).length){e.next=20;break}return e.prev=6,e.next=9,x.Z.Reservation.commit(a,t.itineraryNumber,null==O?void 0:O.hotelID,l||void 0);case 9:o=e.sent;try{F.ZP.instance.sendReservationConfirmed(M.getAllValidRows(),M.basketAddonRows,o)}catch(e){te.Tb("Failed to read reservations from GTM code: "+JSON.stringify(e))}M.checkedOut(o),U(new ve(t,M.currentBasketRows)),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(6),N(e.t0);case 18:e.next=22;break;case 20:r.qL.add({message:L(s.W.Step.Confirmation.UnexpectedErrorOnCommittingReservation)}),te.Tb("No reservation IDs found when attempting to commit: "+JSON.stringify(t));case 22:e.next=28;break;case 24:e.prev=24,e.t1=e.catch(0),console.error(e.t1),te.Tb(e.t1);case 28:g(!1);case 29:case"end":return e.stop()}}),e,null,[[0,24],[6,15]])})));return function(t,n){return e.apply(this,arguments)}}(),le=function(){var e=(0,J.Z)(X().mark((function e(){var t;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(M.reservationData){e.next=2;break}return e.abrupt("return");case 2:if(e.prev=2,!(t=$(M.reservationData)).length){e.next=11;break}return g(!0),e.next=8,x.Z.Reservation.rollback(t,M.reservationData.itineraryNumber,null==O?void 0:O.hotelID);case 8:U(new ge(M.reservationData)),e.next=12;break;case 11:te.Tb("No reservation IDs found when attempting to rollback: "+JSON.stringify(M.reservationData));case 12:e.next=18;break;case 14:e.prev=14,e.t0=e.catch(2),console.log("Failed to rollback reservations"),te.Tb(e.t0);case 18:return e.prev=18,M.rollback(),g(!1),e.finish(18);case 22:case"end":return e.stop()}}),e,null,[[2,14,18,22]])})));return function(){return e.apply(this,arguments)}}(),ie=function(){var e=(0,J.Z)(X().mark((function e(t,n,r,a){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,D.handleSubmit(Y(t,n,r,a))();case 2:case"end":return e.stop()}}),e)})));return function(t,n,r,a){return e.apply(this,arguments)}}(),ue=function(e,t){g(!0),t&&E(t),window.location.href=e},se=function(){var e=(0,J.Z)(X().mark((function e(){var t,n,r,a,o;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(W(!0),n=null==q?void 0:q.reservationRequest,r=null==q||null===(t=q.reservation)||void 0===t?void 0:t.roomstayId,n&&r){e.next=5;break}return e.abrupt("return",null);case 5:return e.prev=5,e.next=8,x.Z.Reservation.bookNow(T,n.userProfiles,n.payment,G,"",null==O?void 0:O.hotelID,m.sessionProvider.getCurrentSessionID().toString(),void 0,!0,r,k?P:void 0);case 8:return a=e.sent,e.next=11,M.booked(a);case 11:return e.next=13,z(a);case 13:if(!e.sent){e.next=18;break}g(!1),e.next=20;break;case 18:return e.next=20,Q(a,null===(o=n.payment)||void 0===o?void 0:o.Method);case 20:e.next=25;break;case 22:e.prev=22,e.t0=e.catch(5),N(e.t0);case 25:return e.prev=25,g(!1),W(!1),e.finish(25);case 29:case"end":return e.stop()}}),e,null,[[5,22,25,29]])})));return function(){return e.apply(this,arguments)}}(),de=function(){var e=(0,J.Z)(X().mark((function e(){var t;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:W(!0),t=new URLSearchParams(window.location.search),window.history.replaceState({},"","".concat(window.location.pathname,"?").concat(t)),window.location.reload();case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return i.createElement(re.RV,D,i.createElement(Ee,{value:{book:ie,commitReservation:K,rollbackReservation:le,redirectOut:ue,setLoadingStatus:E,isLoading:v,isBackFromPlanpay:H,isBackFromExternalPayment:V}},v&&i.createElement(oe.E,{isFullscreen:!0,label:b}),i.createElement(be,{onRetry:se,onClose:de,errorData:S,isLoading:R}),t))},_e=n(22566),ke=n(25112),Pe=n(62364);function Ze(){var e=(0,c.$)().t;return i.createElement(ke.Z,{title:e(s.W.Step.Confirmation.SSLSecure)},i.createElement("img",{src:Pe.Z.getAssetUrl()+"assets/img/ssl-secure-connection.png"}))}var we=n(78029),Se=n(41432),Ne=n(4942),Be=n(35729),Ie=n.n(Be),Re=function(e){var t=e.vgsCardName,n=e.large;return i.createElement("div",{className:w()(Ie().root,(0,Ne.Z)({},Ie()["--large"],n)),style:{backgroundImage:"url('".concat(Pe.Z.getImageAssetUrl()+t+".png","')")}})},We=n(33409),De=n(59111),Me=function(e){var t,n=e.isCurrent,r=e.isDefault,a=e.style,o=(0,C.WP)().hotel,l=(null!==(t=null==o?void 0:o.paymentCardTypes)&&void 0!==t?t:[]).map((function(e){return De.w[e]?{name:De.w[e],status:!1}:null})).filter((function(e){return e}));return i.createElement("div",{className:"u-flex flex-row justify-content-start"},Object.keys(l).map((function(e){var t,o;return i.createElement("div",{key:e,id:null===(t=l[e])||void 0===t?void 0:t.name,className:w()("cc-icon u-flex u-marg-right--light",{"-current":null==n?void 0:n(e),"-default":null==r?void 0:r(e)}),style:Object.assign({backgroundImage:"url('".concat(Pe.Z.getAssetUrl()+"assets/img/"+(null===(o=l[e])||void 0===o?void 0:o.name)+".png","')"),backgroundSize:"contain"},a||{})})})))},Te=n(49723),Ge=n(75498),qe=n.n(Ge),Oe=function(e){var t,n=e.card,a=(e.active,e.overrideSubLabel),o=(0,c.$)().t,l=(0,r.ZS)().roomstayMember,u=(0,(0,r.Kc)().getTotalPayNow)(),d=(0,Te.Z)({children:u}),m=d.symbol,p=d.prettyValue,f=a||(n?"Expires ".concat((t=n.expiry).slice(0,2)+" / "+t.slice(2)):o(s.W.Step.Confirmation.CardSubLabel));return i.createElement("div",{className:"u-flex u-flex-justify-between w-100 u-flex-align-center"},i.createElement("div",{className:qe().root},n?i.createElement("div",{className:"flex-shrink-0"},i.createElement(Re,{vgsCardName:n.type,large:!0})):null,i.createElement("div",null,i.createElement(P.ZP,{align:he.P.Left,type:P.yG.Small,color:N.Il.Navy},n?"**** **** **** ".concat(n.cardNumber.slice(-4)):o(s.W.Step.Confirmation.CardLabel)),i.createElement(P.ZP,{className:"u-marg-top--lighter",align:he.P.Left,type:P.yG.Caption,color:N.Il.DarkGrey},f)),!n&&i.createElement("div",null,i.createElement(Me,{style:{width:24,height:16,borderRadius:1.5,border:"0.5px solid #DFE1E5"},isCurrent:function(){return!0}})),(null==l?void 0:l.defaultCard)&&n&&n.cardId===l.defaultCard&&i.createElement(We.ZP,{size:"small",type:We.Rm.Primary},"DEFAULT CARD")),i.createElement(P.ZP,{bold:!0,className:"u-flex",color:N.Il.Navy,type:P.yG.Small},m,p))},Fe=n(45987),Le=n(89089),Ue=n(57970),je=n.n(Ue),ze=function(e,t){var n,r=e.checked,a=e.onChange,o=e.disabled,l=e.label,c=e.renderContent,u=e.className,s=e.headerRef;return i.createElement("div",{className:w()(je().root,u,(n={},(0,Ne.Z)(n,je().disabled,o),(0,Ne.Z)(n,je().checked,r),n)),onClick:a,ref:t},i.createElement("div",{className:je().header,ref:s},i.createElement("div",{className:je().design}),i.createElement("div",{className:je().text},l)),c&&r&&i.createElement(E.Z,{open:!0},i.createElement("div",{className:je().content},c())))},Qe=(0,i.forwardRef)(ze),Ye=n(9502),He=n.n(Ye),Ve=["renderContent"],$e=function(e){var t=e.option,n=e.value,r=e.onChange,a=e.renderChildrenContent,o=t.options,l=!(null==o||!o.length),c=(0,i.useState)(null),u=(0,A.Z)(c,2),s=u[0],d=u[1],m=(0,i.useState)(!1),p=(0,A.Z)(m,2),f=p[0],v=p[1],g=l&&n&&o.find((function(e){return e.value===n}))||t,C=i.createElement(Qe,{headerRef:d,className:He().item,key:null==g?void 0:g.value,checked:!(null!=g&&g.disabled)&&(null==g?void 0:g.value)===n,onChange:function(){null!=g&&g.disabled||(l?v(!f):null!=g&&g.value&&(null==g?void 0:g.value)!==n&&(null==r||r(g.value)))},label:null==g?void 0:g.label,disabled:null==g?void 0:g.disabled,renderContent:null==g?void 0:g.renderContent});return null!=g&&g.disabled&&null!=g&&g.disabledReason?i.createElement(ke.Z,{key:null==g?void 0:g.value,wrapperClasses:He().wrapper,title:null==g?void 0:g.disabledReason},C):i.createElement(i.Fragment,null,i.createElement("div",{key:null==g?void 0:g.value,className:He().wrapper},C,o&&i.createElement("div",{className:He().childrenIndicator},i.createElement(_.ZP,{size:"24px",icon:_.Tu.Dropdown}))),o&&i.createElement(Le.a,{onClose:function(){return v(!1)},className:He().overlay,hideStyles:!0,containerClassName:"u-w-100",open:f,followElement:s||void 0,offset:[0,0],placement:"top-start"},i.createElement(Je,{options:o.map((function(e){e.renderContent;var t=(0,Fe.Z)(e,Ve);return a?e:t})),onChange:function(e){null==r||r(e),v(!1)},value:n})))},Je=function(e){var t=e.options,n=void 0===t?[]:t,r=e.value,a=e.onChange,o=e.renderChildrenContent;return i.createElement("div",{className:He().root},n.map((function(e){return i.createElement($e,{key:e.value,option:e,value:r,onChange:a,renderChildrenContent:o})})))},Ke=Je,Xe=n(45993),et=n(71291),tt=(0,i.forwardRef)((function(e,t){var n,r=(0,C.WP)().hotel,a=(0,i.useState)({}),o=(0,A.Z)(a,2),l=o[0],u=o[1],d=(0,c.$)().t,m=(0,C.b)().focusElement,p={fontSize:"13px",lineHeight:"18px","&::placeholder":{color:"#8B8F9A",opacity:1}},f=(0,et.c)([{label:d(s.W.Step.Confirmation.Inputs.CardNumber),name:"credit-card",type:"card-number",vgsProps:{autoComplete:["cc-number"],successColor:"#4F8A10",errorColor:"#D8000C",showCardIcon:!1,placeholder:d(s.W.Step.Confirmation.Inputs.CardNumber)+" *",validations:["required","validCardNumber"],css:p}},{label:d(s.W.Step.Confirmation.Inputs.NameOnCard),name:"card-name",type:"text",vgsProps:{validations:["required"],css:p,placeholder:d(s.W.Step.Confirmation.Inputs.NameOnCard)+" *"}},{label:d(s.W.Step.Confirmation.Inputs.CardExpiry),name:"expiration-date",type:"card-expiration-date",vgsProps:{placeholder:d(s.W.Step.Confirmation.Inputs.CardExpiry)+" *",validations:["required","validCardExpirationDate"],css:p}},{label:d(s.W.Step.Confirmation.Inputs.SecurityCode),name:"security-code",type:"card-security-code",vgsProps:{placeholder:d(s.W.Step.Confirmation.Inputs.SecurityCode)+" *",validations:["required","validCardSecurityCode"],css:p}}]),v=(0,A.Z)(f.fields,4),g=v[0],y=v[1],h=v[2],b=v[3],x=f.vgsForm,k=function(e){var t={};Object.keys(e).forEach((function(n){var r="";switch(n){case"credit-card":r=d(s.W.Step.Confirmation.Inputs.CardNumber);break;case"expiration-date":r=d(s.W.Step.Confirmation.Inputs.CardExpiry);break;case"security-code":r=d(s.W.Step.Confirmation.Inputs.SecurityCode);break;default:r=d(s.W.Step.Confirmation.Inputs.NameOnCard)}t[n]=r+" "+e[n].errorMessages[e[n].errorMessages.length-1]})),u(t)};(0,i.useEffect)((function(){var e,t;l&&0!==Object.keys(l).length&&null!=g&&null!==(e=g.ref)&&void 0!==e&&e.current&&m(null==g||null===(t=g.ref)||void 0===t?void 0:t.current)}),[l]),(0,i.useImperativeHandle)(t,(function(){return{getTokenizedCode:function(){return new Promise((function(e,t){x?x.submit("/post",{serializer:"deep",methods:"POST"},(function(n,r){var a=r,o=a["expiration-date"].match(/^(\d+)\s*\/\s*(\d+)$/);if(!o||o[1].length>2||4!==o[2].length&&2!==o[2].length)return k({"expiration-date":{errorMessages:[d(s.W.Step.Confirmation.InputErrors.CardExpiry.Invalid)]}}),void t(d(s.W.Step.Confirmation.InputErrors.CardExpiry.Invalid));var l=(1===o[1].length?"0":"")+o[1]+(2===o[2].length?o[2]:o[2].substr(2)),i={CVV:a["security-code"],Expiry:l,Name:a["card-name"],Number:a["credit-card"],Type:g.state.cardType};e(i)}),(function(e){k(e),t(e)})):console.error("VGS not on element, problem has occurred")}))}}}));var Z=(0,i.useRef)(null),w=(null!==(n=null==r?void 0:r.paymentCardTypes)&&void 0!==n?n:[]).map((function(e){return De.w[e]?{name:De.w[e],status:!1}:null})).filter((function(e){return e}));return i.createElement("div",null,["credit-card","card-name","expiration-date","security-code"].map((function(e){var t=l[e];return i.createElement(E.Z,{open:!!t,key:e},i.createElement("div",{className:"u-flex"},i.createElement(q.ZP,{type:q.NK.Danger,icon:_.Tu.Error},i.createElement(P.ZP,{type:P.yG.Small},t))))})),i.createElement("div",{className:"u-marg-bottom"},i.createElement(Me,{isCurrent:function(e){var t;return null!==g.state.cardType&&(null===(t=w[e])||void 0===t?void 0:t.name)===g.state.cardType},isDefault:function(e){return null===g.state.cardType}})),i.createElement("form",{ref:Z},i.createElement(Xe.Z,{dimensions:"2/2"},i.createElement("div",{className:g.getClasses(),ref:g.ref}),i.createElement(Xe.Z,{dimensions:"2/2"},i.createElement("div",{className:h.getClasses(),ref:h.ref}),i.createElement("div",{className:b.getClasses(),ref:b.ref}))),i.createElement(Xe.Z,{dimensions:"1"},i.createElement("div",{className:y.getClasses(),ref:y.ref}))))})),nt=n(46716),rt=n(1320),at=n.n(rt),ot=function(){var e=(0,c.$)().t;return i.createElement("div",{className:at()["label-and-logo"]},i.createElement("div",null,e(s.W.Step.Confirmation.PlanpayLabel)),i.createElement("div",{className:"u-flex u-flex-align-center u-marg-left--light"},i.createElement("img",{style:{borderRadius:"24px",width:"65px",height:"16px"},height:16,width:65,src:Pe.Z.getImageAssetUrl("planpay-logo-small.svg"),alt:""})))},lt=function(){var e=(0,c.$)().t;return i.createElement(P.ZP,{color:N.Il.Graphite,className:"u-flex u-flex-align-center",style:{color:"#313131",fontSize:10}},i.createElement(_.ZP,{color:N.Il.DarkGrey,icon:_.Tu.Info,className:"u-marg-right--lighter u-marg-left--light"}),e(s.W.Step.Confirmation.PlanpayHelperText))},it=function(e){var t=e.symbol,n=e.rawPrice;return i.createElement(P.ZP,{bold:!0,className:at().price,color:N.Il.Navy,type:P.yG.Small},t,null==n?void 0:n.installmentAmount," ",null==n?void 0:n.frequency)},ct=function(){var e,t,n,a,o,l,c,u,s,d,m,p,f,v,g,C,y,h,b,E=(0,re.Gc)(),x=(0,i.useContext)(r.g7),_=(n=(e={}).price,a=e.checkin,o=e.currency,l=(0,r.Kc)(),c=(0,nt.Z)(),u=c.planpay,s=c.planpayConfig,d=c.hasPlanpay,m=(0,i.useContext)(r.Qm).currentCurrency,p=null!=o?o:m,f=l.getTotalPrice()||n,v=(0,Te.Z)({children:f}).value,g=null!=a?a:((null===(t=l.selectedBasketRow)||void 0===t?void 0:t.getStartDate())||l.endDate).format("YYYY-MM-DD"),C=(0,i.useState)(void 0),y=(0,A.Z)(C,2),h=y[0],b=y[1],(0,i.useEffect)((function(){if(d&&v){var e=function(){var e=(0,J.Z)(X().mark((function e(){var t;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,u.pricePreview.fetch({totalCost:f,merchantId:s.username,currencyCode:p,redemptionDate:g});case 2:t=e.sent,b(t);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();e()}}),[v,d,p,f]),h),k=(0,r.Kc)().getTotalPrice,P=(0,Te.Z)({children:k()}).symbol,Z=x.screenSize<=V.Z.Large;return i.createElement("div",{className:"u-flex u-flex-justify-between w-100 u-flex-align-center"},i.createElement("div",{className:at().root},i.createElement("div",{className:at().container},i.createElement(ot,null),Z?i.createElement(it,{symbol:P,rawPrice:_}):E.formState.isValid?null:i.createElement(lt,null)),Z?i.createElement(lt,null):i.createElement(it,{symbol:P,rawPrice:_})))},ut=n(53296),st=n(69747),dt=n(514),mt=function(){return i.createElement("div",null,i.createElement("div",{className:"row no-gutters"},i.createElement("div",{className:"col-md-4"},i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(st.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement(st.Z,{type:"text",h:"md",blink:!0}),i.createElement(st.Z,{type:"text",h:"md",blink:!0})),i.createElement("div",{className:"col-md-4"},i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(st.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement(st.Z,{type:"text",h:"sm",blink:!0}),i.createElement(st.Z,{type:"text",h:"sm",blink:!0}),i.createElement(st.Z,{type:"text",h:"sm",blink:!0})),i.createElement("div",{className:"col-md-4"},i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(st.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},i.createElement(st.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})),i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(st.Z,{type:"text",w:"md",h:"sm",blink:!0,noMarg:!0})),i.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},i.createElement(st.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})))),i.createElement("div",{className:"row no-gutters"},i.createElement("div",{className:"col-md-4"},i.createElement(st.Z,{type:"text",h:"lg",blink:!0})),i.createElement("div",{className:"offset-md-4 col-md-4 d-flex align-items-center"},i.createElement(st.Z,{type:"text",w:"xl",h:"sm",blink:!0}))))},pt=function(){var e,t,n=(0,i.useContext)(r.hy),a=(0,dt.W)().hotel,o=(0,nt.Z)(),l=o.hasPlanpay,c=o.loadPlanPaySDK,u=null===(e=n.reservationData)||void 0===e||null===(t=e.payment)||void 0===t?void 0:t.planpay;return(0,i.useLayoutEffect)((function(){null!=u&&u.id&&ut.planpay.checkout.refresh()}),[null==u?void 0:u.id]),(0,i.useEffect)((function(){l&&c()}),[a]),i.createElement(i.Fragment,null,i.createElement("div",{className:"planpay-payment-container","data-planpay-checkout-id":null==u?void 0:u.id,style:{minHeight:"204px",display:"flex",justifyContent:"flex-end",flexDirection:"column"}},i.createElement(mt,null)))};function ft(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ft(Object(n),!0).forEach((function(t){(0,Ne.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ft(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var At=function(e){var t,n=e.tokenizerRef,a=e.onChangeCb,o=(0,re.Gc)(),u=(0,C.WP)().hotel,d=(0,r.Kc)(),m=(0,nt.Z)(),p=m.hasPricePreview,f=m.planpayConfig,v=(0,r.ZS)(),g=v.cards,A=void 0===g?[]:g,y=v.roomstayMember,h=(0,i.useMemo)((function(){return A.find((function(e){return e.cardId===(null==y?void 0:y.defaultCard)}))}),[A,y]),b=(0,c.$)().t,E=(0,i.useContext)(r.Qm).currentCurrency,x=o.watch("paymentMethod"),_=null==u||!u.cardProcessor||u.cardProcessor===ee.EHotelCardProcessor.Passthrough,k={value:ee.EBookingPaymentMethod.Card,label:i.createElement(Oe,{active:x===ee.EBookingPaymentMethod.Card,overrideSubLabel:_?void 0:b(s.W.Step.Confirmation.CardThirdPartyLabel)}),renderContent:_?function(){return i.createElement(tt,{ref:n})}:void 0},P=[];if(null!=u&&null!==(t=u.paymentMethods)&&void 0!==t&&t.includes(ee.EBookingPaymentMethod.Card)){var Z;if(A.length&&_){var w=h||A[0];Z={value:w.cardId,label:i.createElement(Oe,{card:w})}}else Z=k;var S=[];if(A.length){var N,B=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return gt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gt(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){i=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(i)throw o}}}}(A);try{for(B.s();!(N=B.n()).done;){var I=N.value;S.push({value:I.cardId,label:i.createElement(Oe,{card:I})})}}catch(e){B.e(e)}finally{B.f()}S.push(k)}P.push(vt(vt({},Z),{},{options:S.length>0?S:void 0}))}return(0,i.useEffect)((function(){o.trigger("paymentMethod")}),[E]),p&&f&&f.minDaysShowPlanpay&&l()(d.startDate).diff(l()(),"day")>f.minDaysShowPlanpay&&P.push({value:ee.EBookingPaymentMethod.Planpay,label:i.createElement(ct,null),disabled:!o.formState.isValid,disabledReason:o.formState.isValid?"":"You must fill all the above details before proceeding with Planpay",renderContent:function(){return i.createElement(pt,null)}}),i.createElement(re.Qr,{control:o.control,name:"paymentMethod",render:function(e){var t=e.field,n=t.onChange,r=t.value;return i.createElement(i.Fragment,null,i.createElement("div",null,i.createElement(Ke,{options:P,value:r,onChange:function(e){n(e),a(e)}})))}})},Ct=n(69024),yt=n(66604),ht=n(14590),bt=n(65762),Et=n(95494),xt=function(e){return e.Title="Title",e.Forename="Forename",e.Surname="Surname",e.Email="Email",e.Phone="Phone",e.Address="Address",e.City="City",e.PostCode="PostCode",e.State="State",e.Country="Country",e.CountryId="CountryId",e.CountryCode="CountryCode",e}({}),_t=function(e){return e.AuxInputs="AuxInputs",e}({}),kt=n(61248),Pt=n(48340),Zt=n(43261),wt=n(16431),St=["ref","onChange"],Nt=["ref"],Bt=["ref"],It=["ref"],Rt=function(e){var t,n,r,a,o=e.hotel,l=e.numberOfChildrens,c=e.control,u=e.roomIndex;if(null==o||!o.captureChildAge||0===l)return i.createElement(i.Fragment,null);for(var s=(0,re.Gc)().formState.errors,d=[],m=(null==o||null===(t=o.childConfiguration)||void 0===t||null===(n=t.childRange)||void 0===n?void 0:n.min)||0,p=(null==o||null===(r=o.childConfiguration)||void 0===r||null===(a=r.childRange)||void 0===a?void 0:a.max)||0,f=m;f<=p;f++)d.push({label:"".concat(f),value:"".concat(f)});var v="userProfiles[".concat(u,"].").concat((0,ee.nameof)("CaptureChildAge")),A=Array.from({length:l},(function(e,t){return t})).map((function(e){return{name:"".concat(v,"[").concat(e,"]"),id:"".concat(v,"[").concat(e,"].id"),label:"Child ".concat(e+1," Age"),childIndex:e}})),C=function(e){var t,n,r;if(s.userProfiles)return null!==(t=s.userProfiles)&&void 0!==t&&null!==(n=t[u])&&void 0!==n&&null!==(r=n.CaptureChildAge)&&void 0!==r&&r[e]?"error":"success"},y=function(e,t){for(var n=[],r=0;r<e.length;r+=3)n.push(e.slice(r,r+3));return n}(A);return i.createElement("div",{className:"u-marg-top"},y.map((function(e,t){return i.createElement(Xe.Z,{dimensions:"1/1/1",key:"InputGroup-".concat(t)},e.map((function(e){var t=e.id,n=e.name,r=e.label,a=e.childIndex;return i.createElement(re.Qr,{key:t,control:c,name:n,rules:{required:!0},render:function(e){var t=e.field,n=(t.ref,(0,Fe.Z)(t,It));return i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(P.ZP,{type:P.yG.Small},i.createElement("strong",null,r))),i.createElement(ht.JD,(0,g.Z)({keyName:"value",labelName:"label",options:d,placeholder:"Please Select *"},n,{validationStatus:C(a)})))}})})))})))},Wt=function(){var e=(0,re.Gc)(),t=e.register,n=e.formState,a=e.control,o=e.watch,l=e.getValues,u=e.setValue,d=(0,i.useContext)(r.hy),p=d.getAllValidRows(),f=d.basketAddonRows,v=(0,C.WP)().hotel,y=(0,re.Dq)({control:a,name:"userProfiles",rules:{required:!1}}),h=y.update,b=y.fields,x=o(["copyCheckBox","paymentMethod"]),k=(0,A.Z)(x,2),Z=k[0],w=k[1],S=n.errors,B=(0,c.$)().t,I=(0,i.useContext)(r.P0).roomstayMember,R=(0,Et.X)().showChildren;(0,i.useEffect)((function(){var e,t;null===(e=S.userProfiles)||void 0===e||null===(t=e.forEach)||void 0===t||t.call(e,(function(e,t){var n;null!==(n=S.userProfiles)&&void 0!==n&&n[t]&&(M[t]=!0)})),T(M.slice(0))}),[S.userProfiles,Z]),(0,i.useEffect)((function(){var e=function(e){return 0===e&&arguments.length>1&&void 0!==arguments[1]?arguments[1]:""},t=p.map((function(t,n){var r,a,o,l,i,c,u,s,d,m,p,f,v,g,A,C,y=t.checkoutDefaults,h=null==y?void 0:y.Address;return C={},(0,Ne.Z)(C,xt.Title,""),(0,Ne.Z)(C,xt.Forename,e(n,null!==(r=null==y?void 0:y.FirstName)&&void 0!==r?r:null==I?void 0:I.forename)),(0,Ne.Z)(C,xt.Surname,e(n,null!==(a=null==y?void 0:y.LastName)&&void 0!==a?a:null==I?void 0:I.surname)),(0,Ne.Z)(C,xt.Email,e(n,null!==(o=null==y?void 0:y.Email)&&void 0!==o?o:null==I?void 0:I.email)),(0,Ne.Z)(C,xt.Phone,e(n,null!==(l=null==y?void 0:y.Phone)&&void 0!==l?l:null==I?void 0:I.phoneNumber)),(0,Ne.Z)(C,xt.Address,e(n,null!==(i=null==h?void 0:h.Line1)&&void 0!==i?i:null==I||null===(c=I.address)||void 0===c?void 0:c.address)),(0,Ne.Z)(C,xt.City,e(n,null!==(u=null==h?void 0:h.City)&&void 0!==u?u:null==I||null===(s=I.address)||void 0===s?void 0:s.city)),(0,Ne.Z)(C,xt.PostCode,e(n,null!==(d=null==h?void 0:h.PostalCode)&&void 0!==d?d:null==I||null===(m=I.address)||void 0===m?void 0:m.zip)),(0,Ne.Z)(C,xt.State,e(n,null!==(p=null==h?void 0:h.State)&&void 0!==p?p:null==I||null===(f=I.address)||void 0===f?void 0:f.state)),(0,Ne.Z)(C,xt.Country,e(n,null!==(v=null==h?void 0:h.Country)&&void 0!==v?v:null==I||null===(g=I.address)||void 0===g?void 0:g.country)),(0,Ne.Z)(C,xt.CountryId,e(n,null==h||null===(A=h.CountryId)||void 0===A?void 0:A.toString())),(0,Ne.Z)(C,xt.CountryCode,e(n,null==h?void 0:h.CountryCode)),(0,Ne.Z)(C,_t.AuxInputs,t.auxiliaryFilter),C}));u("userProfiles",t),u("copyCheckBox",!!(null!=p&&p.length&&p.length>1))}),[I,null==p?void 0:p.length]);var W=(0,i.useState)(p.map((function(e,t){return 0===t}))),D=(0,A.Z)(W,2),M=D[0],T=D[1],G=function(e){var t=l("userProfiles.0"),n=l("userProfiles.".concat(e));return t[_t.AuxInputs]=n.AuxInputs,t},O=function(e,t){return function(e){F.ZP.instance.sendInteraction(t,F.s_.FORM_FIELD,F._J.GUEST_DETAILS)}};return(0,i.useEffect)((function(){Z&&b.forEach((function(e,t){if(0!==t){var n=G(t);h(t,n)}}))}),[Z]),(0,i.useEffect)((function(){var e=o((function(e,t){var n=t.name;"change"===t.type&&null!=n&&n.includes("userProfiles")&&"0"===n.split(".")[1]&&e.copyCheckBox&&b.map((function(e,t){if(0!==t){var n=G(t);h(t,n)}}))})).unsubscribe;return function(){e()}}),[b]),(0,i.useEffect)((function(){F.ZP.instance.sendCheckoutView(p,f)}),[]),i.createElement(i.Fragment,null,b.map((function(e,r){for(var o,l,c=function(e){return function(e,t){return"userProfiles.".concat(t,".").concat(e)}(e,r)},d=function(e){var t,n,a;if(S.userProfiles&&!(Z&&r>=1))return null!==(t=S.userProfiles[r])&&void 0!==t&&t[e]||null!==(n=S.userProfiles[r])&&void 0!==n&&null!==(a=n.AuxInputs)&&void 0!==a&&a[e.replace("AuxInputs.","")]?"error":"success"},f=p[r],A=f.getRoom(),C=f.getAuxiliaryFilter(),y=Z&&r>=1||w===ee.EBookingPaymentMethod.Planpay,h=(null==v?void 0:v.stateFieldConfiguration)===ee.EHotelStateFieldConfiguration.Optional||(null==v?void 0:v.stateFieldConfiguration)===ee.EHotelStateFieldConfiguration.Required,x=(null==v?void 0:v.stateFieldConfiguration)===ee.EHotelStateFieldConfiguration.Required,k=null==v||null===(o=v.roomGroups)||void 0===o?void 0:o.find((function(e){return e.id===A.roomGroupId})),I=[],W=function(){var e,t,n=G[D],r=null==k?void 0:k.filters[n],a=null==A||null===(e=A.auxiliaryValues)||void 0===e||null===(t=e[n])||void 0===t?void 0:t.map((function(e){return e.toString()}));if(null!=r&&r.requireInput&&a){var o=r.options.filter((function(e){if(a.includes(e.value.toString()))return e})),l="".concat((0,ee.nameof)("AuxInputs"),".").concat(n);1===o.length?u(c(l),o[0].value):null!=C&&C[n]&&u(c(l),C[n]),I.push({id:l,name:r.name,label:r.name,options:o.map((function(e){return{label:e.label,value:e.value}}))})}},D=0,G=Object.keys(null!==(F=null==k?void 0:k.filters)&&void 0!==F?F:{});D<G.length;D++){var F;W()}var L,U,j,z=i.createElement(re.Qr,{control:a,name:c(xt.Country),rules:{required:{value:!0,message:B(s.W.Step.Confirmation.Inputs.Required,{field:B(s.W.Step.Confirmation.Inputs.Country)})}},render:function(e){var t=e.field,n=(t.ref,t.onChange),r=(0,Fe.Z)(t,St);return i.createElement(bt.Z,(0,g.Z)({disabled:y,validationStatus:d(xt.Country),onChange:function(e){n(e),O(c(xt.Country),"Country - Address")(e)},onChangeId:function(e){u(c(xt.CountryId),e)},onChangeCode:function(e){u(c(xt.CountryCode),e)}},r))}});return i.createElement("div",{key:e.id},i.createElement("div",{className:0===r?"":"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom",onClick:function(){0!==r&&function(e,t){M.splice(e,1,t),T(M.slice(0))}(r,!M[r])}},i.createElement("div",{className:"u-flex u-marg-bottom align-items-center"},i.createElement(m.Z,{bold:!0},B(s.W.Misc.Room)," ",r+1),0!==r&&i.createElement(_.ZP,{icon:M[r]?_.Tu.ArrowDown2:_.Tu.ArrowUp2,color:N.Il.Grey})),f&&i.createElement("div",{className:"u-marg-bottom"},i.createElement(P.ZP,null,i.createElement("strong",{className:"u-block@l-"},f.getRoom().name)," for"," ",Zt.Z.pluralWithDictAndCount(f.getAdults(),s.W.Step.Date.Adult,B),R?i.createElement(i.Fragment,null,", ",Zt.Z.pluralWithDictAndCount(f.getChildren(),s.W.Step.Date.Child,B)):null,null!=v&&null!==(l=v.childConfiguration)&&void 0!==l&&l.supportInfants?i.createElement(i.Fragment,null,", ",Zt.Z.pluralWithDictAndCount(f.getInfants(),s.W.Step.Date.Infant,B)):null),i.createElement("div",{className:"step-one-status--dates u-flex justify-content-start"},i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.Accent},i.createElement("strong",null,f.getStartDate().format("ddd, MMM D"))),i.createElement(_.ZP,{icon:_.Tu.ArrowRight2,size:"18px"}),i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.Accent},i.createElement("strong",null,f.getEndDate().format("ddd, MMM D"))))),(L=r,(j=null===(U=S.userProfiles)||void 0===U?void 0:U[L])&&n.submitCount>=1&&(0===L||!Z)&&Object.values(j).map((function(e,t){return i.createElement(E.Z,{key:t,open:!0},i.createElement("div",{className:"u-flex"},i.createElement(q.ZP,{icon:_.Tu.Error,type:q.NK.Danger,noMargin:t===Object.keys(j).length-1},i.createElement(P.ZP,{type:P.yG.Small},null==e?void 0:e.message))))})),null)),i.createElement("div",{className:"room-contact-details--row",style:{maxHeight:M[r]?void 0:0}},i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(P.ZP,{type:P.yG.Small},i.createElement("strong",null,B(s.W.Step.Confirmation.ContactInfo)))),i.createElement(Xe.Z,{dimensions:Pt.Z.isActive()?"1/2/2":"2/2"},Pt.Z.isActive()&&i.createElement(re.Qr,{control:a,name:c(xt.Title),rules:{required:!0},render:function(e){var t=e.field,n=(t.ref,(0,Fe.Z)(t,Nt));return i.createElement(ht.JD,(0,g.Z)({keyName:"value",labelName:"label",options:Pt.Z.getTitleOptions(),placeholder:B(s.W.Step.Confirmation.Inputs.Title)+" *",required:!0,validationStatus:d(xt.Title)},n))}}),i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:y},placeholder:B(s.W.Step.Confirmation.Inputs.Forename)+" *",wide:!0,required:!0,validationStatus:d(xt.Forename)},t(c(xt.Forename),{onChange:O(c(xt.Forename),"Forename - Contact Info"),required:{value:!0,message:B(s.W.Step.Confirmation.Inputs.Required,{field:B(s.W.Step.Confirmation.Inputs.Forename)})}}))),i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:y},placeholder:B(s.W.Step.Confirmation.Inputs.Surname)+" *",wide:!0,required:!0,validationStatus:d(xt.Surname)},t(c(xt.Surname),{onChange:O(c(xt.Surname),"Surname - Contact Info"),required:{value:!0,message:B(s.W.Step.Confirmation.Inputs.Required,{field:B(s.W.Step.Confirmation.Inputs.Surname)})}})))),i.createElement(Xe.Z,{dimensions:"2/2"},i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:y},placeholder:B(s.W.Step.Confirmation.Inputs.Email)+" *",wide:!0,validationStatus:d(xt.Email),required:!0},t(c(xt.Email),{onChange:O(c(xt.Email),"Email - Contact Info"),required:{value:!0,message:B(s.W.Step.Confirmation.Inputs.Required,{field:B(s.W.Step.Confirmation.Inputs.Email)})},pattern:{value:wt.CU,message:B(s.W.Step.Confirmation.Inputs.InvalidEmail)}}))),kt.Z.isActive()?i.createElement(re.Qr,{control:a,name:c(xt.Phone),rules:{required:{value:!0,message:B(s.W.Step.Confirmation.Inputs.Required,{field:B(s.W.Step.Confirmation.Inputs.Phone)})},minLength:{value:5,message:"Phone number is required"},maxLength:{value:17,message:"Phone number is too long"},pattern:{value:/^[1-9]( |\d){1,15}$/g,message:"Incorrect phone number entered"}},render:function(e){var t=e.field;return i.createElement(yt.Z,(0,g.Z)({disabled:y,validationStatus:d(xt.Phone)},t,{onChange:function(e){t.onChange(e),O(c(xt.Phone),"Phone - Contact Info")(e)}}))}}):i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:y},placeholder:B(s.W.Step.Confirmation.Inputs.Phone)+" *",wide:!0,required:!0,validationStatus:d(xt.Phone)},t(c(xt.Phone),{onChange:O(c(xt.Phone),"Phone - Contact Info"),required:{value:!0,message:B(s.W.Step.Confirmation.Inputs.Required,{field:B(s.W.Step.Confirmation.Inputs.Phone)})}}))))),i.createElement("div",{className:""},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(P.ZP,{type:P.yG.Small},i.createElement("strong",null,B(s.W.Step.Confirmation.Address)))),i.createElement(Xe.Z,{dimensions:"3/1"},i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:y},placeholder:B(s.W.Step.Confirmation.Inputs.Address)+" *",wide:!0,required:!0,validationStatus:d(xt.Address)},t(c(xt.Address),{onChange:O(c(xt.Address),"Address - Address"),required:{value:!0,message:B(s.W.Step.Confirmation.Inputs.Required,{field:B(s.W.Step.Confirmation.Inputs.Address)})}}))),i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:y},placeholder:B(s.W.Step.Confirmation.Inputs.City)+" *",wide:!0,required:!0,validationStatus:d(xt.City)},t(c(xt.City),{onChange:O(c(xt.City),"City - Address"),required:{value:!0,message:B(s.W.Step.Confirmation.Inputs.Required,{field:B(s.W.Step.Confirmation.Inputs.City)})}})))),i.createElement(Xe.Z,{dimensions:"2/2"},i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:y},placeholder:B(s.W.Step.Confirmation.Inputs.PostCode)+" *",wide:!0,required:!0,validationStatus:d(xt.PostCode)},t(c(xt.PostCode),{onChange:O(c(xt.PostCode),"PostCode - Address"),required:{value:!0,message:B(s.W.Step.Confirmation.Inputs.Required,{field:B(s.W.Step.Confirmation.Inputs.PostCode)})}}))),h?i.createElement(Se.Z,(0,g.Z)({inputProps:{disabled:y},placeholder:B(s.W.Step.Confirmation.Inputs.State)+(x?" *":""),wide:!0,required:x,validationStatus:d(xt.State)},t(c(xt.State),{onChange:O(c(xt.State),"State - Address"),required:{value:x,message:B(s.W.Step.Confirmation.Inputs.Required,{field:B(s.W.Step.Confirmation.Inputs.State)})}}))):z),h&&i.createElement(Xe.Z,{dimensions:"1"},z))),I.length>0&&i.createElement("div",{className:"u-marg-top"},i.createElement("div",{className:"u-marg-top"},i.createElement(Xe.Z,{dimensions:"2/2"},I.map((function(e){var t=e.options;return i.createElement(re.Qr,{key:e.id,control:a,name:c(e.id),rules:{required:!0},render:function(n){var r=n.field,a=(r.ref,(0,Fe.Z)(r,Bt));return i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(P.ZP,{type:P.yG.Small},i.createElement("strong",null,e.name))),i.createElement(ht.JD,(0,g.Z)({key:e.id,keyName:(0,ee.nameof)("value"),labelName:(0,ee.nameof)("label"),options:t,placeholder:"Please Select *",validationStatus:d(e.id)},a)))}})}))))),i.createElement(Rt,{hotel:v,numberOfChildrens:Number(f.getChildren()),control:a,roomIndex:r})),b.length>1&&0===r?i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(Ct.Z,(0,g.Z)({label:B(s.W.Step.Confirmation.ApplySameInfoToOtherRooms)},t("copyCheckBox")))):null)})))},Dt=i.forwardRef((function(e,t){var n=(0,c.$)().t,r=e.confirmationPolicyError,a=(0,C.WP)().hotel,o=(0,re.Gc)().register;return i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},n(s.W.Step.Confirmation.Acknowledgement))),i.createElement("div",null,i.createElement(Ct.Z,(0,g.Z)({label:n(s.W.Step.Confirmation.EmailSpecialOffers)},o("marketingOptIn",{})))),i.createElement("div",{className:"u-marg-top--light"},i.createElement(Ct.Z,{ref:t,label:i.createElement("div",null,n(s.W.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)," ",i.createElement("a",{style:{color:N.Il.Accent},className:"--underlined",href:null==a?void 0:a.privacyPolicyUrl,target:"_blank",rel:"noreferrer"},n(s.W.Step.Confirmation.PrivacyPolicy)))})),i.createElement(E.Z,{open:r},i.createElement("div",{className:"u-flex u-marg-top"},i.createElement(q.ZP,{type:q.NK.Danger,icon:_.Tu.Error},i.createElement(P.ZP,{type:P.yG.Small},n(s.W.Step.Confirmation.PrivacyPolicyError))))))}));function Mt(e){var t,n,a=(0,i.useContext)(r.hy),o=(0,c.$)().t,u=(0,i.useState)(l()().add(14,"minute")),d=(0,A.Z)(u,2),p=d[0];d[1],(0,i.useEffect)((function(){var t,n=!1,r=null;return(e.differences.length||null!==(t=e.warnings)&&void 0!==t&&t.length)&&(r=setTimeout((function(){n||e.onClose()}),74e4)),function(){n=!0,clearTimeout(r)}}),[e.differences.length,null===(t=e.warnings)||void 0===t?void 0:t.length]);var v=i.createElement("div",{className:"u-flex"},i.createElement(I.Z,{isText:!0,size:"small",icon:_.Tu.ArrowLeft,onClick:e.onClose,isLoading:e.isLoading},o(s.W.Step.Confirmation.TakeMeBack)),i.createElement(I.Z,{primary:!0,filled:!0,icon:_.Tu.ArrowRight,iconPosition:"right",onClick:e.onProceed,isLoading:e.isLoading},o(s.W.Step.Confirmation.ContinueWithReservation)));return i.createElement(W.Z,{open:!!e.differences.length||!(null===(n=e.warnings)||void 0===n||!n.length),title:o(s.W.Step.Confirmation.YourTotalPriceHasChanged),mobileFooter:v,desktopFooter:i.createElement("div",{className:"u-marg-heavy u-marg@m-"},v),size:W.g.Small,alignCenter:!0},i.createElement("div",{className:"u-marg-heavy u-marg@m-"},i.createElement("div",{className:"row"},i.createElement("div",{className:"col-md-8"},i.createElement(P.ZP,{type:P.yG.Small},o(s.W.Step.Confirmation.ConfirmationCheckoutTitle))),i.createElement("div",{className:"col-md-4"},i.createElement(We.ZP,{icon:_.Tu.Time,type:We.Rm.Primary},i.createElement("span",{className:"u-marg-right--light"},o(s.W.Step.Confirmation.RevertsIn)),i.createElement(O,{endTimeDate:p})))),i.createElement(f.Z,null),!(!e.differences||!e.differences.length)&&e.differences.map((function(e){var t,n,r,o=a.getAllValidRows().find((function(t){return t.getID()===e.id}));return i.createElement("div",{key:e.id},!!o&&i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(m.Z,null,o.getRoom().name)),i.createElement(P.ZP,null,null===(t=o.getRate())||void 0===t?void 0:t.name)),i.createElement("div",{className:"u-flex u-marg-bottom--light"},i.createElement(P.ZP,{type:P.yG.Body},i.createElement("strong",null,"Displayed price:")),i.createElement(P.ZP,{color:N.Il.Alert},i.createElement(R.Z,null,null===(n=e.totalPrice)||void 0===n?void 0:n.before))),i.createElement("div",{className:"u-flex"},i.createElement(P.ZP,{type:P.yG.Body},i.createElement("strong",null,"Actual price:")),i.createElement(P.ZP,{color:N.Il.Success},i.createElement(R.Z,null,null===(r=e.totalPrice)||void 0===r?void 0:r.after))),i.createElement(f.Z,null))})),!(!e.warnings||!e.warnings.length)&&e.warnings.map((function(e,t){return i.createElement(P.ZP,{key:t},e)}))))}var Tt=n(92710);function Gt(){var e=(0,c.$)().t,t=(0,C.WP)().hotel;return i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},e(s.W.Step.Confirmation.Policies))),i.createElement("div",{className:"u-marg-bottom step-confirmation-policies-section"},i.createElement("div",{className:"row"},i.createElement("div",{className:"col-6 col-md-3"},i.createElement(P.ZP,{type:P.yG.Small},i.createElement("strong",null,e(s.W.Misc.CheckIn))),i.createElement(P.ZP,{type:P.yG.Small},e(s.W.Misc.After)," ",null==t?void 0:t.checkInTime)),i.createElement("div",{className:"col-6 col-md-3"},i.createElement(P.ZP,{type:P.yG.Small},i.createElement("strong",null,e(s.W.Misc.CheckOut))),i.createElement(P.ZP,{type:P.yG.Small},e(s.W.Misc.Before)," ",null==t?void 0:t.checkOutTime)))))}var qt=n(11830);function Ot(){var e=(0,i.useContext)(r.hy),t=(0,c.$)().t,n=t(s.W.Misc.Room);return(0,i.useMemo)((function(){var r={},a=e.getAllValidRows(),o=0;return a.length>1?a.forEach((function(e){o++;var t=e.getRate(),n=r["".concat(null==t?void 0:t.cancelPolicyCode,"-").concat(null==t?void 0:t.guaranteeCode)];n||(n=r["".concat(null==t?void 0:t.cancelPolicyCode,"-").concat(null==t?void 0:t.guaranteeCode)]={rooms:[]}),n.rooms.push({index:o,room:e})})):r[0]={rooms:[{index:1,room:a[0]}]},i.createElement("div",{className:"u-marg-bottom step-confirmation-policy-block"},Object.values(r).map((function(e,r){var a,o,l,c=e.rooms[0];return i.createElement("div",{className:"u-marg-bottom--heavy",key:r},i.createElement("div",{className:"u-marg-bottom"},e.rooms.map((function(e){var t;return i.createElement(P.ZP,{key:e.index,type:P.yG.Small},i.createElement("strong",null,n," ",e.index)," ",e.room.getRoom().name," - ",null===(t=e.room.getRate())||void 0===t?void 0:t.name)}))),i.createElement("div",{className:"u-marg-bottom"},null!==(a=c.room.getRate())&&void 0!==a&&a.getGuaranteePolicy()?i.createElement(i.Fragment,null,i.createElement(P.ZP,{type:P.yG.Small,bold:!0,className:"u-marg-bottom--light"},t(s.W.Misc.GuaranteePolicy)),i.createElement(P.ZP,{type:P.yG.Small},i.createElement(qt.R,{content:(null===(o=c.room.getRate())||void 0===o?void 0:o.getGuaranteePolicy())||""}))):null),i.createElement(P.ZP,{type:P.yG.Small,bold:!0,className:"u-marg-bottom--light"},t(s.W.Misc.CancellationPolicy)),i.createElement(P.ZP,{type:P.yG.Small},i.createElement(qt.R,{content:(null===(l=c.room.getRate())||void 0===l?void 0:l.getCancellationPolicy())||""})))})))}),[e.currentBasketRows])}var Ft=n(96222),Lt=n(28016),Ut=n(71657);function jt(){var e=(0,i.useState)({differences:[],warnings:[]}),t=(0,A.Z)(e,2),n=t[0],a=t[1],o=(0,i.useContext)(r.gr),l=(0,i.useState)(""),u=(0,A.Z)(l,2),d=u[0],p=u[1],v=(0,i.useState)(!1),y=(0,A.Z)(v,2),h=y[0],b=y[1],E=(0,i.useRef)(null),x=(0,i.useRef)(null),Z=(0,c.$)().t,w=Ce(),S=w.queryPaymentMethod,B=w.queryRoomstayId,R=w.queryPlanpayCheckoutId,W=(0,r.dF)(),D=(0,re.Gc)(),M=ie(),T=M.isBackFromPlanpay,G=M.isBackFromExternalPayment,O=M.isLoading,F=M.setLoadingStatus,L=M.book,U=M.rollbackReservation,j=M.commitReservation,z=(0,r.Kc)(),Q=(0,i.useRef)(null),Y=(0,_e.J)(),H=(0,r.ZS)().roomstayMember,V=(0,C.WP)().hotel,$=null==V||!V.cardProcessor||V.cardProcessor===ee.EHotelCardProcessor.Passthrough,K=function(){var e=(0,J.Z)(X().mark((function e(t){var n,r,a,o;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t,e.next=e.t0===ee.EBookingPaymentMethod.Planpay?3:e.t0===ee.EBookingPaymentMethod.Card?10:(e.t0,ee.EBookingPaymentMethod.SavedCard,20);break;case 3:return(r=new URLSearchParams(window.location.search)).set("roomstayId","{{rsId}}"),r.set("session",W.sessionProvider.getCurrentSessionID().toString()),r.set("paymentMethod",ee.EBookingPaymentMethod.Planpay),a="".concat(window.location.origin).concat(window.location.pathname).concat(window.location.search,"#/step/confirmation/?").concat(r),n={Method:ee.EBookingPaymentMethod.Planpay,PlanpayCheckoutId:R||void 0,RedirectUrl:a},e.abrupt("break",21);case 10:if(!$){e.next=18;break}return e.t1=ee.EBookingPaymentMethod.Card,e.next=14,null===(o=Q.current)||void 0===o?void 0:o.getTokenizedCode();case 14:e.t2=e.sent,n={Method:e.t1,PaymentCard:e.t2},e.next=19;break;case 18:n={Method:ee.EBookingPaymentMethod.Card};case 19:return e.abrupt("break",21);case 20:n={Method:ee.EBookingPaymentMethod.SavedCard,SavedCardID:t};case 21:return e.abrupt("return",n);case 22:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();(0,i.useEffect)((function(){var e,t,n="";n=Object.values(ee.EBookingPaymentMethod).includes(S)?S:null!=H&&H.defaultCard&&null!=H&&null!==(t=H.cards)&&void 0!==t&&t.find((function(e){return e.cardId===(null==H?void 0:H.defaultCard)}))?null==H?void 0:H.defaultCard:ee.EBookingPaymentMethod.Card,D.setValue("paymentMethod",n);var r=null===(e=z.reservationData)||void 0===e?void 0:e.roomstayId;return!G||!B||r&&B!==r?ue(n):null==j||j(z.reservationData,"Please wait... Finalising your reservation"),T&&(B===r?te():null==U||U()),function(){T||G||null==U||U()}}),[]);var te=function(){var e=(0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==j?void 0:j(z.reservationData);case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ne=D.watch("paymentMethod");W.engine.getSessionProvider().getSession().then((function(e){p(e.source)}));var ae=function(){var e=(0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Y((0,Ut.Z)().getStepUrl());case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),oe=function(){var e=(0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(null==V?void 0:V.cardProcessor)!==ee.EHotelCardProcessor.Passthrough?F("You will be redirected shortly to the payment provider."):F("Processing booking"),e.next=3,ce(ne);case 3:return e.abrupt("return",!1);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),le=function(e){var t=null==o?void 0:o.errorChecks.every((function(t){return t().validate(e)}));return void 0===t||t},ce=function(){var e=(0,J.Z)(X().mark((function e(t){var n;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==L?void 0:L((0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",K(t));case 1:case"end":return e.stop()}}),e)}))),null===(n=x.current)||void 0===n?void 0:n.value,(0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=void 0,!Ft.Z.isActive()||null!=E&&null!==(n=E.current)&&void 0!==n&&n.checked){e.next=3;break}return b(!0),e.abrupt("return",!1);case 3:if(le(!0)){e.next=5;break}return e.abrupt("return",!1);case 5:if(e.prev=5,t!==ee.EBookingPaymentMethod.Card||!$){e.next=9;break}return e.next=9,Q.current.getTokenizedCode();case 9:return e.abrupt("return",!0);case 12:return e.prev=12,e.t0=e.catch(5),e.abrupt("return",!1);case 15:case"end":return e.stop()}var n}),e,null,[[5,12]])}))),(function(e){e&&a(e)}));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),ue=function(){var e=(0,J.Z)(X().mark((function e(t){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t===ee.EBookingPaymentMethod.Planpay){e.next=3;break}return e.next=3,null==U?void 0:U();case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return i.createElement("form",null,T?i.createElement(k.Z,null):i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(m.Z,{bold:!0},Z(s.W.Step.Confirmation.GuestDetails))),i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.Success},i.createElement("strong",null,Z(s.W.Step.Confirmation.AlmostDone,{required:"*"})))),i.createElement(Wt,null),"inline"===d?i.createElement(q.ZP,{type:q.NK.Accent2,heavyPadding:!0},i.createElement("div",{className:"u-flex u-w-100 flex-wrap flex-xl-nowrap"},i.createElement("div",null,i.createElement(P.ZP,{color:N.Il.Accent,bold:!0},Z(s.W.Step.Confirmation.WantMoreRooms)),i.createElement(P.ZP,{color:N.Il.Navy},Z(s.W.Step.Confirmation.YouCanAddAndEditRooms))),i.createElement("div",{className:"d-flex align-items-center u-marg-top@xl-"},i.createElement(I.Z,{filled:!0,primary:!0,icon:_.Tu.Add,iconPosition:"left",onClick:ae},Z(s.W.Step.Confirmation.AddMoreRooms))))):i.createElement(i.Fragment,null),Lt.Z.isActive()&&i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},"Travel Agent")),i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(P.ZP,{type:P.yG.Small},i.createElement("strong",null,Z(s.W.Step.Confirmation.Inputs.IATANumber)))),i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(P.ZP,{type:P.yG.Small},Z(s.W.Step.Confirmation.Inputs.IATANumberGuide))),i.createElement(Se.Z,(0,g.Z)({placeholder:Z(s.W.Step.Confirmation.Inputs.IATANumber),wide:!0},D.register("IATANumber")))),i.createElement(f.Z,null)),i.createElement(Tt.h,{inputRef:x}),i.createElement(f.Z,null),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},Z(s.W.Navigation.Menu.PaymentInformation))),i.createElement(At,{tokenizerRef:Q,onChangeCb:function(){var e=(0,J.Z)(X().mark((function e(t){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ue(t);case 2:if(t!==ee.EBookingPaymentMethod.Planpay){e.next=5;break}return e.next=5,ce(t);case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}),i.createElement("div",{className:"u-marg-top u-flex align-items-center"},i.createElement("div",{className:"u-flex align-items-center justify-content-start"},i.createElement(_.ZP,{icon:_.Tu.Lock,color:N.Il.Success}),i.createElement("div",{className:"u-marg-left--light"},i.createElement(P.ZP,{type:P.yG.Small,color:N.Il.Success},i.createElement("strong",null,Z(s.W.Step.Confirmation.Secured))))),i.createElement(Ze,null))),i.createElement(f.Z,null),i.createElement(Gt,null),i.createElement("div",{className:"u-pad-top--light u-marg-bottom"},i.createElement(Ot,null)),Ft.Z.isActive()&&i.createElement(i.Fragment,null,i.createElement(f.Z,null),i.createElement("div",null,i.createElement(Dt,{ref:E,confirmationPolicyError:h}))),i.createElement("div",{className:"u-flex u-marg-top--heavy justify-content-end"},i.createElement(we.Z,{disabled:ne===ee.EBookingPaymentMethod.Planpay||O,text:Z(s.W.Step.Confirmation.ConfirmReservation),isLoading:O,onClick:oe}))),i.createElement(Mt,{differences:n.differences,warnings:n.warnings,isLoading:O,onClose:(0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==U?void 0:U();case 2:Y((0,Ut.Z)().getStepUrl());case 3:case"end":return e.stop()}}),e)}))),onProceed:(0,J.Z)(X().mark((function e(){return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ne!==ee.EBookingPaymentMethod.Planpay){e.next=4;break}a({differences:[],warnings:[]}),e.next=6;break;case 4:return e.next=6,null==j?void 0:j(z.reservationData);case 6:case"end":return e.stop()}}),e)})))}))}function zt(){return i.createElement(xe,null,i.createElement(jt,null))}var Qt=function(){var e=(0,i.useContext)(r.g7),t=(0,i.useContext)(r.aN).currentStep,n=(0,i.useContext)(r.hy).currentBasketRows,o=(0,c.$)().t,g=(0,Y.z)().raise;return(0,i.useEffect)((function(){var e=new a.z(n);g(e)}),[]),i.createElement("div",{className:"container"},i.createElement(v.V,{step:"Confirmation"}),i.createElement(r.s$,null,i.createElement(z.default,null),i.createElement(p.i5,null,i.createElement(p.mV,null,e.screenSize>V.Z.Medium&&i.createElement(i.Fragment,null,i.createElement(u.rU,{to:$.Z.getPreviousStepUrl(t)},i.createElement(d.Z,null)),i.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},i.createElement(m.Z,{bold:!0},o(s.W.Navigation.Steps.Confirmation)))),i.createElement("div",{className:"u-marg-top@m-"},i.createElement(U.Z,null))),e.screenSize>V.Z.Medium&&i.createElement(p.f,null,i.createElement(j.Z,null))),i.createElement(f.Z,null),i.createElement(p.i5,null,i.createElement(p.mV,null,i.createElement("div",{className:"block-container"},!H.Z.isActive()&&i.createElement(G,null),i.createElement(zt,null))),e.screenSize>V.Z.Medium&&i.createElement(p.f,null,i.createElement(L,{endDate:l()().add(10,"minute")}),i.createElement(Q.v,{showImages:!0})))))}},12899:function(e,t,n){(t=n(23645)(!0)).push([e.id,".InlinePaymentCard-module__root___3JISW{width:24px;height:16px;background-size:contain;background-repeat:no-repeat;border-radius:2.5px;border:.5px solid #dfe1e5}.InlinePaymentCard-module__root___3JISW.InlinePaymentCard-module__--large____T4UH{width:48px;height:32px}","",{version:3,sources:["InlinePaymentCard.module.scss"],names:[],mappings:"AAAA,wCAAM,UAAU,CAAC,WAAW,CAAC,uBAAuB,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,kFAAc,UAAU,CAAC,WAAW",file:"InlinePaymentCard.module.scss",sourcesContent:[".root{width:24px;height:16px;background-size:contain;background-repeat:no-repeat;border-radius:2.5px;border:.5px solid #dfe1e5}.root.--large{width:48px;height:32px}"]}]),t.locals={root:"InlinePaymentCard-module__root___3JISW","--large":"InlinePaymentCard-module__--large____T4UH"},e.exports=t},94319:function(e,t,n){(t=n(23645)(!0)).push([e.id,".InlinePaymentOption-module__root___qRPN1{display:flex;align-items:center;gap:12px;margin-left:4px}@media(max-width: 991px){.InlinePaymentOption-module__root___qRPN1{flex-direction:column;align-items:flex-start}}","",{version:3,sources:["InlinePaymentOption.module.scss"],names:[],mappings:"AAAA,0CAAM,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,0CAAM,qBAAqB,CAAC,sBAAsB,CAAC",file:"InlinePaymentOption.module.scss",sourcesContent:[".root{display:flex;align-items:center;gap:12px;margin-left:4px}@media(max-width: 991px){.root{flex-direction:column;align-items:flex-start}}"]}]),t.locals={root:"InlinePaymentOption-module__root___qRPN1"},e.exports=t},80987:function(e,t,n){(t=n(23645)(!0)).push([e.id,'.roomstay-booking-container .RadioButton-module__root___1w9es{width:100%;display:block;border:1px solid var(--rs-color-light-grey);border-radius:8px;margin:10px 0;cursor:pointer;transition:.3s}.roomstay-booking-container .RadioButton-module__root___1w9es+.RadioButton-module__root___1w9es{margin-top:8px}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO{background:#f6f6fa;cursor:not-allowed}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO .RadioButton-module__design___3kmtW{border:solid 1px #dfe1e5;background:rgba(0,0,0,0)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO .RadioButton-module__design___3kmtW::before{background:rgba(0,0,0,0)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO .RadioButton-module__text___1CCxU{color:#c0c3cc}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__checked___XmNJ8 .RadioButton-module__design___3kmtW{background:var(--rs-color-accent-2);border:solid 1px var(--rs-color-accent-1)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__checked___XmNJ8 .RadioButton-module__design___3kmtW::before{transform:translate(-50%, -50%) scale(1);background:var(--rs-color-accent-1)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__checked___XmNJ8 .RadioButton-module__text___1CCxU{color:var(--rs-color-navy)}.roomstay-booking-container .RadioButton-module__input___3WTPl{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;z-index:-1}.roomstay-booking-container .RadioButton-module__design___3kmtW{flex-shrink:0;width:16px;height:16px;border-radius:100px;position:relative;border:solid 1px var(--rs-color-light-grey)}.roomstay-booking-container .RadioButton-module__design___3kmtW::before{content:"";width:10px;height:10px;display:inline-block;border-radius:inherit;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(0,0,0,0);transition:.3s;position:absolute}.roomstay-booking-container .RadioButton-module__text___1CCxU{width:100%;color:var(--rs-color-navy);font-size:14px;font-weight:400;line-height:18px;margin-left:8px;transition:.3s}.roomstay-booking-container .RadioButton-module__content___2b4U9{display:block;padding:16px;border-top:solid 1px var(--rs-color-light-grey)}.roomstay-booking-container .RadioButton-module__header___2nA7I{padding:8px 16px;display:flex;align-items:center}.roomstay-booking-container .RadioButton-module__header___2nA7I:hover{background:rgba(204,204,204,.14)}',"",{version:3,sources:["RadioButton.module.scss"],names:[],mappings:"AAAA,8DAA2C,UAAU,CAAC,aAAa,CAAC,2CAA2C,CAAC,iBAAiB,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,gGAAiD,cAAc,CAAC,mGAAoD,kBAAkB,CAAC,kBAAkB,CAAC,uIAA4D,wBAAwB,CAAC,wBAAwB,CAAC,+IAAoE,wBAAwB,CAAC,qIAA0D,aAAa,CAAC,sIAA2D,mCAAmC,CAAC,yCAAyC,CAAC,8IAAmE,wCAAwC,CAAC,mCAAmC,CAAC,oIAAyD,0BAA0B,CAAC,+DAA4C,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,gEAA6C,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,2CAA2C,CAAC,wEAAqD,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,wBAAwB,CAAC,cAAc,CAAC,iBAAiB,CAAC,8DAA2C,UAAU,CAAC,0BAA0B,CAAC,cAAc,CAAC,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAAC,iEAA8C,aAAa,CAAC,YAAY,CAAC,+CAA+C,CAAC,gEAA6C,gBAAgB,CAAC,YAAY,CAAC,kBAAkB,CAAC,sEAAmD,gCAAgC",file:"RadioButton.module.scss",sourcesContent:[':global(.roomstay-booking-container) .root{width:100%;display:block;border:1px solid var(--rs-color-light-grey);border-radius:8px;margin:10px 0;cursor:pointer;transition:.3s}:global(.roomstay-booking-container) .root+.root{margin-top:8px}:global(.roomstay-booking-container) .root.disabled{background:#f6f6fa;cursor:not-allowed}:global(.roomstay-booking-container) .root.disabled .design{border:solid 1px #dfe1e5;background:rgba(0,0,0,0)}:global(.roomstay-booking-container) .root.disabled .design::before{background:rgba(0,0,0,0)}:global(.roomstay-booking-container) .root.disabled .text{color:#c0c3cc}:global(.roomstay-booking-container) .root.checked .design{background:var(--rs-color-accent-2);border:solid 1px var(--rs-color-accent-1)}:global(.roomstay-booking-container) .root.checked .design::before{transform:translate(-50%, -50%) scale(1);background:var(--rs-color-accent-1)}:global(.roomstay-booking-container) .root.checked .text{color:var(--rs-color-navy)}:global(.roomstay-booking-container) .input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;z-index:-1}:global(.roomstay-booking-container) .design{flex-shrink:0;width:16px;height:16px;border-radius:100px;position:relative;border:solid 1px var(--rs-color-light-grey)}:global(.roomstay-booking-container) .design::before{content:"";width:10px;height:10px;display:inline-block;border-radius:inherit;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(0,0,0,0);transition:.3s;position:absolute}:global(.roomstay-booking-container) .text{width:100%;color:var(--rs-color-navy);font-size:14px;font-weight:400;line-height:18px;margin-left:8px;transition:.3s}:global(.roomstay-booking-container) .content{display:block;padding:16px;border-top:solid 1px var(--rs-color-light-grey)}:global(.roomstay-booking-container) .header{padding:8px 16px;display:flex;align-items:center}:global(.roomstay-booking-container) .header:hover{background:rgba(204,204,204,.14)}']}]),t.locals={root:"RadioButton-module__root___1w9es",disabled:"RadioButton-module__disabled___1HXUO",design:"RadioButton-module__design___3kmtW",text:"RadioButton-module__text___1CCxU",checked:"RadioButton-module__checked___XmNJ8",input:"RadioButton-module__input___3WTPl",content:"RadioButton-module__content___2b4U9",header:"RadioButton-module__header___2nA7I"},e.exports=t},5205:function(e,t,n){(t=n(23645)(!0)).push([e.id,".RadioButtonGroup-module__root___3QZUp{position:relative}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__wrapper___3_Rg6{position:relative}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__wrapper___3_Rg6:first-child .RadioButtonGroup-module__item___3rGSy{border-top-left-radius:5px !important;border-top-right-radius:5px !important}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__wrapper___3_Rg6:last-child .RadioButtonGroup-module__item___3rGSy{border-bottom:1px solid var(--rs-color-light-grey) !important;border-bottom-left-radius:5px !important;border-bottom-right-radius:5px !important}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__item___3rGSy{border-radius:0 !important;margin-top:0 !important;margin-bottom:0 !important;border-bottom:0 !important}.RadioButtonGroup-module__overlay___p2ip9{background-color:#fff;box-shadow:0px 8px 24px rgba(0,0,0,.25);border:1px solid #dfe1e5;border-radius:5px}.RadioButtonGroup-module__childrenIndicator___16sSu{position:absolute;right:16px;top:16px;pointer-events:none}","",{version:3,sources:["RadioButtonGroup.module.scss"],names:[],mappings:"AAAA,uCAAM,iBAAiB,CAAC,iFAAe,iBAAiB,CAAC,oIAAiC,qCAAqC,CAAC,sCAAsC,CAAC,mIAAgC,6DAA6D,CAAC,wCAAwC,CAAC,yCAAyC,CAAC,8EAAY,0BAA0B,CAAC,uBAAuB,CAAC,0BAA0B,CAAC,0BAA0B,CAAC,0CAAS,qBAAqB,CAAC,uCAAuC,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,oDAAmB,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,mBAAmB",file:"RadioButtonGroup.module.scss",sourcesContent:[".root{position:relative}.root .wrapper{position:relative}.root .wrapper:first-child .item{border-top-left-radius:5px !important;border-top-right-radius:5px !important}.root .wrapper:last-child .item{border-bottom:1px solid var(--rs-color-light-grey) !important;border-bottom-left-radius:5px !important;border-bottom-right-radius:5px !important}.root .item{border-radius:0 !important;margin-top:0 !important;margin-bottom:0 !important;border-bottom:0 !important}.overlay{background-color:#fff;box-shadow:0px 8px 24px rgba(0,0,0,.25);border:1px solid #dfe1e5;border-radius:5px}.childrenIndicator{position:absolute;right:16px;top:16px;pointer-events:none}"]}]),t.locals={root:"RadioButtonGroup-module__root___3QZUp",wrapper:"RadioButtonGroup-module__wrapper___3_Rg6",item:"RadioButtonGroup-module__item___3rGSy",overlay:"RadioButtonGroup-module__overlay___p2ip9",childrenIndicator:"RadioButtonGroup-module__childrenIndicator___16sSu"},e.exports=t},87518:function(e,t,n){(t=n(23645)(!0)).push([e.id,".PlanpayLabel-module__root___a2__0{display:flex;align-items:center;justify-content:space-between;width:100%}@media(max-width: 991px){.PlanpayLabel-module__root___a2__0{flex-direction:column;align-items:flex-start}}.PlanpayLabel-module__container___pMoWg{display:flex;align-items:center;gap:12px}@media(max-width: 991px){.PlanpayLabel-module__container___pMoWg{flex:1 auto;flex-direction:row;align-items:center}}.PlanpayLabel-module__label-and-logo___3gMbJ{display:flex;align-items:center;flex:1 auto}@media(max-width: 991px){.PlanpayLabel-module__label-and-logo___3gMbJ{flex-direction:row-reverse;align-items:center;gap:12px}}.PlanpayLabel-module__price___2TINl{display:flex}@media(max-width: 991px){.PlanpayLabel-module__price___2TINl{text-align:right}}","",{version:3,sources:["PlanpayLabel.module.scss"],names:[],mappings:"AAAA,mCAAM,YAAY,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,UAAU,CAAC,yBAAyB,mCAAM,qBAAqB,CAAC,sBAAsB,CAAC,CAAC,wCAAW,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,yBAAyB,wCAAW,WAAW,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,6CAAgB,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,yBAAyB,6CAAgB,0BAA0B,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,oCAAO,YAAY,CAAC,yBAAyB,oCAAO,gBAAgB,CAAC",file:"PlanpayLabel.module.scss",sourcesContent:[".root{display:flex;align-items:center;justify-content:space-between;width:100%}@media(max-width: 991px){.root{flex-direction:column;align-items:flex-start}}.container{display:flex;align-items:center;gap:12px}@media(max-width: 991px){.container{flex:1 auto;flex-direction:row;align-items:center}}.label-and-logo{display:flex;align-items:center;flex:1 auto}@media(max-width: 991px){.label-and-logo{flex-direction:row-reverse;align-items:center;gap:12px}}.price{display:flex}@media(max-width: 991px){.price{text-align:right}}"]}]),t.locals={root:"PlanpayLabel-module__root___a2__0",container:"PlanpayLabel-module__container___pMoWg","label-and-logo":"PlanpayLabel-module__label-and-logo___3gMbJ",price:"PlanpayLabel-module__price___2TINl"},e.exports=t},35729:function(e,t,n){var r=n(93379),a=n(12899);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},75498:function(e,t,n){var r=n(93379),a=n(94319);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},57970:function(e,t,n){var r=n(93379),a=n(80987);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},9502:function(e,t,n){var r=n(93379),a=n(5205);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},1320:function(e,t,n){var r=n(93379),a=n(87518);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}}}]);
@@ -1 +1 @@
1
- "use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[972],{31972:function(e,t,n){n.d(t,{Z:function(){return b}});var r=n(4942),o=n(70885),c=n(728),i=n(67294),s=n(73460),a=n(26793),l=n(79478),u=n(78029),f=n(84544);function p(){var e=(0,a.$)().t,t=(0,i.useContext)(c.hy);return i.createElement(u.Z,{text:e(l.W.Step.Room.NextStep),disabled:!t.getAllValidRows().length,onClick:function(){return new Promise((function(e){f.ZP.instance.sendInteraction("Next Step",f.s_.BUTTON,f._J.ROOMS),t.clearSelectedRates(),e(!0)}))},wideByDefault:!0})}var m=n(3933),y=n(10513),d=n(90292);function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach((function(t){(0,r.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function b(){var e=(0,i.useContext)(c.g7),t=(0,i.useContext)(c.hy),n=(0,i.useState)({top:0}),r=(0,o.Z)(n,2),a=r[0],l=r[1],u=(0,s.Z)(),f=(0,o.Z)(u,2),O=f[0],b=f[1];return(0,i.useEffect)((function(){var e=window.innerHeight,t=b.height;l(e<t?{top:-(t-e+40)}:{top:150})}),[b]),(0,i.useMemo)((function(){return i.createElement("div",{ref:O,style:h({position:"sticky"},a)},!!t.getAllValidRows().length&&i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(p,null)),e.screenSize>d.Z.Medium&&i.createElement(m.v,null),i.createElement("div",{className:"u-marg-top--heavy"},i.createElement(p,null)),e.screenSize>d.Z.Medium&&i.createElement("div",{className:"u-marg-top--heavy"},i.createElement(y.Z,null)))}),[e.screenSize,a.top])}}}]);
1
+ "use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[972],{31972:function(e,t,n){n.d(t,{Z:function(){return b}});var r=n(4942),o=n(70885),c=n(29177),i=n(67294),s=n(73460),a=n(26793),l=n(79478),u=n(78029),f=n(84544);function p(){var e=(0,a.$)().t,t=(0,i.useContext)(c.hy);return i.createElement(u.Z,{text:e(l.W.Step.Room.NextStep),disabled:!t.getAllValidRows().length,onClick:function(){return new Promise((function(e){f.ZP.instance.sendInteraction("Next Step",f.s_.BUTTON,f._J.ROOMS),t.clearSelectedRates(),e(!0)}))},wideByDefault:!0})}var m=n(3933),y=n(10513),d=n(90292);function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach((function(t){(0,r.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function b(){var e=(0,i.useContext)(c.g7),t=(0,i.useContext)(c.hy),n=(0,i.useState)({top:0}),r=(0,o.Z)(n,2),a=r[0],l=r[1],u=(0,s.Z)(),f=(0,o.Z)(u,2),O=f[0],b=f[1];return(0,i.useEffect)((function(){var e=window.innerHeight,t=b.height;l(e<t?{top:-(t-e+40)}:{top:150})}),[b]),(0,i.useMemo)((function(){return i.createElement("div",{ref:O,style:h({position:"sticky"},a)},!!t.getAllValidRows().length&&i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(p,null)),e.screenSize>d.Z.Medium&&i.createElement(m.v,null),i.createElement("div",{className:"u-marg-top--heavy"},i.createElement(p,null)),e.screenSize>d.Z.Medium&&i.createElement("div",{className:"u-marg-top--heavy"},i.createElement(y.Z,null)))}),[e.screenSize,a.top])}}}]);
@@ -1 +1 @@
1
- "use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[978],{26712:function(e,t,l){l.d(t,{e:function(){return u}});var n=l(15671),a=l(43144),i=l(60136),r=l(82963),c=l(61120);var u=function(e){(0,i.Z)(o,e);var t,l,u=(t=o,l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,n=(0,c.Z)(t);if(l){var a=(0,c.Z)(this).constructor;e=Reflect.construct(n,arguments,a)}else e=n.apply(this,arguments);return(0,r.Z)(this,e)});function o(e){var t;return(0,n.Z)(this,o),(t=u.call(this)).basketRows=void 0,t.basketRows=e,t}return(0,a.Z)(o,null,[{key:"getLabel",value:function(){return"View/Addon"}}]),o}(l(97112).x)},19370:function(e,t,l){l.r(t),l.d(t,{default:function(){return M}});var n=l(728),a=l(26712),i=l(67294),r=l(26793),c=l(73727),u=l(79478),o=l(13821),m=l(13010),s=l(46409),d=l(19874),f=l(47304),g=l(70885),v=l(89331),E=l(21120),h=l(7832),y=l(94184),p=l.n(y),N=l(97754),P=function(e){return i.createElement("div",{className:e.className},i.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i.createElement("rect",{width:"24",height:"24",rx:"12",fill:N.Il.Accent}),i.createElement("path",{d:"M7.33333 12L10.6667 15.3333L16.6667 9.33332L15.7267 8.38666L10.6667 13.4467L8.27333 11.06L7.33333 12Z",fill:"white"})))},b=l(64854),Z=l(20858),x=l(16380),S=l(63351),w=l(30584),A=l(99366),R=l(44744),C=function(e){var t,l,a=e.addon,c=e.className,o=(0,r.$)().t,s=(0,v.WP)().hotel,d=i.useContext(n.hy),f=d.getRowForAddon(a),E=(0,i.useState)(1),h=(0,g.Z)(E,2),y=h[0],C=h[1],_=(0,i.useState)(f?f.getAdultQuantity():1),k=(0,g.Z)(_,2),I=k[0],D=k[1],T=(0,i.useState)(f?f.getChildQuantity():0),O=(0,g.Z)(T,2),W=O[0],G=O[1],M=(0,i.useState)({quantity:1}),V=(0,g.Z)(M,2),H=V[0],Q=V[1],z=(0,i.useState)(f?f.getSelectedDate():""),L=(0,g.Z)(z,2),U=L[0],F=L[1],q=(0,i.useState)(f?f.getSelectedTime():""),Y=(0,g.Z)(q,2),B=Y[0],j=Y[1];(0,i.useEffect)((function(){var e,t,l,n,i,r,c;f?(Q(null!==(e=a.availability[f.getSelectedDate()])&&void 0!==e?e:a.availability[a.firstDate]),F(null!==(t=f.getSelectedDate())&&void 0!==t?t:a.firstDate),j(null!==(l=f.getSelectedTime())&&void 0!==l?l:""),C(f.getQuantity()),D(f.getAdultQuantity()),G(f.getChildQuantity())):(Q(null!==(n=a.availability[a.firstDate])&&void 0!==n?n:[]),F(a.firstDate),j((null===(i=a.availability[a.firstDate])||void 0===i||null===(r=i.selectorTimes)||void 0===r||null===(c=r[0])||void 0===c?void 0:c.value)||""))}),[]);var $=p()({"--active":!!d.getRowForAddon(a)}),J=[{name:"Date",enabled:(null==f||null===(t=f.getNumberOfAvailableNights)||void 0===t?void 0:t.call(f))>1&&!(null!=f&&f.getAddon().hideDatePicker),element:i.createElement(S.P,{nativeOnMobile:!0,options:a.selectorDates,value:U,onChange:function(e){var t,l,n,i;t=e,Q(a.availability[t]),F(t),j((null===(l=a.availability[t])||void 0===l||null===(n=l.selectorTimes)||void 0===n||null===(i=n[0])||void 0===i?void 0:i.value)||""),a.availability[t].quantity<y&&C(a.availability[t].quantity)},keyName:"value",labelName:"text",className:"u-flex align-items-center"})},{name:"Time",enabled:0!==(null==H||null===(l=H.selectorTimes)||void 0===l?void 0:l.length),element:i.createElement(S.P,{nativeOnMobile:!0,options:(null==H?void 0:H.selectorTimes)||[],value:B,onChange:function(e){j(e)},keyName:"value",labelName:"text",className:"u-flex align-items-center"})},{name:u.W.Step.Addon.Quantity,enabled:null==H?void 0:H.price,element:i.createElement(x.Z,{number:y,min:1,max:H.quantity,onChange:function(e){C(e)}})},{name:u.W.Step.Date.Adult_plural,enabled:null==H?void 0:H.adultPrice,element:i.createElement(x.Z,{number:I,min:0,max:H.quantity-W,onChange:function(e){D(e)}})},{name:u.W.Step.Date.Child_plural,enabled:null==H?void 0:H.childPrice,element:i.createElement(x.Z,{number:W,min:0,max:H.quantity-I,onChange:function(e){G(e)}})}],K=function(){switch(a.pricingType){case A.VO.PER_STAY:return o(u.W.Misc.QTY);case A.VO.PER_PERSON:return o(u.W.Misc.Person);case A.VO.PER_PERSON_OCCUPANCY_PER_NIGHT:case A.VO.PER_PERSON_PER_NIGHT:return o(u.W.Misc.PersonPerNight);case A.VO.PER_ADULT_OCCUPANCY_PER_NIGHT:case A.VO.PER_CHILD_OCCUPANCY_PER_NIGHT:return o(u.W.Misc.AdultPerNight);case A.VO.PER_NIGHT:case A.VO.PER_QUANTITY_NAME_PER_NIGHT:return o(u.W.Misc.Night);case A.VO.PER_ROOM_QUANTITY_PER_NIGHT:return o(u.W.Misc.PerRoomDay)}}(),X={};return a.image?X.backgroundImage="url('".concat(R.Z.resizeImage(a.image,R.h.Original),"')"):(X.backgroundImage="url('".concat((null==s?void 0:s.logo)&&R.Z.resizeImage(null==s?void 0:s.logo,R.h.Original),"')"),X.backgroundSize="50%",X.backgroundRepeat="no-repeat"),i.createElement("div",{className:p()("u-flex u-flex-flex-start u-rounded addon-card-wrapper",c,$),style:{backgroundColor:N.Il.White}},i.createElement("div",{className:"addon-card-image",style:X}),i.createElement("div",{className:"u-marg-heavy u-marg@m- u-w-100@xl"},i.createElement("div",{className:"u-flex"},i.createElement(m.Z,{bold:!0},a.name),f?i.createElement(P,null):i.createElement(i.Fragment,null)),i.createElement(w.ZP,{color:N.Il.DarkGrey,type:w.yG.Small},a.description),i.createElement("div",{className:"addon-card-wrapper--price u-flex u-flex-align-flex-end"},i.createElement("div",{className:"u-w-100"},J.map((function(e){if(e.enabled)return i.createElement("div",{key:e.name,className:"u-flex justify-content-start u-marg-bot u-marg-top"},i.createElement(w.ZP,{className:"u-mw-100",bold:!0},o(e.name)),e.element)}))),i.createElement("div",{className:"addon-card-wrapper--price-action"},i.createElement("div",{className:"u-flex u-flex-direction-column u-flex-align-flex-end",style:{alignSelf:"flex-end"}},i.createElement(w.ZP,{type:w.yG.Small,color:N.Il.Navy,inline:!0},o(u.W.Misc.From)),i.createElement("div",{className:"room-details--content-price flex-align-items-baseline flex-row"},(null==H?void 0:H.price)&&i.createElement(i.Fragment,null,i.createElement("div",{className:"u-flex align-items-end"},i.createElement(m.Z,{size:"large",bold:!0,lineHeight:"1em"},i.createElement(Z.Z,{hideDecimals:!0},H.price)),i.createElement(w.ZP,{type:w.yG.Small,color:N.Il.DarkGrey,inline:!0,className:"u-marg-left--light u-clear-font-weight"},"/ ",K))),(!(null==H||!H.adultPrice)||!(null==H||!H.childPrice))&&i.createElement("h2",{className:"u-marg-none d-flex flex-wrap justify-content-end"},!!H.adultPrice&&i.createElement("div",{className:"d-flex align-items-end flex-row"},i.createElement(m.Z,{size:"large",bold:!0,lineHeight:"1em"},i.createElement(Z.Z,null,H.adultPrice)),i.createElement(w.ZP,{type:w.yG.Small,color:N.Il.DarkGrey,inline:!0,className:"u-marg-left--light u-clear-font-weight"},"/ ",o(u.W.Step.Date.Adult))),!!H.adultPrice&&!!H.childPrice&&i.createElement("br",null),!!H.childPrice&&i.createElement("div",{className:"d-flex align-items-end flex-row"},i.createElement(m.Z,{size:"large",bold:!0,lineHeight:"1em"},i.createElement(Z.Z,null,H.childPrice)),i.createElement(w.ZP,{type:w.yG.Small,color:N.Il.DarkGrey,inline:!0,className:"u-marg-left--light u-clear-font-weight"},"/ ",o(u.W.Step.Date.Child))))),i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(w.ZP,{type:w.yG.Small,color:N.Il.Grey,inline:!0,className:"u-nowrap"},o(u.W.Step.Addon.IncludingFeesAndTaxes)))),i.createElement("div",{className:"u-marg-top--light u-flex justify-content-end u-w-100@l- flex-column flex-lg-row"},f?i.createElement("div",{className:"u-marg-right--light@l u-marg-bottom--light@l-"},i.createElement(b.Z,{onClick:function(){var e=d.basketAddonRows.find((function(e){return e.getAddon().code===a.code}));e&&d.removeBasketAddonRow(e)},textColor:N.Il.White,backgroundColor:N.Il.Navy,wide:!0},o(u.W.Step.Addon.Remove))):i.createElement(i.Fragment,null),i.createElement(b.Z,{onClick:function(){d.setAddonQuantities(a,{quantity:y,adult:I,child:W},U,B)},primary:!0,filled:!0,wide:!0},o(f?u.W.Step.Addon.UpdateCart:u.W.Step.Addon.AddToCart)))))))},_=l(62734),k=l(31972),I=function(){var e=(0,i.useContext)(n.hy),t=(0,i.useContext)(n.Qm),l=(0,v.WP)().hotel,a=e.getAllValidRows(),r=(0,i.useState)(null),c=(0,g.Z)(r,2),u=c[0],o=c[1],m=(0,i.useState)(!1),d=(0,g.Z)(m,2),f=d[0],y=d[1];return i.useEffect((function(){y(!0),E.Z.Addons.findAddons(a,null==l?void 0:l.hotelID).then((function(e){y(!1),o(e)}))}),[t.currentLanguage]),i.createElement("div",{className:"u-flex"},i.createElement(s.i5,null,i.createElement(s.mV,null,f?i.createElement(h.Z,null):null!=u&&u.length?u.map((function(e,t){return i.createElement(C,{key:t,className:"u-marg-bottom",addon:e})})):i.createElement(_.Z,null)),i.createElement(s.f,null,i.createElement(k.Z,null))))},D=l(38279),T=l(40370),O=l(16337),W=l(90292),G=l(95692);function M(){var e=(0,i.useContext)(n.g7),t=(0,i.useContext)(n.aN).currentStep,l=(0,i.useContext)(n.hy).currentBasketRows,g=(0,r.$)().t,v=(0,O.z)().raise;return(0,i.useEffect)((function(){var e=new a.e(l);v(e)}),[]),i.createElement("div",{className:"container"},i.createElement(f.V,{step:"Addon"}),i.createElement(T.default,null),i.createElement(s.i5,null,i.createElement(s.mV,null,e.screenSize>W.Z.Medium&&i.createElement(i.Fragment,null,i.createElement(c.rU,{to:G.Z.getPreviousStepUrl(t)},i.createElement(o.Z,null)),i.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},i.createElement(m.Z,{bold:!0},g(u.W.Navigation.Steps.Addon))))),e.screenSize>W.Z.Medium&&i.createElement(s.f,null,i.createElement(D.Z,null))),e.screenSize>W.Z.Medium&&i.createElement(d.Z,null),i.createElement(I,null))}}}]);
1
+ "use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[978],{26712:function(e,t,l){l.d(t,{e:function(){return u}});var n=l(15671),a=l(43144),i=l(60136),r=l(82963),c=l(61120);var u=function(e){(0,i.Z)(o,e);var t,l,u=(t=o,l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,n=(0,c.Z)(t);if(l){var a=(0,c.Z)(this).constructor;e=Reflect.construct(n,arguments,a)}else e=n.apply(this,arguments);return(0,r.Z)(this,e)});function o(e){var t;return(0,n.Z)(this,o),(t=u.call(this)).basketRows=void 0,t.basketRows=e,t}return(0,a.Z)(o,null,[{key:"getLabel",value:function(){return"View/Addon"}}]),o}(l(97112).x)},19370:function(e,t,l){l.r(t),l.d(t,{default:function(){return M}});var n=l(29177),a=l(26712),i=l(67294),r=l(26793),c=l(73727),u=l(79478),o=l(13821),m=l(13010),s=l(46409),d=l(19874),f=l(47304),g=l(70885),v=l(89331),E=l(21120),h=l(7832),y=l(94184),p=l.n(y),N=l(97754),P=function(e){return i.createElement("div",{className:e.className},i.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i.createElement("rect",{width:"24",height:"24",rx:"12",fill:N.Il.Accent}),i.createElement("path",{d:"M7.33333 12L10.6667 15.3333L16.6667 9.33332L15.7267 8.38666L10.6667 13.4467L8.27333 11.06L7.33333 12Z",fill:"white"})))},b=l(64854),Z=l(20858),x=l(16380),S=l(63351),w=l(30584),A=l(99366),R=l(44744),C=function(e){var t,l,a=e.addon,c=e.className,o=(0,r.$)().t,s=(0,v.WP)().hotel,d=i.useContext(n.hy),f=d.getRowForAddon(a),E=(0,i.useState)(1),h=(0,g.Z)(E,2),y=h[0],C=h[1],_=(0,i.useState)(f?f.getAdultQuantity():1),k=(0,g.Z)(_,2),I=k[0],D=k[1],T=(0,i.useState)(f?f.getChildQuantity():0),O=(0,g.Z)(T,2),W=O[0],G=O[1],M=(0,i.useState)({quantity:1}),V=(0,g.Z)(M,2),H=V[0],Q=V[1],z=(0,i.useState)(f?f.getSelectedDate():""),L=(0,g.Z)(z,2),U=L[0],F=L[1],q=(0,i.useState)(f?f.getSelectedTime():""),Y=(0,g.Z)(q,2),B=Y[0],j=Y[1];(0,i.useEffect)((function(){var e,t,l,n,i,r,c;f?(Q(null!==(e=a.availability[f.getSelectedDate()])&&void 0!==e?e:a.availability[a.firstDate]),F(null!==(t=f.getSelectedDate())&&void 0!==t?t:a.firstDate),j(null!==(l=f.getSelectedTime())&&void 0!==l?l:""),C(f.getQuantity()),D(f.getAdultQuantity()),G(f.getChildQuantity())):(Q(null!==(n=a.availability[a.firstDate])&&void 0!==n?n:[]),F(a.firstDate),j((null===(i=a.availability[a.firstDate])||void 0===i||null===(r=i.selectorTimes)||void 0===r||null===(c=r[0])||void 0===c?void 0:c.value)||""))}),[]);var $=p()({"--active":!!d.getRowForAddon(a)}),J=[{name:"Date",enabled:(null==f||null===(t=f.getNumberOfAvailableNights)||void 0===t?void 0:t.call(f))>1&&!(null!=f&&f.getAddon().hideDatePicker),element:i.createElement(S.P,{nativeOnMobile:!0,options:a.selectorDates,value:U,onChange:function(e){var t,l,n,i;t=e,Q(a.availability[t]),F(t),j((null===(l=a.availability[t])||void 0===l||null===(n=l.selectorTimes)||void 0===n||null===(i=n[0])||void 0===i?void 0:i.value)||""),a.availability[t].quantity<y&&C(a.availability[t].quantity)},keyName:"value",labelName:"text",className:"u-flex align-items-center"})},{name:"Time",enabled:0!==(null==H||null===(l=H.selectorTimes)||void 0===l?void 0:l.length),element:i.createElement(S.P,{nativeOnMobile:!0,options:(null==H?void 0:H.selectorTimes)||[],value:B,onChange:function(e){j(e)},keyName:"value",labelName:"text",className:"u-flex align-items-center"})},{name:u.W.Step.Addon.Quantity,enabled:null==H?void 0:H.price,element:i.createElement(x.Z,{number:y,min:1,max:H.quantity,onChange:function(e){C(e)}})},{name:u.W.Step.Date.Adult_plural,enabled:null==H?void 0:H.adultPrice,element:i.createElement(x.Z,{number:I,min:0,max:H.quantity-W,onChange:function(e){D(e)}})},{name:u.W.Step.Date.Child_plural,enabled:null==H?void 0:H.childPrice,element:i.createElement(x.Z,{number:W,min:0,max:H.quantity-I,onChange:function(e){G(e)}})}],K=function(){switch(a.pricingType){case A.VO.PER_STAY:return o(u.W.Misc.QTY);case A.VO.PER_PERSON:return o(u.W.Misc.Person);case A.VO.PER_PERSON_OCCUPANCY_PER_NIGHT:case A.VO.PER_PERSON_PER_NIGHT:return o(u.W.Misc.PersonPerNight);case A.VO.PER_ADULT_OCCUPANCY_PER_NIGHT:case A.VO.PER_CHILD_OCCUPANCY_PER_NIGHT:return o(u.W.Misc.AdultPerNight);case A.VO.PER_NIGHT:case A.VO.PER_QUANTITY_NAME_PER_NIGHT:return o(u.W.Misc.Night);case A.VO.PER_ROOM_QUANTITY_PER_NIGHT:return o(u.W.Misc.PerRoomDay)}}(),X={};return a.image?X.backgroundImage="url('".concat(R.Z.resizeImage(a.image,R.h.Original),"')"):(X.backgroundImage="url('".concat((null==s?void 0:s.logo)&&R.Z.resizeImage(null==s?void 0:s.logo,R.h.Original),"')"),X.backgroundSize="50%",X.backgroundRepeat="no-repeat"),i.createElement("div",{className:p()("u-flex u-flex-flex-start u-rounded addon-card-wrapper",c,$),style:{backgroundColor:N.Il.White}},i.createElement("div",{className:"addon-card-image",style:X}),i.createElement("div",{className:"u-marg-heavy u-marg@m- u-w-100@xl"},i.createElement("div",{className:"u-flex"},i.createElement(m.Z,{bold:!0},a.name),f?i.createElement(P,null):i.createElement(i.Fragment,null)),i.createElement(w.ZP,{color:N.Il.DarkGrey,type:w.yG.Small},a.description),i.createElement("div",{className:"addon-card-wrapper--price u-flex u-flex-align-flex-end"},i.createElement("div",{className:"u-w-100"},J.map((function(e){if(e.enabled)return i.createElement("div",{key:e.name,className:"u-flex justify-content-start u-marg-bot u-marg-top"},i.createElement(w.ZP,{className:"u-mw-100",bold:!0},o(e.name)),e.element)}))),i.createElement("div",{className:"addon-card-wrapper--price-action"},i.createElement("div",{className:"u-flex u-flex-direction-column u-flex-align-flex-end",style:{alignSelf:"flex-end"}},i.createElement(w.ZP,{type:w.yG.Small,color:N.Il.Navy,inline:!0},o(u.W.Misc.From)),i.createElement("div",{className:"room-details--content-price flex-align-items-baseline flex-row"},(null==H?void 0:H.price)&&i.createElement(i.Fragment,null,i.createElement("div",{className:"u-flex align-items-end"},i.createElement(m.Z,{size:"large",bold:!0,lineHeight:"1em"},i.createElement(Z.Z,{hideDecimals:!0},H.price)),i.createElement(w.ZP,{type:w.yG.Small,color:N.Il.DarkGrey,inline:!0,className:"u-marg-left--light u-clear-font-weight"},"/ ",K))),(!(null==H||!H.adultPrice)||!(null==H||!H.childPrice))&&i.createElement("h2",{className:"u-marg-none d-flex flex-wrap justify-content-end"},!!H.adultPrice&&i.createElement("div",{className:"d-flex align-items-end flex-row"},i.createElement(m.Z,{size:"large",bold:!0,lineHeight:"1em"},i.createElement(Z.Z,null,H.adultPrice)),i.createElement(w.ZP,{type:w.yG.Small,color:N.Il.DarkGrey,inline:!0,className:"u-marg-left--light u-clear-font-weight"},"/ ",o(u.W.Step.Date.Adult))),!!H.adultPrice&&!!H.childPrice&&i.createElement("br",null),!!H.childPrice&&i.createElement("div",{className:"d-flex align-items-end flex-row"},i.createElement(m.Z,{size:"large",bold:!0,lineHeight:"1em"},i.createElement(Z.Z,null,H.childPrice)),i.createElement(w.ZP,{type:w.yG.Small,color:N.Il.DarkGrey,inline:!0,className:"u-marg-left--light u-clear-font-weight"},"/ ",o(u.W.Step.Date.Child))))),i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(w.ZP,{type:w.yG.Small,color:N.Il.Grey,inline:!0,className:"u-nowrap"},o(u.W.Step.Addon.IncludingFeesAndTaxes)))),i.createElement("div",{className:"u-marg-top--light u-flex justify-content-end u-w-100@l- flex-column flex-lg-row"},f?i.createElement("div",{className:"u-marg-right--light@l u-marg-bottom--light@l-"},i.createElement(b.Z,{onClick:function(){var e=d.basketAddonRows.find((function(e){return e.getAddon().code===a.code}));e&&d.removeBasketAddonRow(e)},textColor:N.Il.White,backgroundColor:N.Il.Navy,wide:!0},o(u.W.Step.Addon.Remove))):i.createElement(i.Fragment,null),i.createElement(b.Z,{onClick:function(){d.setAddonQuantities(a,{quantity:y,adult:I,child:W},U,B)},primary:!0,filled:!0,wide:!0},o(f?u.W.Step.Addon.UpdateCart:u.W.Step.Addon.AddToCart)))))))},_=l(62734),k=l(31972),I=function(){var e=(0,i.useContext)(n.hy),t=(0,i.useContext)(n.Qm),l=(0,v.WP)().hotel,a=e.getAllValidRows(),r=(0,i.useState)(null),c=(0,g.Z)(r,2),u=c[0],o=c[1],m=(0,i.useState)(!1),d=(0,g.Z)(m,2),f=d[0],y=d[1];return i.useEffect((function(){y(!0),E.Z.Addons.findAddons(a,null==l?void 0:l.hotelID).then((function(e){y(!1),o(e)}))}),[t.currentLanguage]),i.createElement("div",{className:"u-flex"},i.createElement(s.i5,null,i.createElement(s.mV,null,f?i.createElement(h.Z,null):null!=u&&u.length?u.map((function(e,t){return i.createElement(C,{key:t,className:"u-marg-bottom",addon:e})})):i.createElement(_.Z,null)),i.createElement(s.f,null,i.createElement(k.Z,null))))},D=l(38279),T=l(40370),O=l(16337),W=l(90292),G=l(95692);function M(){var e=(0,i.useContext)(n.g7),t=(0,i.useContext)(n.aN).currentStep,l=(0,i.useContext)(n.hy).currentBasketRows,g=(0,r.$)().t,v=(0,O.z)().raise;return(0,i.useEffect)((function(){var e=new a.e(l);v(e)}),[]),i.createElement("div",{className:"container"},i.createElement(f.V,{step:"Addon"}),i.createElement(T.default,null),i.createElement(s.i5,null,i.createElement(s.mV,null,e.screenSize>W.Z.Medium&&i.createElement(i.Fragment,null,i.createElement(c.rU,{to:G.Z.getPreviousStepUrl(t)},i.createElement(o.Z,null)),i.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},i.createElement(m.Z,{bold:!0},g(u.W.Navigation.Steps.Addon))))),e.screenSize>W.Z.Medium&&i.createElement(s.f,null,i.createElement(D.Z,null))),e.screenSize>W.Z.Medium&&i.createElement(d.Z,null),i.createElement(I,null))}}}]);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const test_1 = require("@playwright/test");
13
+ const playwrightHelpers_1 = require("./helpers/playwrightHelpers");
14
+ (0, playwrightHelpers_1.runPlaywrightTestWithConfig)(runCanChangeCurrencyTets);
15
+ const currencies = [
16
+ 'IDR - Indonesian Rupiahs',
17
+ 'AUD - Australian Dollars',
18
+ 'EUR - Euros',
19
+ ];
20
+ const getNumericValueFromCurrencyString = (currencyString) => {
21
+ return parseFloat(currencyString.replace(/[^\d.]/g, ''));
22
+ };
23
+ function runCanChangeCurrencyTets(config) {
24
+ (0, test_1.test)(`can change currency on ${config.url}`, ({ page }) => __awaiter(this, void 0, void 0, function* () {
25
+ yield page.goto(config.url);
26
+ const currencySelector = page.locator('header.engine-header .be-select');
27
+ yield (0, test_1.expect)(currencySelector).toBeVisible();
28
+ const prices = {};
29
+ for (const currencyName of currencies) {
30
+ yield currencySelector.click();
31
+ const currencyOptions = page.locator('.rs-select--suggest-list');
32
+ yield (0, test_1.expect)(currencyOptions).toBeVisible();
33
+ const currencyOption = currencyOptions.locator(`text="${currencyName}"`);
34
+ yield (0, test_1.expect)(currencyOption).toBeVisible();
35
+ yield currencyOption.click();
36
+ // todo: Find a better way to check that the currency values are ready.
37
+ yield page.waitForTimeout(1000);
38
+ const firstAvailableDate = page.locator('.diji-calendar-month--item.--selectable').first();
39
+ const firstAvailableDatePriceElement = firstAvailableDate.locator('.diji-calendar-month--item-cost');
40
+ yield (0, test_1.expect)(firstAvailableDatePriceElement).not.toBeEmpty();
41
+ const price = yield firstAvailableDatePriceElement.textContent();
42
+ if (!price) {
43
+ console.error(`Failed to get price for currency: ${currencyName}`);
44
+ test_1.test.fail();
45
+ return;
46
+ }
47
+ prices[currencyName] = price.trim();
48
+ console.log(`Currency: ${currencyName}, Price: ${price}`);
49
+ }
50
+ const idrValue = getNumericValueFromCurrencyString(prices['IDR - Indonesian Rupiahs']);
51
+ const eurValue = getNumericValueFromCurrencyString(prices['EUR - Euros']);
52
+ const audValue = getNumericValueFromCurrencyString(prices['AUD - Australian Dollars']);
53
+ // This assumes there's no drastic changes in currency rates!
54
+ (0, test_1.expect)(idrValue).toBeGreaterThan(audValue); // IDR > AUD
55
+ (0, test_1.expect)(audValue).toBeGreaterThan(eurValue); // AUD > EUR
56
+ }));
57
+ }
58
+ ;
59
+ //# sourceMappingURL=canChangeCurrency.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canChangeCurrency.spec.js","sourceRoot":"/","sources":["e2e/canChangeCurrency.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2CAAgD;AAEhD,mEAA0E;AAE1E,IAAA,+CAA2B,EAAC,wBAAwB,CAAC,CAAC;AAEtD,MAAM,UAAU,GAAG;IACf,0BAA0B;IAC1B,0BAA0B;IAC1B,aAAa;CAChB,CAAC;AAEF,MAAM,iCAAiC,GAAG,CAAC,cAAsB,EAAU,EAAE;IACzE,OAAO,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,SAAS,wBAAwB,CAAC,MAA0B;IACxD,IAAA,WAAI,EAAC,0BAA0B,MAAM,CAAC,GAAG,EAAE,EAAE,CAAO,EAAE,IAAI,EAAE,EAAE,EAAE;QAC5D,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QACzE,MAAM,IAAA,aAAM,EAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QAE7C,MAAM,MAAM,GAAmC,EAAE,CAAC;QAElD,KAAK,MAAM,YAAY,IAAI,UAAU,EAAE;YACnC,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAE/B,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YACjE,MAAM,IAAA,aAAM,EAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;YAE5C,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,YAAY,GAAG,CAAC,CAAC;YACzE,MAAM,IAAA,aAAM,EAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;YAE7B,uEAAuE;YACvE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAEhC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3F,MAAM,8BAA8B,GAAG,kBAAkB,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;YAErG,MAAM,IAAA,aAAM,EAAC,8BAA8B,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAE7D,MAAM,KAAK,GAAG,MAAM,8BAA8B,CAAC,WAAW,EAAE,CAAC;YAEjE,IAAI,CAAC,KAAK,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAC;gBACnE,WAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO;aACV;YAED,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAEpC,OAAO,CAAC,GAAG,CAAC,aAAa,YAAY,YAAY,KAAK,EAAE,CAAC,CAAC;SAC7D;QAED,MAAM,QAAQ,GAAG,iCAAiC,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAG,iCAAiC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,iCAAiC,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAEvF,6DAA6D;QAC7D,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;QACxD,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;IAC5D,CAAC,CAAA,CAAC,CAAC;AACP,CAAC;AAAA,CAAC","sourcesContent":["import { test, expect } from '@playwright/test';\nimport { FrontendTestConfig } from './frontendTestConfigs';\nimport { runPlaywrightTestWithConfig } from './helpers/playwrightHelpers';\n\nrunPlaywrightTestWithConfig(runCanChangeCurrencyTets);\n\nconst currencies = [\n 'IDR - Indonesian Rupiahs',\n 'AUD - Australian Dollars',\n 'EUR - Euros',\n];\n\nconst getNumericValueFromCurrencyString = (currencyString: string): number => {\n return parseFloat(currencyString.replace(/[^\\d.]/g, ''));\n};\n\nfunction runCanChangeCurrencyTets(config: FrontendTestConfig) {\n test(`can change currency on ${config.url}`, async ({ page }) => {\n await page.goto(config.url);\n\n const currencySelector = page.locator('header.engine-header .be-select');\n await expect(currencySelector).toBeVisible();\n\n const prices: { [currency: string]: string } = {};\n\n for (const currencyName of currencies) {\n await currencySelector.click();\n\n const currencyOptions = page.locator('.rs-select--suggest-list');\n await expect(currencyOptions).toBeVisible();\n\n const currencyOption = currencyOptions.locator(`text=\"${currencyName}\"`);\n await expect(currencyOption).toBeVisible();\n await currencyOption.click();\n \n // todo: Find a better way to check that the currency values are ready.\n await page.waitForTimeout(1000);\n\n const firstAvailableDate = page.locator('.diji-calendar-month--item.--selectable').first();\n const firstAvailableDatePriceElement = firstAvailableDate.locator('.diji-calendar-month--item-cost');\n\n await expect(firstAvailableDatePriceElement).not.toBeEmpty();\n\n const price = await firstAvailableDatePriceElement.textContent();\n\n if (!price) {\n console.error(`Failed to get price for currency: ${currencyName}`);\n test.fail();\n return;\n }\n\n prices[currencyName] = price.trim();\n\n console.log(`Currency: ${currencyName}, Price: ${price}`);\n }\n\n const idrValue = getNumericValueFromCurrencyString(prices['IDR - Indonesian Rupiahs']);\n const eurValue = getNumericValueFromCurrencyString(prices['EUR - Euros']);\n const audValue = getNumericValueFromCurrencyString(prices['AUD - Australian Dollars']);\n \n // This assumes there's no drastic changes in currency rates!\n expect(idrValue).toBeGreaterThan(audValue); // IDR > AUD\n expect(audValue).toBeGreaterThan(eurValue); // AUD > EUR\n });\n};\n"]}
@@ -0,0 +1 @@
1
+ export {};