@roomstay/frontend 2.4.4-5 → 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.
- package/dist/115.bundle.js +1 -1
- package/dist/{481.bundle.js → 151.bundle.js} +1 -1
- package/dist/201.bundle.js +1 -1
- package/dist/387.bundle.js +1 -1
- package/dist/446.bundle.js +1 -1
- package/dist/468.bundle.js +1 -0
- package/dist/535.bundle.js +2 -0
- package/dist/{329.bundle.js.LICENSE.txt → 535.bundle.js.LICENSE.txt} +1 -1
- package/dist/572.bundle.js +1 -1
- package/dist/686.bundle.js +1 -1
- package/dist/855.bundle.js +1 -1
- package/dist/873.bundle.js +1 -1
- package/dist/903.bundle.js +1 -1
- package/dist/975.bundle.js +1 -1
- package/dist/main.bundle.js +1 -1
- package/dist/src/animations/AutoAutoHeight.d.ts +1 -1
- package/dist/src/api/ReservationAPI.d.ts +13 -1
- package/dist/src/api/ReservationAPI.js +19 -2
- package/dist/src/api/ReservationAPI.js.map +1 -1
- package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +1 -2
- package/dist/src/components/User/Forms/SignUpForm.d.ts +1 -2
- package/dist/src/components/generic/Alert.d.ts +2 -2
- package/dist/src/components/generic/BEButton.d.ts +4 -4
- package/dist/src/components/generic/BEButton.js.map +1 -1
- package/dist/src/components/generic/BackButton.d.ts +1 -2
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +1 -2
- package/dist/src/components/generic/Card/Card/Card.d.ts +3 -3
- package/dist/src/components/generic/Card/Card/Card.js.map +1 -1
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +1 -2
- package/dist/src/components/generic/Countdown.d.ts +1 -2
- package/dist/src/components/generic/Currency.d.ts +1 -2
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +1 -2
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +1 -2
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +1 -2
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +1 -2
- package/dist/src/components/generic/Distance.d.ts +1 -2
- package/dist/src/components/generic/Headline.d.ts +1 -1
- package/dist/src/components/generic/Icon/Icon.d.ts +3 -4
- package/dist/src/components/generic/InputGroup/InputGroup.d.ts +2 -2
- package/dist/src/components/generic/LineBreak.d.ts +1 -2
- package/dist/src/components/generic/Notification.d.ts +1 -1
- package/dist/src/components/generic/NumberIncrement.d.ts +1 -2
- package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -2
- package/dist/src/components/generic/Overlay/Overlay.js +1 -2
- package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +1 -2
- package/dist/src/components/generic/Pill.d.ts +4 -3
- package/dist/src/components/generic/Pill.js.map +1 -1
- package/dist/src/components/generic/Placeholder.d.ts +1 -2
- package/dist/src/components/generic/PromoCodeInput.d.ts +1 -2
- package/dist/src/components/generic/RecentSearchesCard.d.ts +1 -2
- package/dist/src/components/generic/RoomstayMark.d.ts +1 -2
- package/dist/src/components/generic/Select/Select.d.ts +2 -2
- package/dist/src/components/generic/Select/Select.js +1 -1
- package/dist/src/components/generic/Select/Select.js.map +1 -1
- package/dist/src/components/generic/Slider/Slider.d.ts +1 -1
- package/dist/src/components/generic/Tabs/Tab.d.ts +3 -3
- package/dist/src/components/generic/Tabs/Tab.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabLink.d.ts +1 -2
- package/dist/src/components/generic/Tabs/TabRouteContainer.d.ts +2 -2
- package/dist/src/components/generic/Text.d.ts +2 -1
- package/dist/src/components/generic/Text.js.map +1 -1
- package/dist/src/components/generic/TextArea.d.ts +1 -1
- package/dist/src/components/generic/Tooltip/Tooltip.d.ts +2 -2
- package/dist/src/components/generic/badging/SSLSecureBadge.d.ts +1 -2
- package/dist/src/components/generic/buttons/NextStepButton.d.ts +1 -2
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.d.ts +2 -2
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +1 -1
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
- package/dist/src/components/generic/date/DatePicker.d.ts +1 -2
- package/dist/src/components/generic/date/DatePickerDay.d.ts +1 -2
- package/dist/src/components/generic/date/DatePickerDays.d.ts +1 -2
- package/dist/src/components/generic/date/DatePickerMonth.d.ts +1 -2
- package/dist/src/components/generic/date/DatePickerWeek.d.ts +1 -2
- package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
- package/dist/src/components/generic/date/WeekViewSkeleton.d.ts +1 -2
- package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
- package/dist/src/components/generic/loader/LargeLoader.d.ts +1 -2
- package/dist/src/components/generic/loader/OverlayLoader.d.ts +1 -2
- package/dist/src/components/generic/loader/SmallSpinner.d.ts +1 -2
- package/dist/src/components/generic/map/HotelLocationMap.d.ts +1 -2
- package/dist/src/components/generic/modal/ConfirmationModal.d.ts +1 -2
- package/dist/src/components/generic/modal/ErrorModal.d.ts +1 -1
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +1 -2
- package/dist/src/components/generic/modal/SimpleModal.d.ts +1 -1
- package/dist/src/components/generic/modal/SimpleModal.js +1 -2
- package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
- package/dist/src/components/generic/modal/TabbedModal.d.ts +1 -1
- package/dist/src/components/generic/radio/RadioFields.d.ts +1 -2
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.d.ts +1 -2
- package/dist/src/components/navigation/Header.d.ts +1 -2
- package/dist/src/components/navigation/StepSelector.d.ts +1 -2
- package/dist/src/components/navigation/StepSelectorModal.d.ts +1 -2
- package/dist/src/components/pages/Account/Card/MemberCardItem.d.ts +1 -2
- package/dist/src/components/pages/PageColorComponent.d.ts +1 -2
- package/dist/src/components/reservation/ReservationItem.d.ts +1 -2
- package/dist/src/components/reservation/ReservationItem.js +1 -0
- package/dist/src/components/reservation/ReservationItem.js.map +1 -1
- package/dist/src/components/steps/DaysSelectedInformer.d.ts +1 -2
- package/dist/src/components/steps/MinimumNightStayPill.d.ts +1 -2
- package/dist/src/components/steps/addons/AddonCard.d.ts +1 -2
- package/dist/src/components/steps/addons/AddonList.d.ts +1 -2
- package/dist/src/components/steps/addons/AddonsNotFound.d.ts +1 -2
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +1 -2
- package/dist/src/components/steps/confirmation/AccountDetails.d.ts +1 -2
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.d.ts +1 -2
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.d.ts +1 -1
- package/dist/src/components/steps/confirmation/PlanpayLabel.d.ts +1 -2
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +1 -2
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +1 -2
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.d.ts +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.d.ts +1 -2
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +6 -19
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.d.ts +1 -2
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +1 -2
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.d.ts +1 -2
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.d.ts +1 -2
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.d.ts +1 -2
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +1 -2
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +1 -2
- package/dist/src/components/steps/date/PeoplePicker.d.ts +1 -2
- package/dist/src/components/steps/date/PeoplePickerRow.d.ts +1 -2
- package/dist/src/components/steps/date/StepDatePricePerRoom.d.ts +1 -2
- package/dist/src/components/steps/date/StepOneDateRange.d.ts +1 -2
- package/dist/src/components/steps/date/StepOneDateRangePicker.d.ts +1 -2
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.d.ts +1 -2
- package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +1 -2
- package/dist/src/components/steps/date/StepOneStatusPeople.d.ts +1 -2
- package/dist/src/components/steps/hotel/HotelCard.d.ts +1 -2
- package/dist/src/components/steps/hotel/HotelCardList.d.ts +1 -2
- package/dist/src/components/steps/hotel/HotelCardModal.d.ts +1 -2
- package/dist/src/components/steps/hotel/HotelSearchParameters.d.ts +1 -2
- package/dist/src/components/steps/hotel/NoHotelsAvailable.d.ts +1 -2
- package/dist/src/components/steps/room/ImageGallerySlider.d.ts +1 -2
- package/dist/src/components/steps/room/ImageGallerySlider.js +1 -2
- package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
- package/dist/src/components/steps/room/InactivityWindow.d.ts +1 -2
- package/dist/src/components/steps/room/LargeRoomCard.d.ts +1 -2
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.d.ts +1 -2
- package/dist/src/components/steps/room/NoRoomsFoundBlock.d.ts +1 -2
- package/dist/src/components/steps/room/RatesNotFound.d.ts +1 -2
- package/dist/src/components/steps/room/RoomList.d.ts +1 -2
- package/dist/src/components/steps/room/RoomListAlert.d.ts +2 -2
- package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
- package/dist/src/components/steps/room/RoomModal.d.ts +1 -2
- package/dist/src/components/steps/room/StepRoomAlertBlocks.d.ts +1 -2
- package/dist/src/components/steps/room/StepRoomBestRateAlert.d.ts +1 -2
- package/dist/src/components/steps/room/StepRoomErrorForm.d.ts +1 -2
- package/dist/src/components/steps/room/StepRoomHotelDetails.d.ts +1 -2
- package/dist/src/components/steps/room/StepRoomSortBy.d.ts +1 -2
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.d.ts +1 -2
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.d.ts +1 -2
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.d.ts +1 -2
- package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.d.ts +1 -2
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.d.ts +1 -2
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.d.ts +1 -2
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.d.ts +1 -2
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +1 -2
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +1 -2
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.d.ts +1 -2
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +1 -2
- package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +1 -2
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +1 -2
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +1 -2
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.d.ts +1 -2
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +1 -2
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.d.ts +1 -2
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +2 -3
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +2 -3
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +1 -2
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.d.ts +2 -3
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +1 -2
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +1 -2
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +1 -2
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.d.ts +1 -2
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +1 -2
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +1 -2
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +1 -2
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +1 -2
- package/dist/src/components/summary/BEMobileSummary.d.ts +1 -2
- package/dist/src/components/summary/BEMobileSummaryModal.d.ts +1 -2
- package/dist/src/components/summary/BESummary.d.ts +1 -2
- package/dist/src/components/summary/BESummary.js +1 -1
- package/dist/src/components/summary/BESummary.js.map +1 -1
- package/dist/src/components/summary/BESummaryAddonRow.d.ts +1 -2
- package/dist/src/components/summary/BESummaryPerkBlock.d.ts +1 -2
- package/dist/src/components/summary/BESummaryPrivacyPolicy.d.ts +1 -2
- package/dist/src/components/summary/BESummaryRoomRow.d.ts +1 -2
- package/dist/src/components/summary/BESummaryRoomRow.js +0 -1
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +1 -2
- package/dist/src/contexts/BasketContext/BasketContextWrapper.d.ts +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.d.ts +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.d.ts +2 -2
- package/dist/src/contexts/ConfirmationFormContext.d.ts +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.d.ts +2 -4
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +82 -38
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.d.ts +9 -0
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js +58 -0
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js.map +1 -0
- package/dist/src/contexts/ErrorContext.d.ts +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +1 -2
- package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.d.ts +2 -2
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.d.ts +2 -2
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
- package/dist/src/contexts/ModalContext.d.ts +1 -1
- package/dist/src/contexts/NotificationContext.d.ts +1 -1
- package/dist/src/engines/BaseEngine.js +3 -29
- package/dist/src/engines/BaseEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +1 -2
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +2 -3
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +2 -4
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +3 -5
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +1 -2
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +3 -4
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +1 -2
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +4 -5
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +1 -2
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +3 -4
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
- package/dist/src/icons/Check.d.ts +1 -2
- package/dist/src/models/RoomstaySession.d.ts +8 -0
- package/dist/src/models/RoomstaySession.js.map +1 -1
- package/dist/src/pages/account/AccountHome/AccountHomePage.d.ts +1 -2
- package/dist/src/pages/account/AccountOutlet.d.ts +1 -1
- package/dist/src/pages/account/AccountRouter.d.ts +1 -2
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.d.ts +1 -2
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.d.ts +1 -2
- package/dist/src/pages/account/Help/AccountHelpPage.d.ts +1 -2
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.d.ts +1 -2
- package/dist/src/pages/account/Reservations/AccountReservationsPage.d.ts +1 -2
- package/dist/src/pages/findReservation/FindReservation.d.ts +1 -2
- package/dist/src/pages/findReservation/FindReservation.js +1 -1
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservationResults.d.ts +1 -2
- package/dist/src/pages/findReservation/ReservationRow.d.ts +1 -2
- package/dist/src/pages/findReservation/ReservationRowModal.d.ts +1 -2
- package/dist/src/pages/hotel/HotelInfo.d.ts +1 -2
- package/dist/src/pages/hotel/HotelInfoPlaceholder.d.ts +1 -2
- package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +1 -2
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.d.ts +1 -2
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.d.ts +1 -2
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.d.ts +1 -2
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.d.ts +1 -2
- package/dist/src/pages/steps/StepDate/StepDate.d.ts +1 -2
- package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +1 -2
- package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.d.ts +1 -2
- package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.d.ts +1 -2
- package/dist/src/pages/steps/StepGuide.d.ts +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +1 -2
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.d.ts +1 -2
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.d.ts +1 -2
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.d.ts +1 -2
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.d.ts +1 -2
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.d.ts +1 -2
- package/dist/src/providers/DIProvider.d.ts +1 -2
- package/dist/src/providers/RoomstayThemeEngine.js +1 -1
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
- package/dist/src/providers/SessionProvider.js +3 -1
- package/dist/src/providers/SessionProvider.js.map +1 -1
- package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +1 -2
- package/dist/src/stories/Alert.stories.d.ts +5 -0
- package/dist/src/stories/Alert.stories.js +19 -0
- package/dist/src/stories/Alert.stories.js.map +1 -0
- package/dist/src/stories/BEButton.stories.d.ts +5 -0
- package/dist/src/stories/BEButton.stories.js +20 -0
- package/dist/src/stories/BEButton.stories.js.map +1 -0
- package/dist/src/stories/BackButton.stories.d.ts +5 -0
- package/dist/src/stories/BackButton.stories.js +17 -0
- package/dist/src/stories/BackButton.stories.js.map +1 -0
- package/dist/src/stories/BookNowPayLaterInfoBlock.stories.d.ts +5 -0
- package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js +17 -0
- package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js.map +1 -0
- package/dist/src/stories/BookingWizard.stories.d.ts +10 -0
- package/dist/src/stories/BookingWizard.stories.js +67 -0
- package/dist/src/stories/BookingWizard.stories.js.map +1 -0
- package/dist/src/stories/Card.stories.d.ts +11 -0
- package/dist/src/stories/Card.stories.js +20 -0
- package/dist/src/stories/Card.stories.js.map +1 -0
- package/dist/src/stories/CardTypeSelect.stories.d.ts +5 -0
- package/dist/src/stories/CardTypeSelect.stories.js +17 -0
- package/dist/src/stories/CardTypeSelect.stories.js.map +1 -0
- package/dist/src/stories/Checkbox.stories.d.ts +5 -0
- package/dist/src/stories/Checkbox.stories.js +20 -0
- package/dist/src/stories/Checkbox.stories.js.map +1 -0
- package/dist/src/stories/ConfirmationModal.stories.d.ts +5 -0
- package/dist/src/stories/ConfirmationModal.stories.js +44 -0
- package/dist/src/stories/ConfirmationModal.stories.js.map +1 -0
- package/dist/src/stories/Countdown.stories.d.ts +5 -0
- package/dist/src/stories/Countdown.stories.js +20 -0
- package/dist/src/stories/Countdown.stories.js.map +1 -0
- package/dist/src/stories/Currency.stories.d.ts +5 -0
- package/dist/src/stories/Currency.stories.js +19 -0
- package/dist/src/stories/Currency.stories.js.map +1 -0
- package/dist/src/stories/DateRangePicker.stories.d.ts +8 -0
- package/dist/src/stories/DateRangePicker.stories.js +90 -0
- package/dist/src/stories/DateRangePicker.stories.js.map +1 -0
- package/dist/src/stories/Distance.stories.d.ts +5 -0
- package/dist/src/stories/Distance.stories.js +19 -0
- package/dist/src/stories/Distance.stories.js.map +1 -0
- package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +5 -0
- package/dist/src/stories/EnhancedPhoneNumberField.stories.js +19 -0
- package/dist/src/stories/EnhancedPhoneNumberField.stories.js.map +1 -0
- package/dist/src/stories/ErrorModal.stories.d.ts +5 -0
- package/dist/src/stories/ErrorModal.stories.js +45 -0
- package/dist/src/stories/ErrorModal.stories.js.map +1 -0
- package/dist/src/stories/EventCarousel.stories.d.ts +6 -0
- package/dist/src/stories/EventCarousel.stories.js +236 -0
- package/dist/src/stories/EventCarousel.stories.js.map +1 -0
- package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +6 -0
- package/dist/src/stories/FloatingDateRangePicker.stories.js +74 -0
- package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -0
- package/dist/src/stories/ForwardedSelect.stories.d.ts +5 -0
- package/dist/src/stories/ForwardedSelect.stories.js +28 -0
- package/dist/src/stories/ForwardedSelect.stories.js.map +1 -0
- package/dist/src/stories/Headline.stories.d.ts +5 -0
- package/dist/src/stories/Headline.stories.js +19 -0
- package/dist/src/stories/Headline.stories.js.map +1 -0
- package/dist/src/stories/Icon.stories.d.ts +5 -0
- package/dist/src/stories/Icon.stories.js +42 -0
- package/dist/src/stories/Icon.stories.js.map +1 -0
- package/dist/src/stories/IconNavCard.stories.d.ts +26 -0
- package/dist/src/stories/IconNavCard.stories.js +31 -0
- package/dist/src/stories/IconNavCard.stories.js.map +1 -0
- package/dist/src/stories/IconText.stories.d.ts +5 -0
- package/dist/src/stories/IconText.stories.js +42 -0
- package/dist/src/stories/IconText.stories.js.map +1 -0
- package/dist/src/stories/ImageLoader.stories.d.ts +5 -0
- package/dist/src/stories/ImageLoader.stories.js +19 -0
- package/dist/src/stories/ImageLoader.stories.js.map +1 -0
- package/dist/src/stories/InputGroup.stories.d.ts +5 -0
- package/dist/src/stories/InputGroup.stories.js +19 -0
- package/dist/src/stories/InputGroup.stories.js.map +1 -0
- package/dist/src/stories/LargeLoader.stories.d.ts +5 -0
- package/dist/src/stories/LargeLoader.stories.js +17 -0
- package/dist/src/stories/LargeLoader.stories.js.map +1 -0
- package/dist/src/stories/LineBreak.stories.d.ts +5 -0
- package/dist/src/stories/LineBreak.stories.js +17 -0
- package/dist/src/stories/LineBreak.stories.js.map +1 -0
- package/dist/src/stories/Notification.stories.d.ts +5 -0
- package/dist/src/stories/Notification.stories.js +23 -0
- package/dist/src/stories/Notification.stories.js.map +1 -0
- package/dist/src/stories/NumberIncrement.stories.d.ts +5 -0
- package/dist/src/stories/NumberIncrement.stories.js +46 -0
- package/dist/src/stories/NumberIncrement.stories.js.map +1 -0
- package/dist/src/stories/PasswordBox.stories.d.ts +5 -0
- package/dist/src/stories/PasswordBox.stories.js +17 -0
- package/dist/src/stories/PasswordBox.stories.js.map +1 -0
- package/dist/src/stories/PaymentCard.stories.d.ts +4 -0
- package/dist/src/stories/PaymentCard.stories.js +27 -0
- package/dist/src/stories/PaymentCard.stories.js.map +1 -0
- package/dist/src/stories/PaymentCardInput.stories.d.ts +6 -0
- package/dist/src/stories/PaymentCardInput.stories.js +39 -0
- package/dist/src/stories/PaymentCardInput.stories.js.map +1 -0
- package/dist/src/stories/Pill.stories.d.ts +5 -0
- package/dist/src/stories/Pill.stories.js +19 -0
- package/dist/src/stories/Pill.stories.js.map +1 -0
- package/dist/src/stories/Placeholder.stories.d.ts +5 -0
- package/dist/src/stories/Placeholder.stories.js +22 -0
- package/dist/src/stories/Placeholder.stories.js.map +1 -0
- package/dist/src/stories/PlanpayButton.stories.d.ts +5 -0
- package/dist/src/stories/PlanpayButton.stories.js +19 -0
- package/dist/src/stories/PlanpayButton.stories.js.map +1 -0
- package/dist/src/stories/PromoCodeInput.stories.d.ts +5 -0
- package/dist/src/stories/PromoCodeInput.stories.js +17 -0
- package/dist/src/stories/PromoCodeInput.stories.js.map +1 -0
- package/dist/src/stories/RadioButton.stories.d.ts +6 -0
- package/dist/src/stories/RadioButton.stories.js +27 -0
- package/dist/src/stories/RadioButton.stories.js.map +1 -0
- package/dist/src/stories/RadioButtonGroup.stories.d.ts +8 -0
- package/dist/src/stories/RadioButtonGroup.stories.js +126 -0
- package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -0
- package/dist/src/stories/RadioFields.stories.d.ts +5 -0
- package/dist/src/stories/RadioFields.stories.js +31 -0
- package/dist/src/stories/RadioFields.stories.js.map +1 -0
- package/dist/src/stories/SSLSecureBadge.stories.d.ts +5 -0
- package/dist/src/stories/SSLSecureBadge.stories.js +17 -0
- package/dist/src/stories/SSLSecureBadge.stories.js.map +1 -0
- package/dist/src/stories/Select.stories.d.ts +9 -0
- package/dist/src/stories/Select.stories.js +95 -0
- package/dist/src/stories/Select.stories.js.map +1 -0
- package/dist/src/stories/SimpleModal.stories.d.ts +5 -0
- package/dist/src/stories/SimpleModal.stories.js +52 -0
- package/dist/src/stories/SimpleModal.stories.js.map +1 -0
- package/dist/src/stories/Slider.stories.d.ts +10 -0
- package/dist/src/stories/Slider.stories.js +52 -0
- package/dist/src/stories/Slider.stories.js.map +1 -0
- package/dist/src/stories/SmallSpinner.stories.d.ts +5 -0
- package/dist/src/stories/SmallSpinner.stories.js +17 -0
- package/dist/src/stories/SmallSpinner.stories.js.map +1 -0
- package/dist/src/stories/TabbedModal.stories.d.ts +5 -0
- package/dist/src/stories/TabbedModal.stories.js +60 -0
- package/dist/src/stories/TabbedModal.stories.js.map +1 -0
- package/dist/src/stories/Tabs.stories.d.ts +5 -0
- package/dist/src/stories/Tabs.stories.js +29 -0
- package/dist/src/stories/Tabs.stories.js.map +1 -0
- package/dist/src/stories/Text.stories.d.ts +5 -0
- package/dist/src/stories/Text.stories.js +19 -0
- package/dist/src/stories/Text.stories.js.map +1 -0
- package/dist/src/stories/TextArea.stories.d.ts +5 -0
- package/dist/src/stories/TextArea.stories.js +17 -0
- package/dist/src/stories/TextArea.stories.js.map +1 -0
- package/dist/src/stories/TextBox.stories.d.ts +5 -0
- package/dist/src/stories/TextBox.stories.js +17 -0
- package/dist/src/stories/TextBox.stories.js.map +1 -0
- package/dist/src/stories/Tooltip.stories.d.ts +5 -0
- package/dist/src/stories/Tooltip.stories.js +20 -0
- package/dist/src/stories/Tooltip.stories.js.map +1 -0
- package/dist/test.bundle.js +1 -1
- package/dist/tests/jest/providers/SessionProvider.test.js +4 -4
- package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -1
- package/dist/tests/offline/entry/OfflineEngineDefaults.d.ts +2 -0
- package/dist/tests/offline/entry/OfflineEngineDefaults.js +139 -0
- package/dist/tests/offline/entry/OfflineEngineDefaults.js.map +1 -0
- package/dist/vendors.bundle.js +1 -1
- package/dist/vendors.bundle.js.LICENSE.txt +14 -11
- package/package.json +7 -7
- package/dist/319.bundle.js +0 -1
- 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):
|
|
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):
|
|
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):
|
|
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):
|
|
8
|
+
export default function RoomFilterRoomType(props: RoomFilterRoomTypeProps): JSX.Element;
|
|
10
9
|
export {};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
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):
|
|
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):
|
|
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
|
|
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":"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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 (\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):
|
|
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):
|
|
5
|
+
export declare function BESummaryPerkBlock(props: BESummaryPerkBlockProps): JSX.Element;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
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):
|
|
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)}, \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)}, \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):
|
|
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):
|
|
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):
|
|
7
|
+
export declare function BookingEngineContextWrapper({ engine, children }: BookingEngineContextWrapperProps): JSX.Element;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
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) =>
|
|
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):
|
|
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,
|
|
2
|
+
import { FBookGetPaymentDetails, FBookValidateFunction, FBookValidationCallback } from '../../models/Confirmation';
|
|
3
3
|
export interface ConfirmationContextProps {
|
|
4
|
-
book?: (getPaymentDetails: FBookGetPaymentDetails, comments?: string, preValidate?: FBookValidateFunction, onPostValidationError?: FBookValidationCallback
|
|
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,
|
|
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 [
|
|
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
|
|
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,
|
|
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
|
-
|
|
140
|
-
yield (onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(data));
|
|
166
|
+
yield onSubmitSuccess(data);
|
|
141
167
|
}
|
|
142
168
|
}
|
|
143
169
|
catch (error) {
|
|
144
|
-
|
|
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
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
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
|
-
|
|
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
|
|
230
|
-
|
|
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;
|