@roomstay/frontend 2.4.4-6 → 2.4.4

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 (435) hide show
  1. package/dist/115.bundle.js +1 -1
  2. package/dist/{481.bundle.js → 151.bundle.js} +1 -1
  3. package/dist/201.bundle.js +1 -1
  4. package/dist/387.bundle.js +1 -1
  5. package/dist/446.bundle.js +1 -1
  6. package/dist/468.bundle.js +1 -0
  7. package/dist/535.bundle.js +2 -0
  8. package/dist/{329.bundle.js.LICENSE.txt → 535.bundle.js.LICENSE.txt} +1 -1
  9. package/dist/572.bundle.js +1 -1
  10. package/dist/686.bundle.js +1 -1
  11. package/dist/855.bundle.js +1 -1
  12. package/dist/873.bundle.js +1 -1
  13. package/dist/903.bundle.js +1 -1
  14. package/dist/975.bundle.js +1 -1
  15. package/dist/main.bundle.js +1 -1
  16. package/dist/src/animations/AutoAutoHeight.d.ts +1 -1
  17. package/dist/src/api/ReservationAPI.d.ts +13 -1
  18. package/dist/src/api/ReservationAPI.js +19 -2
  19. package/dist/src/api/ReservationAPI.js.map +1 -1
  20. package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +1 -2
  21. package/dist/src/components/User/Forms/SignUpForm.d.ts +1 -2
  22. package/dist/src/components/generic/Alert.d.ts +2 -2
  23. package/dist/src/components/generic/BEButton.d.ts +4 -4
  24. package/dist/src/components/generic/BEButton.js.map +1 -1
  25. package/dist/src/components/generic/BackButton.d.ts +1 -2
  26. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +1 -1
  27. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +1 -1
  28. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  29. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +1 -2
  30. package/dist/src/components/generic/Card/Card/Card.d.ts +3 -3
  31. package/dist/src/components/generic/Card/Card/Card.js.map +1 -1
  32. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +1 -2
  33. package/dist/src/components/generic/Countdown.d.ts +1 -2
  34. package/dist/src/components/generic/Currency.d.ts +1 -2
  35. package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +1 -2
  36. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +1 -2
  37. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +1 -2
  38. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +1 -2
  39. package/dist/src/components/generic/Distance.d.ts +1 -2
  40. package/dist/src/components/generic/Headline.d.ts +1 -1
  41. package/dist/src/components/generic/Icon/Icon.d.ts +3 -4
  42. package/dist/src/components/generic/InputGroup/InputGroup.d.ts +2 -2
  43. package/dist/src/components/generic/LineBreak.d.ts +1 -2
  44. package/dist/src/components/generic/Notification.d.ts +1 -1
  45. package/dist/src/components/generic/NumberIncrement.d.ts +1 -2
  46. package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -2
  47. package/dist/src/components/generic/Overlay/Overlay.js +1 -2
  48. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  49. package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +1 -2
  50. package/dist/src/components/generic/Pill.d.ts +4 -3
  51. package/dist/src/components/generic/Pill.js.map +1 -1
  52. package/dist/src/components/generic/Placeholder.d.ts +1 -2
  53. package/dist/src/components/generic/PromoCodeInput.d.ts +1 -2
  54. package/dist/src/components/generic/RecentSearchesCard.d.ts +1 -2
  55. package/dist/src/components/generic/RoomstayMark.d.ts +1 -2
  56. package/dist/src/components/generic/Select/Select.d.ts +2 -2
  57. package/dist/src/components/generic/Select/Select.js +1 -1
  58. package/dist/src/components/generic/Select/Select.js.map +1 -1
  59. package/dist/src/components/generic/Slider/Slider.d.ts +1 -1
  60. package/dist/src/components/generic/Tabs/Tab.d.ts +3 -3
  61. package/dist/src/components/generic/Tabs/Tab.js.map +1 -1
  62. package/dist/src/components/generic/Tabs/TabLink.d.ts +1 -2
  63. package/dist/src/components/generic/Tabs/TabRouteContainer.d.ts +2 -2
  64. package/dist/src/components/generic/Text.d.ts +2 -1
  65. package/dist/src/components/generic/Text.js.map +1 -1
  66. package/dist/src/components/generic/TextArea.d.ts +1 -1
  67. package/dist/src/components/generic/Tooltip/Tooltip.d.ts +2 -2
  68. package/dist/src/components/generic/badging/SSLSecureBadge.d.ts +1 -2
  69. package/dist/src/components/generic/buttons/NextStepButton.d.ts +1 -2
  70. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.d.ts +2 -2
  71. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +1 -1
  72. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  73. package/dist/src/components/generic/date/DatePicker.d.ts +1 -2
  74. package/dist/src/components/generic/date/DatePickerDay.d.ts +1 -2
  75. package/dist/src/components/generic/date/DatePickerDays.d.ts +1 -2
  76. package/dist/src/components/generic/date/DatePickerMonth.d.ts +1 -2
  77. package/dist/src/components/generic/date/DatePickerWeek.d.ts +1 -2
  78. package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
  79. package/dist/src/components/generic/date/WeekViewSkeleton.d.ts +1 -2
  80. package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
  81. package/dist/src/components/generic/loader/LargeLoader.d.ts +1 -2
  82. package/dist/src/components/generic/loader/OverlayLoader.d.ts +1 -2
  83. package/dist/src/components/generic/loader/SmallSpinner.d.ts +1 -2
  84. package/dist/src/components/generic/map/HotelLocationMap.d.ts +1 -2
  85. package/dist/src/components/generic/modal/ConfirmationModal.d.ts +1 -2
  86. package/dist/src/components/generic/modal/ErrorModal.d.ts +1 -1
  87. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +1 -2
  88. package/dist/src/components/generic/modal/SimpleModal.d.ts +1 -1
  89. package/dist/src/components/generic/modal/SimpleModal.js +1 -2
  90. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  91. package/dist/src/components/generic/modal/TabbedModal.d.ts +1 -1
  92. package/dist/src/components/generic/radio/RadioFields.d.ts +1 -2
  93. package/dist/src/components/iconComponents/BookNowPayLaterIcon.d.ts +1 -2
  94. package/dist/src/components/navigation/Header.d.ts +1 -2
  95. package/dist/src/components/navigation/StepSelector.d.ts +1 -2
  96. package/dist/src/components/navigation/StepSelectorModal.d.ts +1 -2
  97. package/dist/src/components/pages/Account/Card/MemberCardItem.d.ts +1 -2
  98. package/dist/src/components/pages/PageColorComponent.d.ts +1 -2
  99. package/dist/src/components/reservation/ReservationItem.d.ts +1 -2
  100. package/dist/src/components/reservation/ReservationItem.js +1 -0
  101. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  102. package/dist/src/components/steps/DaysSelectedInformer.d.ts +1 -2
  103. package/dist/src/components/steps/MinimumNightStayPill.d.ts +1 -2
  104. package/dist/src/components/steps/addons/AddonCard.d.ts +1 -2
  105. package/dist/src/components/steps/addons/AddonList.d.ts +1 -2
  106. package/dist/src/components/steps/addons/AddonsNotFound.d.ts +1 -2
  107. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +1 -2
  108. package/dist/src/components/steps/confirmation/AccountDetails.d.ts +1 -2
  109. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.d.ts +1 -2
  110. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.d.ts +1 -1
  111. package/dist/src/components/steps/confirmation/PlanpayLabel.d.ts +1 -2
  112. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +1 -2
  113. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +1 -2
  114. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.d.ts +1 -1
  115. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +1 -1
  116. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  117. package/dist/src/components/steps/confirmation/StepConfirmationForm.d.ts +1 -2
  118. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +6 -19
  119. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  120. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.d.ts +1 -2
  121. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +1 -2
  122. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.d.ts +1 -2
  123. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.d.ts +1 -2
  124. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.d.ts +1 -2
  125. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +1 -2
  126. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +1 -2
  127. package/dist/src/components/steps/date/PeoplePicker.d.ts +1 -2
  128. package/dist/src/components/steps/date/PeoplePickerRow.d.ts +1 -2
  129. package/dist/src/components/steps/date/StepDatePricePerRoom.d.ts +1 -2
  130. package/dist/src/components/steps/date/StepOneDateRange.d.ts +1 -2
  131. package/dist/src/components/steps/date/StepOneDateRangePicker.d.ts +1 -2
  132. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.d.ts +1 -2
  133. package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +1 -2
  134. package/dist/src/components/steps/date/StepOneStatusPeople.d.ts +1 -2
  135. package/dist/src/components/steps/hotel/HotelCard.d.ts +1 -2
  136. package/dist/src/components/steps/hotel/HotelCardList.d.ts +1 -2
  137. package/dist/src/components/steps/hotel/HotelCardModal.d.ts +1 -2
  138. package/dist/src/components/steps/hotel/HotelSearchParameters.d.ts +1 -2
  139. package/dist/src/components/steps/hotel/NoHotelsAvailable.d.ts +1 -2
  140. package/dist/src/components/steps/room/ImageGallerySlider.d.ts +1 -2
  141. package/dist/src/components/steps/room/ImageGallerySlider.js +1 -2
  142. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  143. package/dist/src/components/steps/room/InactivityWindow.d.ts +1 -2
  144. package/dist/src/components/steps/room/LargeRoomCard.d.ts +1 -2
  145. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.d.ts +1 -2
  146. package/dist/src/components/steps/room/NoRoomsFoundBlock.d.ts +1 -2
  147. package/dist/src/components/steps/room/RatesNotFound.d.ts +1 -2
  148. package/dist/src/components/steps/room/RoomList.d.ts +1 -2
  149. package/dist/src/components/steps/room/RoomListAlert.d.ts +2 -2
  150. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
  151. package/dist/src/components/steps/room/RoomModal.d.ts +1 -2
  152. package/dist/src/components/steps/room/StepRoomAlertBlocks.d.ts +1 -2
  153. package/dist/src/components/steps/room/StepRoomBestRateAlert.d.ts +1 -2
  154. package/dist/src/components/steps/room/StepRoomErrorForm.d.ts +1 -2
  155. package/dist/src/components/steps/room/StepRoomHotelDetails.d.ts +1 -2
  156. package/dist/src/components/steps/room/StepRoomSortBy.d.ts +1 -2
  157. package/dist/src/components/steps/room/StepRoomSummaryAndButton.d.ts +1 -2
  158. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.d.ts +1 -2
  159. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.d.ts +1 -2
  160. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.d.ts +1 -2
  161. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.d.ts +1 -2
  162. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.d.ts +1 -2
  163. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.d.ts +1 -2
  164. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +1 -2
  165. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +1 -2
  166. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.d.ts +1 -2
  167. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +1 -2
  168. package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +1 -2
  169. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +1 -2
  170. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +1 -2
  171. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.d.ts +1 -2
  172. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +1 -2
  173. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.d.ts +1 -2
  174. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +2 -3
  175. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +2 -3
  176. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +1 -2
  177. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.d.ts +2 -3
  178. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +1 -1
  179. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  180. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +1 -2
  181. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +1 -2
  182. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +1 -2
  183. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.d.ts +1 -2
  184. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +1 -2
  185. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +1 -2
  186. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +1 -2
  187. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +1 -2
  188. package/dist/src/components/summary/BEMobileSummary.d.ts +1 -2
  189. package/dist/src/components/summary/BEMobileSummaryModal.d.ts +1 -2
  190. package/dist/src/components/summary/BESummary.d.ts +1 -2
  191. package/dist/src/components/summary/BESummary.js +1 -1
  192. package/dist/src/components/summary/BESummary.js.map +1 -1
  193. package/dist/src/components/summary/BESummaryAddonRow.d.ts +1 -2
  194. package/dist/src/components/summary/BESummaryPerkBlock.d.ts +1 -2
  195. package/dist/src/components/summary/BESummaryPrivacyPolicy.d.ts +1 -2
  196. package/dist/src/components/summary/BESummaryRoomRow.d.ts +1 -2
  197. package/dist/src/components/summary/BESummaryRoomRow.js +0 -1
  198. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  199. package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +1 -2
  200. package/dist/src/contexts/BasketContext/BasketContextWrapper.d.ts +1 -1
  201. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.d.ts +1 -1
  202. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.d.ts +2 -2
  203. package/dist/src/contexts/ConfirmationFormContext.d.ts +1 -1
  204. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.d.ts +2 -4
  205. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js.map +1 -1
  206. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +82 -38
  207. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  208. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.d.ts +9 -0
  209. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js +58 -0
  210. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js.map +1 -0
  211. package/dist/src/contexts/ErrorContext.d.ts +1 -1
  212. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +1 -2
  213. package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
  214. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.d.ts +2 -2
  215. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  216. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.d.ts +2 -2
  217. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  218. package/dist/src/contexts/ModalContext.d.ts +1 -1
  219. package/dist/src/contexts/NotificationContext.d.ts +1 -1
  220. package/dist/src/engines/BaseEngine.js +3 -32
  221. package/dist/src/engines/BaseEngine.js.map +1 -1
  222. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +1 -2
  223. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +2 -3
  224. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  225. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +2 -4
  226. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +3 -5
  227. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  228. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +1 -2
  229. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +3 -4
  230. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  231. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +1 -2
  232. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +4 -5
  233. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
  234. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +1 -2
  235. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +3 -4
  236. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  237. package/dist/src/icons/Check.d.ts +1 -2
  238. package/dist/src/models/RoomstaySession.d.ts +8 -0
  239. package/dist/src/models/RoomstaySession.js.map +1 -1
  240. package/dist/src/pages/account/AccountHome/AccountHomePage.d.ts +1 -2
  241. package/dist/src/pages/account/AccountOutlet.d.ts +1 -1
  242. package/dist/src/pages/account/AccountRouter.d.ts +1 -2
  243. package/dist/src/pages/account/Details/AccountDetailsCardsPage.d.ts +1 -2
  244. package/dist/src/pages/account/Details/AccountDetailsProfilePage.d.ts +1 -2
  245. package/dist/src/pages/account/Help/AccountHelpPage.d.ts +1 -2
  246. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.d.ts +1 -2
  247. package/dist/src/pages/account/Reservations/AccountReservationsPage.d.ts +1 -2
  248. package/dist/src/pages/findReservation/FindReservation.d.ts +1 -2
  249. package/dist/src/pages/findReservation/FindReservation.js +1 -1
  250. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  251. package/dist/src/pages/findReservation/FindReservationResults.d.ts +1 -2
  252. package/dist/src/pages/findReservation/ReservationRow.d.ts +1 -2
  253. package/dist/src/pages/findReservation/ReservationRowModal.d.ts +1 -2
  254. package/dist/src/pages/hotel/HotelInfo.d.ts +1 -2
  255. package/dist/src/pages/hotel/HotelInfoPlaceholder.d.ts +1 -2
  256. package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +1 -2
  257. package/dist/src/pages/steps/StepAddon/StepAddonComponent.d.ts +1 -2
  258. package/dist/src/pages/steps/StepAddon/StepAddonLoader.d.ts +1 -2
  259. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.d.ts +1 -2
  260. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.d.ts +1 -2
  261. package/dist/src/pages/steps/StepDate/StepDate.d.ts +1 -2
  262. package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +1 -2
  263. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.d.ts +1 -2
  264. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.d.ts +1 -2
  265. package/dist/src/pages/steps/StepGuide.d.ts +1 -1
  266. package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +1 -2
  267. package/dist/src/pages/steps/StepHotel/StepHotelComponent.d.ts +1 -2
  268. package/dist/src/pages/steps/StepHotel/StepHotelLoader.d.ts +1 -2
  269. package/dist/src/pages/steps/StepRoom/StepRoomComponent.d.ts +1 -2
  270. package/dist/src/pages/steps/StepRoom/StepRoomLoader.d.ts +1 -2
  271. package/dist/src/pages/steps/StepThanks/StepThanksComponent.d.ts +1 -2
  272. package/dist/src/providers/DIProvider.d.ts +1 -2
  273. package/dist/src/providers/RoomstayThemeEngine.js +1 -1
  274. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  275. package/dist/src/providers/SessionProvider.js +3 -1
  276. package/dist/src/providers/SessionProvider.js.map +1 -1
  277. package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +1 -2
  278. package/dist/src/stories/Alert.stories.d.ts +5 -0
  279. package/dist/src/stories/Alert.stories.js +19 -0
  280. package/dist/src/stories/Alert.stories.js.map +1 -0
  281. package/dist/src/stories/BEButton.stories.d.ts +5 -0
  282. package/dist/src/stories/BEButton.stories.js +20 -0
  283. package/dist/src/stories/BEButton.stories.js.map +1 -0
  284. package/dist/src/stories/BackButton.stories.d.ts +5 -0
  285. package/dist/src/stories/BackButton.stories.js +17 -0
  286. package/dist/src/stories/BackButton.stories.js.map +1 -0
  287. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.d.ts +5 -0
  288. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js +17 -0
  289. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js.map +1 -0
  290. package/dist/src/stories/BookingWizard.stories.d.ts +10 -0
  291. package/dist/src/stories/BookingWizard.stories.js +67 -0
  292. package/dist/src/stories/BookingWizard.stories.js.map +1 -0
  293. package/dist/src/stories/Card.stories.d.ts +11 -0
  294. package/dist/src/stories/Card.stories.js +20 -0
  295. package/dist/src/stories/Card.stories.js.map +1 -0
  296. package/dist/src/stories/CardTypeSelect.stories.d.ts +5 -0
  297. package/dist/src/stories/CardTypeSelect.stories.js +17 -0
  298. package/dist/src/stories/CardTypeSelect.stories.js.map +1 -0
  299. package/dist/src/stories/Checkbox.stories.d.ts +5 -0
  300. package/dist/src/stories/Checkbox.stories.js +20 -0
  301. package/dist/src/stories/Checkbox.stories.js.map +1 -0
  302. package/dist/src/stories/ConfirmationModal.stories.d.ts +5 -0
  303. package/dist/src/stories/ConfirmationModal.stories.js +44 -0
  304. package/dist/src/stories/ConfirmationModal.stories.js.map +1 -0
  305. package/dist/src/stories/Countdown.stories.d.ts +5 -0
  306. package/dist/src/stories/Countdown.stories.js +20 -0
  307. package/dist/src/stories/Countdown.stories.js.map +1 -0
  308. package/dist/src/stories/Currency.stories.d.ts +5 -0
  309. package/dist/src/stories/Currency.stories.js +19 -0
  310. package/dist/src/stories/Currency.stories.js.map +1 -0
  311. package/dist/src/stories/DateRangePicker.stories.d.ts +8 -0
  312. package/dist/src/stories/DateRangePicker.stories.js +90 -0
  313. package/dist/src/stories/DateRangePicker.stories.js.map +1 -0
  314. package/dist/src/stories/Distance.stories.d.ts +5 -0
  315. package/dist/src/stories/Distance.stories.js +19 -0
  316. package/dist/src/stories/Distance.stories.js.map +1 -0
  317. package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +5 -0
  318. package/dist/src/stories/EnhancedPhoneNumberField.stories.js +19 -0
  319. package/dist/src/stories/EnhancedPhoneNumberField.stories.js.map +1 -0
  320. package/dist/src/stories/ErrorModal.stories.d.ts +5 -0
  321. package/dist/src/stories/ErrorModal.stories.js +45 -0
  322. package/dist/src/stories/ErrorModal.stories.js.map +1 -0
  323. package/dist/src/stories/EventCarousel.stories.d.ts +6 -0
  324. package/dist/src/stories/EventCarousel.stories.js +236 -0
  325. package/dist/src/stories/EventCarousel.stories.js.map +1 -0
  326. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +6 -0
  327. package/dist/src/stories/FloatingDateRangePicker.stories.js +74 -0
  328. package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -0
  329. package/dist/src/stories/ForwardedSelect.stories.d.ts +5 -0
  330. package/dist/src/stories/ForwardedSelect.stories.js +28 -0
  331. package/dist/src/stories/ForwardedSelect.stories.js.map +1 -0
  332. package/dist/src/stories/Headline.stories.d.ts +5 -0
  333. package/dist/src/stories/Headline.stories.js +19 -0
  334. package/dist/src/stories/Headline.stories.js.map +1 -0
  335. package/dist/src/stories/Icon.stories.d.ts +5 -0
  336. package/dist/src/stories/Icon.stories.js +42 -0
  337. package/dist/src/stories/Icon.stories.js.map +1 -0
  338. package/dist/src/stories/IconNavCard.stories.d.ts +26 -0
  339. package/dist/src/stories/IconNavCard.stories.js +31 -0
  340. package/dist/src/stories/IconNavCard.stories.js.map +1 -0
  341. package/dist/src/stories/IconText.stories.d.ts +5 -0
  342. package/dist/src/stories/IconText.stories.js +42 -0
  343. package/dist/src/stories/IconText.stories.js.map +1 -0
  344. package/dist/src/stories/ImageLoader.stories.d.ts +5 -0
  345. package/dist/src/stories/ImageLoader.stories.js +19 -0
  346. package/dist/src/stories/ImageLoader.stories.js.map +1 -0
  347. package/dist/src/stories/InputGroup.stories.d.ts +5 -0
  348. package/dist/src/stories/InputGroup.stories.js +19 -0
  349. package/dist/src/stories/InputGroup.stories.js.map +1 -0
  350. package/dist/src/stories/LargeLoader.stories.d.ts +5 -0
  351. package/dist/src/stories/LargeLoader.stories.js +17 -0
  352. package/dist/src/stories/LargeLoader.stories.js.map +1 -0
  353. package/dist/src/stories/LineBreak.stories.d.ts +5 -0
  354. package/dist/src/stories/LineBreak.stories.js +17 -0
  355. package/dist/src/stories/LineBreak.stories.js.map +1 -0
  356. package/dist/src/stories/Notification.stories.d.ts +5 -0
  357. package/dist/src/stories/Notification.stories.js +23 -0
  358. package/dist/src/stories/Notification.stories.js.map +1 -0
  359. package/dist/src/stories/NumberIncrement.stories.d.ts +5 -0
  360. package/dist/src/stories/NumberIncrement.stories.js +46 -0
  361. package/dist/src/stories/NumberIncrement.stories.js.map +1 -0
  362. package/dist/src/stories/PasswordBox.stories.d.ts +5 -0
  363. package/dist/src/stories/PasswordBox.stories.js +17 -0
  364. package/dist/src/stories/PasswordBox.stories.js.map +1 -0
  365. package/dist/src/stories/PaymentCard.stories.d.ts +4 -0
  366. package/dist/src/stories/PaymentCard.stories.js +27 -0
  367. package/dist/src/stories/PaymentCard.stories.js.map +1 -0
  368. package/dist/src/stories/PaymentCardInput.stories.d.ts +6 -0
  369. package/dist/src/stories/PaymentCardInput.stories.js +39 -0
  370. package/dist/src/stories/PaymentCardInput.stories.js.map +1 -0
  371. package/dist/src/stories/Pill.stories.d.ts +5 -0
  372. package/dist/src/stories/Pill.stories.js +19 -0
  373. package/dist/src/stories/Pill.stories.js.map +1 -0
  374. package/dist/src/stories/Placeholder.stories.d.ts +5 -0
  375. package/dist/src/stories/Placeholder.stories.js +22 -0
  376. package/dist/src/stories/Placeholder.stories.js.map +1 -0
  377. package/dist/src/stories/PlanpayButton.stories.d.ts +5 -0
  378. package/dist/src/stories/PlanpayButton.stories.js +19 -0
  379. package/dist/src/stories/PlanpayButton.stories.js.map +1 -0
  380. package/dist/src/stories/PromoCodeInput.stories.d.ts +5 -0
  381. package/dist/src/stories/PromoCodeInput.stories.js +17 -0
  382. package/dist/src/stories/PromoCodeInput.stories.js.map +1 -0
  383. package/dist/src/stories/RadioButton.stories.d.ts +6 -0
  384. package/dist/src/stories/RadioButton.stories.js +27 -0
  385. package/dist/src/stories/RadioButton.stories.js.map +1 -0
  386. package/dist/src/stories/RadioButtonGroup.stories.d.ts +8 -0
  387. package/dist/src/stories/RadioButtonGroup.stories.js +126 -0
  388. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -0
  389. package/dist/src/stories/RadioFields.stories.d.ts +5 -0
  390. package/dist/src/stories/RadioFields.stories.js +31 -0
  391. package/dist/src/stories/RadioFields.stories.js.map +1 -0
  392. package/dist/src/stories/SSLSecureBadge.stories.d.ts +5 -0
  393. package/dist/src/stories/SSLSecureBadge.stories.js +17 -0
  394. package/dist/src/stories/SSLSecureBadge.stories.js.map +1 -0
  395. package/dist/src/stories/Select.stories.d.ts +9 -0
  396. package/dist/src/stories/Select.stories.js +95 -0
  397. package/dist/src/stories/Select.stories.js.map +1 -0
  398. package/dist/src/stories/SimpleModal.stories.d.ts +5 -0
  399. package/dist/src/stories/SimpleModal.stories.js +52 -0
  400. package/dist/src/stories/SimpleModal.stories.js.map +1 -0
  401. package/dist/src/stories/Slider.stories.d.ts +10 -0
  402. package/dist/src/stories/Slider.stories.js +52 -0
  403. package/dist/src/stories/Slider.stories.js.map +1 -0
  404. package/dist/src/stories/SmallSpinner.stories.d.ts +5 -0
  405. package/dist/src/stories/SmallSpinner.stories.js +17 -0
  406. package/dist/src/stories/SmallSpinner.stories.js.map +1 -0
  407. package/dist/src/stories/TabbedModal.stories.d.ts +5 -0
  408. package/dist/src/stories/TabbedModal.stories.js +60 -0
  409. package/dist/src/stories/TabbedModal.stories.js.map +1 -0
  410. package/dist/src/stories/Tabs.stories.d.ts +5 -0
  411. package/dist/src/stories/Tabs.stories.js +29 -0
  412. package/dist/src/stories/Tabs.stories.js.map +1 -0
  413. package/dist/src/stories/Text.stories.d.ts +5 -0
  414. package/dist/src/stories/Text.stories.js +19 -0
  415. package/dist/src/stories/Text.stories.js.map +1 -0
  416. package/dist/src/stories/TextArea.stories.d.ts +5 -0
  417. package/dist/src/stories/TextArea.stories.js +17 -0
  418. package/dist/src/stories/TextArea.stories.js.map +1 -0
  419. package/dist/src/stories/TextBox.stories.d.ts +5 -0
  420. package/dist/src/stories/TextBox.stories.js +17 -0
  421. package/dist/src/stories/TextBox.stories.js.map +1 -0
  422. package/dist/src/stories/Tooltip.stories.d.ts +5 -0
  423. package/dist/src/stories/Tooltip.stories.js +20 -0
  424. package/dist/src/stories/Tooltip.stories.js.map +1 -0
  425. package/dist/test.bundle.js +1 -1
  426. package/dist/tests/jest/providers/SessionProvider.test.js +4 -4
  427. package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -1
  428. package/dist/tests/offline/entry/OfflineEngineDefaults.d.ts +2 -0
  429. package/dist/tests/offline/entry/OfflineEngineDefaults.js +139 -0
  430. package/dist/tests/offline/entry/OfflineEngineDefaults.js.map +1 -0
  431. package/dist/vendors.bundle.js +1 -1
  432. package/dist/vendors.bundle.js.LICENSE.txt +14 -11
  433. package/package.json +7 -7
  434. package/dist/319.bundle.js +0 -1
  435. package/dist/329.bundle.js +0 -2
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { Room } from '../../../../models/Room/Room';
3
2
  export interface RoomFilterProps {
4
3
  anchorEl: any;
@@ -6,4 +5,4 @@ export interface RoomFilterProps {
6
5
  open: boolean;
7
6
  onClose?: () => void;
8
7
  }
9
- export default function RoomFilterOverlay(props: RoomFilterProps): React.JSX.Element;
8
+ export default function RoomFilterOverlay(props: RoomFilterProps): JSX.Element;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import BudgetFilter from '../../../../models/Room/Filters/BudgetFilter';
3
2
  import { Room } from '../../../../models/Room/Room';
4
3
  interface RoomFilterPriceSliderProps {
@@ -6,5 +5,5 @@ interface RoomFilterPriceSliderProps {
6
5
  roomList: Room[];
7
6
  onChange: (filter: BudgetFilter | null) => void;
8
7
  }
9
- export default function RoomFilterPriceSlider(props: RoomFilterPriceSliderProps): React.JSX.Element;
8
+ export default function RoomFilterPriceSlider(props: RoomFilterPriceSliderProps): JSX.Element;
10
9
  export {};
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import RateTypeFilter from '../../../../models/Room/Filters/RateTypeFilter';
3
2
  import { Room } from '../../../../models/Room/Room';
4
3
  interface RoomFilterRateTypeProps {
@@ -6,5 +5,5 @@ interface RoomFilterRateTypeProps {
6
5
  roomList: Room[];
7
6
  onChange: (filter: RateTypeFilter | null) => void;
8
7
  }
9
- export default function RoomFilterRateType(props: RoomFilterRateTypeProps): React.JSX.Element;
8
+ export default function RoomFilterRateType(props: RoomFilterRateTypeProps): JSX.Element;
10
9
  export {};
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import RoomTypeFilter from '../../../../models/Room/Filters/RoomTypeFilter';
3
2
  import { Room } from '../../../../models/Room/Room';
4
3
  interface RoomFilterRoomTypeProps {
@@ -6,5 +5,5 @@ interface RoomFilterRoomTypeProps {
6
5
  filter: RoomTypeFilter;
7
6
  onChange: (filter: RoomTypeFilter | null) => void;
8
7
  }
9
- export default function RoomFilterRoomType(props: RoomFilterRoomTypeProps): React.JSX.Element;
8
+ export default function RoomFilterRoomType(props: RoomFilterRoomTypeProps): JSX.Element;
10
9
  export {};
@@ -1,2 +1 @@
1
- import React from 'react';
2
- export default function BEMobileSummary(): React.JSX.Element;
1
+ export default function BEMobileSummary(): JSX.Element;
@@ -1,7 +1,6 @@
1
- import React from 'react';
2
1
  export interface BEMobileSummaryModalProps {
3
2
  isOpen?: boolean;
4
3
  onClose?: () => void;
5
4
  showImages?: boolean;
6
5
  }
7
- export default function BEMobileSummaryModal(props: BEMobileSummaryModalProps): React.JSX.Element;
6
+ export default function BEMobileSummaryModal(props: BEMobileSummaryModalProps): JSX.Element;
@@ -1,7 +1,6 @@
1
1
  import { OrderableReactList } from '../../hooks/index.js';
2
- import React from 'react';
3
2
  export interface BESummaryProps {
4
3
  showImages?: boolean;
5
4
  }
6
5
  export declare const BESummaryLayoutOrder: OrderableReactList;
7
- export declare function BESummary(props: BESummaryProps): React.JSX.Element;
6
+ export declare function BESummary(props: BESummaryProps): JSX.Element;
@@ -83,7 +83,7 @@ function BESummary(props) {
83
83
  const toString = (val) => val.filter((it) => !!it && it !== '0').join(', ');
84
84
  const renderLine = (line) => {
85
85
  if (line) {
86
- return (react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, key: line }, line));
86
+ return react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small }, line);
87
87
  }
88
88
  return null;
89
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BESummary.js","sourceRoot":"/","sources":["src/components/summary/BESummary.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiH;AACjH,2CAAsF;AACtF,4DAAoC;AACpC,+CAAuD;AACvD,iDAA+C;AAC/C,0DAAuD;AAEvD,oEAA8D;AAC9D,6EAAqD;AACrD,6EAAqD;AACrD,yDAA0D;AAC1D,+EAAuD;AAEvD,iGAAyE;AACzE,kEAA2D;AAC3D,+FAAuE;AACvE,gFAA6E;AAC7E,6FAAqE;AACrE,2HAAmG;AAGnG,uGAA+E;AAC/E,wCAAqC;AACrC,wDAAiD;AAEjD,mEAAgE;AAMhE,MAAM,wCAAwC,GAAO,GAAG,EAAE;;IACtD,MAAM,gBAAgB,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAE3D,OAAO,CACH,uCACI,SAAS,EAAE,IAAA,oBAAU,EAAC,iCAAiC,EAAE;YACrD,uBAAuB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,kBAAkB,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC;SACpI,CAAC;QAEF,8BAAC,yCAA+B,IAAC,QAAQ,SAAG,CAC1C,CACT,CAAC;AACN,CAAC,CAAC;AAEW,QAAA,oBAAoB,GAAuB;IACpD,sBAAsB,EAAE;QACpB,SAAS,EAAE,8BAAC,wCAAwC,OAAG;QACvD,QAAQ,EAAE,CAAC;KACd;IACD,UAAU,EAAE;QACR,SAAS,EAAE,CACP,uCAAK,SAAS,EAAC,wCAAwC;YACnD,8BAAC,uCAAkB,IAAC,IAAI,EAAC,SAAS,GAAG,CACnC,CACT;QACD,QAAQ,EAAE,EAAE;KACf;CACJ,CAAC;AAEF,SAAgB,SAAS,CAAC,KAAqB;;IAC3C,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAExD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC;IAE3D,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC;IAE7C,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,YAAY,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,KAAK,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,IAAI,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,UAAU,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,KAAK,CAAC,CAAC;IAEzE,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,sBAAc,EAAC,4BAAoB,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAG,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEtF,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,EAAE;QACjC,IAAI,IAAI,EAAE;YACN,OAAO,CACH,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,IAChC,IAAI,CACF,CACV,CAAC;SACL;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAE,QAAkB,EAAE,EAAE;QAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,UAAU,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,CAAC;IAExE,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;;QAC9B,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,KAAI,CAAA,MAAA,aAAa,CAAC,WAAW,0CAAE,UAAU,EAAE,MAAK,0BAAgB,CAAC,UAAU,EAAE,EAAE;YACpG,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;YAE5C,MAAM,SAAS,GAAG,aAAa,CAAC,mBAAmB,CAAC;YAEpD,OAAO,CACH,uCAAK,SAAS,EAAC,mBAAmB,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;gBAC7D,SAAS,IAAI,8BAAC,6BAAa,OAAG;gBAC/B,uCAAK,SAAS,EAAC,0BAA0B;oBACrC,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,gBAAkB;oBAC5C,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK;wBACtB,8BAAC,kBAAQ,QAAE,aAAa,CAAY,CACjC,CACL;gBACN,uCAAK,SAAS,EAAC,0BAA0B;oBACrC,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,WAAa;oBACvC,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK;wBACtB,8BAAC,kBAAQ,QAAE,SAAS,CAAY,CAC7B,CACL;gBACN,uCAAK,SAAS,EAAC,0BAA0B;oBACrC,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,cAAgB;oBAC1C,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK;wBACtB,8BAAC,kBAAQ,QAAE,YAAY,CAAY,CAChC,CACL;gBACN,uCAAK,SAAS,EAAC,mBAAmB;oBAC9B,uCAAK,SAAS,EAAC,QAAQ;wBACnB,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAQ;wBAC9D,8BAAC,kBAAQ,IAAC,IAAI,QAAC,IAAI,EAAC,OAAO;4BACvB,8BAAC,kBAAQ,QAAE,KAAK,CAAY,CACrB,CACT;oBAEN,8BAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,yBAAS,CAAC,KAAK,IACpE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAC7C,CACL,CACJ,CACT,CAAC;SACL;aAAM;YACH,OAAO,CACH,uCAAK,SAAS,EAAC,mBAAmB;gBAC9B,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,yBAAS,CAAC,KAAK,IAC7C,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CACvB;gBACP,8BAAC,kBAAQ,IAAC,IAAI,QAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,yBAAS,CAAC,KAAK;oBAC9C,8BAAC,kBAAQ,QAAE,aAAa,CAAC,aAAa,EAAE,CAAY,CAC7C;gBACX,8BAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,yBAAS,CAAC,KAAK,IACpE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAC7C,CACL,CACT,CAAC;SACL;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAEzE,OAAO,CACH,uCAAK,SAAS,EAAC,wBAAwB;QACnC,uCAAK,SAAS,EAAC,eAAe;YAC1B,8BAAC,kBAAQ,IAAC,IAAI,UAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAY,CACrD;QAEL,eAAe,CAAC,CAAC,CAAC,CACf;YACK,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAc,EAAE,KAAa,EAAE,EAAE;gBACtD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;oBAAE,OAAO;gBAE3B,OAAO,8BAAC,0BAAgB,IAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,GAAI,CAAC;YAC1G,CAAC,CAAC;YACD,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAClB;gBACI,8BAAC,mBAAS,IAAC,SAAS,QAAC,MAAM,SAAG;gBAE9B,uCAAK,SAAS,EAAC,YAAY;oBACvB,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,QAAQ;wBAC7C,6DAA6B,CAC1B,CACL;gBAEL,MAAM,CAAC,GAAG,CAAC,CAAC,GAAmB,EAAE,EAAE;oBAChC,MAAM,oBAAoB,GAAG,GAAG,EAAE;wBAC9B,OAAO,aAAa,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;oBACnD,CAAC,CAAC;oBACF,OAAO,8BAAC,2BAAiB,IAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,oBAAoB,GAAI,CAAC;gBAClG,CAAC,CAAC,CACH,CACN,CACF,CACN,CAAC,CAAC,CAAC,CACA,uCAAK,SAAS,EAAC,eAAe;YAC1B,uCAAK,SAAS,EAAC,eAAe;gBAC1B,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAQ,CAC9E;YACN,uCAAK,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE;gBACjD,8BAAC,0BAAgB,OAAG,CAClB;YACN,uCAAK,SAAS,EAAC,YAAY;gBACvB,uCAAK,SAAS,EAAC,eAAe;oBAC1B,8BAAC,cAAI,IAAC,IAAI,UAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAQ,CAC7B;gBACL,cAAc,CAAC,YAAwB,EAAE,YAAwB,CAAC;gBAClE,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,oBAAoB,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAA,IAAI,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,IAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAQ,CAC1G,CACJ,CACT;QACA,gBAAgB;QAEhB,GAAG,CAAC,eAAe,MAAK,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,CAAA,IAAI,CAC/C,8BAAC,eAAK,IAAC,eAAe,QAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,iBAAS,CAAC,SAAS;YAClE,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAQ,CACzF,CACX;QAED,8BAAC,mBAAS,IAAC,MAAM,SAAG;QAEnB,YAAY,CACX,CACT,CAAC;AACN,CAAC;AApKD,8BAoKC","sourcesContent":["import { BasketContext, CompanyContext, FullPageEngineContext, HotelOverridesContext } from '@frontend/contexts';\nimport { OrderableReactList, useCurrentHotel, useElementSort } from '@frontend/hooks';\nimport classNames from 'classnames';\nimport React, { FC, useContext, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport Currency from '@/components/generic/Currency';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport SmallSpinner from '@/components/generic/loader/SmallSpinner';\nimport HotelLocationMap from '@/components/generic/map/HotelLocationMap';\nimport Text, { TextType } from '@/components/generic/Text';\nimport BESummaryAddonRow from '@/components/summary/BESummaryAddonRow';\nimport { BESummaryPerkBlock } from '@/components/summary/BESummaryPerkBlock';\nimport BESummaryRoomRow from '@/components/summary/BESummaryRoomRow';\nimport TransportDistanceFromHotelBlock from '@/components/summary/TransportDistanceFromHotelBlock';\nimport BasketAddonRow from '@/models/BasketAddonRow';\nimport BasketRow from '@/models/BasketRow';\nimport StepConfirmation from '@/pages/steps/StepConfirmation/StepConfirmation';\nimport { Color } from '@/util/Color';\nimport { TextAlign } from '@/util/TextAlignment';\n\nimport { OverlayLoader } from '../generic/loader/OverlayLoader';\n\nexport interface BESummaryProps {\n showImages?: boolean;\n}\n\nconst TransportDistanceFromHotelBlockContainer: FC = () => {\n const overridesContext = useContext(HotelOverridesContext);\n\n return (\n <div\n className={classNames('u-flex u-flex-column u-marg-top', {\n 'u-flex-justify-around': Object.entries(overridesContext?.transportDistances ?? {}).filter(([key, value]) => !!value).length <= 2,\n })}\n >\n <TransportDistanceFromHotelBlock vertical />\n </div>\n );\n};\n\nexport const BESummaryLayoutOrder: OrderableReactList = {\n TransportDistanceBlock: {\n component: <TransportDistanceFromHotelBlockContainer />,\n priority: 5,\n },\n PerksBlock: {\n component: (\n <div className=\"u-marg-bottom--light u-marg-top--heavy\">\n <BESummaryPerkBlock size=\"desktop\" />\n </div>\n ),\n priority: 10,\n },\n};\n\nexport function BESummary(props: BESummaryProps) {\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n const overridesContext = useContext(HotelOverridesContext);\n const engineContext = useContext(FullPageEngineContext);\n\n const { hotel } = useCurrentHotel();\n\n const selectedBasketRows = basketContext.getAllValidRows();\n\n const addons = basketContext.basketAddonRows;\n\n const { t } = useTranslation();\n\n const addressLine1 = [hotel?.address?.line1, hotel?.address?.city];\n const addressLine2 = [hotel?.address?.postalCode, hotel?.address?.state];\n\n const { sortedComponents } = useElementSort(BESummaryLayoutOrder);\n\n const toString = (val: string[]) => val.filter((it) => !!it && it !== '0').join(', ');\n\n const renderLine = (line?: string) => {\n if (line) {\n return (\n <Text type={TextType.Small} key={line}>\n {line}\n </Text>\n );\n }\n return null;\n };\n\n const combineAddress = (rawLine1: string[], rawLine2: string[]) => {\n const line1 = toString(rawLine1);\n const line2 = toString(rawLine2);\n if (line1 && line1.length > 40) return renderLine([line1, line2].filter(Boolean).join(', '));\n return [renderLine(line1), renderLine(line2)];\n };\n\n const showBasketItems = selectedBasketRows && selectedBasketRows.length;\n\n const totalSection = useMemo(() => {\n if (hotel?.requireDeposit && engineContext.currentStep?.getStepUrl() === StepConfirmation.getStepUrl()) {\n const originalPrice = basketContext.getTotalPrice(true);\n const totalDeposit = basketContext.getTotalDeposit();\n const totalFees = basketContext.getTotalFees();\n const total = basketContext.getTotalPrice();\n\n const isLoading = basketContext.isLoadingPriceQuote;\n\n return (\n <div className=\"u-marg-top--light\" style={{ position: 'relative' }}>\n {isLoading && <OverlayLoader />}\n <div className=\"u-marg-top--light u-flex\">\n <Text type={TextType.Small}>Sub-total</Text>\n <Text type={TextType.Small}>\n <Currency>{originalPrice}</Currency>\n </Text>\n </div>\n <div className=\"u-marg-top--light u-flex\">\n <Text type={TextType.Small}>Fees</Text>\n <Text type={TextType.Small}>\n <Currency>{totalFees}</Currency>\n </Text>\n </div>\n <div className=\"u-marg-top--light u-flex\">\n <Text type={TextType.Small}>Deposit</Text>\n <Text type={TextType.Small}>\n <Currency>{totalDeposit}</Currency>\n </Text>\n </div>\n <div className=\"u-marg-top--light\">\n <div className=\"u-flex\">\n <Text type={TextType.Small}>{t(Translation.Misc.Total)}</Text>\n <Headline bold size=\"large\">\n <Currency>{total}</Currency>\n </Headline>\n </div>\n\n <Text color={Color.DarkGrey} type={TextType.Small} align={TextAlign.Right}>\n {t(Translation.Step.Room.RoomInfo.IncludesTaxes)}\n </Text>\n </div>\n </div>\n );\n } else {\n return (\n <div className=\"u-marg-top--light\">\n <Text type={TextType.Small} align={TextAlign.Right}>\n {t(Translation.Misc.Total)}\n </Text>\n <Headline bold size=\"large\" align={TextAlign.Right}>\n <Currency>{basketContext.getTotalPrice()}</Currency>\n </Headline>\n <Text color={Color.DarkGrey} type={TextType.Small} align={TextAlign.Right}>\n {t(Translation.Step.Room.RoomInfo.IncludesTaxes)}\n </Text>\n </div>\n );\n }\n }, [basketContext.currentBasketRows, basketContext.isLoadingPriceQuote]);\n\n return (\n <div className=\"booking-engine-summary\">\n <div className=\"u-marg-bottom\">\n <Headline bold>{t(Translation.Misc.Summary)}</Headline>\n </div>\n\n {showBasketItems ? (\n <>\n {selectedBasketRows.map((row: BasketRow, index: number) => {\n if (!row.isValid()) return;\n\n return <BESummaryRoomRow key={row.getID()} row={row} index={index} showImages={!!props.showImages} />;\n })}\n {addons.length > 0 && (\n <>\n <LineBreak noMargins darker />\n\n <div className=\"u-marg-top\">\n <Text type={TextType.Label} color={Color.DarkGrey}>\n <strong>Add-on Items</strong>\n </Text>\n </div>\n\n {addons.map((row: BasketAddonRow) => {\n const onRemoveClickHandler = () => {\n return basketContext.removeBasketAddonRow(row);\n };\n return <BESummaryAddonRow row={row} key={row.getID()} onRemoveClick={onRemoveClickHandler} />;\n })}\n </>\n )}\n </>\n ) : (\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small}>{t(Translation.Step.General.YourCartIsEmpty)}</Text>\n </div>\n <div style={{ height: '150px', position: 'relative' }}>\n <HotelLocationMap />\n </div>\n <div className=\"u-marg-top\">\n <div className=\"u-marg-bottom\">\n <Text bold>{hotel?.name}</Text>\n </div>\n {combineAddress(addressLine1 as string[], addressLine2 as string[])}\n {overridesContext?.phoneNumberInSummary && hotel?.phone && <Text type={TextType.Small}>{hotel?.phone}</Text>}\n </div>\n </div>\n )}\n {sortedComponents}\n\n {ccx.currentCurrency !== hotel?.defaultCurrency && (\n <Alert iconAlignCenter icon={IconType.Money} type={AlertType.LightGray}>\n <Text type={TextType.Small}>{t(Translation.Step.General.AlternateCurrencyInformation)}</Text>\n </Alert>\n )}\n\n <LineBreak darker />\n\n {totalSection}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"BESummary.js","sourceRoot":"/","sources":["src/components/summary/BESummary.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, CompanyContext, FullPageEngineContext, HotelOverridesContext } from '@frontend/contexts';\nimport { OrderableReactList, useCurrentHotel, useElementSort } from '@frontend/hooks';\nimport classNames from 'classnames';\nimport React, { FC, useContext, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport Currency from '@/components/generic/Currency';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport SmallSpinner from '@/components/generic/loader/SmallSpinner';\nimport HotelLocationMap from '@/components/generic/map/HotelLocationMap';\nimport Text, { TextType } from '@/components/generic/Text';\nimport BESummaryAddonRow from '@/components/summary/BESummaryAddonRow';\nimport { BESummaryPerkBlock } from '@/components/summary/BESummaryPerkBlock';\nimport BESummaryRoomRow from '@/components/summary/BESummaryRoomRow';\nimport TransportDistanceFromHotelBlock from '@/components/summary/TransportDistanceFromHotelBlock';\nimport BasketAddonRow from '@/models/BasketAddonRow';\nimport BasketRow from '@/models/BasketRow';\nimport StepConfirmation from '@/pages/steps/StepConfirmation/StepConfirmation';\nimport { Color } from '@/util/Color';\nimport { TextAlign } from '@/util/TextAlignment';\n\nimport { OverlayLoader } from '../generic/loader/OverlayLoader';\n\nexport interface BESummaryProps {\n showImages?: boolean;\n}\n\nconst TransportDistanceFromHotelBlockContainer: FC = () => {\n const overridesContext = useContext(HotelOverridesContext);\n\n return (\n <div\n className={classNames('u-flex u-flex-column u-marg-top', {\n 'u-flex-justify-around': Object.entries(overridesContext?.transportDistances ?? {}).filter(([key, value]) => !!value).length <= 2,\n })}\n >\n <TransportDistanceFromHotelBlock vertical />\n </div>\n );\n};\n\nexport const BESummaryLayoutOrder: OrderableReactList = {\n TransportDistanceBlock: {\n component: <TransportDistanceFromHotelBlockContainer />,\n priority: 5,\n },\n PerksBlock: {\n component: (\n <div className=\"u-marg-bottom--light u-marg-top--heavy\">\n <BESummaryPerkBlock size=\"desktop\" />\n </div>\n ),\n priority: 10,\n },\n};\n\nexport function BESummary(props: BESummaryProps) {\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n const overridesContext = useContext(HotelOverridesContext);\n const engineContext = useContext(FullPageEngineContext);\n\n const { hotel } = useCurrentHotel();\n\n const selectedBasketRows = basketContext.getAllValidRows();\n\n const addons = basketContext.basketAddonRows;\n\n const { t } = useTranslation();\n\n const addressLine1 = [hotel?.address?.line1, hotel?.address?.city];\n const addressLine2 = [hotel?.address?.postalCode, hotel?.address?.state];\n\n const { sortedComponents } = useElementSort(BESummaryLayoutOrder);\n\n const toString = (val: string[]) => val.filter((it) => !!it && it !== '0').join(', ');\n\n const renderLine = (line?: string) => {\n if (line) {\n return <Text type={TextType.Small}>{line}</Text>;\n }\n return null;\n };\n\n const combineAddress = (rawLine1: string[], rawLine2: string[]) => {\n const line1 = toString(rawLine1);\n const line2 = toString(rawLine2);\n if (line1 && line1.length > 40) return renderLine([line1, line2].filter(Boolean).join(', '));\n return [renderLine(line1), renderLine(line2)];\n };\n\n const showBasketItems = selectedBasketRows && selectedBasketRows.length;\n\n const totalSection = useMemo(() => {\n if (hotel?.requireDeposit && engineContext.currentStep?.getStepUrl() === StepConfirmation.getStepUrl()) {\n const originalPrice = basketContext.getTotalPrice(true);\n const totalDeposit = basketContext.getTotalDeposit();\n const totalFees = basketContext.getTotalFees();\n const total = basketContext.getTotalPrice();\n\n const isLoading = basketContext.isLoadingPriceQuote;\n\n return (\n <div className=\"u-marg-top--light\" style={{ position: 'relative' }}>\n {isLoading && <OverlayLoader />}\n <div className=\"u-marg-top--light u-flex\">\n <Text type={TextType.Small}>Sub-total</Text>\n <Text type={TextType.Small}>\n <Currency>{originalPrice}</Currency>\n </Text>\n </div>\n <div className=\"u-marg-top--light u-flex\">\n <Text type={TextType.Small}>Fees</Text>\n <Text type={TextType.Small}>\n <Currency>{totalFees}</Currency>\n </Text>\n </div>\n <div className=\"u-marg-top--light u-flex\">\n <Text type={TextType.Small}>Deposit</Text>\n <Text type={TextType.Small}>\n <Currency>{totalDeposit}</Currency>\n </Text>\n </div>\n <div className=\"u-marg-top--light\">\n <div className=\"u-flex\">\n <Text type={TextType.Small}>{t(Translation.Misc.Total)}</Text>\n <Headline bold size=\"large\">\n <Currency>{total}</Currency>\n </Headline>\n </div>\n\n <Text color={Color.DarkGrey} type={TextType.Small} align={TextAlign.Right}>\n {t(Translation.Step.Room.RoomInfo.IncludesTaxes)}\n </Text>\n </div>\n </div>\n );\n } else {\n return (\n <div className=\"u-marg-top--light\">\n <Text type={TextType.Small} align={TextAlign.Right}>\n {t(Translation.Misc.Total)}\n </Text>\n <Headline bold size=\"large\" align={TextAlign.Right}>\n <Currency>{basketContext.getTotalPrice()}</Currency>\n </Headline>\n <Text color={Color.DarkGrey} type={TextType.Small} align={TextAlign.Right}>\n {t(Translation.Step.Room.RoomInfo.IncludesTaxes)}\n </Text>\n </div>\n );\n }\n }, [basketContext.currentBasketRows, basketContext.isLoadingPriceQuote]);\n\n return (\n <div className=\"booking-engine-summary\">\n <div className=\"u-marg-bottom\">\n <Headline bold>{t(Translation.Misc.Summary)}</Headline>\n </div>\n\n {showBasketItems ? (\n <>\n {selectedBasketRows.map((row: BasketRow, index: number) => {\n if (!row.isValid()) return;\n\n return <BESummaryRoomRow key={row.getID()} row={row} index={index} showImages={!!props.showImages} />;\n })}\n {addons.length > 0 && (\n <>\n <LineBreak noMargins darker />\n\n <div className=\"u-marg-top\">\n <Text type={TextType.Label} color={Color.DarkGrey}>\n <strong>Add-on Items</strong>\n </Text>\n </div>\n\n {addons.map((row: BasketAddonRow) => {\n const onRemoveClickHandler = () => {\n return basketContext.removeBasketAddonRow(row);\n };\n return <BESummaryAddonRow row={row} key={row.getID()} onRemoveClick={onRemoveClickHandler} />;\n })}\n </>\n )}\n </>\n ) : (\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small}>{t(Translation.Step.General.YourCartIsEmpty)}</Text>\n </div>\n <div style={{ height: '150px', position: 'relative' }}>\n <HotelLocationMap />\n </div>\n <div className=\"u-marg-top\">\n <div className=\"u-marg-bottom\">\n <Text bold>{hotel?.name}</Text>\n </div>\n {combineAddress(addressLine1 as string[], addressLine2 as string[])}\n {overridesContext?.phoneNumberInSummary && hotel?.phone && <Text type={TextType.Small}>{hotel?.phone}</Text>}\n </div>\n </div>\n )}\n {sortedComponents}\n\n {ccx.currentCurrency !== hotel?.defaultCurrency && (\n <Alert iconAlignCenter icon={IconType.Money} type={AlertType.LightGray}>\n <Text type={TextType.Small}>{t(Translation.Step.General.AlternateCurrencyInformation)}</Text>\n </Alert>\n )}\n\n <LineBreak darker />\n\n {totalSection}\n </div>\n );\n}\n"]}
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  import BasketAddonRow from '../../models/BasketAddonRow';
3
2
  interface BESummaryAddonRowProps {
4
3
  row: BasketAddonRow;
5
4
  onRemoveClick: () => void;
6
5
  }
7
- export default function BESummaryAddonRow(props: BESummaryAddonRowProps): React.JSX.Element;
6
+ export default function BESummaryAddonRow(props: BESummaryAddonRowProps): JSX.Element;
8
7
  export {};
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  export interface BESummaryPerkBlockProps {
3
2
  size: 'mobile' | 'desktop';
4
3
  }
5
4
  export declare const BE_SUMMARY_PERK_BLOCK = "BESummaryPerkBlock";
6
- export declare function BESummaryPerkBlock(props: BESummaryPerkBlockProps): React.JSX.Element;
5
+ export declare function BESummaryPerkBlock(props: BESummaryPerkBlockProps): JSX.Element;
@@ -1,2 +1 @@
1
- import React from 'react';
2
- export default function BESummaryPrivacyPolicy(): React.JSX.Element;
1
+ export default function BESummaryPrivacyPolicy(): JSX.Element;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import BasketRow from '../../models/BasketRow';
3
2
  interface BESummaryRoomRowProps {
4
3
  index: number;
@@ -6,5 +5,5 @@ interface BESummaryRoomRowProps {
6
5
  showImages: boolean;
7
6
  onEditPropertyClicked?: () => void;
8
7
  }
9
- export default function BESummaryRoomRow(props: BESummaryRoomRowProps): React.JSX.Element;
8
+ export default function BESummaryRoomRow(props: BESummaryRoomRowProps): JSX.Element;
10
9
  export {};
@@ -79,7 +79,6 @@ function BESummaryRoomRow(props) {
79
79
  const textWhiteOr = (color = Color_1.Color.Graphite) => {
80
80
  return shouldTextBeWhite ? Color_1.Color.White : color;
81
81
  };
82
- console.log(rowQuote);
83
82
  return (react_1.default.createElement(react_1.default.Fragment, null,
84
83
  index >= 1 && react_1.default.createElement(LineBreak_1.default, { noMargins: true, darker: true }),
85
84
  react_1.default.createElement("div", { key: row.getID(), className: 'booking-engine-summary--row' + (isSelected ? ' --selected' : '') },
@@ -1 +1 @@
1
- {"version":3,"file":"BESummaryRoomRow.js","sourceRoot":"/","sources":["src/components/summary/BESummaryRoomRow.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, FullPageEngineContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport React, { useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\n\nimport BEButton from '@/components/generic/BEButton';\nimport Currency from '@/components/generic/Currency';\nimport LineBreak from '@/components/generic/LineBreak';\nimport Text, { TextType } from '@/components/generic/Text';\nimport Tooltip from '@/components/generic/Tooltip/Tooltip';\nimport ImageGallerySlider from '@/components/steps/room/ImageGallerySlider';\nimport BasketRow from '@/models/BasketRow';\nimport { ImageSize } from '@/providers/ImageProvider';\nimport { Color } from '@/util/Color';\nimport getStepRoom from '@/util/GetStepRoom';\nimport StringHelper from '@/util/StringHelper';\n\ninterface BESummaryRoomRowProps {\n index: number;\n row: BasketRow;\n showImages: boolean;\n\n onEditPropertyClicked?: () => void;\n}\n\nexport default function BESummaryRoomRow(props: BESummaryRoomRowProps) {\n const basketContext = useContext(BasketContext);\n const { currentStep } = useContext(FullPageEngineContext);\n const { isAccent2ColorDark } = useCurrentHotel();\n\n const { t } = useTranslation();\n const history = useHistory();\n\n const { index, row, showImages } = props;\n\n const totalPrice = row.getTotalPrice(true);\n const rate = row.getRate();\n\n const isSelected = basketContext.selectedBasketRow?.getID() === row.getID();\n const isOnlyRate = basketContext.currentBasketRows.length === 1;\n\n const removeRate = t(isOnlyRate ? Translation.Step.Room.Summary.NoRemoveLastRate : Translation.Step.Room.Summary.RemoveThisRate);\n\n const rowFees = row.getRate()?.getTotalFees();\n const rowTaxes = row.getRate()?.getTotalTaxes();\n\n const rowQuote = row.quoteDetails;\n\n const selectBasketRowOnClick = () => basketContext.selectBasketRow(null);\n const editOnClickHandler = () => {\n if (currentStep !== getStepRoom()) {\n history.push(getStepRoom().getStepUrl());\n }\n basketContext.selectBasketRow(row);\n\n if (props.onEditPropertyClicked) {\n props.onEditPropertyClicked();\n }\n };\n const removeOnClickHandler = () => {\n if (currentStep !== getStepRoom()) {\n history.push(getStepRoom().getStepUrl());\n }\n basketContext.removeBasketRow(row);\n };\n\n const promoApplied = row.isPromoCodeValid();\n\n const shouldTextBeWhite = isAccent2ColorDark && isSelected;\n const textWhiteOr = (color = Color.Graphite) => {\n return shouldTextBeWhite ? Color.White : color;\n };\n\n console.log(rowQuote);\n\n return (\n <>\n {index >= 1 && <LineBreak noMargins darker />}\n <div key={row.getID()} className={'booking-engine-summary--row' + (isSelected ? ' --selected' : '')}>\n {showImages && (\n <div className=\"u-border-rounded\" style={{ height: '190px' }}>\n <ImageGallerySlider images={row.getRoom().getImages()} imageSize={ImageSize.Tiny} />\n </div>\n )}\n <div className=\"u-marg-top--light\">\n <Text type={TextType.Label} color={textWhiteOr(Color.DarkGrey)}>\n <strong>\n {t(Translation.Step.Date.Room)} {index + 1}\n </strong>\n </Text>\n </div>\n <div className=\"u-marg-bottom--light\">\n <Text color={textWhiteOr(Color.Navy)}>\n <strong>{rate?.getRoom().name}</strong>\n </Text>\n </div>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {rate?.name}\n </Text>\n </div>\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Step.Date.Arrival)}\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.Accent)}>\n {row.getArrivalDate()}\n </Text>\n </div>\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Step.Date.Departure)}\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.Accent)}>\n {row.getDepartureDate()}\n </Text>\n </div>\n <div className=\"u-marg-bottom--medium u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {StringHelper.pluralWithDictAndCount(row.getAdults(), Translation.Step.Date.Adult, t)},&nbsp;\n {StringHelper.pluralWithDictAndCount(row.getChildren(), Translation.Step.Date.Child, t)}\n </Text>\n </div>\n <div className=\"u-marg-top--light u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Misc.Rates)} ({t(Translation.Misc.PerNight)})\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.DarkGrey)}>\n <Currency>{rate?.getAveragePrice(true)}</Currency>\n </Text>\n </div>\n {promoApplied && (\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Step.Date.PromoCode)}\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.DarkGrey)}>\n {row.getPromoCode()}\n </Text>\n </div>\n )}\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Step.General.RoomTotal)}\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.DarkGrey)}>\n <Currency>{totalPrice}</Currency>\n </Text>\n </div>\n {!!rowFees && (\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Step.Room.Summary.Fees)}\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.DarkGrey)}>\n <Currency>{rowFees}</Currency>\n </Text>\n </div>\n )}\n {!!rowTaxes && (\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Step.Room.Summary.Taxes)}\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.DarkGrey)}>\n <Currency>{rowTaxes}</Currency>\n </Text>\n </div>\n )}\n {!!row.quoteDetails && (\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small}>Deposit</Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.DarkGrey)}>\n <Currency>{rowQuote.totalDeposit}</Currency>\n </Text>\n </div>\n )}\n <div className=\"u-marg-top u-marg-bottom u-flex justify-content-start\">\n {isSelected ? (\n <Tooltip title={t(Translation.Misc.Cancel)}>\n <div>\n <BEButton isText size=\"tiny\" primary onClick={selectBasketRowOnClick} textColor={textWhiteOr(Color.Accent)}>\n {t(Translation.Misc.Cancel)}\n </BEButton>\n </div>\n </Tooltip>\n ) : (\n <Tooltip title={t(Translation.Step.Confirmation.EditThisProperty)}>\n <div>\n <BEButton isText size=\"tiny\" primary onClick={editOnClickHandler} textColor={textWhiteOr(Color.Accent)}>\n {t(Translation.Misc.Edit)}\n </BEButton>\n </div>\n </Tooltip>\n )}\n\n <span className=\"u-pad-left--light u-pad-right--light\" style={{ color: Color.LightGrey }}>\n |\n </span>\n <Tooltip title={removeRate}>\n <div>\n <BEButton isText size=\"tiny\" primary disabled={isOnlyRate} onClick={removeOnClickHandler} textColor={textWhiteOr(Color.Accent)}>\n {t(Translation.Misc.Remove)}\n </BEButton>\n </div>\n </Tooltip>\n </div>\n </div>\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"BESummaryRoomRow.js","sourceRoot":"/","sources":["src/components/summary/BESummaryRoomRow.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, FullPageEngineContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport React, { useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\n\nimport BEButton from '@/components/generic/BEButton';\nimport Currency from '@/components/generic/Currency';\nimport LineBreak from '@/components/generic/LineBreak';\nimport Text, { TextType } from '@/components/generic/Text';\nimport Tooltip from '@/components/generic/Tooltip/Tooltip';\nimport ImageGallerySlider from '@/components/steps/room/ImageGallerySlider';\nimport BasketRow from '@/models/BasketRow';\nimport { ImageSize } from '@/providers/ImageProvider';\nimport { Color } from '@/util/Color';\nimport getStepRoom from '@/util/GetStepRoom';\nimport StringHelper from '@/util/StringHelper';\n\ninterface BESummaryRoomRowProps {\n index: number;\n row: BasketRow;\n showImages: boolean;\n\n onEditPropertyClicked?: () => void;\n}\n\nexport default function BESummaryRoomRow(props: BESummaryRoomRowProps) {\n const basketContext = useContext(BasketContext);\n const { currentStep } = useContext(FullPageEngineContext);\n const { isAccent2ColorDark } = useCurrentHotel();\n\n const { t } = useTranslation();\n const history = useHistory();\n\n const { index, row, showImages } = props;\n\n const totalPrice = row.getTotalPrice(true);\n const rate = row.getRate();\n\n const isSelected = basketContext.selectedBasketRow?.getID() === row.getID();\n const isOnlyRate = basketContext.currentBasketRows.length === 1;\n\n const removeRate = t(isOnlyRate ? Translation.Step.Room.Summary.NoRemoveLastRate : Translation.Step.Room.Summary.RemoveThisRate);\n\n const rowFees = row.getRate()?.getTotalFees();\n const rowTaxes = row.getRate()?.getTotalTaxes();\n\n const rowQuote = row.quoteDetails;\n\n const selectBasketRowOnClick = () => basketContext.selectBasketRow(null);\n const editOnClickHandler = () => {\n if (currentStep !== getStepRoom()) {\n history.push(getStepRoom().getStepUrl());\n }\n basketContext.selectBasketRow(row);\n\n if (props.onEditPropertyClicked) {\n props.onEditPropertyClicked();\n }\n };\n const removeOnClickHandler = () => {\n if (currentStep !== getStepRoom()) {\n history.push(getStepRoom().getStepUrl());\n }\n basketContext.removeBasketRow(row);\n };\n\n const promoApplied = row.isPromoCodeValid();\n\n const shouldTextBeWhite = isAccent2ColorDark && isSelected;\n const textWhiteOr = (color = Color.Graphite) => {\n return shouldTextBeWhite ? Color.White : color;\n };\n\n return (\n <>\n {index >= 1 && <LineBreak noMargins darker />}\n <div key={row.getID()} className={'booking-engine-summary--row' + (isSelected ? ' --selected' : '')}>\n {showImages && (\n <div className=\"u-border-rounded\" style={{ height: '190px' }}>\n <ImageGallerySlider images={row.getRoom().getImages()} imageSize={ImageSize.Tiny} />\n </div>\n )}\n <div className=\"u-marg-top--light\">\n <Text type={TextType.Label} color={textWhiteOr(Color.DarkGrey)}>\n <strong>\n {t(Translation.Step.Date.Room)} {index + 1}\n </strong>\n </Text>\n </div>\n <div className=\"u-marg-bottom--light\">\n <Text color={textWhiteOr(Color.Navy)}>\n <strong>{rate?.getRoom().name}</strong>\n </Text>\n </div>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {rate?.name}\n </Text>\n </div>\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Step.Date.Arrival)}\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.Accent)}>\n {row.getArrivalDate()}\n </Text>\n </div>\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Step.Date.Departure)}\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.Accent)}>\n {row.getDepartureDate()}\n </Text>\n </div>\n <div className=\"u-marg-bottom--medium u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {StringHelper.pluralWithDictAndCount(row.getAdults(), Translation.Step.Date.Adult, t)},&nbsp;\n {StringHelper.pluralWithDictAndCount(row.getChildren(), Translation.Step.Date.Child, t)}\n </Text>\n </div>\n <div className=\"u-marg-top--light u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Misc.Rates)} ({t(Translation.Misc.PerNight)})\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.DarkGrey)}>\n <Currency>{rate?.getAveragePrice(true)}</Currency>\n </Text>\n </div>\n {promoApplied && (\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Step.Date.PromoCode)}\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.DarkGrey)}>\n {row.getPromoCode()}\n </Text>\n </div>\n )}\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Step.General.RoomTotal)}\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.DarkGrey)}>\n <Currency>{totalPrice}</Currency>\n </Text>\n </div>\n {!!rowFees && (\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Step.Room.Summary.Fees)}\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.DarkGrey)}>\n <Currency>{rowFees}</Currency>\n </Text>\n </div>\n )}\n {!!rowTaxes && (\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small} color={textWhiteOr()}>\n {t(Translation.Step.Room.Summary.Taxes)}\n </Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.DarkGrey)}>\n <Currency>{rowTaxes}</Currency>\n </Text>\n </div>\n )}\n {!!row.quoteDetails && (\n <div className=\"u-marg-bottom--light u-flex\">\n <Text type={TextType.Small}>Deposit</Text>\n <Text type={TextType.Small} color={textWhiteOr(Color.DarkGrey)}>\n <Currency>{rowQuote.totalDeposit}</Currency>\n </Text>\n </div>\n )}\n <div className=\"u-marg-top u-marg-bottom u-flex justify-content-start\">\n {isSelected ? (\n <Tooltip title={t(Translation.Misc.Cancel)}>\n <div>\n <BEButton isText size=\"tiny\" primary onClick={selectBasketRowOnClick} textColor={textWhiteOr(Color.Accent)}>\n {t(Translation.Misc.Cancel)}\n </BEButton>\n </div>\n </Tooltip>\n ) : (\n <Tooltip title={t(Translation.Step.Confirmation.EditThisProperty)}>\n <div>\n <BEButton isText size=\"tiny\" primary onClick={editOnClickHandler} textColor={textWhiteOr(Color.Accent)}>\n {t(Translation.Misc.Edit)}\n </BEButton>\n </div>\n </Tooltip>\n )}\n\n <span className=\"u-pad-left--light u-pad-right--light\" style={{ color: Color.LightGrey }}>\n |\n </span>\n <Tooltip title={removeRate}>\n <div>\n <BEButton isText size=\"tiny\" primary disabled={isOnlyRate} onClick={removeOnClickHandler} textColor={textWhiteOr(Color.Accent)}>\n {t(Translation.Misc.Remove)}\n </BEButton>\n </div>\n </Tooltip>\n </div>\n </div>\n </>\n );\n}\n"]}
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import type { Hotel } from '../../models/Client/Hotel/Hotel';
3
2
  interface TransportDistanceFromHotelBlockProps {
4
3
  vertical?: boolean;
@@ -6,5 +5,5 @@ interface TransportDistanceFromHotelBlockProps {
6
5
  distanceOverrides?: any;
7
6
  hotel?: Hotel;
8
7
  }
9
- export default function TransportDistanceFromHotelBlock(props: TransportDistanceFromHotelBlockProps): React.JSX.Element;
8
+ export default function TransportDistanceFromHotelBlock(props: TransportDistanceFromHotelBlockProps): JSX.Element;
10
9
  export {};
@@ -2,4 +2,4 @@ import React from 'react';
2
2
  export interface BasketContextWrapperProps {
3
3
  children: React.ReactNode;
4
4
  }
5
- export declare function BasketContextWrapper(props: BasketContextWrapperProps): React.JSX.Element;
5
+ export declare function BasketContextWrapper(props: BasketContextWrapperProps): JSX.Element;
@@ -4,4 +4,4 @@ export interface BookingEngineContextWrapperProps {
4
4
  children: React.ReactNode;
5
5
  engine: BaseEngine<BaseEngineConfig>;
6
6
  }
7
- export declare function BookingEngineContextWrapper({ engine, children }: BookingEngineContextWrapperProps): React.JSX.Element;
7
+ export declare function BookingEngineContextWrapper({ engine, children }: BookingEngineContextWrapperProps): JSX.Element;
@@ -1,8 +1,8 @@
1
- import React, { ReactChild } from 'react';
1
+ import { ReactChild } from 'react';
2
2
  import type { ConfigCompany } from '../../models/Client/Hotel/Company';
3
3
  interface CompanyContextWrapperProps {
4
4
  children: ReactChild;
5
5
  configCompany: ConfigCompany;
6
6
  }
7
- export declare const CompanyContextWrapper: ({ configCompany: company, children }: CompanyContextWrapperProps) => React.JSX.Element;
7
+ export declare const CompanyContextWrapper: ({ configCompany: company, children }: CompanyContextWrapperProps) => JSX.Element;
8
8
  export {};
@@ -12,5 +12,5 @@ type ConfirmationValidator = {
12
12
  name: string;
13
13
  validate: (scrollToInput?: boolean) => boolean;
14
14
  };
15
- export declare function ConfirmationFormContextWrapper(props: ConfirmationFormContextWrapperProps): React.JSX.Element;
15
+ export declare function ConfirmationFormContextWrapper(props: ConfirmationFormContextWrapperProps): JSX.Element;
16
16
  export {};
@@ -1,14 +1,12 @@
1
1
  import ReservationsDTO from '../../models/Api/ReservationsDTO';
2
- import { FBookGetPaymentDetails, FBookSuccessCallback, FBookValidateFunction, FBookValidationCallback } from '../../models/Confirmation';
2
+ import { FBookGetPaymentDetails, FBookValidateFunction, FBookValidationCallback } from '../../models/Confirmation';
3
3
  export interface ConfirmationContextProps {
4
- book?: (getPaymentDetails: FBookGetPaymentDetails, comments?: string, preValidate?: FBookValidateFunction, onPostValidationError?: FBookValidationCallback, onSuccess?: FBookSuccessCallback) => Promise<void>;
4
+ book?: (getPaymentDetails: FBookGetPaymentDetails, comments?: string, preValidate?: FBookValidateFunction, onPostValidationError?: FBookValidationCallback) => Promise<void>;
5
5
  commitReservation?: (resData: ReservationsDTO, statusUpdate?: string) => Promise<void>;
6
6
  rollbackReservation?: () => Promise<void>;
7
7
  redirectOut: (target: string, statusUpdate?: string) => void;
8
8
  setLoadingStatus: (status: string) => void;
9
9
  isLoading?: boolean;
10
- apiErrors?: string;
11
- clearApiErrors?: () => void;
12
10
  isBackFromPlanpay?: boolean;
13
11
  isBackFromExternalPayment?: boolean;
14
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationStepContextTypes.js","sourceRoot":"/","sources":["src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.ts"],"names":[],"mappings":"","sourcesContent":["import ReservationsDTO from '@/models/Api/ReservationsDTO';\nimport { FBookGetPaymentDetails, FBookSuccessCallback, FBookValidateFunction, FBookValidationCallback } from '@/models/Confirmation';\n\nexport interface ConfirmationContextProps {\n book?: (\n getPaymentDetails: FBookGetPaymentDetails,\n comments?: string,\n preValidate?: FBookValidateFunction,\n onPostValidationError?: FBookValidationCallback,\n onSuccess?: FBookSuccessCallback\n ) => Promise<void>;\n commitReservation?: (resData: ReservationsDTO, statusUpdate?: string) => Promise<void>;\n rollbackReservation?: () => Promise<void>;\n redirectOut: (target: string, statusUpdate?: string) => void;\n setLoadingStatus: (status: string) => void;\n\n isLoading?: boolean;\n apiErrors?: string;\n clearApiErrors?: () => void;\n isBackFromPlanpay?: boolean;\n isBackFromExternalPayment?: boolean;\n}\n"]}
1
+ {"version":3,"file":"ConfirmationStepContextTypes.js","sourceRoot":"/","sources":["src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.ts"],"names":[],"mappings":"","sourcesContent":["import ReservationsDTO from '@/models/Api/ReservationsDTO';\nimport { FBookGetPaymentDetails, FBookValidateFunction, FBookValidationCallback } from '@/models/Confirmation';\n\nexport interface ConfirmationContextProps {\n book?: (getPaymentDetails: FBookGetPaymentDetails, comments?: string, preValidate?: FBookValidateFunction, onPostValidationError?: FBookValidationCallback) => Promise<void>;\n commitReservation?: (resData: ReservationsDTO, statusUpdate?: string) => Promise<void>;\n rollbackReservation?: () => Promise<void>;\n redirectOut: (target: string, statusUpdate?: string) => void;\n setLoadingStatus: (status: string) => void;\n\n isLoading?: boolean;\n isBackFromPlanpay?: boolean;\n isBackFromExternalPayment?: boolean;\n}\n"]}
@@ -38,11 +38,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
38
38
  exports.ConfirmationStepContextWrapper = void 0;
39
39
  const contexts_1 = require("../index.js");
40
40
  const hooks_1 = require("../../hooks/index.js");
41
+ const core_1 = require("@roomstay/core");
41
42
  const Sentry = __importStar(require("@sentry/browser"));
42
43
  const types_1 = require("@sentry/types");
43
44
  const react_1 = __importStar(require("react"));
44
45
  const react_hook_form_1 = require("react-hook-form");
45
46
  const react_i18next_1 = require("react-i18next");
47
+ const react_router_1 = require("react-router");
46
48
  const BookingAPI_1 = __importDefault(require("../../api/BookingAPI"));
47
49
  const OverlayLoader_1 = require("../../components/generic/loader/OverlayLoader");
48
50
  const ConfirmationStepContext_1 = require("./ConfirmationStepContext");
@@ -52,21 +54,26 @@ const RolledBackBookingEvent_1 = require("../../events/views/RolledBackBookingEv
52
54
  const ConfirmationQuery_1 = require("../../hooks/ConfirmationQuery");
53
55
  const Translation_1 = require("../../translations/Translation");
54
56
  const DataLayer_1 = __importStar(require("../../util/DataLayer"));
57
+ const ConfirmationStepErrorModal_1 = require("./ConfirmationStepErrorModal");
55
58
  const ConfirmationStepContextProvider = ConfirmationStepContext_1.ConfirmationStepContext.Provider;
56
59
  const ConfirmationStepContextWrapper = ({ children }) => {
57
- const basket = (0, react_1.useContext)(contexts_1.BasketContext);
58
60
  const { queryPaymentMethod, queryRoomstayId: queryReservationId, queryPlanpayCheckoutId, returnFromPayment, success } = (0, ConfirmationQuery_1.useConfirmationQuery)();
59
61
  // load the engine context
60
62
  const engineContext = (0, react_1.useContext)(contexts_1.BookingEngineContext);
61
63
  const [isLoading, setIsLoading] = (0, react_1.useState)(false);
62
64
  const [loadingStatus, setLoadingStatus] = (0, react_1.useState)('');
63
- const [apiErrors, setApiErrors] = (0, react_1.useState)('');
65
+ const [apiErrorResponse, setApiErrorResponse] = (0, react_1.useState)();
66
+ const [errorModalLoading, setErrorModalLoading] = (0, react_1.useState)(false);
64
67
  const methods = (0, react_hook_form_1.useForm)({
65
68
  mode: 'onChange',
66
69
  });
67
70
  const basketContext = (0, react_1.useContext)(contexts_1.BasketContext);
68
71
  const basketRows = basketContext.getAllValidRows();
69
72
  const basketAddonRows = basketContext.basketAddonRows;
73
+ const history = (0, react_router_1.useHistory)();
74
+ const currentSession = (0, react_1.useMemo)(() => {
75
+ return engineContext.engine.getInitialSession();
76
+ }, []);
70
77
  const { hotel } = (0, hooks_1.useCurrentHotel)();
71
78
  const { t } = (0, react_i18next_1.useTranslation)();
72
79
  const { raise } = (0, hooks_1.useEvent)();
@@ -116,8 +123,19 @@ const ConfirmationStepContextWrapper = ({ children }) => {
116
123
  };
117
124
  }
118
125
  });
119
- const onSubmit = (getPaymentDetails, comments, preValidate, onPostValidationError, onSuccess) => (formValues) => __awaiter(void 0, void 0, void 0, function* () {
120
- var _a;
126
+ const onSubmitSuccess = (data) => __awaiter(void 0, void 0, void 0, function* () {
127
+ var _a, _b, _c, _d;
128
+ raise(new PlacedBookingEvent_1.PlacedBookingEvent(data, basketContext.currentBasketRows));
129
+ if ((hotel === null || hotel === void 0 ? void 0 : hotel.cardProcessor) === core_1.EHotelCardProcessor.Passthrough) {
130
+ yield (commitReservation === null || commitReservation === void 0 ? void 0 : commitReservation(data));
131
+ }
132
+ else {
133
+ if ((_b = (_a = data.payment) === null || _a === void 0 ? void 0 : _a.external) === null || _b === void 0 ? void 0 : _b.redirectUrl) {
134
+ redirectOut((_d = (_c = data.payment) === null || _c === void 0 ? void 0 : _c.external) === null || _d === void 0 ? void 0 : _d.redirectUrl);
135
+ }
136
+ }
137
+ });
138
+ const onSubmit = (getPaymentDetails, comments, preValidate, onPostValidationError) => (formValues) => __awaiter(void 0, void 0, void 0, function* () {
121
139
  DataLayer_1.default.instance.sendInteraction('Complete Booking', DataLayer_1.InteractionType.BUTTON, DataLayer_1.InteractionStep.GUEST_DETAILS);
122
140
  setIsLoading(true);
123
141
  let data;
@@ -127,23 +145,29 @@ const ConfirmationStepContextWrapper = ({ children }) => {
127
145
  return;
128
146
  }
129
147
  const payment = yield getPaymentDetails();
148
+ const userProfiles = toUserProfiles(formValues);
130
149
  try {
131
- data = yield BookingAPI_1.default.Reservation.bookNow(basketRows, toUserProfiles(formValues), payment, basketAddonRows, comments || '', hotel === null || hotel === void 0 ? void 0 : hotel.hotelID, engineContext.sessionProvider.getCurrentSessionID().toString());
150
+ data = yield BookingAPI_1.default.Reservation.bookNow(basketRows, userProfiles, payment, basketAddonRows, comments || '', hotel === null || hotel === void 0 ? void 0 : hotel.hotelID, engineContext.sessionProvider.getCurrentSessionID().toString());
132
151
  basketContext.booked(data);
152
+ // Save response in Session.
153
+ yield engineContext.engine.getSessionProvider().updateSession({
154
+ reservationRequest: {
155
+ userProfiles,
156
+ payment,
157
+ comments: comments || '',
158
+ },
159
+ });
133
160
  const validationResult = yield validateReservation(data);
134
161
  if (validationResult) {
135
162
  setIsLoading(false);
136
163
  onPostValidationError === null || onPostValidationError === void 0 ? void 0 : onPostValidationError(validationResult);
137
164
  }
138
165
  else {
139
- raise(new PlacedBookingEvent_1.PlacedBookingEvent(data, basketContext.currentBasketRows));
140
- yield (onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(data));
166
+ yield onSubmitSuccess(data);
141
167
  }
142
168
  }
143
169
  catch (error) {
144
- console.log(error);
145
- setApiErrors((_a = error === null || error === void 0 ? void 0 : error.Message) !== null && _a !== void 0 ? _a : t(Translation_1.Translation.Step.Confirmation.UnexpectedErrorFromBookingDatabase));
146
- // We don't want to stop the isLoading on a succesful flow to avoid clicking checkout twice
170
+ setApiErrorResponse(error);
147
171
  }
148
172
  finally {
149
173
  setIsLoading(false);
@@ -156,7 +180,6 @@ const ConfirmationStepContextWrapper = ({ children }) => {
156
180
  return (_a = data === null || data === void 0 ? void 0 : data.reservations) === null || _a === void 0 ? void 0 : _a.map((reservation) => reservation.reservationNumber);
157
181
  };
158
182
  const commitReservation = (resData, statusUpdate) => __awaiter(void 0, void 0, void 0, function* () {
159
- var _b;
160
183
  try {
161
184
  if (statusUpdate) {
162
185
  setLoadingStatus(statusUpdate);
@@ -166,42 +189,31 @@ const ConfirmationStepContextWrapper = ({ children }) => {
166
189
  const reservationIds = parseReservationIdsFromData(resData);
167
190
  if (reservationIds.length) {
168
191
  try {
169
- yield BookingAPI_1.default.Reservation.commit(reservationIds, resData.itineraryNumber, hotel === null || hotel === void 0 ? void 0 : hotel.hotelID, queryPlanpayCheckoutId || undefined)
170
- .then((response) => {
171
- try {
172
- DataLayer_1.default.instance.sendReservationConfirmed(basketContext.getAllValidRows(), basketContext.basketAddonRows, response);
173
- }
174
- catch (ex) {
175
- Sentry.captureException('Failed to read reservations from GTM code: ' + JSON.stringify(ex));
176
- }
177
- basketContext.checkedOut(response);
178
- raise(new CommittedBookingEvent_1.CommittedBookingEvent(resData, basketContext.currentBasketRows));
179
- })
180
- .catch((ex) => {
181
- console.log(ex);
182
- setApiErrors(t(Translation_1.Translation.Misc.UnexpectedError));
183
- })
184
- .finally(() => {
185
- setIsLoading(false);
186
- });
192
+ const response = yield BookingAPI_1.default.Reservation.commit(reservationIds, resData.itineraryNumber, hotel === null || hotel === void 0 ? void 0 : hotel.hotelID, queryPlanpayCheckoutId || undefined);
193
+ try {
194
+ DataLayer_1.default.instance.sendReservationConfirmed(basketContext.getAllValidRows(), basketContext.basketAddonRows, response);
195
+ }
196
+ catch (ex) {
197
+ Sentry.captureException('Failed to read reservations from GTM code: ' + JSON.stringify(ex));
198
+ }
199
+ basketContext.checkedOut(response);
200
+ raise(new CommittedBookingEvent_1.CommittedBookingEvent(resData, basketContext.currentBasketRows));
187
201
  }
188
202
  catch (error) {
189
- setApiErrors((_b = error === null || error === void 0 ? void 0 : error.Message) !== null && _b !== void 0 ? _b : t(Translation_1.Translation.Step.Confirmation.UnexpectedErrorFromBookingDatabase));
203
+ setApiErrorResponse(error);
190
204
  }
191
205
  }
192
206
  else {
193
- setApiErrors(t(Translation_1.Translation.Step.Confirmation.UnexpectedErrorOnCommittingReservation));
194
207
  contexts_1.ErrorHandler.add({ message: t(Translation_1.Translation.Step.Confirmation.UnexpectedErrorOnCommittingReservation) });
195
208
  Sentry.captureException('No reservation IDs found when attempting to commit: ' + JSON.stringify(resData));
196
209
  }
197
210
  }
198
211
  }
199
212
  catch (ex) {
200
- setApiErrors(t(Translation_1.Translation.Step.Confirmation.FailedToCommitReservation));
201
- console.log('Failed to commit reservation ');
202
213
  console.error(ex);
203
214
  Sentry.captureException(ex);
204
215
  }
216
+ setIsLoading(false);
205
217
  });
206
218
  const rollbackReservation = () => __awaiter(void 0, void 0, void 0, function* () {
207
219
  if (!basketContext.reservationData)
@@ -226,9 +238,8 @@ const ConfirmationStepContextWrapper = ({ children }) => {
226
238
  setIsLoading(false);
227
239
  }
228
240
  });
229
- const clearApiErrors = () => setApiErrors('');
230
- const book = (getPaymentDetails, comments, preValidate, onPostValidationError, onSuccess) => __awaiter(void 0, void 0, void 0, function* () {
231
- yield methods.handleSubmit(onSubmit(getPaymentDetails, comments, preValidate, onPostValidationError, onSuccess))();
241
+ const book = (getPaymentDetails, comments, preValidate, onPostValidationError) => __awaiter(void 0, void 0, void 0, function* () {
242
+ yield methods.handleSubmit(onSubmit(getPaymentDetails, comments, preValidate, onPostValidationError))();
232
243
  });
233
244
  const redirectOut = (targetUrl, stateUpdate) => {
234
245
  setIsLoading(true);
@@ -237,6 +248,40 @@ const ConfirmationStepContextWrapper = ({ children }) => {
237
248
  }
238
249
  window.location.href = targetUrl;
239
250
  };
251
+ const onRetryBooking = () => __awaiter(void 0, void 0, void 0, function* () {
252
+ var _e;
253
+ setErrorModalLoading(true);
254
+ const resRequest = currentSession === null || currentSession === void 0 ? void 0 : currentSession.reservationRequest;
255
+ const roomstayId = (_e = currentSession === null || currentSession === void 0 ? void 0 : currentSession.reservation) === null || _e === void 0 ? void 0 : _e.roomstayId;
256
+ if (!resRequest || !roomstayId) {
257
+ return null; // TODO: Handle me please
258
+ }
259
+ try {
260
+ const data = yield BookingAPI_1.default.Reservation.bookNow(basketRows, resRequest.userProfiles, resRequest.payment, basketAddonRows, '', hotel === null || hotel === void 0 ? void 0 : hotel.hotelID, engineContext.sessionProvider.getCurrentSessionID().toString(), undefined, true, roomstayId);
261
+ basketContext.booked(data);
262
+ const validationResult = yield validateReservation(data);
263
+ if (validationResult) {
264
+ setIsLoading(false);
265
+ }
266
+ else {
267
+ yield onSubmitSuccess(data);
268
+ }
269
+ }
270
+ catch (error) {
271
+ setApiErrorResponse(error);
272
+ }
273
+ finally {
274
+ setIsLoading(false);
275
+ setErrorModalLoading(false);
276
+ }
277
+ });
278
+ const onErrorModalClose = () => __awaiter(void 0, void 0, void 0, function* () {
279
+ setErrorModalLoading(true);
280
+ yield rollbackReservation();
281
+ const params = new URLSearchParams(window.location.search);
282
+ window.history.replaceState({}, '', `${window.location.pathname}?${params}`);
283
+ window.location.reload();
284
+ });
240
285
  return (react_1.default.createElement(react_hook_form_1.FormProvider, Object.assign({}, methods),
241
286
  react_1.default.createElement(ConfirmationStepContextProvider, { value: {
242
287
  book,
@@ -245,12 +290,11 @@ const ConfirmationStepContextWrapper = ({ children }) => {
245
290
  redirectOut,
246
291
  setLoadingStatus,
247
292
  isLoading,
248
- apiErrors,
249
- clearApiErrors,
250
293
  isBackFromPlanpay,
251
294
  isBackFromExternalPayment,
252
295
  } },
253
296
  isLoading && react_1.default.createElement(OverlayLoader_1.OverlayLoader, { isFullscreen: true, label: loadingStatus }),
297
+ react_1.default.createElement(ConfirmationStepErrorModal_1.ConfirmationStepErrorModal, { onRetry: onRetryBooking, onClose: onErrorModalClose, errorData: apiErrorResponse, isLoading: errorModalLoading }),
254
298
  children)));
255
299
  };
256
300
  exports.ConfirmationStepContextWrapper = ConfirmationStepContextWrapper;