@roomstay/frontend 2.1.33 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/dist/201.bundle.js +1 -1
  2. package/dist/213.bundle.js +1 -0
  3. package/dist/279.bundle.js +1 -1
  4. package/dist/370.bundle.js +1 -1
  5. package/dist/423.bundle.js +1 -1
  6. package/dist/449.bundle.js +1 -1
  7. package/dist/535.bundle.js +1 -1
  8. package/dist/548.bundle.js +1 -0
  9. package/dist/686.bundle.js +1 -0
  10. package/dist/855.bundle.js +1 -1
  11. package/dist/873.bundle.js +1 -1
  12. package/dist/882.bundle.js +1 -1
  13. package/dist/93.bundle.js +1 -0
  14. package/dist/972.bundle.js +1 -1
  15. package/dist/main.bundle.js +1 -2
  16. package/dist/src/api/HotelAPI.d.ts +1 -1
  17. package/dist/src/api/HotelAPI.js.map +1 -1
  18. package/dist/src/api/ReservationAPI.d.ts +0 -6
  19. package/dist/src/api/ReservationAPI.js.map +1 -1
  20. package/dist/src/api/events-service/EventsServiceAPI.d.ts +3 -0
  21. package/dist/src/api/events-service/EventsServiceAPI.js +62 -0
  22. package/dist/src/api/events-service/EventsServiceAPI.js.map +1 -0
  23. package/dist/src/components/Event/EventCarouselContainer.d.ts +8 -0
  24. package/dist/src/components/Event/EventCarouselContainer.js +97 -0
  25. package/dist/src/components/Event/EventCarouselContainer.js.map +1 -0
  26. package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +1 -0
  27. package/dist/src/components/User/Forms/ForgotPasswordForm.js +38 -24
  28. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  29. package/dist/src/components/User/Forms/SignInForm.d.ts +4 -3
  30. package/dist/src/components/User/Forms/SignInForm.js +32 -14
  31. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  32. package/dist/src/components/User/Forms/SignUpForm.d.ts +1 -0
  33. package/dist/src/components/User/Forms/SignUpForm.js +30 -26
  34. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  35. package/dist/src/components/generic/BookingWizard/BookingWizard.js +5 -2
  36. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  37. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +6 -3
  38. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  39. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +8 -5
  40. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  41. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +15 -9
  42. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  43. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +4 -1
  44. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  45. package/dist/src/components/generic/Currency.js +5 -5
  46. package/dist/src/components/generic/Currency.js.map +1 -1
  47. package/dist/src/components/generic/Event/EventCard.d.ts +8 -0
  48. package/dist/src/components/generic/Event/EventCard.js +70 -0
  49. package/dist/src/components/generic/Event/EventCard.js.map +1 -0
  50. package/dist/src/components/generic/Event/EventCarousel.d.ts +9 -0
  51. package/dist/src/components/generic/Event/EventCarousel.js +72 -0
  52. package/dist/src/components/generic/Event/EventCarousel.js.map +1 -0
  53. package/dist/src/components/generic/Headline.d.ts +2 -2
  54. package/dist/src/components/generic/Headline.js +8 -4
  55. package/dist/src/components/generic/Headline.js.map +1 -1
  56. package/dist/src/components/generic/Icon/Icon.d.ts +5 -1
  57. package/dist/src/components/generic/Icon/Icon.js +4 -0
  58. package/dist/src/components/generic/Icon/Icon.js.map +1 -1
  59. package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -1
  60. package/dist/src/components/generic/Overlay/Overlay.js +50 -7
  61. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  62. package/dist/src/components/generic/PasswordBox/PasswordBox.js +2 -2
  63. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  64. package/dist/src/components/generic/PaymentCard/InlinePaymentCard.d.ts +8 -0
  65. package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js +16 -0
  66. package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js.map +1 -0
  67. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.d.ts +8 -0
  68. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +61 -0
  69. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -0
  70. package/dist/src/components/generic/PaymentCard/PaymentCard.js +6 -3
  71. package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
  72. package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +2 -3
  73. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +34 -28
  74. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  75. package/dist/src/components/generic/PromoCodeInput.js +15 -18
  76. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  77. package/dist/src/components/generic/RadioButtonGroup/RadioButton.d.ts +5 -4
  78. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +33 -10
  79. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  80. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.d.ts +14 -11
  81. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +69 -11
  82. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  83. package/dist/src/components/generic/RatioImage/RatioImage.d.ts +11 -0
  84. package/dist/src/components/generic/RatioImage/RatioImage.js +12 -0
  85. package/dist/src/components/generic/RatioImage/RatioImage.js.map +1 -0
  86. package/dist/src/components/generic/RecentSearchesCard.js +6 -5
  87. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  88. package/dist/src/components/generic/Tabs/TabLink.js +28 -3
  89. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  90. package/dist/src/components/generic/TextBox.js +1 -1
  91. package/dist/src/components/generic/TextBox.js.map +1 -1
  92. package/dist/src/components/generic/badging/SSLSecureBadge.js +4 -1
  93. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  94. package/dist/src/components/generic/buttons/NextStepButton.d.ts +0 -3
  95. package/dist/src/components/generic/buttons/NextStepButton.js +4 -1
  96. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  97. package/dist/src/components/generic/loader/LargeLoader.js +31 -6
  98. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  99. package/dist/src/components/generic/modal/ConfirmationModal.js +6 -3
  100. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  101. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.d.ts +14 -2
  102. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +34 -26
  103. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  104. package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.d.ts +7 -0
  105. package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js +14 -0
  106. package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js.map +1 -0
  107. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.d.ts +8 -0
  108. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js +25 -0
  109. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js.map +1 -0
  110. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.d.ts +7 -0
  111. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +49 -0
  112. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -0
  113. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +5 -2
  114. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +30 -39
  115. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  116. package/dist/src/components/generic/print/NoPrint.d.ts +3 -0
  117. package/dist/src/components/generic/print/NoPrint.js +11 -0
  118. package/dist/src/components/generic/print/NoPrint.js.map +1 -0
  119. package/dist/src/components/generic/print/PrintOnly.d.ts +3 -0
  120. package/dist/src/components/generic/print/PrintOnly.js +11 -0
  121. package/dist/src/components/generic/print/PrintOnly.js.map +1 -0
  122. package/dist/src/components/graphics/AddCard.d.ts +7 -0
  123. package/dist/src/components/graphics/AddCard.js +28 -0
  124. package/dist/src/components/graphics/AddCard.js.map +1 -0
  125. package/dist/src/components/graphics/HomeEmptyCard.d.ts +7 -0
  126. package/dist/src/components/graphics/HomeEmptyCard.js +53 -0
  127. package/dist/src/components/graphics/HomeEmptyCard.js.map +1 -0
  128. package/dist/src/components/graphics/HomeEmptyReservation.d.ts +7 -0
  129. package/dist/src/components/graphics/HomeEmptyReservation.js +136 -0
  130. package/dist/src/components/graphics/HomeEmptyReservation.js.map +1 -0
  131. package/dist/src/components/iconComponents/CreditCardOff.d.ts +6 -0
  132. package/dist/src/components/iconComponents/CreditCardOff.js +16 -0
  133. package/dist/src/components/iconComponents/CreditCardOff.js.map +1 -0
  134. package/dist/src/components/members/EditMyProfile.js +19 -21
  135. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  136. package/dist/src/components/navigation/Header.js +29 -9
  137. package/dist/src/components/navigation/Header.js.map +1 -1
  138. package/dist/src/components/navigation/StepSelector.js +2 -1
  139. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  140. package/dist/src/components/pages/Account/Card/MemberCardItem.js +5 -2
  141. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  142. package/dist/src/components/reservation/EmptyReservation.js +3 -3
  143. package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
  144. package/dist/src/components/reservation/ReservationItem.d.ts +4 -3
  145. package/dist/src/components/reservation/ReservationItem.js +45 -33
  146. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  147. package/dist/src/components/reservation/ReservationList.d.ts +2 -2
  148. package/dist/src/components/reservation/ReservationList.js +1 -1
  149. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  150. package/dist/src/components/steps/DaysSelectedInformer.js +15 -10
  151. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  152. package/dist/src/components/steps/addons/AddonCard.js +10 -12
  153. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  154. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  155. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +26 -7
  156. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  157. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.d.ts +1 -2
  158. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +36 -44
  159. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  160. package/dist/src/components/steps/confirmation/PaymentInformation.d.ts +7 -0
  161. package/dist/src/components/steps/confirmation/PaymentInformation.js +119 -0
  162. package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -0
  163. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +12 -10
  164. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  165. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +43 -80
  166. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  167. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +7 -5
  168. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  169. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +10 -12
  170. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  171. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +8 -2
  172. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  173. package/dist/src/components/steps/date/PeoplePicker.js +9 -9
  174. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  175. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  176. package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +1 -1
  177. package/dist/src/components/steps/date/StepOneNextStepButton.js +2 -4
  178. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  179. package/dist/src/components/steps/hotel/HotelCard.js +5 -11
  180. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  181. package/dist/src/components/steps/hotel/HotelCardModal.js +5 -6
  182. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  183. package/dist/src/components/steps/hotel/HotelSearchParameters.js +8 -8
  184. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  185. package/dist/src/components/steps/room/AvailableUpgradesModal.js +8 -9
  186. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  187. package/dist/src/components/steps/room/InactivityWindow.js +3 -5
  188. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  189. package/dist/src/components/steps/room/LargeRoomCard.js +5 -4
  190. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  191. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +42 -40
  192. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
  193. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +7 -9
  194. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  195. package/dist/src/components/steps/room/RatesNotFound.js +6 -3
  196. package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
  197. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +3 -3
  198. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  199. package/dist/src/components/steps/room/StepRoomNextStepButton.d.ts +2 -1
  200. package/dist/src/components/steps/room/StepRoomNextStepButton.js +3 -3
  201. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  202. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +2 -6
  203. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  204. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +16 -18
  205. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  206. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +2 -2
  207. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  208. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +6 -3
  209. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  210. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +3 -1
  211. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  212. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +7 -8
  213. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  214. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +4 -6
  215. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  216. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +4 -5
  217. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  218. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +7 -5
  219. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  220. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +4 -1
  221. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  222. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +5 -2
  223. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  224. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +11 -10
  225. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  226. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +1 -1
  227. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  228. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +7 -8
  229. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  230. package/dist/src/components/summary/BEMobileSummaryModal.js +1 -1
  231. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  232. package/dist/src/components/summary/BESummaryPerkBlock.js +4 -1
  233. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  234. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +5 -10
  235. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  236. package/dist/src/components/summary/BESummaryRoomRow.js +4 -6
  237. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  238. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +5 -1
  239. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  240. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +1 -0
  241. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  242. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +36 -13
  243. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  244. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +26 -2
  245. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  246. package/dist/src/contexts/ConfirmationFormContext.d.ts +0 -2
  247. package/dist/src/contexts/ConfirmationFormContext.js +0 -3
  248. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  249. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +13 -8
  250. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  251. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +1 -6
  252. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +24 -18
  253. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  254. package/dist/src/contexts/HotelOverridesContext.js +4 -0
  255. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  256. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +10 -6
  257. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
  258. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +76 -26
  259. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  260. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +8 -5
  261. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.js.map +1 -1
  262. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +35 -4
  263. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  264. package/dist/src/engines/BaseEngine.d.ts +2 -1
  265. package/dist/src/engines/BaseEngine.js +1 -1
  266. package/dist/src/engines/BaseEngine.js.map +1 -1
  267. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  268. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +24 -25
  269. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  270. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.d.ts +22 -0
  271. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js +33 -0
  272. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -0
  273. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +6 -0
  274. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +116 -0
  275. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -0
  276. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +11 -10
  277. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  278. package/dist/src/errors/GetAvailabilityError.d.ts +2 -1
  279. package/dist/src/errors/GetAvailabilityError.js +10 -3
  280. package/dist/src/errors/GetAvailabilityError.js.map +1 -1
  281. package/dist/src/hooks/HistoryConsistentPush.d.ts +1 -0
  282. package/dist/src/hooks/HistoryConsistentPush.js +12 -0
  283. package/dist/src/hooks/HistoryConsistentPush.js.map +1 -0
  284. package/dist/src/hooks/LoggedInUserHook.d.ts +3 -3
  285. package/dist/src/hooks/Query.js +2 -6
  286. package/dist/src/hooks/Query.js.map +1 -1
  287. package/dist/src/hooks/UpdateQueryParameters.d.ts +1 -0
  288. package/dist/src/hooks/UpdateQueryParameters.js +16 -0
  289. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -0
  290. package/dist/src/hooks/VGSHooks.d.ts +11 -1
  291. package/dist/src/hooks/VGSHooks.js +26 -11
  292. package/dist/src/hooks/VGSHooks.js.map +1 -1
  293. package/dist/src/index.d.ts +2 -3
  294. package/dist/src/index.js +2 -0
  295. package/dist/src/index.js.map +1 -1
  296. package/dist/src/mockApi/HotelAPI.d.ts +1 -1
  297. package/dist/src/mockApi/HotelAPI.js.map +1 -1
  298. package/dist/src/models/Api/HotelDTO.d.ts +11 -3
  299. package/dist/src/models/Api/HotelDTO.js +17 -8
  300. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  301. package/dist/src/models/Api/HotelOverrideDTO.d.ts +1 -0
  302. package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
  303. package/dist/src/models/Api/ReservationsDTO.d.ts +2 -0
  304. package/dist/src/models/Api/ReservationsDTO.js.map +1 -1
  305. package/dist/src/models/AppQueryParameters.d.ts +14 -0
  306. package/dist/src/models/AppQueryParameters.js +19 -0
  307. package/dist/src/models/AppQueryParameters.js.map +1 -0
  308. package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +2 -2
  309. package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -1
  310. package/dist/src/models/Client/Hotel/ColorProfile.d.ts +3 -0
  311. package/dist/src/models/Client/Hotel/ColorProfile.js.map +1 -1
  312. package/dist/src/models/Client/Hotel/Company.d.ts +2 -2
  313. package/dist/src/models/Client/Hotel/Company.js.map +1 -1
  314. package/dist/src/models/Client/Hotel/Hotel.d.ts +15 -5
  315. package/dist/src/models/Client/Hotel/Hotel.js +3 -1
  316. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  317. package/dist/src/models/Confirmation.d.ts +1 -1
  318. package/dist/src/models/Confirmation.js.map +1 -1
  319. package/dist/src/models/Room/Filters/Filter.d.ts +2 -1
  320. package/dist/src/models/Room/Filters/Filter.js.map +1 -1
  321. package/dist/src/models/Room/Filters/RateTypeFilter.d.ts +2 -1
  322. package/dist/src/models/Room/Filters/RateTypeFilter.js +3 -2
  323. package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
  324. package/dist/src/models/Room/Filters/RoomTypeFilter.d.ts +2 -1
  325. package/dist/src/models/Room/Filters/RoomTypeFilter.js +3 -2
  326. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  327. package/dist/src/pages/account/AccountHome/AccountHomePage.js +9 -10
  328. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  329. package/dist/src/pages/account/AccountRouter.js +7 -9
  330. package/dist/src/pages/account/AccountRouter.js.map +1 -1
  331. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +19 -32
  332. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  333. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +9 -7
  334. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  335. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +25 -38
  336. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  337. package/dist/src/pages/account/Help/AccountHelpPage.js +16 -25
  338. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  339. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +68 -52
  340. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  341. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  342. package/dist/src/pages/findReservation/FindReservation.js +40 -23
  343. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  344. package/dist/src/pages/findReservation/ReservationRow.js +10 -9
  345. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  346. package/dist/src/pages/findReservation/ReservationRowModal.js +3 -3
  347. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  348. package/dist/src/pages/hotel/HotelInfo.js +6 -6
  349. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  350. package/dist/src/pages/steps/Step.d.ts +2 -2
  351. package/dist/src/pages/steps/Step.js.map +1 -1
  352. package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +2 -2
  353. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  354. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.d.ts +2 -2
  355. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  356. package/dist/src/pages/steps/StepDate/StepDate.d.ts +2 -2
  357. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  358. package/dist/src/pages/steps/StepDate/StepDateComponent.js +1 -1
  359. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  360. package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +2 -2
  361. package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
  362. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +10 -7
  363. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  364. package/dist/src/pages/steps/StepRoom/StepRoom.d.ts +2 -2
  365. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  366. package/dist/src/pages/steps/StepThanks/StepThanks.d.ts +2 -2
  367. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  368. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +5 -0
  369. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  370. package/dist/src/providers/FeatureProvider.js +2 -0
  371. package/dist/src/providers/FeatureProvider.js.map +1 -1
  372. package/dist/src/providers/RoomstayThemeEngine.d.ts +3 -3
  373. package/dist/src/providers/RoomstayThemeEngine.js +4 -18
  374. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  375. package/dist/src/providers/feature/ModifyBookingFeature.d.ts +6 -0
  376. package/dist/src/providers/feature/ModifyBookingFeature.js +10 -0
  377. package/dist/src/providers/feature/ModifyBookingFeature.js.map +1 -0
  378. package/dist/src/stories/EventCarousel.stories.d.ts +6 -0
  379. package/dist/src/stories/EventCarousel.stories.js +236 -0
  380. package/dist/src/stories/EventCarousel.stories.js.map +1 -0
  381. package/dist/src/stories/RadioButton.stories.d.ts +3 -3
  382. package/dist/src/stories/RadioButtonGroup.stories.d.ts +4 -1
  383. package/dist/src/stories/RadioButtonGroup.stories.js +73 -1
  384. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
  385. package/dist/src/translations/Translation.d.ts +196 -8
  386. package/dist/src/translations/Translation.js +198 -10
  387. package/dist/src/translations/Translation.js.map +1 -1
  388. package/dist/src/translations/languages/en-gb.js +198 -10
  389. package/dist/src/translations/languages/en-gb.js.map +1 -1
  390. package/dist/src/util/Color.d.ts +3 -0
  391. package/dist/src/util/Color.js +21 -1
  392. package/dist/src/util/Color.js.map +1 -1
  393. package/dist/src/util/CurrencyHelper.d.ts +11 -3
  394. package/dist/src/util/CurrencyHelper.js +306 -5
  395. package/dist/src/util/CurrencyHelper.js.map +1 -1
  396. package/dist/src/util/EventsHelper.d.ts +11 -0
  397. package/dist/src/util/EventsHelper.js +43 -0
  398. package/dist/src/util/EventsHelper.js.map +1 -0
  399. package/dist/src/util/StringHelper.d.ts +2 -2
  400. package/dist/src/util/StringHelper.js +5 -4
  401. package/dist/src/util/StringHelper.js.map +1 -1
  402. package/dist/src/util/TextAlignment.d.ts +2 -1
  403. package/dist/src/util/TextAlignment.js +1 -0
  404. package/dist/src/util/TextAlignment.js.map +1 -1
  405. package/dist/src/util/Validation.d.ts +17 -13
  406. package/dist/src/util/Validation.js +34 -18
  407. package/dist/src/util/Validation.js.map +1 -1
  408. package/dist/test.bundle.js +1 -2
  409. package/dist/tests/jest/engines/RoomstayThemeEngine.test.d.ts +1 -0
  410. package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +41 -0
  411. package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -0
  412. package/dist/tests/jest/events/EventManager.test.d.ts +1 -0
  413. package/dist/tests/jest/events/EventManager.test.js +101 -0
  414. package/dist/tests/jest/events/EventManager.test.js.map +1 -0
  415. package/dist/tests/jest/helpers/ObjectHelper.test.d.ts +1 -0
  416. package/dist/tests/jest/helpers/ObjectHelper.test.js +72 -0
  417. package/dist/tests/jest/helpers/ObjectHelper.test.js.map +1 -0
  418. package/dist/tests/jest/models/RoomRate.test.d.ts +1 -0
  419. package/dist/tests/jest/models/RoomRate.test.js +133 -0
  420. package/dist/tests/jest/models/RoomRate.test.js.map +1 -0
  421. package/dist/tests/jest/providers/LanguageProvider.test.d.ts +1 -0
  422. package/dist/tests/jest/providers/LanguageProvider.test.js +32 -0
  423. package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -0
  424. package/dist/tests/jest/providers/SessionProvider.test.d.ts +1 -0
  425. package/dist/tests/jest/providers/SessionProvider.test.js +230 -0
  426. package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -0
  427. package/dist/tests/jest/providers/storage/LocalStorageProvider.test.d.ts +1 -0
  428. package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js +126 -0
  429. package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js.map +1 -0
  430. package/dist/tests/jest/reducers/BasketReducer.test.d.ts +1 -0
  431. package/dist/tests/jest/reducers/BasketReducer.test.js +103 -0
  432. package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -0
  433. package/dist/tests/offline/RoomstayBestRateAlert.d.ts +1 -0
  434. package/dist/tests/offline/RoomstayBestRateAlert.js +48 -0
  435. package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -0
  436. package/dist/tests/offline/entry/RSCompany.js +7 -2
  437. package/dist/tests/offline/entry/RSCompany.js.map +1 -1
  438. package/dist/tests/offline/entry/ReactWrapper.d.ts +1 -0
  439. package/dist/tests/offline/entry/ReactWrapper.js +140 -0
  440. package/dist/tests/offline/entry/ReactWrapper.js.map +1 -0
  441. package/dist/tests/offline/entry/allEngines.d.ts +1 -0
  442. package/dist/tests/offline/entry/allEngines.js +50 -0
  443. package/dist/tests/offline/entry/allEngines.js.map +1 -0
  444. package/dist/tests/offline/entry/components/TestPicker.d.ts +1 -0
  445. package/dist/tests/offline/entry/components/TestPicker.js +214 -0
  446. package/dist/tests/offline/entry/components/TestPicker.js.map +1 -0
  447. package/dist/tests/offline/entry/context/EngineContext.d.ts +9 -0
  448. package/dist/tests/offline/entry/context/EngineContext.js +37 -0
  449. package/dist/tests/offline/entry/context/EngineContext.js.map +1 -0
  450. package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.d.ts +1 -0
  451. package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js +68 -0
  452. package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js.map +1 -0
  453. package/dist/tests/setupTests.d.ts +0 -0
  454. package/dist/tests/setupTests.js +12 -0
  455. package/dist/tests/setupTests.js.map +1 -0
  456. package/dist/vendors.bundle.js +1 -1
  457. package/package.json +3 -3
  458. package/dist/14.bundle.js +0 -1
  459. package/dist/559.bundle.js +0 -1
  460. package/dist/848.bundle.js +0 -1
  461. package/dist/962.bundle.js +0 -1
  462. package/dist/main.bundle.js.LICENSE.txt +0 -5
  463. package/dist/src/components/temp/Login.d.ts +0 -2
  464. package/dist/src/components/temp/Login.js +0 -79
  465. package/dist/src/components/temp/Login.js.map +0 -1
  466. package/dist/test.bundle.js.LICENSE.txt +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"EditMyProfile.js","sourceRoot":"/","sources":["src/components/members/EditMyProfile.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { useContext, useEffect, useMemo } from 'react';\n\nimport { Controller, useForm } from 'react-hook-form';\n\nimport { ListOfCountriesAndCodes } from '@/models/CountryCodesAndNumbers';\nimport { IRoomstayMember } from '@roomstay/core';\nimport EnhancedPhoneNumberField from '@/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField';\nimport ForwardedSelect, { SelectOption } from '@/components/generic/ForwardedSelect';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\nimport TextBox from '@/components/generic/TextBox';\nimport { AuthenticationContext, IChangePassword, RoomstayMemberContext } from '@frontend/contexts';\nimport InputGroup from '@/components/generic/InputGroup/InputGroup';\nimport { PasswordBox } from '../generic/PasswordBox/PasswordBox';\n\nconst EditMyProfile: React.FC = () => {\n const { roomstayMember, loading, updateMemberDetails } = useContext(RoomstayMemberContext);\n const { error: cognitoError } = useContext(AuthenticationContext);\n\n const { handleSubmit, register, reset, control, formState, setError } = useForm<IRoomstayMember & IChangePassword>({\n defaultValues: useMemo(() => roomstayMember, [roomstayMember]),\n });\n\n useEffect(() => {\n reset(roomstayMember);\n }, [roomstayMember, reset]);\n\n const onSubmit = async (data: IRoomstayMember & IChangePassword) => {\n if (data?.currentPassword || data?.newPassword || data?.confirmPassword) {\n if (data.newPassword !== data.confirmPassword) {\n setError('confirmPassword', { message: \"Passwords don't match\" });\n return;\n }\n }\n await updateMemberDetails?.(data);\n reset({ ...roomstayMember, currentPassword: '', newPassword: '', confirmPassword: '' });\n };\n\n const countriesOptions: SelectOption[] = useMemo(() => {\n const countries = ListOfCountriesAndCodes.map(({ label }) => ({ label, value: label }));\n countries.unshift({ label: '', value: '' });\n return countries;\n }, []);\n\n const getValidationClass = (field: keyof (IRoomstayMember & IChangePassword)) => {\n if (formState.errors && formState.touchedFields[field]) {\n if (formState.errors[field]) {\n return 'error';\n } else {\n return 'success';\n }\n } else {\n return null;\n }\n };\n\n return (\n <>\n {roomstayMember ? (\n <div>\n <form onSubmit={handleSubmit(onSubmit)}>\n <InputGroup>\n <>\n <input className=\"c-input textbox\" disabled value={roomstayMember?.email} />\n </>\n <TextBox {...register('forename')} label=\"Forename\" />\n <TextBox {...register('surname')} label=\"Surname\" />\n <>\n <Controller\n control={control}\n name=\"phoneNumber\"\n rules={{\n maxLength: {\n value: 17,\n message: 'Phone number is too long',\n },\n pattern: {\n value: /^\\+[1-9]( |\\d){1,15}$/g,\n message: 'Incorrect phone number entered',\n },\n }}\n render={({ field }) => <EnhancedPhoneNumberField {...field} onChange={field.onChange} validationStatus={getValidationClass('phoneNumber')} />}\n />\n </>\n </InputGroup>\n\n <InputGroup>\n <TextBox {...register('address.address')} label=\"Address\" />\n <TextBox {...register('address.city')} label=\"City\" />\n <InputGroup dimensions=\"2/2\">\n <TextBox inputProps={{ className: '' }} {...register('address.zip')} label=\"Zip\" />\n <ForwardedSelect {...register('address.country')} options={countriesOptions} label=\"Country\" />\n </InputGroup>\n </InputGroup>\n\n <InputGroup>\n <PasswordBox {...register('currentPassword')} label=\"Current Password\" />\n <PasswordBox\n {...register('newPassword', {\n pattern: {\n value: /(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\^$*.[\\]{}()?\\-\"!@#%&/,><':;|_~`]).{8,99}/,\n message: 'Your password requires at least 8 characters with: 1 uppercase letter, lowercase letter, number, and special character',\n },\n })}\n label=\"New Password\"\n />\n <PasswordBox\n {...register('confirmPassword', {\n pattern: {\n value: /(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\^$*.[\\]{}()?\\-\"!@#%&/,><':;|_~`]).{8,99}/,\n message: 'Your password requires at least 8 characters with: 1 uppercase letter, 1 lowercase letter, 1 number, 1 special character',\n },\n })}\n label=\"Confirm Password\"\n />\n {cognitoError && (\n <p className=\"text-small\" style={{ color: '#ED4362' }}>\n {cognitoError?.message}\n </p>\n )}\n </InputGroup>\n\n <button type=\"submit\" disabled={loading} color=\"primary\">\n Save all changes\n </button>\n </form>\n {/* <Backdrop open={loading} style={{ zIndex: 1234 }}>\n <LargeLoader />\n </Backdrop> */}\n </div>\n ) : (\n <LargeLoader />\n )}\n </>\n );\n};\n\nexport default EditMyProfile;\n"]}
1
+ {"version":3,"file":"EditMyProfile.js","sourceRoot":"/","sources":["src/components/members/EditMyProfile.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { useContext, useEffect, useMemo } from 'react';\n\nimport { Controller, useForm } from 'react-hook-form';\n\nimport { ListOfCountriesAndCodes } from '@/models/CountryCodesAndNumbers';\nimport { IRoomstayMember } from '@roomstay/core';\nimport EnhancedPhoneNumberField from '@/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField';\nimport ForwardedSelect, { SelectOption } from '@/components/generic/ForwardedSelect';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\nimport TextBox from '@/components/generic/TextBox';\nimport { AuthenticationContext, IChangePassword, RoomstayMemberContext } from '@frontend/contexts';\nimport InputGroup from '@/components/generic/InputGroup/InputGroup';\nimport { PasswordBox } from '../generic/PasswordBox/PasswordBox';\nimport { makePasswordPatternRule } from '@/util/Validation';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from '@/translations/Translation';\n\nconst EditMyProfile: React.FC = () => {\n const { roomstayMember, loading, updateMemberDetails } = useContext(RoomstayMemberContext);\n const { error: cognitoError } = useContext(AuthenticationContext);\n\n const { handleSubmit, register, reset, control, formState, setError } = useForm<IRoomstayMember & IChangePassword>({\n defaultValues: useMemo(() => roomstayMember, [roomstayMember]),\n });\n const { t } = useTranslation();\n\n useEffect(() => {\n reset(roomstayMember);\n }, [roomstayMember, reset]);\n\n const onSubmit = async (data: IRoomstayMember & IChangePassword) => {\n if (data?.currentPassword || data?.newPassword || data?.confirmPassword) {\n if (data.newPassword !== data.confirmPassword) {\n setError('confirmPassword', { message: t(Translation.UserPortal.ProfileScreen.Validation.Password.DoesNotMatch) });\n return;\n }\n }\n await updateMemberDetails?.(data);\n reset({ ...roomstayMember, currentPassword: '', newPassword: '', confirmPassword: '' });\n };\n\n const countriesOptions: SelectOption[] = useMemo(() => {\n const countries = ListOfCountriesAndCodes.map(({ label }) => ({ label, value: label }));\n countries.unshift({ label: '', value: '' });\n return countries;\n }, []);\n\n const getValidationClass = (field: keyof (IRoomstayMember & IChangePassword)) => {\n if (formState.errors && formState.touchedFields[field]) {\n if (formState.errors[field]) {\n return 'error';\n } else {\n return 'success';\n }\n } else {\n return null;\n }\n };\n\n return (\n <>\n {roomstayMember ? (\n <div>\n <form onSubmit={handleSubmit(onSubmit)}>\n <InputGroup>\n <>\n <input className=\"c-input textbox\" disabled value={roomstayMember?.email} />\n </>\n <TextBox {...register('forename')} label={t(Translation.UserPortal.ProfileScreen.Field.Forename)} />\n <TextBox {...register('surname')} label={t(Translation.UserPortal.ProfileScreen.Field.Surname)} />\n <>\n <Controller\n control={control}\n name=\"phoneNumber\"\n rules={{\n maxLength: {\n value: 17,\n message: t(Translation.UserPortal.ProfileScreen.Validation.Phone.IsTooLong),\n },\n pattern: {\n value: /^\\+[1-9]( |\\d){1,15}$/g,\n message: t(Translation.UserPortal.ProfileScreen.Validation.Phone.IsNotValid),\n },\n }}\n render={({ field }) => <EnhancedPhoneNumberField {...field} onChange={field.onChange} validationStatus={getValidationClass('phoneNumber')} />}\n />\n </>\n </InputGroup>\n\n <InputGroup>\n <TextBox {...register('address.address')} label={t(Translation.UserPortal.ProfileScreen.Field.Address)} />\n <TextBox {...register('address.city')} label={t(Translation.UserPortal.ProfileScreen.Field.City)} />\n <InputGroup dimensions=\"2/2\">\n <TextBox inputProps={{ className: '' }} {...register('address.zip')} label={t(Translation.UserPortal.ProfileScreen.Field.Zip)} />\n <ForwardedSelect {...register('address.country')} options={countriesOptions} label={t(Translation.UserPortal.ProfileScreen.Field.Country)} />\n </InputGroup>\n </InputGroup>\n\n <InputGroup>\n <PasswordBox {...register('currentPassword')} label={t(Translation.UserPortal.ProfileScreen.Field.CurrentPassword)} />\n <PasswordBox\n {...register('newPassword', {\n pattern: makePasswordPatternRule(t),\n })}\n label={t(Translation.UserPortal.ProfileScreen.Field.NewPassword)}\n />\n <PasswordBox\n {...register('confirmPassword', {\n pattern: makePasswordPatternRule(t),\n })}\n label={t(Translation.UserPortal.ProfileScreen.Field.ConfirmPassword)}\n />\n {cognitoError && (\n <p className=\"text-small\" style={{ color: '#ED4362' }}>\n {cognitoError?.message}\n </p>\n )}\n </InputGroup>\n\n <button type=\"submit\" disabled={loading} color=\"primary\">\n {t(Translation.Misc.SaveAllChanges)}\n </button>\n </form>\n {/* <Backdrop open={loading} style={{ zIndex: 1234 }}>\n <LargeLoader />\n </Backdrop> */}\n </div>\n ) : (\n <LargeLoader />\n )}\n </>\n );\n};\n\nexport default EditMyProfile;\n"]}
@@ -35,7 +35,7 @@ const react_i18next_1 = require("react-i18next");
35
35
  const Translation_1 = require("translations/Translation");
36
36
  const BEButton_1 = __importDefault(require("../generic/BEButton"));
37
37
  const LanguageProvider_1 = require("../../providers/LanguageProvider");
38
- const CurrencyProvider_1 = __importDefault(require("../../providers/CurrencyProvider"));
38
+ const currencyHelper = __importStar(require("../../util/CurrencyHelper"));
39
39
  const Fade_1 = __importDefault(require("../../animations/Fade"));
40
40
  const RoomstayThemeEngine_1 = __importDefault(require("../../providers/RoomstayThemeEngine"));
41
41
  const DataLayer_1 = __importDefault(require("../../util/DataLayer"));
@@ -54,10 +54,11 @@ const AuthenticatedUserModal = react_1.default.lazy(() => Promise.resolve().then
54
54
  })));
55
55
  function Header() {
56
56
  const { hotel } = (0, hooks_1.useCurrentHotel)();
57
+ const location = (0, react_router_dom_1.useLocation)();
57
58
  const ccx = (0, react_1.useContext)(contexts_1.CompanyContext);
58
59
  const { currentStep } = (0, react_1.useContext)(contexts_1.FullPageEngineContext);
59
- const { roomstayMember } = (0, react_1.useContext)(contexts_1.RoomstayMemberContext);
60
- const loginAnchorEl = react_1.default.useRef(null);
60
+ const { roomstayMember, isFetchingMember } = (0, react_1.useContext)(contexts_1.RoomstayMemberContext);
61
+ const [loginAnchorEl, setLoginAnchorEl] = react_1.default.useState(null);
61
62
  const [hotelLogo, setHotelLogo] = (0, react_1.useState)('');
62
63
  const [showHotelLinks, setShowHotelLinks] = (0, react_1.useState)(true);
63
64
  const [mobileMenuOpen, setMobileMenuOpen] = (0, react_1.useState)(false);
@@ -85,12 +86,14 @@ function Header() {
85
86
  };
86
87
  const onLoginClickHandler = () => {
87
88
  setLoginModalOpen(true);
88
- closeMobileMenuClickHandler();
89
89
  };
90
90
  (0, react_1.useEffect)(() => {
91
91
  let timeout;
92
92
  if (mobileMenuFaderStatus) {
93
93
  setMobileMenuOpen(true);
94
+ if (location.pathname.startsWith('/account')) {
95
+ setLoginModalOpen(true);
96
+ }
94
97
  }
95
98
  else {
96
99
  timeout = setTimeout(() => {
@@ -127,13 +130,21 @@ function Header() {
127
130
  cancelled = true;
128
131
  };
129
132
  }, [hotel, hotel === null || hotel === void 0 ? void 0 : hotel.logo, ccx.logo, currentStep]);
133
+ (0, react_1.useEffect)(() => {
134
+ if (mobileMenuOpen) {
135
+ document.body.style.setProperty('overflow', 'hidden');
136
+ }
137
+ return () => {
138
+ document.body.style.removeProperty('overflow');
139
+ };
140
+ }, [mobileMenuOpen]);
130
141
  let hotelImageElement = hotelLogo ? react_1.default.createElement("img", { src: hotelLogo, alt: "Hotel Logo", className: "u-block" }) : hotel === null || hotel === void 0 ? void 0 : hotel.logo;
131
142
  if (typeof hotelImageElement === 'string' && !hotelImageElement.startsWith('<')) {
132
143
  hotelImageElement = react_1.default.createElement("img", { src: hotelImageElement, alt: "Hotel Logo" });
133
144
  }
134
145
  const links = (react_1.default.createElement("ul", { className: "c-header__list" },
135
146
  react_1.default.createElement("li", null,
136
- react_1.default.createElement(react_router_dom_1.NavLink, { to: "/hotel-info/", activeClassName: "is-active", onClick: closeMobileMenuClickHandler },
147
+ react_1.default.createElement(react_router_dom_1.NavLink, { to: Object.assign(Object.assign({}, location), { pathname: '/hotel-info/' }), activeClassName: "is-active", onClick: closeMobileMenuClickHandler },
137
148
  react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.White },
138
149
  react_1.default.createElement("strong", null, t(Translation_1.Translation.Navigation.HotelInfo))))),
139
150
  react_1.default.createElement("li", null, (hotel === null || hotel === void 0 ? void 0 : hotel.forwardFindReservationToSynxis) ? (react_1.default.createElement("a", { href: `https://be.synxis.com/signin?hotel=${hotel === null || hotel === void 0 ? void 0 : hotel.hotelID}`, target: "_blank", rel: "noreferrer" },
@@ -154,13 +165,16 @@ function Header() {
154
165
  };
155
166
  }), value: ccx.currentLanguage, onChange: onLanguageChangeHandler, keyName: "value", labelName: "text" }))),
156
167
  react_1.default.createElement("li", null,
157
- react_1.default.createElement(Select_1.Select, { nativeOnMobile: true, options: CurrencyProvider_1.default.getCurrencyItems(), value: ccx.currentCurrency, onChange: onCurrencyChangeHandler, keyName: "value", labelName: "text" })),
158
- MemberPortalFeature_1.default.isActive() && (react_1.default.createElement("li", { ref: loginAnchorEl }, roomstayMember ? (react_1.default.createElement(BEButton_1.default, { size: "small", isText: true, onClick: onLoginClickHandler, stopIconAnimation: true },
168
+ react_1.default.createElement(Select_1.Select, { nativeOnMobile: true, options: currencyHelper.getCurrencyItems(), value: ccx.currentCurrency, onChange: onCurrencyChangeHandler, keyName: "value", labelName: "text" })),
169
+ MemberPortalFeature_1.default.isActive() && (react_1.default.createElement("li", { ref: (el) => setLoginAnchorEl(el) }, roomstayMember ? (react_1.default.createElement(BEButton_1.default, { size: "small", isText: true, onClick: onLoginClickHandler, stopIconAnimation: true },
159
170
  roomstayMember.forename,
160
171
  " ",
161
172
  roomstayMember.surname,
162
173
  react_1.default.createElement("span", { className: "u-white u-pad-left--light", style: { marginRight: -13 } },
163
- react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.ArrowDown2, size: "1.3em", color: Color_1.Color.DarkGrey })))) : (react_1.default.createElement(BEButton_1.default, { size: "small", isText: true, onClick: onLoginClickHandler, stopIconAnimation: true },
174
+ react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.ArrowDown2, size: "1.3em", color: Color_1.Color.DarkGrey })))) : (react_1.default.createElement(BEButton_1.default, { size: "small", isText: true, onClick: () => {
175
+ onLoginClickHandler();
176
+ closeMobileMenuClickHandler();
177
+ }, stopIconAnimation: true },
164
178
  t(Translation_1.Translation.Navigation.SignIn.SignIn),
165
179
  react_1.default.createElement("span", { className: "u-white u-pad-left--light", style: { marginRight: -13 } },
166
180
  react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.ArrowDown2, size: "1.3em", color: Color_1.Color.DarkGrey })))))))));
@@ -189,7 +203,13 @@ function Header() {
189
203
  react_1.default.createElement("div", { className: "mobile-header-menu--content" },
190
204
  !!hotel && links,
191
205
  configs))))),
192
- MemberPortalFeature_1.default.isActive() && (react_1.default.createElement(react_1.Suspense, { fallback: SmallSpinner_1.default }, roomstayMember ? (react_1.default.createElement(AuthenticatedUserModal, { open: loginModalOpen, onClose: closeLoginClickHandler, anchorEl: loginAnchorEl.current })) : (react_1.default.createElement(UnauthenticatedUserModal, { open: loginModalOpen, onClose: closeLoginClickHandler, anchorEl: loginAnchorEl.current }))))));
206
+ MemberPortalFeature_1.default.isActive() && (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement(SmallSpinner_1.default, null) }, roomstayMember || isFetchingMember ? (react_1.default.createElement(AuthenticatedUserModal, { open: loginModalOpen, onClose: closeLoginClickHandler, onCloseMenu: closeMobileMenuClickHandler, anchorEl: loginAnchorEl })) : (react_1.default.createElement(UnauthenticatedUserModal, { open: loginModalOpen, onClose: () => {
207
+ closeLoginClickHandler();
208
+ closeMobileMenuClickHandler();
209
+ }, onOpenOnMobile: () => {
210
+ onLoginClickHandler();
211
+ openMobileMenuClickHandler();
212
+ }, anchorEl: loginAnchorEl }))))));
193
213
  }
194
214
  exports.default = Header;
195
215
  //# sourceMappingURL=Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"/","sources":["src/components/navigation/Header.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { Suspense, useContext, useEffect, useState } from 'react';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { Color } from '@/util/Color';\nimport { Link, NavLink } from 'react-router-dom';\nimport Text, { TextTransform, TextType } from '@/components/generic/Text';\n\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport BEButton from '@/components/generic/BEButton';\nimport { Language, LanguageProvider } from '@/providers/LanguageProvider';\nimport CurrencyProvider from '@/providers/CurrencyProvider';\nimport FadeAnimation from '@/animations/Fade';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport DataLayer from '@/util/DataLayer';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { CompanyContext, FullPageEngineContext, RoomstayMemberContext } from '@frontend/contexts';\nimport StepHotel from '@/pages/steps/StepHotel/StepHotel';\nimport { RoomstayPortal } from '@/components/generic/Portal/Portal';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport SmallSpinner from '@/components/generic/loader/SmallSpinner';\n\nconst UnauthenticatedUserModal = React.lazy(() =>\n import('@/components/generic/modal/SigninModal/UnauthenticatedUserModal').then(({ UnauthenticatedUserModal }) => ({\n default: UnauthenticatedUserModal,\n }))\n);\nconst AuthenticatedUserModal = React.lazy(() =>\n import('@/components/generic/modal/SigninModal/AuthenticatedUserModal').then(({ AuthenticatedUserModal }) => ({\n default: AuthenticatedUserModal,\n }))\n);\n\ninterface ILanguageSelectOption {\n value: Language;\n text: string;\n}\n\nexport default function Header() {\n const { hotel } = useCurrentHotel();\n const ccx = useContext(CompanyContext);\n const { currentStep } = useContext(FullPageEngineContext);\n\n const { roomstayMember } = useContext(RoomstayMemberContext);\n\n const loginAnchorEl = React.useRef<HTMLLIElement | null>(null);\n\n const [hotelLogo, setHotelLogo] = useState('');\n const [showHotelLinks, setShowHotelLinks] = useState(true);\n\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false);\n const [mobileMenuFaderStatus, setMobileMenuFaderStatus] = useState(false);\n const [loginModalOpen, setLoginModalOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const availableLanguages = LanguageProvider.getLanguages();\n\n const langKeys: Language[] = Object.keys(availableLanguages) as Language[];\n\n const onLanguageChangeHandler = (selected: Language) => {\n ccx.setCurrentLanguage(selected);\n LanguageProvider.changeLanguage(selected);\n };\n\n const onCurrencyChangeHandler = (selected: string) => {\n ccx.setCurrentCurrency(selected);\n DataLayer.instance.setCurrencyCodes(selected);\n };\n\n const closeMobileMenuClickHandler = () => {\n setMobileMenuFaderStatus(false);\n };\n const openMobileMenuClickHandler = () => {\n setMobileMenuFaderStatus(true);\n };\n const closeLoginClickHandler = () => {\n setLoginModalOpen(false);\n };\n const onLoginClickHandler = () => {\n setLoginModalOpen(true);\n closeMobileMenuClickHandler();\n };\n\n useEffect(() => {\n let timeout: NodeJS.Timeout;\n\n if (mobileMenuFaderStatus) {\n setMobileMenuOpen(true);\n } else {\n timeout = setTimeout(() => {\n setMobileMenuOpen(false);\n }, 500);\n }\n\n return () => {\n clearTimeout(timeout);\n };\n }, [mobileMenuFaderStatus]);\n\n useEffect(() => {\n let cancelled = false;\n\n const loadImage = (src: string) => {\n const image = new Image();\n image.onload = () => {\n if (!cancelled) {\n setHotelLogo(src);\n }\n };\n\n image.src = src;\n };\n\n // Check the Logo per step\n if (hotel && !(currentStep === StepHotel)) {\n if (typeof hotel?.logo === 'string') {\n loadImage(hotel?.logo);\n }\n } else {\n loadImage(ccx.logo);\n }\n\n // Check wether we should display the hotel related links or not\n setShowHotelLinks(currentStep !== StepHotel && !!hotel);\n\n return () => {\n cancelled = true;\n };\n }, [hotel, hotel?.logo, ccx.logo, currentStep]);\n\n let hotelImageElement = hotelLogo ? <img src={hotelLogo} alt=\"Hotel Logo\" className=\"u-block\" /> : hotel?.logo;\n\n if (typeof hotelImageElement === 'string' && !hotelImageElement.startsWith('<')) {\n hotelImageElement = <img src={hotelImageElement} alt=\"Hotel Logo\" />;\n }\n\n const links = (\n <ul className=\"c-header__list\">\n <li>\n <NavLink to=\"/hotel-info/\" activeClassName=\"is-active\" onClick={closeMobileMenuClickHandler}>\n <Text type={TextType.Small} color={Color.White}>\n <strong>{t(Translation.Navigation.HotelInfo)}</strong>\n </Text>\n </NavLink>\n </li>\n <li>\n {hotel?.forwardFindReservationToSynxis ? (\n <a href={`https://be.synxis.com/signin?hotel=${hotel?.hotelID}`} target=\"_blank\" rel=\"noreferrer\">\n <Text type={TextType.Small} color={Color.White} bold>\n {t(Translation.Navigation.FindReservation)}\n </Text>\n </a>\n ) : (\n <NavLink to=\"/find-reservation\" activeClassName=\"is-active\" onClick={closeMobileMenuClickHandler}>\n <Text type={TextType.Small} color={Color.White} bold>\n {t(Translation.Navigation.FindReservation)}\n </Text>\n </NavLink>\n )}\n </li>\n <li className=\"phone\">\n <a href={`tel:${hotel?.phone}`} onClick={closeMobileMenuClickHandler}>\n <Text type={TextType.Small} transforms={[TextTransform.Uppercase]} color={Color.White}>\n <Icon icon={IconType.Phone} size=\"16px\" color={Color.White} />\n <strong className=\"u-marg-left--light\">{hotel?.phone}</strong>\n </Text>\n </a>\n </li>\n </ul>\n );\n\n const configs = (\n <>\n <ul className=\"c-header__list\">\n {langKeys.length > 1 && (\n <li>\n <Select<ILanguageSelectOption, 'value'>\n nativeOnMobile\n options={langKeys.map((lang: Language) => {\n return {\n value: lang,\n text: LanguageProvider.getPrettyLanguageName(lang),\n };\n })}\n value={ccx.currentLanguage}\n onChange={onLanguageChangeHandler}\n keyName=\"value\"\n labelName=\"text\"\n />\n </li>\n )}\n <li>\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={CurrencyProvider.getCurrencyItems()}\n value={ccx.currentCurrency}\n onChange={onCurrencyChangeHandler}\n keyName=\"value\"\n labelName=\"text\"\n />\n </li>\n\n {MemberPortalFeature.isActive() && (\n <li ref={loginAnchorEl}>\n {roomstayMember ? (\n <BEButton size=\"small\" isText onClick={onLoginClickHandler} stopIconAnimation>\n {roomstayMember.forename} {roomstayMember.surname}\n <span className=\"u-white u-pad-left--light\" style={{ marginRight: -13 }}>\n <Icon icon={IconType.ArrowDown2} size=\"1.3em\" color={Color.DarkGrey} />\n </span>\n </BEButton>\n ) : (\n <BEButton size=\"small\" isText onClick={onLoginClickHandler} stopIconAnimation>\n {t(Translation.Navigation.SignIn.SignIn)}\n <span className=\"u-white u-pad-left--light\" style={{ marginRight: -13 }}>\n <Icon icon={IconType.ArrowDown2} size=\"1.3em\" color={Color.DarkGrey} />\n </span>\n </BEButton>\n )}\n </li>\n )}\n </ul>\n </>\n );\n\n return (\n <>\n <div className=\"c-header u-print-none\">\n <div className=\"container\">\n <div className=\"u-flex\">\n <div className=\"u-flex u-flex-flex-start u-flex__item\">\n <div className=\"c-header__logo\">\n <a href={showHotelLinks ? hotel?.hotelUrl : ccx?.logoLink} onClick={closeMobileMenuClickHandler}>\n {hotelImageElement}\n </a>\n </div>\n {!!showHotelLinks && links}\n </div>\n <div className=\"u-flex mx-100\">\n {configs}\n <div className=\"c-header__mobile-menu\">\n <span className=\"u-white u-pad-left\">\n <Icon icon={IconType.Menu} size=\"26px\" color={Color.White} onClick={openMobileMenuClickHandler} />\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n {mobileMenuOpen && (\n <RoomstayPortal target={RoomstayThemeEngine.EngineContainer}>\n <FadeAnimation open={mobileMenuFaderStatus}>\n <div className={`mobile-header-menu ${mobileMenuFaderStatus ? '' : '--closing'}`}>\n <div className=\"mobile-header-menu--replica u-flex\">\n <div className=\"c-header__logo\">\n <Link to=\"/\" onClick={closeMobileMenuClickHandler}>\n {hotelImageElement}\n </Link>\n </div>\n <div className=\"c-header__mobile-menu\">\n <span className=\"u-white u-pad-left\">\n <Icon icon={IconType.Close} size=\"26px\" color={Color.White} onClick={closeMobileMenuClickHandler} />\n </span>\n </div>\n </div>\n <div className=\"mobile-header-menu--content\">\n {!!hotel && links}\n\n {configs}\n </div>\n </div>\n </FadeAnimation>\n </RoomstayPortal>\n )}\n {MemberPortalFeature.isActive() && (\n <Suspense fallback={SmallSpinner}>\n {roomstayMember ? (\n <AuthenticatedUserModal open={loginModalOpen} onClose={closeLoginClickHandler} anchorEl={loginAnchorEl.current} />\n ) : (\n <UnauthenticatedUserModal open={loginModalOpen} onClose={closeLoginClickHandler} anchorEl={loginAnchorEl.current} />\n )}\n </Suspense>\n )}\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"Header.js","sourceRoot":"/","sources":["src/components/navigation/Header.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyE;AACzE,uEAAgE;AAChE,wCAAqC;AACrC,uDAA8D;AAC9D,kEAA0E;AAE1E,iDAA+C;AAC/C,0DAAuD;AACvD,6EAAqD;AACrD,mEAA0E;AAC1E,sEAAwD;AACxD,6DAA8C;AAC9C,0FAAkE;AAClE,iEAAyC;AACzC,2CAAkD;AAClD,iDAAkG;AAClG,kFAA0D;AAC1D,+DAAoE;AACpE,kGAA0E;AAC1E,+DAAkF;AAClF,4FAAoE;AAEpE,MAAM,wBAAwB,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAC7C,kDAAO,iEAAiE,IAAE,IAAI,CAAC,CAAC,EAAE,wBAAwB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9G,OAAO,EAAE,wBAAwB;CACpC,CAAC,CAAC,CACN,CAAC;AACF,MAAM,sBAAsB,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAC3C,kDAAO,+DAA+D,IAAE,IAAI,CAAC,CAAC,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1G,OAAO,EAAE,sBAAsB;CAClC,CAAC,CAAC,CACN,CAAC;AAOF,SAAwB,MAAM;IAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAC;IACvC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAE1D,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAE/E,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAuB,IAAI,CAAC,CAAC;IAErF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC1E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE5D,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,kBAAkB,GAAG,mCAAgB,CAAC,YAAY,EAAE,CAAC;IAE3D,MAAM,QAAQ,GAAe,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAe,CAAC;IAE3E,MAAM,uBAAuB,GAAG,CAAC,QAAkB,EAAE,EAAE;QACnD,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjC,mCAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAE,EAAE;QACjD,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjC,mBAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,GAAG,EAAE;QACrC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,MAAM,0BAA0B,GAAG,GAAG,EAAE;QACpC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;IACF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,OAAuB,CAAC;QAE5B,IAAI,qBAAqB,EAAE;YACvB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;gBAC1C,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAC3B;SACJ;aAAM;YACH,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;SACX;QAED,OAAO,GAAG,EAAE;YACR,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;YAC1B,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;gBAChB,IAAI,CAAC,SAAS,EAAE;oBACZ,YAAY,CAAC,GAAG,CAAC,CAAC;iBACrB;YACL,CAAC,CAAC;YAEF,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QACpB,CAAC,CAAC;QAEF,0BAA0B;QAC1B,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW,KAAK,mBAAS,CAAC,EAAE;YACvC,IAAI,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE;gBACjC,SAAS,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,CAAC;aAC1B;SACJ;aAAM;YACH,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACvB;QAED,gEAAgE;QAChE,iBAAiB,CAAC,WAAW,KAAK,mBAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QAExD,OAAO,GAAG,EAAE;YACR,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAEhD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,cAAc,EAAE;YAChB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;SACzD;QACD,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,IAAI,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,uCAAK,GAAG,EAAE,SAAS,EAAE,GAAG,EAAC,YAAY,EAAC,SAAS,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC;IAE/G,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC7E,iBAAiB,GAAG,uCAAK,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAC,YAAY,GAAG,CAAC;KACxE;IAED,MAAM,KAAK,GAAG,CACV,sCAAI,SAAS,EAAC,gBAAgB;QAC1B;YACI,8BAAC,0BAAO,IACJ,EAAE,kCACK,QAAQ,KACX,QAAQ,EAAE,cAAc,KAE5B,eAAe,EAAC,WAAW,EAC3B,OAAO,EAAE,2BAA2B;gBAEpC,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,KAAK;oBAC1C,8CAAS,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAU,CACnD,CACD,CACT;QACL,0CACK,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,8BAA8B,EAAC,CAAC,CAAC,CACrC,qCAAG,IAAI,EAAE,sCAAsC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY;YAC7F,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,KAAK,EAAE,IAAI,UAC/C,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CACvC,CACP,CACP,CAAC,CAAC,CAAC,CACA,8BAAC,0BAAO,IAAC,EAAE,EAAC,mBAAmB,EAAC,eAAe,EAAC,WAAW,EAAC,OAAO,EAAE,2BAA2B;YAC5F,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,KAAK,EAAE,IAAI,UAC/C,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CACvC,CACD,CACb,CACA;QACL,sCAAI,SAAS,EAAC,OAAO;YACjB,qCAAG,IAAI,EAAE,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,EAAE,EAAE,OAAO,EAAE,2BAA2B;gBAChE,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,oBAAa,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,aAAK,CAAC,KAAK;oBACjF,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,aAAK,CAAC,KAAK,GAAI;oBAC9D,0CAAQ,SAAS,EAAC,oBAAoB,IAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAU,CAC3D,CACP,CACH,CACJ,CACR,CAAC;IAEF,MAAM,OAAO,GAAG,CACZ;QACI,sCAAI,SAAS,EAAC,gBAAgB;YACzB,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACpB;gBACI,8BAAC,eAAM,IACH,cAAc,QACd,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAc,EAAE,EAAE;wBACrC,OAAO;4BACH,KAAK,EAAE,IAAI;4BACX,IAAI,EAAE,mCAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC;yBACrD,CAAC;oBACN,CAAC,CAAC,EACF,KAAK,EAAE,GAAG,CAAC,eAAe,EAC1B,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,MAAM,GAClB,CACD,CACR;YACD;gBACI,8BAAC,eAAM,IACH,cAAc,QACd,OAAO,EAAE,cAAc,CAAC,gBAAgB,EAAE,EAC1C,KAAK,EAAE,GAAG,CAAC,eAAe,EAC1B,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,MAAM,GAClB,CACD;YAEJ,6BAAmB,CAAC,QAAQ,EAAE,IAAI,CAC/B,sCAAI,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAChC,cAAc,CAAC,CAAC,CAAC,CACd,8BAAC,kBAAQ,IAAC,IAAI,EAAC,OAAO,EAAC,MAAM,QAAC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB;gBACxE,cAAc,CAAC,QAAQ;;gBAAG,cAAc,CAAC,OAAO;gBACjD,wCAAM,SAAS,EAAC,2BAA2B,EAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;oBACnE,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,UAAU,EAAE,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,aAAK,CAAC,QAAQ,GAAI,CACpE,CACA,CACd,CAAC,CAAC,CAAC,CACA,8BAAC,kBAAQ,IACL,IAAI,EAAC,OAAO,EACZ,MAAM,QACN,OAAO,EAAE,GAAG,EAAE;oBACV,mBAAmB,EAAE,CAAC;oBACtB,2BAA2B,EAAE,CAAC;gBAClC,CAAC,EACD,iBAAiB;gBAEhB,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;gBACxC,wCAAM,SAAS,EAAC,2BAA2B,EAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;oBACnE,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,UAAU,EAAE,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,aAAK,CAAC,QAAQ,GAAI,CACpE,CACA,CACd,CACA,CACR,CACA,CACN,CACN,CAAC;IAEF,OAAO,CACH;QACI,uCAAK,SAAS,EAAC,uBAAuB;YAClC,uCAAK,SAAS,EAAC,WAAW;gBACtB,uCAAK,SAAS,EAAC,QAAQ;oBACnB,uCAAK,SAAS,EAAC,uCAAuC;wBAClD,uCAAK,SAAS,EAAC,gBAAgB;4BAC3B,qCAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,IAC1F,iBAAiB,CAClB,CACF;wBACL,CAAC,CAAC,cAAc,IAAI,KAAK,CACxB;oBACN,uCAAK,SAAS,EAAC,eAAe;wBACzB,OAAO;wBACR,uCAAK,SAAS,EAAC,uBAAuB;4BAClC,wCAAM,SAAS,EAAC,oBAAoB;gCAChC,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,IAAI,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,aAAK,CAAC,KAAK,EAAE,OAAO,EAAE,0BAA0B,GAAI,CAC/F,CACL,CACJ,CACJ,CACJ,CACJ;QACL,cAAc,IAAI,CACf,8BAAC,uBAAc,IAAC,MAAM,EAAE,6BAAmB,CAAC,eAAe;YACvD,8BAAC,cAAa,IAAC,IAAI,EAAE,qBAAqB;gBACtC,uCAAK,SAAS,EAAE,sBAAsB,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE;oBAC5E,uCAAK,SAAS,EAAC,oCAAoC;wBAC/C,uCAAK,SAAS,EAAC,gBAAgB;4BAC3B,8BAAC,uBAAI,IAAC,EAAE,EAAC,GAAG,EAAC,OAAO,EAAE,2BAA2B,IAC5C,iBAAiB,CACf,CACL;wBACN,uCAAK,SAAS,EAAC,uBAAuB;4BAClC,wCAAM,SAAS,EAAC,oBAAoB;gCAChC,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,aAAK,CAAC,KAAK,EAAE,OAAO,EAAE,2BAA2B,GAAI,CACjG,CACL,CACJ;oBACN,uCAAK,SAAS,EAAC,6BAA6B;wBACvC,CAAC,CAAC,KAAK,IAAI,KAAK;wBAEhB,OAAO,CACN,CACJ,CACM,CACH,CACpB;QACA,6BAAmB,CAAC,QAAQ,EAAE,IAAI,CAC/B,8BAAC,gBAAQ,IAAC,QAAQ,EAAE,8BAAC,sBAAY,OAAG,IAC/B,cAAc,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAClC,8BAAC,sBAAsB,IAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,aAAa,GAAI,CACvJ,CAAC,CAAC,CAAC,CACA,8BAAC,wBAAwB,IACrB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,GAAG,EAAE;gBACV,sBAAsB,EAAE,CAAC;gBACzB,2BAA2B,EAAE,CAAC;YAClC,CAAC,EACD,cAAc,EAAE,GAAG,EAAE;gBACjB,mBAAmB,EAAE,CAAC;gBACtB,0BAA0B,EAAE,CAAC;YACjC,CAAC,EACD,QAAQ,EAAE,aAAa,GACzB,CACL,CACM,CACd,CACF,CACN,CAAC;AACN,CAAC;AA7RD,yBA6RC","sourcesContent":["import React, { Suspense, useContext, useEffect, useState } from 'react';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { Color } from '@/util/Color';\nimport { Link, NavLink, useLocation } from 'react-router-dom';\nimport Text, { TextTransform, TextType } from '@/components/generic/Text';\n\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport BEButton from '@/components/generic/BEButton';\nimport { Language, LanguageProvider } from '@/providers/LanguageProvider';\nimport * as currencyHelper from '@/util/CurrencyHelper';\nimport FadeAnimation from '@/animations/Fade';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport DataLayer from '@/util/DataLayer';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { CompanyContext, FullPageEngineContext, RoomstayMemberContext } from '@frontend/contexts';\nimport StepHotel from '@/pages/steps/StepHotel/StepHotel';\nimport { RoomstayPortal } from '@/components/generic/Portal/Portal';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport SmallSpinner from '@/components/generic/loader/SmallSpinner';\n\nconst UnauthenticatedUserModal = React.lazy(() =>\n import('@/components/generic/modal/SigninModal/UnauthenticatedUserModal').then(({ UnauthenticatedUserModal }) => ({\n default: UnauthenticatedUserModal,\n }))\n);\nconst AuthenticatedUserModal = React.lazy(() =>\n import('@/components/generic/modal/SigninModal/AuthenticatedUserModal').then(({ AuthenticatedUserModal }) => ({\n default: AuthenticatedUserModal,\n }))\n);\n\ninterface ILanguageSelectOption {\n value: Language;\n text: string;\n}\n\nexport default function Header() {\n const { hotel } = useCurrentHotel();\n const location = useLocation();\n const ccx = useContext(CompanyContext);\n const { currentStep } = useContext(FullPageEngineContext);\n\n const { roomstayMember, isFetchingMember } = useContext(RoomstayMemberContext);\n\n const [loginAnchorEl, setLoginAnchorEl] = React.useState<HTMLLIElement | null>(null);\n\n const [hotelLogo, setHotelLogo] = useState('');\n const [showHotelLinks, setShowHotelLinks] = useState(true);\n\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false);\n const [mobileMenuFaderStatus, setMobileMenuFaderStatus] = useState(false);\n const [loginModalOpen, setLoginModalOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const availableLanguages = LanguageProvider.getLanguages();\n\n const langKeys: Language[] = Object.keys(availableLanguages) as Language[];\n\n const onLanguageChangeHandler = (selected: Language) => {\n ccx.setCurrentLanguage(selected);\n LanguageProvider.changeLanguage(selected);\n };\n\n const onCurrencyChangeHandler = (selected: string) => {\n ccx.setCurrentCurrency(selected);\n DataLayer.instance.setCurrencyCodes(selected);\n };\n\n const closeMobileMenuClickHandler = () => {\n setMobileMenuFaderStatus(false);\n };\n const openMobileMenuClickHandler = () => {\n setMobileMenuFaderStatus(true);\n };\n const closeLoginClickHandler = () => {\n setLoginModalOpen(false);\n };\n const onLoginClickHandler = () => {\n setLoginModalOpen(true);\n };\n useEffect(() => {\n let timeout: NodeJS.Timeout;\n\n if (mobileMenuFaderStatus) {\n setMobileMenuOpen(true);\n if (location.pathname.startsWith('/account')) {\n setLoginModalOpen(true);\n }\n } else {\n timeout = setTimeout(() => {\n setMobileMenuOpen(false);\n }, 500);\n }\n\n return () => {\n clearTimeout(timeout);\n };\n }, [mobileMenuFaderStatus]);\n\n useEffect(() => {\n let cancelled = false;\n\n const loadImage = (src: string) => {\n const image = new Image();\n image.onload = () => {\n if (!cancelled) {\n setHotelLogo(src);\n }\n };\n\n image.src = src;\n };\n\n // Check the Logo per step\n if (hotel && !(currentStep === StepHotel)) {\n if (typeof hotel?.logo === 'string') {\n loadImage(hotel?.logo);\n }\n } else {\n loadImage(ccx.logo);\n }\n\n // Check wether we should display the hotel related links or not\n setShowHotelLinks(currentStep !== StepHotel && !!hotel);\n\n return () => {\n cancelled = true;\n };\n }, [hotel, hotel?.logo, ccx.logo, currentStep]);\n\n useEffect(() => {\n if (mobileMenuOpen) {\n document.body.style.setProperty('overflow', 'hidden');\n }\n return () => {\n document.body.style.removeProperty('overflow');\n };\n }, [mobileMenuOpen]);\n\n let hotelImageElement = hotelLogo ? <img src={hotelLogo} alt=\"Hotel Logo\" className=\"u-block\" /> : hotel?.logo;\n\n if (typeof hotelImageElement === 'string' && !hotelImageElement.startsWith('<')) {\n hotelImageElement = <img src={hotelImageElement} alt=\"Hotel Logo\" />;\n }\n\n const links = (\n <ul className=\"c-header__list\">\n <li>\n <NavLink\n to={{\n ...location,\n pathname: '/hotel-info/',\n }}\n activeClassName=\"is-active\"\n onClick={closeMobileMenuClickHandler}\n >\n <Text type={TextType.Small} color={Color.White}>\n <strong>{t(Translation.Navigation.HotelInfo)}</strong>\n </Text>\n </NavLink>\n </li>\n <li>\n {hotel?.forwardFindReservationToSynxis ? (\n <a href={`https://be.synxis.com/signin?hotel=${hotel?.hotelID}`} target=\"_blank\" rel=\"noreferrer\">\n <Text type={TextType.Small} color={Color.White} bold>\n {t(Translation.Navigation.FindReservation)}\n </Text>\n </a>\n ) : (\n <NavLink to=\"/find-reservation\" activeClassName=\"is-active\" onClick={closeMobileMenuClickHandler}>\n <Text type={TextType.Small} color={Color.White} bold>\n {t(Translation.Navigation.FindReservation)}\n </Text>\n </NavLink>\n )}\n </li>\n <li className=\"phone\">\n <a href={`tel:${hotel?.phone}`} onClick={closeMobileMenuClickHandler}>\n <Text type={TextType.Small} transforms={[TextTransform.Uppercase]} color={Color.White}>\n <Icon icon={IconType.Phone} size=\"16px\" color={Color.White} />\n <strong className=\"u-marg-left--light\">{hotel?.phone}</strong>\n </Text>\n </a>\n </li>\n </ul>\n );\n\n const configs = (\n <>\n <ul className=\"c-header__list\">\n {langKeys.length > 1 && (\n <li>\n <Select<ILanguageSelectOption, 'value'>\n nativeOnMobile\n options={langKeys.map((lang: Language) => {\n return {\n value: lang,\n text: LanguageProvider.getPrettyLanguageName(lang),\n };\n })}\n value={ccx.currentLanguage}\n onChange={onLanguageChangeHandler}\n keyName=\"value\"\n labelName=\"text\"\n />\n </li>\n )}\n <li>\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={currencyHelper.getCurrencyItems()}\n value={ccx.currentCurrency}\n onChange={onCurrencyChangeHandler}\n keyName=\"value\"\n labelName=\"text\"\n />\n </li>\n\n {MemberPortalFeature.isActive() && (\n <li ref={(el) => setLoginAnchorEl(el)}>\n {roomstayMember ? (\n <BEButton size=\"small\" isText onClick={onLoginClickHandler} stopIconAnimation>\n {roomstayMember.forename} {roomstayMember.surname}\n <span className=\"u-white u-pad-left--light\" style={{ marginRight: -13 }}>\n <Icon icon={IconType.ArrowDown2} size=\"1.3em\" color={Color.DarkGrey} />\n </span>\n </BEButton>\n ) : (\n <BEButton\n size=\"small\"\n isText\n onClick={() => {\n onLoginClickHandler();\n closeMobileMenuClickHandler();\n }}\n stopIconAnimation\n >\n {t(Translation.Navigation.SignIn.SignIn)}\n <span className=\"u-white u-pad-left--light\" style={{ marginRight: -13 }}>\n <Icon icon={IconType.ArrowDown2} size=\"1.3em\" color={Color.DarkGrey} />\n </span>\n </BEButton>\n )}\n </li>\n )}\n </ul>\n </>\n );\n\n return (\n <>\n <div className=\"c-header u-print-none\">\n <div className=\"container\">\n <div className=\"u-flex\">\n <div className=\"u-flex u-flex-flex-start u-flex__item\">\n <div className=\"c-header__logo\">\n <a href={showHotelLinks ? hotel?.hotelUrl : ccx?.logoLink} onClick={closeMobileMenuClickHandler}>\n {hotelImageElement}\n </a>\n </div>\n {!!showHotelLinks && links}\n </div>\n <div className=\"u-flex mx-100\">\n {configs}\n <div className=\"c-header__mobile-menu\">\n <span className=\"u-white u-pad-left\">\n <Icon icon={IconType.Menu} size=\"26px\" color={Color.White} onClick={openMobileMenuClickHandler} />\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n {mobileMenuOpen && (\n <RoomstayPortal target={RoomstayThemeEngine.EngineContainer}>\n <FadeAnimation open={mobileMenuFaderStatus}>\n <div className={`mobile-header-menu ${mobileMenuFaderStatus ? '' : '--closing'}`}>\n <div className=\"mobile-header-menu--replica u-flex\">\n <div className=\"c-header__logo\">\n <Link to=\"/\" onClick={closeMobileMenuClickHandler}>\n {hotelImageElement}\n </Link>\n </div>\n <div className=\"c-header__mobile-menu\">\n <span className=\"u-white u-pad-left\">\n <Icon icon={IconType.Close} size=\"26px\" color={Color.White} onClick={closeMobileMenuClickHandler} />\n </span>\n </div>\n </div>\n <div className=\"mobile-header-menu--content\">\n {!!hotel && links}\n\n {configs}\n </div>\n </div>\n </FadeAnimation>\n </RoomstayPortal>\n )}\n {MemberPortalFeature.isActive() && (\n <Suspense fallback={<SmallSpinner />}>\n {roomstayMember || isFetchingMember ? (\n <AuthenticatedUserModal open={loginModalOpen} onClose={closeLoginClickHandler} onCloseMenu={closeMobileMenuClickHandler} anchorEl={loginAnchorEl} />\n ) : (\n <UnauthenticatedUserModal\n open={loginModalOpen}\n onClose={() => {\n closeLoginClickHandler();\n closeMobileMenuClickHandler();\n }}\n onOpenOnMobile={() => {\n onLoginClickHandler();\n openMobileMenuClickHandler();\n }}\n anchorEl={loginAnchorEl}\n />\n )}\n </Suspense>\n )}\n </>\n );\n}\n"]}
@@ -44,6 +44,7 @@ function StepSelector() {
44
44
  const { screenSize } = (0, react_2.useContext)(contexts_1.BookingEngineContext);
45
45
  const { currentStep } = (0, react_2.useContext)(contexts_2.FullPageEngineContext);
46
46
  const basketContext = (0, react_2.useContext)(contexts_1.BasketContext);
47
+ const location = (0, react_router_dom_1.useLocation)();
47
48
  const { t } = (0, react_i18next_1.useTranslation)();
48
49
  const [modalOpen, setModalOpen] = (0, react_2.useState)(false);
49
50
  const steps = StepManager_1.default.getSteps().filter((step) => (step.shouldShowOnNavigation() ? step : null));
@@ -94,7 +95,7 @@ function StepSelector() {
94
95
  react_1.default.createElement("strong", null, t(Translation_1.Translation.Navigation.Steps.StepProgress, { step: prettyStep, maxSteps: StepManager_1.default.getSteps().length })))),
95
96
  react_1.default.createElement(Text_1.default, null,
96
97
  react_1.default.createElement("strong", null, stepName))),
97
- react_1.default.createElement(react_router_dom_1.Link, { to: step.getStepUrl() })));
98
+ react_1.default.createElement(react_router_dom_1.Link, { to: Object.assign(Object.assign({}, location), { pathname: step.getStepUrl() }) })));
98
99
  })))),
99
100
  screenSize <= ScreenSize_1.default.Medium && react_1.default.createElement(StepSelectorModal_1.default, { isOpen: modalOpen, onClose: closeModal })));
100
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StepSelector.js","sourceRoot":"/","sources":["src/components/navigation/StepSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport Text, { TextType } from '@/components/generic/Text';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { Link } from 'react-router-dom';\nimport { useContext, useState } from 'react';\nimport StepManager from '@/util/StepManager';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport classNames from 'classnames';\nimport { Color } from '@/util/Color';\nimport StepSelectorModal from '@/components/navigation/StepSelectorModal';\nimport ScreenSize from '@/util/ScreenSize';\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport Step from '@/pages/steps/Step';\nimport { FullPageEngineContext } from '@frontend/contexts';\n\nexport default function StepSelector() {\n const { screenSize } = useContext(BookingEngineContext);\n const { currentStep } = useContext(FullPageEngineContext);\n const basketContext = useContext(BasketContext);\n\n const { t } = useTranslation();\n\n const [modalOpen, setModalOpen] = useState(false);\n\n const steps = StepManager.getSteps().filter((step) => (step.shouldShowOnNavigation() ? step : null));\n\n const onDropdownClick = () => {\n screenSize <= ScreenSize.Medium ? setModalOpen(true) : null;\n };\n\n const closeModal = () => {\n setModalOpen(false);\n };\n\n const currentStepIndex = StepManager.getStepIndex(currentStep.getName());\n\n return (\n <>\n <div className=\"step-dropdown\" onClick={onDropdownClick}>\n <div className=\"step-container\">\n <span className=\"step-container-dropdown\">\n <Icon icon={IconType.Dropdown} />\n </span>\n <div className=\"step-awards\">\n <img alt=\"\" style={{ width: '80px' }} />\n </div>\n <ul className=\"step-selector\">\n {steps.map((step: Step, stepIndex: number) => {\n const stepName = t(step.getStepTranslation() as string);\n\n const prettyStep = stepIndex + 1;\n\n const isPrevStep = currentStepIndex > prettyStep;\n\n let stepNumber: JSX.Element;\n if (isPrevStep) {\n stepNumber = <Icon icon={IconType.Check} color={Color.White} size=\"24px\" />;\n } else {\n stepNumber = (\n <Text type={TextType.Small}>\n <strong>{'0' + prettyStep}</strong>\n </Text>\n );\n }\n\n let isClickable = false;\n\n if (step) {\n const stepValidator = step.getValidator();\n\n if (stepValidator && stepValidator.isValid(basketContext)) {\n isClickable = true;\n }\n }\n\n const stepClassNames = classNames('step-selector__item', {\n 'is-current': currentStepIndex === prettyStep,\n 'is-valid': isClickable,\n 'is-complete': isPrevStep,\n 'is-disabled': !isPrevStep && currentStepIndex !== prettyStep && !isClickable,\n });\n\n return (\n <li className={stepClassNames} key={prettyStep}>\n <span className=\"step-selector__count\">{stepNumber}</span>\n <div>\n <span className=\"step-selector__step-count-mobile\">\n <Text type={TextType.Small} color={Color.Navy}>\n <strong>{t(Translation.Navigation.Steps.StepProgress, { step: prettyStep, maxSteps: StepManager.getSteps().length })}</strong>\n </Text>\n </span>\n <Text>\n <strong>{stepName}</strong>\n </Text>\n </div>\n <Link to={step.getStepUrl()} />\n </li>\n );\n })}\n </ul>\n </div>\n </div>\n {screenSize <= ScreenSize.Medium && <StepSelectorModal isOpen={modalOpen} onClose={closeModal} />}\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"StepSelector.js","sourceRoot":"/","sources":["src/components/navigation/StepSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport Text, { TextType } from '@/components/generic/Text';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { Link, useLocation } from 'react-router-dom';\nimport { useContext, useState } from 'react';\nimport StepManager from '@/util/StepManager';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport classNames from 'classnames';\nimport { Color } from '@/util/Color';\nimport StepSelectorModal from '@/components/navigation/StepSelectorModal';\nimport ScreenSize from '@/util/ScreenSize';\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport Step from '@/pages/steps/Step';\nimport { FullPageEngineContext } from '@frontend/contexts';\n\nexport default function StepSelector() {\n const { screenSize } = useContext(BookingEngineContext);\n const { currentStep } = useContext(FullPageEngineContext);\n const basketContext = useContext(BasketContext);\n const location = useLocation();\n\n const { t } = useTranslation();\n\n const [modalOpen, setModalOpen] = useState(false);\n\n const steps = StepManager.getSteps().filter((step) => (step.shouldShowOnNavigation() ? step : null));\n\n const onDropdownClick = () => {\n screenSize <= ScreenSize.Medium ? setModalOpen(true) : null;\n };\n\n const closeModal = () => {\n setModalOpen(false);\n };\n\n const currentStepIndex = StepManager.getStepIndex(currentStep.getName());\n\n return (\n <>\n <div className=\"step-dropdown\" onClick={onDropdownClick}>\n <div className=\"step-container\">\n <span className=\"step-container-dropdown\">\n <Icon icon={IconType.Dropdown} />\n </span>\n <div className=\"step-awards\">\n <img alt=\"\" style={{ width: '80px' }} />\n </div>\n <ul className=\"step-selector\">\n {steps.map((step: Step, stepIndex: number) => {\n const stepName = t(step.getStepTranslation() as string);\n\n const prettyStep = stepIndex + 1;\n\n const isPrevStep = currentStepIndex > prettyStep;\n\n let stepNumber: JSX.Element;\n if (isPrevStep) {\n stepNumber = <Icon icon={IconType.Check} color={Color.White} size=\"24px\" />;\n } else {\n stepNumber = (\n <Text type={TextType.Small}>\n <strong>{'0' + prettyStep}</strong>\n </Text>\n );\n }\n\n let isClickable = false;\n\n if (step) {\n const stepValidator = step.getValidator();\n\n if (stepValidator && stepValidator.isValid(basketContext)) {\n isClickable = true;\n }\n }\n\n const stepClassNames = classNames('step-selector__item', {\n 'is-current': currentStepIndex === prettyStep,\n 'is-valid': isClickable,\n 'is-complete': isPrevStep,\n 'is-disabled': !isPrevStep && currentStepIndex !== prettyStep && !isClickable,\n });\n\n return (\n <li className={stepClassNames} key={prettyStep}>\n <span className=\"step-selector__count\">{stepNumber}</span>\n <div>\n <span className=\"step-selector__step-count-mobile\">\n <Text type={TextType.Small} color={Color.Navy}>\n <strong>{t(Translation.Navigation.Steps.StepProgress, { step: prettyStep, maxSteps: StepManager.getSteps().length })}</strong>\n </Text>\n </span>\n <Text>\n <strong>{stepName}</strong>\n </Text>\n </div>\n <Link\n to={{\n ...location,\n pathname: step.getStepUrl(),\n }}\n />\n </li>\n );\n })}\n </ul>\n </div>\n </div>\n {screenSize <= ScreenSize.Medium && <StepSelectorModal isOpen={modalOpen} onClose={closeModal} />}\n </>\n );\n}\n"]}
@@ -37,11 +37,14 @@ const RoomstayThemeEngine_1 = __importDefault(require("../../../../providers/Roo
37
37
  const react_1 = __importDefault(require("react"));
38
38
  const Color_1 = require("../../../../util/Color");
39
39
  const PaymentCardHelper_1 = require("../../../../util/PaymentCardHelper");
40
+ const react_i18next_1 = require("react-i18next");
41
+ const Translation_1 = require("../../../../translations/Translation");
40
42
  const MemberCardItem_module_scss_1 = __importDefault(require("./MemberCardItem.module.scss"));
41
43
  const MemberCardItem = (props) => {
42
44
  var _a, _b, _c, _d;
43
45
  const { item, onClick, selected } = props;
44
46
  const { roomstayMember } = react_1.default.useContext(contexts_1.RoomstayMemberContext);
47
+ const { t } = (0, react_i18next_1.useTranslation)();
45
48
  const cardClasses = (0, classnames_1.default)(MemberCardItem_module_scss_1.default['card'], {
46
49
  [MemberCardItem_module_scss_1.default['--selected']]: selected,
47
50
  });
@@ -54,11 +57,11 @@ const MemberCardItem = (props) => {
54
57
  react_1.default.createElement("div", { className: MemberCardItem_module_scss_1.default['card-infographic'] }, renderedIcon),
55
58
  react_1.default.createElement("div", { className: MemberCardItem_module_scss_1.default['card-details'] }, item ? (react_1.default.createElement(react_1.default.Fragment, null,
56
59
  (roomstayMember === null || roomstayMember === void 0 ? void 0 : roomstayMember.defaultCard) === item.cardId && (react_1.default.createElement("div", { className: "u-marg-bottom--light" },
57
- react_1.default.createElement(Pill_1.default, { size: "small", type: Pill_1.PillType.Primary }, "DEFAULT CARD"))),
60
+ react_1.default.createElement(Pill_1.default, { size: "small", type: Pill_1.PillType.Primary }, t(Translation_1.Translation.UserPortal.PaymentInformationScreen.DefaultCard)))),
58
61
  react_1.default.createElement(Text_1.default, { bold: true, type: Text_1.TextType.Small },
59
62
  "\u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 ",
60
63
  hiddenCardNumber),
61
- react_1.default.createElement(Text_1.default, { bold: true, type: Text_1.TextType.Small }, expirationDate))) : (react_1.default.createElement(BEButton_1.default, { onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(), isText: true, textColor: Color_1.Color.Accent3, size: "tiny", icon: Icon_1.IconType.ArrowRight, iconPosition: "right" }, "Add new Card")))));
64
+ react_1.default.createElement(Text_1.default, { bold: true, type: Text_1.TextType.Small }, expirationDate))) : (react_1.default.createElement(BEButton_1.default, { onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(), isText: true, textColor: Color_1.Color.Accent3, size: "tiny", icon: Icon_1.IconType.ArrowRight, iconPosition: "right" }, t(Translation_1.Translation.UserPortal.PaymentInformationScreen.AddNewCard))))));
62
65
  };
63
66
  exports.MemberCardItem = MemberCardItem;
64
67
  //# sourceMappingURL=MemberCardItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberCardItem.js","sourceRoot":"/","sources":["src/components/pages/Account/Card/MemberCardItem.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA2D;AAE3D,4DAAoC;AACpC,6EAAqD;AACrD,yDAA0D;AAC1D,kEAA2D;AAC3D,kEAA2D;AAE3D,0FAAkE;AAClE,kDAA0B;AAC1B,wCAAqC;AACrC,gEAAgE;AAEhE,8FAAkD;AAQ3C,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;;IACzD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,EAAE,cAAc,EAAE,GAAG,eAAK,CAAC,UAAU,CAAC,gCAAqB,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG,IAAA,oBAAU,EAAC,oCAAM,CAAC,MAAM,CAAC,EAAE;QAC3C,CAAC,oCAAM,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ;KACnC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAA,wCAAoB,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAiB,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC;IAEzC,MAAM,gBAAgB,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,SAAS,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,MAAM,IAAG,CAAC,CAAC,CAAC;IAEnF,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,uCAAK,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,GAAI,CAAC,CAAC,CAAC,uCAAK,GAAG,EAAE,6BAAmB,CAAC,gBAAgB,EAAE,GAAG,cAAc,EAAE,GAAG,EAAC,UAAU,GAAG,CAAC;IAC7J,MAAM,cAAc,GAAG,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAG,KAAK,IAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,SAAS,CAAC,CAAC,CAAC,CAAA,CAAC;IAE1F,OAAO,CACH,uCAAK,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI;QACnD,uCAAK,SAAS,EAAE,oCAAM,CAAC,kBAAkB,CAAC,IAAG,YAAY,CAAO;QAChE,uCAAK,SAAS,EAAE,oCAAM,CAAC,cAAc,CAAC,IACjC,IAAI,CAAC,CAAC,CAAC,CACJ;YAEK,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,MAAK,IAAI,CAAC,MAAM,IAAI,CAC5C,uCAAK,SAAS,EAAC,sBAAsB;gBACjC,8BAAC,cAAI,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,eAAQ,CAAC,OAAO,mBAElC,CACL,CACT;YACD,8BAAC,cAAI,IAAC,IAAI,QAAC,IAAI,EAAE,eAAQ,CAAC,KAAK;;gBACX,gBAAgB,CAC7B;YACP,8BAAC,cAAI,IAAC,IAAI,QAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,IAC1B,cAAc,CACZ,CACR,CACN,CAAC,CAAC,CAAC,CACA,8BAAC,kBAAQ,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,EAAE,MAAM,QAAC,SAAS,EAAE,aAAK,CAAC,OAAO,EAAE,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,eAAQ,CAAC,UAAU,EAAE,YAAY,EAAC,OAAO,mBAEvH,CACd,CACC,CACJ,CACT,CAAC;AACN,CAAC,CAAC;AA7CW,QAAA,cAAc,kBA6CzB","sourcesContent":["import { RoomstayMemberContext } from '@frontend/contexts';\nimport { IRoomstayMemberCards } from '@roomstay/core';\nimport classNames from 'classnames';\nimport BEButton from '@/components/generic/BEButton';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport Pill, { PillType } from '@/components/generic/Pill';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { ECardType } from '@/models/PaymentCard';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport React from 'react';\nimport { Color } from '@/util/Color';\nimport { mapCardTypeToGraphic } from '@/util/PaymentCardHelper';\n\nimport styles from './MemberCardItem.module.scss';\n\ntype MemberCardItemProps = {\n item?: IRoomstayMemberCards;\n onClick?: () => void;\n selected?: boolean;\n};\n\nexport const MemberCardItem = (props: MemberCardItemProps) => {\n const { item, onClick, selected } = props;\n const { roomstayMember } = React.useContext(RoomstayMemberContext);\n\n const cardClasses = classNames(styles['card'], {\n [styles['--selected']]: selected,\n });\n\n const cardGraphics = mapCardTypeToGraphic(item?.type as ECardType);\n const iconUrl = cardGraphics.miniCardUrl;\n\n const hiddenCardNumber = item?.cardNumber?.substring(item?.cardNumber?.length - 4);\n\n const renderedIcon = iconUrl ? <img src={iconUrl} alt={item?.type} /> : <img src={RoomstayThemeEngine.getImageAssetUrl() + 'add-card.svg'} alt=\"Add card\" />;\n const expirationDate = item?.expiry?.substring(0, 2) + ' / ' + item?.expiry?.substring(2);\n\n return (\n <div className={cardClasses} onClick={() => onClick?.()}>\n <div className={styles['card-infographic']}>{renderedIcon}</div>\n <div className={styles['card-details']}>\n {item ? (\n <>\n {/** TODO: check if card is on users default card object */}\n {roomstayMember?.defaultCard === item.cardId && (\n <div className=\"u-marg-bottom--light\">\n <Pill size=\"small\" type={PillType.Primary}>\n DEFAULT CARD\n </Pill>\n </div>\n )}\n <Text bold type={TextType.Small}>\n •••• •••• •••• {hiddenCardNumber}\n </Text>\n <Text bold type={TextType.Small}>\n {expirationDate}\n </Text>\n </>\n ) : (\n <BEButton onClick={() => onClick?.()} isText textColor={Color.Accent3} size=\"tiny\" icon={IconType.ArrowRight} iconPosition=\"right\">\n Add new Card\n </BEButton>\n )}\n </div>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"MemberCardItem.js","sourceRoot":"/","sources":["src/components/pages/Account/Card/MemberCardItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RoomstayMemberContext } from '@frontend/contexts';\nimport { IRoomstayMemberCards } from '@roomstay/core';\nimport classNames from 'classnames';\nimport BEButton from '@/components/generic/BEButton';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport Pill, { PillType } from '@/components/generic/Pill';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { ECardType } from '@/models/PaymentCard';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport React from 'react';\nimport { Color } from '@/util/Color';\nimport { mapCardTypeToGraphic } from '@/util/PaymentCardHelper';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from '@/translations/Translation';\n\nimport styles from './MemberCardItem.module.scss';\n\ntype MemberCardItemProps = {\n item?: IRoomstayMemberCards;\n onClick?: () => void;\n selected?: boolean;\n};\n\nexport const MemberCardItem = (props: MemberCardItemProps) => {\n const { item, onClick, selected } = props;\n const { roomstayMember } = React.useContext(RoomstayMemberContext);\n const { t } = useTranslation();\n\n const cardClasses = classNames(styles['card'], {\n [styles['--selected']]: selected,\n });\n\n const cardGraphics = mapCardTypeToGraphic(item?.type as ECardType);\n const iconUrl = cardGraphics.miniCardUrl;\n\n const hiddenCardNumber = item?.cardNumber?.substring(item?.cardNumber?.length - 4);\n\n const renderedIcon = iconUrl ? <img src={iconUrl} alt={item?.type} /> : <img src={RoomstayThemeEngine.getImageAssetUrl() + 'add-card.svg'} alt=\"Add card\" />;\n const expirationDate = item?.expiry?.substring(0, 2) + ' / ' + item?.expiry?.substring(2);\n\n return (\n <div className={cardClasses} onClick={() => onClick?.()}>\n <div className={styles['card-infographic']}>{renderedIcon}</div>\n <div className={styles['card-details']}>\n {item ? (\n <>\n {roomstayMember?.defaultCard === item.cardId && (\n <div className=\"u-marg-bottom--light\">\n <Pill size=\"small\" type={PillType.Primary}>\n {t(Translation.UserPortal.PaymentInformationScreen.DefaultCard)}\n </Pill>\n </div>\n )}\n <Text bold type={TextType.Small}>\n •••• •••• •••• {hiddenCardNumber}\n </Text>\n <Text bold type={TextType.Small}>\n {expirationDate}\n </Text>\n </>\n ) : (\n <BEButton onClick={() => onClick?.()} isText textColor={Color.Accent3} size=\"tiny\" icon={IconType.ArrowRight} iconPosition=\"right\">\n {t(Translation.UserPortal.PaymentInformationScreen.AddNewCard)}\n </BEButton>\n )}\n </div>\n </div>\n );\n};\n"]}
@@ -27,13 +27,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const react_1 = __importStar(require("react"));
30
- const RoomstayThemeEngine_1 = __importDefault(require("../../providers/RoomstayThemeEngine"));
31
30
  const Text_1 = __importStar(require("../generic/Text"));
32
31
  const react_i18next_1 = require("react-i18next");
33
32
  const Color_1 = require("../../util/Color");
34
33
  const Headline_1 = __importDefault(require("../generic/Headline"));
35
34
  const contexts_1 = require("../../contexts");
36
35
  const ScreenSize_1 = __importDefault(require("../../util/ScreenSize"));
36
+ const HomeEmptyReservation_1 = __importDefault(require("../graphics/HomeEmptyReservation"));
37
37
  const EmptyReservation = ({ isCancelled }) => {
38
38
  const { t } = (0, react_i18next_1.useTranslation)();
39
39
  const context = (0, react_1.useContext)(contexts_1.BookingEngineContext);
@@ -42,9 +42,9 @@ const EmptyReservation = ({ isCancelled }) => {
42
42
  const subText = t(isCancelled ? 'Reservation.YourReservationPage.EmptyCancelledDescriptionStays' : 'Reservation.YourReservationPage.EmptyStaysDescription');
43
43
  return (react_1.default.createElement("div", { className: "u-flex u-flex-direction-column u-align-center" },
44
44
  react_1.default.createElement("div", null,
45
- react_1.default.createElement("img", { style: {
45
+ react_1.default.createElement(HomeEmptyReservation_1.default, { style: {
46
46
  maxWidth: isMobile ? 345 : 322,
47
- }, src: RoomstayThemeEngine_1.default.getImageAssetUrl('/account/account-home-empty-graphic.svg'), alt: "" })),
47
+ } })),
48
48
  react_1.default.createElement(Headline_1.default, { size: !isMobile ? 'large' : undefined, bold: true, color: Color_1.Color.Navy, className: "u-marg-top--heavy" }, mainText),
49
49
  react_1.default.createElement(Text_1.default, { type: isMobile ? Text_1.TextType.Small : undefined, color: Color_1.Color.Navy, className: "u-marg-top" }, subText)));
50
50
  };
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyReservation.js","sourceRoot":"/","sources":["src/components/reservation/EmptyReservation.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAC9C,0FAAkE;AAClE,kEAA2D;AAC3D,iDAA+C;AAC/C,wCAAqC;AACrC,6EAAqD;AACrD,yCAAkD;AAClD,mEAA2C;AAM3C,MAAM,gBAAgB,GAA8B,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;IACpE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,MAAM,CAAC;IAEzD,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC;IACvI,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gEAAgE,CAAC,CAAC,CAAC,uDAAuD,CAAC,CAAC;IAC5J,OAAO,CACH,uCAAK,SAAS,EAAC,+CAA+C;QAC1D;YACI,uCACI,KAAK,EAAE;oBACH,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;iBACjC,EACD,GAAG,EAAE,6BAAmB,CAAC,gBAAgB,CAAC,yCAAyC,CAAC,EACpF,GAAG,EAAC,EAAE,GACR,CACA;QACN,8BAAC,kBAAQ,IAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,QAAC,KAAK,EAAE,aAAK,CAAC,IAAI,EAAE,SAAS,EAAC,mBAAmB,IACjG,QAAQ,CACF;QACX,8BAAC,cAAI,IAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,aAAK,CAAC,IAAI,EAAE,SAAS,EAAC,YAAY,IACvF,OAAO,CACL,CACL,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC","sourcesContent":["import React, { FC, useContext } from 'react';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { useTranslation } from 'react-i18next';\nimport { Color } from '@/util/Color';\nimport Headline from '@/components/generic/Headline';\nimport { BookingEngineContext } from '@/contexts';\nimport ScreenSize from '@/util/ScreenSize';\n\nexport interface EmptyReservationProps {\n isCancelled?: boolean;\n}\n\nconst EmptyReservation: FC<EmptyReservationProps> = ({ isCancelled }) => {\n const { t } = useTranslation();\n const context = useContext(BookingEngineContext);\n const isMobile = context.screenSize <= ScreenSize.Medium;\n\n const mainText = t(isCancelled ? 'Reservation.YourReservationPage.EmptyCancelledStays' : 'Reservation.YourReservationPage.EmptyStays');\n const subText = t(isCancelled ? 'Reservation.YourReservationPage.EmptyCancelledDescriptionStays' : 'Reservation.YourReservationPage.EmptyStaysDescription');\n return (\n <div className=\"u-flex u-flex-direction-column u-align-center\">\n <div>\n <img\n style={{\n maxWidth: isMobile ? 345 : 322,\n }}\n src={RoomstayThemeEngine.getImageAssetUrl('/account/account-home-empty-graphic.svg')}\n alt=\"\"\n />\n </div>\n <Headline size={!isMobile ? 'large' : undefined} bold color={Color.Navy} className=\"u-marg-top--heavy\">\n {mainText}\n </Headline>\n <Text type={isMobile ? TextType.Small : undefined} color={Color.Navy} className=\"u-marg-top\">\n {subText}\n </Text>\n </div>\n );\n};\n\nexport default EmptyReservation;\n"]}
1
+ {"version":3,"file":"EmptyReservation.js","sourceRoot":"/","sources":["src/components/reservation/EmptyReservation.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAC9C,kEAA2D;AAC3D,iDAA+C;AAC/C,wCAAqC;AACrC,6EAAqD;AACrD,yCAAkD;AAClD,mEAA2C;AAC3C,sGAAuE;AAMvE,MAAM,gBAAgB,GAA8B,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;IACpE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,MAAM,CAAC;IAEzD,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC;IACvI,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gEAAgE,CAAC,CAAC,CAAC,uDAAuD,CAAC,CAAC;IAC5J,OAAO,CACH,uCAAK,SAAS,EAAC,+CAA+C;QAC1D;YACI,8BAAC,8BAAa,IACV,KAAK,EAAE;oBACH,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;iBACjC,GACH,CACA;QACN,8BAAC,kBAAQ,IAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,QAAC,KAAK,EAAE,aAAK,CAAC,IAAI,EAAE,SAAS,EAAC,mBAAmB,IACjG,QAAQ,CACF;QACX,8BAAC,cAAI,IAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,aAAK,CAAC,IAAI,EAAE,SAAS,EAAC,YAAY,IACvF,OAAO,CACL,CACL,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC","sourcesContent":["import React, { FC, useContext } from 'react';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { useTranslation } from 'react-i18next';\nimport { Color } from '@/util/Color';\nimport Headline from '@/components/generic/Headline';\nimport { BookingEngineContext } from '@/contexts';\nimport ScreenSize from '@/util/ScreenSize';\nimport HomeEmptyCard from '@/components/graphics/HomeEmptyReservation';\n\nexport interface EmptyReservationProps {\n isCancelled?: boolean;\n}\n\nconst EmptyReservation: FC<EmptyReservationProps> = ({ isCancelled }) => {\n const { t } = useTranslation();\n const context = useContext(BookingEngineContext);\n const isMobile = context.screenSize <= ScreenSize.Medium;\n\n const mainText = t(isCancelled ? 'Reservation.YourReservationPage.EmptyCancelledStays' : 'Reservation.YourReservationPage.EmptyStays');\n const subText = t(isCancelled ? 'Reservation.YourReservationPage.EmptyCancelledDescriptionStays' : 'Reservation.YourReservationPage.EmptyStaysDescription');\n return (\n <div className=\"u-flex u-flex-direction-column u-align-center\">\n <div>\n <HomeEmptyCard\n style={{\n maxWidth: isMobile ? 345 : 322,\n }}\n />\n </div>\n <Headline size={!isMobile ? 'large' : undefined} bold color={Color.Navy} className=\"u-marg-top--heavy\">\n {mainText}\n </Headline>\n <Text type={isMobile ? TextType.Small : undefined} color={Color.Navy} className=\"u-marg-top\">\n {subText}\n </Text>\n </div>\n );\n};\n\nexport default EmptyReservation;\n"]}
@@ -1,4 +1,4 @@
1
- import { IRoomstayMemberBookingItemWithRef } from '../../contexts/index.js';
1
+ import { IRoomstayMemberBookingItemWithRefAndHotelDetails } from '../../contexts/index.js';
2
2
  export declare enum ReservationAction {
3
3
  MoreDetails = "MoreDetails",
4
4
  BookAgain = "BookAgain",
@@ -6,11 +6,12 @@ export declare enum ReservationAction {
6
6
  Modify = "Modify"
7
7
  }
8
8
  export type ReservationItemProps = {
9
- itineraryItem: IRoomstayMemberBookingItemWithRef;
9
+ itineraryItem: IRoomstayMemberBookingItemWithRefAndHotelDetails;
10
10
  disableMarginBottom?: boolean;
11
11
  actions?: ReservationAction[];
12
12
  showCancelledNotifications?: boolean;
13
- onActionClick?: (action: ReservationAction, item: IRoomstayMemberBookingItemWithRef) => void;
13
+ onActionClick?: (action: ReservationAction, item: IRoomstayMemberBookingItemWithRefAndHotelDetails) => void;
14
+ defaultEventsExpanded?: boolean;
14
15
  };
15
16
  declare const ReservationItem: (props: ReservationItemProps) => JSX.Element;
16
17
  export default ReservationItem;