@roomstay/frontend 2.6.76 → 2.6.77-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/153.bundle.js +1 -0
- package/dist/176.bundle.js +1 -0
- package/dist/273.bundle.js +1 -0
- package/dist/292.bundle.js +1 -0
- package/dist/316.bundle.js +1 -0
- package/dist/349.bundle.js +2 -0
- package/dist/{535.bundle.js.LICENSE.txt → 349.bundle.js.LICENSE.txt} +1 -1
- package/dist/352.bundle.js +1 -0
- package/dist/41.bundle.js +1 -0
- package/dist/{151.bundle.js → 451.bundle.js} +1 -1
- package/dist/479.bundle.js +1 -0
- package/dist/534.bundle.js +1 -0
- package/dist/557.bundle.js +1 -0
- package/dist/620.bundle.js +1 -0
- package/dist/696.bundle.js +1 -0
- package/dist/734.bundle.js +1 -0
- package/dist/83.bundle.js +1 -0
- package/dist/910.bundle.js +1 -0
- package/dist/922.bundle.js +1 -0
- package/dist/99.bundle.js +1 -0
- package/dist/main.bundle.js +1 -1
- package/dist/src/animations/AutoAutoHeight.d.ts +1 -1
- package/dist/src/api/HotelAPI.d.ts +2 -0
- package/dist/src/api/HotelAPI.js +7 -0
- package/dist/src/api/HotelAPI.js.map +1 -1
- package/dist/src/api/ReservationAPI.js +12 -9
- package/dist/src/api/ReservationAPI.js.map +1 -1
- package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +2 -1
- package/dist/src/components/User/Forms/SignUpForm.d.ts +2 -1
- package/dist/src/components/User/Forms/VerifyEmailForm.d.ts +2 -1
- package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.d.ts +2 -1
- package/dist/src/components/generic/Alert.d.ts +2 -2
- package/dist/src/components/generic/BEButton.d.ts +1 -1
- package/dist/src/components/generic/BackButton.d.ts +2 -1
- package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizard.js +7 -1
- package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +2 -2
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js +0 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +14 -5
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +24 -10
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +10 -2
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +187 -22
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +2 -2
- package/dist/src/components/generic/Countdown.d.ts +2 -1
- package/dist/src/components/generic/Currency.d.ts +2 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +2 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +2 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +2 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +2 -1
- package/dist/src/components/generic/Distance.d.ts +2 -1
- package/dist/src/components/generic/Headline.d.ts +1 -1
- package/dist/src/components/generic/HtmlContentViewer.d.ts +2 -1
- package/dist/src/components/generic/InputGroup/InputGroup.d.ts +2 -2
- package/dist/src/components/generic/LineBreak.d.ts +2 -1
- package/dist/src/components/generic/Notification.d.ts +1 -1
- package/dist/src/components/generic/NumberIncrement.d.ts +2 -1
- package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -2
- package/dist/src/components/generic/PageTitle/index.d.ts +2 -1
- package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +2 -1
- package/dist/src/components/generic/Pill.d.ts +1 -1
- package/dist/src/components/generic/Placeholder.d.ts +2 -1
- package/dist/src/components/generic/PromoCodeInput.d.ts +2 -1
- package/dist/src/components/generic/RecentSearchesCard.d.ts +2 -1
- package/dist/src/components/generic/RoomstayMark.d.ts +2 -1
- package/dist/src/components/generic/Select/Select.d.ts +2 -1
- package/dist/src/components/generic/Select/Select.js +2 -2
- 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/TabRouteContainer.d.ts +2 -2
- package/dist/src/components/generic/Tooltip/Tooltip.d.ts +2 -2
- package/dist/src/components/generic/badging/SSLSecureBadge.d.ts +2 -1
- package/dist/src/components/generic/buttons/NextStepButton.d.ts +2 -1
- package/dist/src/components/generic/date/DatePicker.d.ts +2 -1
- package/dist/src/components/generic/date/DatePickerDay.d.ts +2 -1
- package/dist/src/components/generic/date/DatePickerDays.d.ts +2 -1
- package/dist/src/components/generic/date/DatePickerMonth.d.ts +2 -1
- package/dist/src/components/generic/date/DatePickerWeek.d.ts +2 -1
- package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
- package/dist/src/components/generic/date/WeekViewSkeleton.d.ts +2 -1
- package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
- package/dist/src/components/generic/loader/LargeLoader.d.ts +2 -1
- package/dist/src/components/generic/loader/OverlayLoader.d.ts +2 -1
- package/dist/src/components/generic/loader/SmallSpinner.d.ts +2 -1
- package/dist/src/components/generic/map/HotelLocationMap.d.ts +2 -1
- package/dist/src/components/generic/modal/ConfirmationModal.d.ts +2 -1
- package/dist/src/components/generic/modal/ErrorModal.d.ts +1 -1
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +2 -1
- package/dist/src/components/generic/modal/SimpleModal.d.ts +1 -1
- package/dist/src/components/generic/modal/TabbedModal.d.ts +1 -1
- package/dist/src/components/generic/radio/RadioFields.d.ts +2 -1
- package/dist/src/components/graphics/TravelerNotfound.d.ts +2 -1
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.d.ts +2 -1
- package/dist/src/components/members/InlineSignUpSection.d.ts +2 -1
- package/dist/src/components/members/SignInModal/ExternalMemberModal.d.ts +2 -1
- package/dist/src/components/members/SignInModal/InternalMemberSignInModal.d.ts +2 -1
- package/dist/src/components/members/SignInModal/MemberPortalSignInModal.d.ts +2 -1
- package/dist/src/components/members/SignInModal/MemberSignInModal.d.ts +2 -1
- package/dist/src/components/navigation/Header.d.ts +2 -1
- package/dist/src/components/navigation/StepSelector.d.ts +2 -1
- package/dist/src/components/navigation/StepSelectorModal.d.ts +2 -1
- package/dist/src/components/pages/Account/Card/MemberCardItem.d.ts +2 -1
- package/dist/src/components/pages/PageColorComponent.d.ts +2 -1
- package/dist/src/components/reservation/ReservationItem.d.ts +2 -1
- package/dist/src/components/steps/DaysSelectedInformer.d.ts +2 -1
- package/dist/src/components/steps/MinimumNightStayPill.d.ts +2 -1
- package/dist/src/components/steps/addons/AddonCard.d.ts +2 -1
- package/dist/src/components/steps/addons/AddonList.d.ts +2 -1
- package/dist/src/components/steps/addons/AddonsNotFoundBlock.d.ts +2 -1
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +2 -1
- package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.d.ts +2 -1
- package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.d.ts +2 -1
- package/dist/src/components/steps/confirmation/AccountDetails.d.ts +2 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.d.ts +2 -1
- package/dist/src/components/steps/confirmation/PaymentInformation.d.ts +2 -1
- package/dist/src/components/steps/confirmation/PlanpayLabel.d.ts +2 -1
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.d.ts +2 -1
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +11 -10
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +2 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +2 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.d.ts +2 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +11 -4
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.d.ts +2 -1
- package/dist/src/components/steps/confirmation/StepConfirmationImportantInformation.d.ts +7 -0
- package/dist/src/components/steps/confirmation/StepConfirmationImportantInformation.js +54 -0
- package/dist/src/components/steps/confirmation/StepConfirmationImportantInformation.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +2 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.d.ts +2 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.d.ts +2 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.d.ts +2 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +2 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +2 -1
- package/dist/src/components/steps/date/OccupancyWarningBlock.d.ts +2 -1
- package/dist/src/components/steps/date/PeoplePicker.d.ts +2 -1
- package/dist/src/components/steps/date/PeoplePickerRow.d.ts +2 -1
- package/dist/src/components/steps/date/StepDatePricePerRoom.d.ts +2 -1
- package/dist/src/components/steps/date/StepOneDateRange.d.ts +2 -1
- package/dist/src/components/steps/date/StepOneDateRangePicker.d.ts +2 -1
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.d.ts +2 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +2 -1
- package/dist/src/components/steps/date/StepOneStatusPeople.d.ts +2 -1
- package/dist/src/components/steps/hotel/HotelCard.d.ts +2 -1
- package/dist/src/components/steps/hotel/HotelCardList.d.ts +2 -1
- package/dist/src/components/steps/hotel/HotelCardModal.d.ts +2 -1
- package/dist/src/components/steps/hotel/HotelInfoPerksRow.d.ts +2 -1
- package/dist/src/components/steps/hotel/HotelSearchParameters.d.ts +2 -1
- package/dist/src/components/steps/hotel/NoHotelsAvailable.d.ts +2 -1
- package/dist/src/components/steps/room/AvailableUpgradesModal.js +0 -5
- package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
- package/dist/src/components/steps/room/ImageGallerySlider.d.ts +2 -1
- package/dist/src/components/steps/room/InactivityWindow.d.ts +2 -1
- package/dist/src/components/steps/room/LargeRoomCard.d.ts +2 -1
- package/dist/src/components/steps/room/NoRoomsFoundBlock.d.ts +2 -1
- package/dist/src/components/steps/room/RatesNotFoundBlock.d.ts +2 -1
- package/dist/src/components/steps/room/RoomList.d.ts +2 -1
- package/dist/src/components/steps/room/RoomModal.d.ts +2 -1
- package/dist/src/components/steps/room/RoomModalPerkRow.d.ts +2 -1
- package/dist/src/components/steps/room/StepRoomAlertBlocks.d.ts +2 -1
- package/dist/src/components/steps/room/StepRoomBestRateAlert.d.ts +2 -1
- package/dist/src/components/steps/room/StepRoomErrorForm.d.ts +2 -1
- package/dist/src/components/steps/room/StepRoomHotelDetails.d.ts +2 -1
- package/dist/src/components/steps/room/StepRoomSortBy.d.ts +2 -1
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.d.ts +2 -1
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.d.ts +2 -1
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.d.ts +2 -1
- package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.d.ts +2 -1
- package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.d.ts +2 -1
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.d.ts +2 -1
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.d.ts +2 -1
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.d.ts +2 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +2 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +2 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.d.ts +2 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.d.ts +2 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +2 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +2 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +2 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +2 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.d.ts +2 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +2 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.d.ts +2 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +3 -2
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +2 -2
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.d.ts +2 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +3 -2
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +2 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.d.ts +2 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +2 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +2 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +2 -1
- package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.d.ts +2 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.d.ts +2 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +2 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +2 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +2 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +2 -1
- package/dist/src/components/summary/BEMobileSummary.d.ts +2 -1
- package/dist/src/components/summary/BEMobileSummaryModal.d.ts +2 -1
- package/dist/src/components/summary/BESummary.d.ts +2 -1
- package/dist/src/components/summary/BESummaryAddonRow.d.ts +2 -1
- package/dist/src/components/summary/BESummaryPerkBlock.d.ts +2 -1
- package/dist/src/components/summary/BESummaryPrivacyPolicy.d.ts +2 -1
- package/dist/src/components/summary/BESummaryRoomRow.d.ts +2 -1
- package/dist/src/components/summary/BESummaryRoomRow.js +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +2 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.d.ts +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +63 -11
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +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/CompanyContext/CompanyContextWrapper.js +1 -0
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationFormContext.d.ts +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +3 -2
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.d.ts +2 -1
- package/dist/src/contexts/ErrorContext.d.ts +1 -1
- package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.d.ts +2 -1
- package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.d.ts +2 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +2 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +10 -2
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
- package/dist/src/contexts/ModalContext.d.ts +1 -1
- package/dist/src/contexts/NotificationContext.d.ts +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +7 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +2 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +1 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +2 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +2 -2
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +3 -0
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +2 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +2 -1
- package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +2 -1
- package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
- package/dist/src/hooks/useNextStepAction.d.ts +2 -1
- package/dist/src/icons/Check.d.ts +2 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +4 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/models/Api/HotelDTO.d.ts +1 -0
- package/dist/src/models/Api/HotelDTO.js.map +1 -1
- package/dist/src/models/BasketRow.d.ts +2 -1
- package/dist/src/models/BasketRow.js +32 -2
- package/dist/src/models/BasketRow.js.map +1 -1
- package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +13 -0
- package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -1
- package/dist/src/models/Client/Hotel/Hotel.d.ts +1 -0
- package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
- package/dist/src/models/RoomstaySession.d.ts +1 -0
- package/dist/src/models/RoomstaySession.js.map +1 -1
- package/dist/src/pages/account/AccountHome/AccountHomePage.d.ts +2 -1
- package/dist/src/pages/account/AccountOutlet.d.ts +1 -1
- package/dist/src/pages/account/AccountRouter.d.ts +2 -1
- package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.d.ts +2 -1
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.d.ts +2 -1
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.d.ts +2 -1
- package/dist/src/pages/account/Help/AccountHelpPage.d.ts +2 -1
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.d.ts +2 -1
- package/dist/src/pages/account/Reservations/AccountReservationsPage.d.ts +2 -1
- package/dist/src/pages/findReservation/FindReservation.d.ts +2 -1
- package/dist/src/pages/findReservation/FindReservationResults.d.ts +2 -1
- package/dist/src/pages/findReservation/ReservationRow.d.ts +2 -1
- package/dist/src/pages/findReservation/ReservationRowModal.d.ts +2 -1
- package/dist/src/pages/hotel/HotelInfo.d.ts +2 -1
- package/dist/src/pages/hotel/HotelInfoPlaceholder.d.ts +2 -1
- package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +2 -1
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.d.ts +2 -1
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.d.ts +2 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.d.ts +2 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.d.ts +2 -1
- package/dist/src/pages/steps/StepDate/StepDate.d.ts +2 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +2 -1
- package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.d.ts +2 -1
- package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.d.ts +2 -1
- package/dist/src/pages/steps/StepGuide.d.ts +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +2 -1
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.d.ts +2 -1
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.d.ts +2 -1
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.d.ts +2 -1
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.d.ts +2 -1
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.d.ts +2 -1
- package/dist/src/providers/DIProvider.d.ts +2 -1
- package/dist/src/providers/FeatureProvider.js +2 -0
- package/dist/src/providers/FeatureProvider.js.map +1 -1
- package/dist/src/providers/feature/ConfirmationImportantInformationFeature.d.ts +10 -0
- package/dist/src/providers/feature/ConfirmationImportantInformationFeature.js +13 -0
- package/dist/src/providers/feature/ConfirmationImportantInformationFeature.js.map +1 -0
- package/dist/src/providers/feature/Feature.d.ts +2 -0
- package/dist/src/providers/feature/Feature.js +4 -0
- package/dist/src/providers/feature/Feature.js.map +1 -1
- package/dist/src/providers/storage/SessionProvider.js +2 -0
- package/dist/src/providers/storage/SessionProvider.js.map +1 -1
- package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +2 -1
- package/dist/src/stories/BookingWizard.stories.d.ts +1 -1
- package/dist/src/stories/ConfirmationModal.stories.d.ts +2 -1
- package/dist/src/stories/DateRangePicker.stories.d.ts +5 -4
- package/dist/src/stories/ErrorModal.stories.d.ts +2 -1
- package/dist/src/stories/EventCarousel.stories.d.ts +2 -2
- package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +2 -2
- package/dist/src/stories/IconNavCard.stories.d.ts +2 -2
- package/dist/src/stories/NumberIncrement.stories.d.ts +2 -1
- package/dist/src/stories/PaymentCard.stories.d.ts +3 -2
- package/dist/src/stories/RadioButtonGroup.stories.d.ts +3 -3
- package/dist/src/stories/Select.stories.d.ts +3 -3
- package/dist/src/stories/SimpleModal.stories.d.ts +2 -1
- package/dist/src/stories/Slider.stories.d.ts +3 -2
- package/dist/src/stories/TabbedModal.stories.d.ts +2 -1
- package/dist/src/stories/Tabs.stories.d.ts +1 -1
- package/dist/src/translations/Translation.d.ts +6 -0
- package/dist/src/translations/Translation.js +6 -0
- package/dist/src/translations/Translation.js.map +1 -1
- package/dist/src/translations/languages/en-gb.js +6 -0
- package/dist/src/translations/languages/en-gb.js.map +1 -1
- package/dist/src/util/TotalCalculator.js.map +1 -1
- package/dist/test.bundle.js +1 -1
- package/dist/tests/offline/entry/config/hotelSpecDefault.d.ts +2 -1
- package/dist/vendors.bundle.js +1 -1
- package/dist/vendors.bundle.js.LICENSE.txt +6 -6
- package/package.json +2 -2
- package/dist/177.bundle.js +0 -1
- package/dist/279.bundle.js +0 -1
- package/dist/288.bundle.js +0 -1
- package/dist/370.bundle.js +0 -1
- package/dist/430.bundle.js +0 -1
- package/dist/439.bundle.js +0 -1
- package/dist/446.bundle.js +0 -1
- package/dist/449.bundle.js +0 -1
- package/dist/535.bundle.js +0 -2
- package/dist/537.bundle.js +0 -1
- package/dist/619.bundle.js +0 -1
- package/dist/625.bundle.js +0 -1
- package/dist/659.bundle.js +0 -1
- package/dist/686.bundle.js +0 -1
- package/dist/873.bundle.js +0 -1
- package/dist/972.bundle.js +0 -1
- package/dist/978.bundle.js +0 -1
- package/dist/984.bundle.js +0 -1
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function StepConfirmationAcknowledgement(): React.JSX.Element;
|
|
@@ -42,18 +42,19 @@ function StepConfirmationAcknowledgement() {
|
|
|
42
42
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
43
43
|
const { hotel } = (0, hooks_1.useCurrentHotel)();
|
|
44
44
|
const { register, formState } = (0, react_hook_form_1.useFormContext)();
|
|
45
|
-
return (react_1.default.createElement(
|
|
46
|
-
react_1.default.createElement("div", { className: "u-marg-bottom" },
|
|
45
|
+
return (react_1.default.createElement("div", { className: "rs-step-confirmation-acks" },
|
|
46
|
+
react_1.default.createElement("div", { className: "u-marg-bottom rs-step-confirmation-acks-headline" },
|
|
47
47
|
react_1.default.createElement(Headline_1.default, { bold: true }, t(Translation_1.Translation.Step.Confirmation.Acknowledgement))),
|
|
48
|
-
react_1.default.createElement("div",
|
|
49
|
-
react_1.default.createElement(
|
|
50
|
-
|
|
51
|
-
react_1.default.createElement(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
react_1.default.createElement("div", { className: "rs-confirmation-acks-checklist" },
|
|
49
|
+
react_1.default.createElement("div", null,
|
|
50
|
+
react_1.default.createElement(Checkbox_1.default, Object.assign({ label: t(Translation_1.Translation.Step.Confirmation.EmailSpecialOffers) }, register('marketingOptIn', {})))),
|
|
51
|
+
react_1.default.createElement("div", { className: "u-marg-top--light" },
|
|
52
|
+
react_1.default.createElement(Checkbox_1.default, Object.assign({}, register('privacyPolicy', { required: true }), { label: react_1.default.createElement("div", null,
|
|
53
|
+
t(Translation_1.Translation.Step.Confirmation.IHaveUnderstoodPrivacyPolicy),
|
|
54
|
+
' ',
|
|
55
|
+
react_1.default.createElement("a", { style: { color: Color_1.Color.Accent }, className: "--underlined", href: hotel === null || hotel === void 0 ? void 0 : hotel.privacyPolicyUrl, target: "_blank", rel: "noreferrer" }, t(Translation_1.Translation.Step.Confirmation.PrivacyPolicy))) })))),
|
|
55
56
|
react_1.default.createElement(AutoAutoHeight_1.default, { open: !!formState.errors['privacyPolicy'] },
|
|
56
|
-
react_1.default.createElement("div", { className: "u-flex u-marg-top" },
|
|
57
|
+
react_1.default.createElement("div", { className: "u-flex u-marg-top rs-confirmation-acks-alert" },
|
|
57
58
|
react_1.default.createElement(Alert_1.default, { type: Alert_1.AlertType.Danger, icon: Icon_1.IconType.Error },
|
|
58
59
|
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small }, t(Translation_1.Translation.Step.Confirmation.PrivacyPolicyError)))))));
|
|
59
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepConfirmationAcknowledgement.js","sourceRoot":"/","sources":["src/components/steps/confirmation/StepConfirmationAcknowledgement.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkD;AAClD,kDAA0B;AAC1B,qDAAiD;AACjD,iDAA+C;AAE/C,iFAAyD;AACzD,oEAA8D;AAC9D,sFAA8D;AAC9D,6EAAqD;AACrD,yDAA0D;AAC1D,kEAA2D;AAE3D,4DAAyD;AACzD,wCAAqC;AAErC,SAAwB,+BAA+B;IACnD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACpC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAA,gCAAc,GAA0B,CAAC;IAEzE,OAAO,CACH;
|
|
1
|
+
{"version":3,"file":"StepConfirmationAcknowledgement.js","sourceRoot":"/","sources":["src/components/steps/confirmation/StepConfirmationAcknowledgement.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkD;AAClD,kDAA0B;AAC1B,qDAAiD;AACjD,iDAA+C;AAE/C,iFAAyD;AACzD,oEAA8D;AAC9D,sFAA8D;AAC9D,6EAAqD;AACrD,yDAA0D;AAC1D,kEAA2D;AAE3D,4DAAyD;AACzD,wCAAqC;AAErC,SAAwB,+BAA+B;IACnD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACpC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAA,gCAAc,GAA0B,CAAC;IAEzE,OAAO,CACH,uCAAK,SAAS,EAAC,2BAA2B;QACtC,uCAAK,SAAS,EAAC,kDAAkD;YAC7D,8BAAC,kBAAQ,IAAC,IAAI,UAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAY,CAC1E;QACN,uCAAK,SAAS,EAAC,gCAAgC;YAC3C;gBACI,8BAAC,kBAAQ,kBAAC,KAAK,EAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAM,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,EAAI,CAC1G;YACN,uCAAK,SAAS,EAAC,mBAAmB;gBAC9B,8BAAC,kBAAQ,oBACD,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IACjD,KAAK,EACD;wBACK,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC;wBAAE,GAAG;wBACnE,qCAAG,KAAK,EAAE,EAAE,KAAK,EAAE,aAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAC,cAAc,EAAC,IAAI,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,IACtH,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAC/C,CACF,IAEZ,CACA,CACJ;QACN,8BAAC,wBAAc,IAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;YACrD,uCAAK,SAAS,EAAC,8CAA8C;gBACzD,8BAAC,eAAK,IAAC,IAAI,EAAE,iBAAS,CAAC,MAAM,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK;oBAC/C,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAQ,CACpF,CACN,CACO,CACf,CACT,CAAC;AACN,CAAC;AAtCD,kDAsCC","sourcesContent":["import { useCurrentHotel } from '@frontend/hooks';\nimport React from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport Checkbox from '@/components/generic/Checkbox/Checkbox';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { ConfirmationFormValues } from '@/models/Confirmation';\nimport { Translation } from '@/translations/Translation';\nimport { Color } from '@/util/Color';\n\nexport default function StepConfirmationAcknowledgement() {\n const { t } = useTranslation();\n\n const { hotel } = useCurrentHotel();\n const { register, formState } = useFormContext<ConfirmationFormValues>();\n\n return (\n <div className=\"rs-step-confirmation-acks\">\n <div className=\"u-marg-bottom rs-step-confirmation-acks-headline\">\n <Headline bold>{t(Translation.Step.Confirmation.Acknowledgement)}</Headline>\n </div>\n <div className=\"rs-confirmation-acks-checklist\">\n <div>\n <Checkbox label={t(Translation.Step.Confirmation.EmailSpecialOffers)} {...register('marketingOptIn', {})} />\n </div>\n <div className=\"u-marg-top--light\">\n <Checkbox\n {...register('privacyPolicy', { required: true })}\n label={\n <div>\n {t(Translation.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)}{' '}\n <a style={{ color: Color.Accent }} className=\"--underlined\" href={hotel?.privacyPolicyUrl} target=\"_blank\" rel=\"noreferrer\">\n {t(Translation.Step.Confirmation.PrivacyPolicy)}\n </a>\n </div>\n }\n />\n </div>\n </div>\n <AutoAutoHeight open={!!formState.errors['privacyPolicy']}>\n <div className=\"u-flex u-marg-top rs-confirmation-acks-alert\">\n <Alert type={AlertType.Danger} icon={IconType.Error}>\n <Text type={TextType.Small}>{t(Translation.Step.Confirmation.PrivacyPolicyError)}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n </div>\n );\n}\n"]}
|
package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import BasketRowDifferences from '../../../models/BasketRowDifferences';
|
|
2
3
|
interface StepConfirmationCheckoutDifferencesModalProps {
|
|
3
4
|
differences: BasketRowDifferences[];
|
|
@@ -6,5 +7,5 @@ interface StepConfirmationCheckoutDifferencesModalProps {
|
|
|
6
7
|
onProceed: () => void;
|
|
7
8
|
isLoading?: boolean;
|
|
8
9
|
}
|
|
9
|
-
export default function StepConfirmationCheckoutDifferencesModal(props: StepConfirmationCheckoutDifferencesModalProps): JSX.Element;
|
|
10
|
+
export default function StepConfirmationCheckoutDifferencesModal(props: StepConfirmationCheckoutDifferencesModalProps): React.JSX.Element;
|
|
10
11
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { TextAreaProps } from '../../generic/TextArea';
|
|
2
3
|
export type StepConfirmationCommentsComponentProps = Omit<TextAreaProps, 'placeholder'>;
|
|
3
4
|
export declare const BE_CONFIRMATION_COMMENTS_BLOCK = "BEConfirmationCommentsBlock";
|
|
4
|
-
export declare function StepConfirmationCommentsComponent(props: StepConfirmationCommentsComponentProps): JSX.Element;
|
|
5
|
+
export declare function StepConfirmationCommentsComponent(props: StepConfirmationCommentsComponentProps): React.JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function StepConfirmationForm(): React.JSX.Element;
|
|
@@ -37,7 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
38
|
const ConfirmationStepContext_1 = require("contexts/ConfirmationStepContext/ConfirmationStepContext");
|
|
39
39
|
const HistoryConsistentPush_1 = require("hooks/HistoryConsistentPush");
|
|
40
|
-
const react_1 =
|
|
40
|
+
const react_1 = __importStar(require("react"));
|
|
41
41
|
const react_hook_form_1 = require("react-hook-form");
|
|
42
42
|
const react_i18next_1 = require("react-i18next");
|
|
43
43
|
const Translation_1 = require("translations/Translation");
|
|
@@ -56,15 +56,19 @@ const PaymentInformation_1 = __importDefault(require("./PaymentInformation"));
|
|
|
56
56
|
const RoomContactDetails_1 = __importDefault(require("./RoomContactDetails"));
|
|
57
57
|
const StepConfirmationAcknowledgement_1 = __importDefault(require("./StepConfirmationAcknowledgement"));
|
|
58
58
|
const StepConfirmationCommentsComponent_1 = require("./StepConfirmationCommentsComponent");
|
|
59
|
+
const StepConfirmationImportantInformation_1 = __importDefault(require("./StepConfirmationImportantInformation"));
|
|
59
60
|
const StepConfirmationPoliciesSection_1 = __importDefault(require("./StepConfirmationPoliciesSection"));
|
|
60
61
|
const StepConfirmationPolicyBlock_1 = __importDefault(require("./StepConfirmationPolicyBlock"));
|
|
62
|
+
const ConfirmationImportantInformationFeature_1 = __importDefault(require("../../../providers/feature/ConfirmationImportantInformationFeature"));
|
|
61
63
|
const ConfirmationVerifyFeature_1 = __importDefault(require("../../../providers/feature/ConfirmationVerifyFeature"));
|
|
62
64
|
const ShowIATANumberOnCheckoutFeature_1 = __importDefault(require("../../../providers/feature/ShowIATANumberOnCheckoutFeature"));
|
|
63
65
|
const Color_1 = require("../../../util/Color");
|
|
64
66
|
const GetStepRoom_1 = __importDefault(require("../../../util/GetStepRoom"));
|
|
65
67
|
const usePaymentHelper_1 = require("../../../util/usePaymentHelper");
|
|
66
68
|
function StepConfirmationForm() {
|
|
67
|
-
var _a;
|
|
69
|
+
var _a, _b;
|
|
70
|
+
const [confirmationImportantInformationError, setConfirmationImportantInformationError] = (0, react_1.useState)(false);
|
|
71
|
+
const confirmationImportantInformation = (0, react_1.useRef)(null);
|
|
68
72
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
69
73
|
const methods = (0, react_hook_form_1.useFormContext)();
|
|
70
74
|
const { isInPaymentMode, isBackFromPlanpay, bookingSource } = (0, ConfirmationStepContext_1.useConfirmationStep)();
|
|
@@ -112,6 +116,9 @@ function StepConfirmationForm() {
|
|
|
112
116
|
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.Success },
|
|
113
117
|
react_1.default.createElement("strong", null, t(Translation_1.Translation.Step.Confirmation.Secured))))),
|
|
114
118
|
react_1.default.createElement(SSLSecureBadge_1.default, null))),
|
|
119
|
+
ConfirmationImportantInformationFeature_1.default.isActive() && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
120
|
+
react_1.default.createElement(LineBreak_1.default, null),
|
|
121
|
+
react_1.default.createElement(StepConfirmationImportantInformation_1.default, { ref: confirmationImportantInformation, confirmationError: confirmationImportantInformationError, withCheckbox: !!((_a = ConfirmationImportantInformationFeature_1.default.getOptions()) === null || _a === void 0 ? void 0 : _a.withCheckbox) }))),
|
|
115
122
|
react_1.default.createElement(LineBreak_1.default, null))),
|
|
116
123
|
react_1.default.createElement(StepConfirmationPoliciesSection_1.default, null),
|
|
117
124
|
react_1.default.createElement("div", { className: "u-pad-top--light u-marg-bottom" },
|
|
@@ -123,8 +130,8 @@ function StepConfirmationForm() {
|
|
|
123
130
|
return (react_1.default.createElement("form", null, isBackFromPlanpay ? (react_1.default.createElement(LargeLoader_1.default, null)) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
124
131
|
react_1.default.createElement(AutoAutoHeight_1.default, { open: !exclusivePayment || !isInPaymentMode }, prePaymentInfo),
|
|
125
132
|
exclusivePayment && (react_1.default.createElement(AutoAutoHeight_1.default, { open: isInPaymentMode },
|
|
126
|
-
react_1.default.createElement(ScrollToTop_1.default, null), (
|
|
127
|
-
|
|
133
|
+
react_1.default.createElement(ScrollToTop_1.default, null), (_b = exclusivePayment.renderPaymentInput) === null || _b === void 0 ? void 0 :
|
|
134
|
+
_b.call(exclusivePayment)))))));
|
|
128
135
|
}
|
|
129
136
|
exports.default = StepConfirmationForm;
|
|
130
137
|
//# sourceMappingURL=StepConfirmationForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepConfirmationForm.js","sourceRoot":"/","sources":["src/components/steps/confirmation/StepConfirmationForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useConfirmationStep } from 'contexts/ConfirmationStepContext/ConfirmationStepContext';\nimport { useHistoryConsistentPush } from 'hooks/HistoryConsistentPush';\nimport React from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport SSLSecureBadge from '@/components/generic/badging/SSLSecureBadge';\nimport BEButton from '@/components/generic/BEButton';\nimport Headline from '@/components/generic/Headline';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\nimport ScrollToTop from '@/components/generic/ScrollToTop';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextBox from '@/components/generic/TextBox';\nimport PaymentInformation from '@/components/steps/confirmation/PaymentInformation';\nimport RoomContactDetails from '@/components/steps/confirmation/RoomContactDetails';\nimport StepConfirmationAcknowledgement from '@/components/steps/confirmation/StepConfirmationAcknowledgement';\nimport { StepConfirmationCommentsComponent } from '@/components/steps/confirmation/StepConfirmationCommentsComponent';\nimport StepConfirmationPoliciesSection from '@/components/steps/confirmation/StepConfirmationPoliciesSection';\nimport StepConfirmationPolicyBlock from '@/components/steps/confirmation/StepConfirmationPolicyBlock';\nimport { ConfirmationFormValues } from '@/models/Confirmation';\nimport ConfirmationVerifyFeature from '@/providers/feature/ConfirmationVerifyFeature';\nimport ShowIATANumberOnCheckoutFeature from '@/providers/feature/ShowIATANumberOnCheckoutFeature';\nimport { Color } from '@/util/Color';\nimport getStepRoom from '@/util/GetStepRoom';\nimport { usePaymentHelper } from '@/util/usePaymentHelper';\n\nexport default function StepConfirmationForm() {\n const { t } = useTranslation();\n\n const methods = useFormContext<ConfirmationFormValues>();\n const { isInPaymentMode, isBackFromPlanpay, bookingSource } = useConfirmationStep();\n\n const historyConsistentPush = useHistoryConsistentPush();\n\n const { exclusivePayment } = usePaymentHelper();\n\n const returnToPickRooms = async () => {\n historyConsistentPush(getStepRoom().getStepUrl());\n };\n\n const prePaymentInfo = (\n <>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Headline bold>{t(Translation.Step.Confirmation.GuestDetails)}</Headline>\n </div>\n <Text type={TextType.Small} color={Color.Success}>\n <strong>{t(Translation.Step.Confirmation.AlmostDone, { required: '*' })}</strong>\n </Text>\n </div>\n <RoomContactDetails />\n {bookingSource === 'inline' ? (\n <Alert type={AlertType.Accent2} heavyPadding>\n <div className=\"u-flex u-w-100 flex-wrap flex-xl-nowrap\">\n <div>\n <Text color={Color.Accent} bold>\n {t(Translation.Step.Confirmation.WantMoreRooms)}\n </Text>\n <Text color={Color.Navy}>{t(Translation.Step.Confirmation.YouCanAddAndEditRooms)}</Text>\n </div>\n <div className=\"d-flex align-items-center u-marg-top@xl-\">\n <BEButton filled primary icon={IconType.Add} iconPosition=\"left\" onClick={returnToPickRooms}>\n {t(Translation.Step.Confirmation.AddMoreRooms)}\n </BEButton>\n </div>\n </div>\n </Alert>\n ) : (\n <></>\n )}\n {ShowIATANumberOnCheckoutFeature.isActive() && (\n <>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom\">\n <Headline bold>{t(Translation.Step.Confirmation.TravelAgent)}</Headline>\n </div>\n\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Confirmation.Inputs.IATANumber)}</strong>\n </Text>\n </div>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>{t(Translation.Step.Confirmation.Inputs.IATANumberGuide)}</Text>\n </div>\n <TextBox placeholder={t(Translation.Step.Confirmation.Inputs.IATANumber)} wide {...methods.register('IATANumber')} />\n </div>\n <LineBreak />\n </>\n )}\n <StepConfirmationCommentsComponent />\n <LineBreak />\n {!exclusivePayment && (\n <>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom\">\n <Headline bold>{t(Translation.Navigation.Menu.PaymentInformation)}</Headline>\n </div>\n\n <PaymentInformation />\n <div className=\"u-marg-top u-flex align-items-center\">\n <div className=\"u-flex align-items-center justify-content-start\">\n <Icon icon={IconType.Lock} color={Color.Success} />\n <div className=\"u-marg-left--light\">\n <Text type={TextType.Small} color={Color.Success}>\n <strong>{t(Translation.Step.Confirmation.Secured)}</strong>\n </Text>\n </div>\n </div>\n <SSLSecureBadge />\n </div>\n </div>\n <LineBreak />\n </>\n )}\n <StepConfirmationPoliciesSection />\n <div className=\"u-pad-top--light u-marg-bottom\">\n <StepConfirmationPolicyBlock />\n </div>\n {ConfirmationVerifyFeature.isActive() && (\n <>\n <LineBreak />\n <div>\n <StepConfirmationAcknowledgement />\n </div>\n </>\n )}\n </>\n );\n\n return (\n <form>\n {isBackFromPlanpay ? (\n <LargeLoader />\n ) : (\n <>\n <AutoAutoHeight open={!exclusivePayment || !isInPaymentMode}>{prePaymentInfo}</AutoAutoHeight>\n {exclusivePayment && (\n <AutoAutoHeight open={isInPaymentMode}>\n <ScrollToTop />\n {exclusivePayment.renderPaymentInput?.()}\n </AutoAutoHeight>\n )}\n </>\n )}\n </form>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StepConfirmationForm.js","sourceRoot":"/","sources":["src/components/steps/confirmation/StepConfirmationForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useConfirmationStep } from 'contexts/ConfirmationStepContext/ConfirmationStepContext';\nimport { useHistoryConsistentPush } from 'hooks/HistoryConsistentPush';\nimport React, { useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport SSLSecureBadge from '@/components/generic/badging/SSLSecureBadge';\nimport BEButton from '@/components/generic/BEButton';\nimport Headline from '@/components/generic/Headline';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\nimport ScrollToTop from '@/components/generic/ScrollToTop';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextBox from '@/components/generic/TextBox';\nimport PaymentInformation from '@/components/steps/confirmation/PaymentInformation';\nimport RoomContactDetails from '@/components/steps/confirmation/RoomContactDetails';\nimport StepConfirmationAcknowledgement from '@/components/steps/confirmation/StepConfirmationAcknowledgement';\nimport { StepConfirmationCommentsComponent } from '@/components/steps/confirmation/StepConfirmationCommentsComponent';\nimport StepConfirmationImportantInformation from '@/components/steps/confirmation/StepConfirmationImportantInformation';\nimport StepConfirmationPoliciesSection from '@/components/steps/confirmation/StepConfirmationPoliciesSection';\nimport StepConfirmationPolicyBlock from '@/components/steps/confirmation/StepConfirmationPolicyBlock';\nimport { ConfirmationFormValues } from '@/models/Confirmation';\nimport ConfirmationImportantInformationFeature from '@/providers/feature/ConfirmationImportantInformationFeature';\nimport ConfirmationVerifyFeature from '@/providers/feature/ConfirmationVerifyFeature';\nimport ShowIATANumberOnCheckoutFeature from '@/providers/feature/ShowIATANumberOnCheckoutFeature';\nimport { Color } from '@/util/Color';\nimport getStepRoom from '@/util/GetStepRoom';\nimport { usePaymentHelper } from '@/util/usePaymentHelper';\n\nexport default function StepConfirmationForm() {\n const [confirmationImportantInformationError, setConfirmationImportantInformationError] = useState(false);\n const confirmationImportantInformation = useRef<HTMLInputElement | null>(null);\n const { t } = useTranslation();\n\n const methods = useFormContext<ConfirmationFormValues>();\n const { isInPaymentMode, isBackFromPlanpay, bookingSource } = useConfirmationStep();\n\n const historyConsistentPush = useHistoryConsistentPush();\n\n const { exclusivePayment } = usePaymentHelper();\n\n const returnToPickRooms = async () => {\n historyConsistentPush(getStepRoom().getStepUrl());\n };\n\n const prePaymentInfo = (\n <>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Headline bold>{t(Translation.Step.Confirmation.GuestDetails)}</Headline>\n </div>\n <Text type={TextType.Small} color={Color.Success}>\n <strong>{t(Translation.Step.Confirmation.AlmostDone, { required: '*' })}</strong>\n </Text>\n </div>\n <RoomContactDetails />\n {bookingSource === 'inline' ? (\n <Alert type={AlertType.Accent2} heavyPadding>\n <div className=\"u-flex u-w-100 flex-wrap flex-xl-nowrap\">\n <div>\n <Text color={Color.Accent} bold>\n {t(Translation.Step.Confirmation.WantMoreRooms)}\n </Text>\n <Text color={Color.Navy}>{t(Translation.Step.Confirmation.YouCanAddAndEditRooms)}</Text>\n </div>\n <div className=\"d-flex align-items-center u-marg-top@xl-\">\n <BEButton filled primary icon={IconType.Add} iconPosition=\"left\" onClick={returnToPickRooms}>\n {t(Translation.Step.Confirmation.AddMoreRooms)}\n </BEButton>\n </div>\n </div>\n </Alert>\n ) : (\n <></>\n )}\n {ShowIATANumberOnCheckoutFeature.isActive() && (\n <>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom\">\n <Headline bold>{t(Translation.Step.Confirmation.TravelAgent)}</Headline>\n </div>\n\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Confirmation.Inputs.IATANumber)}</strong>\n </Text>\n </div>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>{t(Translation.Step.Confirmation.Inputs.IATANumberGuide)}</Text>\n </div>\n <TextBox placeholder={t(Translation.Step.Confirmation.Inputs.IATANumber)} wide {...methods.register('IATANumber')} />\n </div>\n <LineBreak />\n </>\n )}\n <StepConfirmationCommentsComponent />\n <LineBreak />\n {!exclusivePayment && (\n <>\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom\">\n <Headline bold>{t(Translation.Navigation.Menu.PaymentInformation)}</Headline>\n </div>\n\n <PaymentInformation />\n <div className=\"u-marg-top u-flex align-items-center\">\n <div className=\"u-flex align-items-center justify-content-start\">\n <Icon icon={IconType.Lock} color={Color.Success} />\n <div className=\"u-marg-left--light\">\n <Text type={TextType.Small} color={Color.Success}>\n <strong>{t(Translation.Step.Confirmation.Secured)}</strong>\n </Text>\n </div>\n </div>\n <SSLSecureBadge />\n </div>\n </div>\n {ConfirmationImportantInformationFeature.isActive() && (\n <>\n <LineBreak />\n <StepConfirmationImportantInformation\n ref={confirmationImportantInformation}\n confirmationError={confirmationImportantInformationError}\n withCheckbox={!!ConfirmationImportantInformationFeature.getOptions()?.withCheckbox}\n />\n </>\n )}\n <LineBreak />\n </>\n )}\n <StepConfirmationPoliciesSection />\n <div className=\"u-pad-top--light u-marg-bottom\">\n <StepConfirmationPolicyBlock />\n </div>\n {ConfirmationVerifyFeature.isActive() && (\n <>\n <LineBreak />\n <div>\n <StepConfirmationAcknowledgement />\n </div>\n </>\n )}\n </>\n );\n\n return (\n <form>\n {isBackFromPlanpay ? (\n <LargeLoader />\n ) : (\n <>\n <AutoAutoHeight open={!exclusivePayment || !isInPaymentMode}>{prePaymentInfo}</AutoAutoHeight>\n {exclusivePayment && (\n <AutoAutoHeight open={isInPaymentMode}>\n <ScrollToTop />\n {exclusivePayment.renderPaymentInput?.()}\n </AutoAutoHeight>\n )}\n </>\n )}\n </form>\n );\n}\n"]}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function StepConfirmationFormProvider(): React.JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface ImportantInformationProps {
|
|
3
|
+
withCheckbox: boolean;
|
|
4
|
+
confirmationError: boolean;
|
|
5
|
+
}
|
|
6
|
+
declare const _default: React.ForwardRefExoticComponent<ImportantInformationProps & React.RefAttributes<unknown>>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const react_1 = __importDefault(require("react"));
|
|
30
|
+
const react_i18next_1 = require("react-i18next");
|
|
31
|
+
const AutoAutoHeight_1 = __importDefault(require("../../../animations/AutoAutoHeight"));
|
|
32
|
+
const Alert_1 = __importStar(require("../../generic/Alert"));
|
|
33
|
+
const Checkbox_1 = __importDefault(require("../../generic/Checkbox/Checkbox"));
|
|
34
|
+
const Headline_1 = __importDefault(require("../../generic/Headline"));
|
|
35
|
+
const Icon_1 = require("../../generic/Icon/Icon");
|
|
36
|
+
const Text_1 = __importStar(require("../../generic/Text"));
|
|
37
|
+
const Translation_1 = require("../../../translations/Translation");
|
|
38
|
+
const Color_1 = require("../../../util/Color");
|
|
39
|
+
exports.default = react_1.default.forwardRef(function StepConfirmationImportantInformation({ confirmationError, withCheckbox }, ref) {
|
|
40
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
41
|
+
return (react_1.default.createElement("div", { className: "u-marg-bottom step-confirmation-important-information" },
|
|
42
|
+
react_1.default.createElement("div", { className: "u-marg-bottom step-confirmation-important-information-headline" },
|
|
43
|
+
react_1.default.createElement(Headline_1.default, { bold: true }, t(Translation_1.Translation.Step.Confirmation.ImportantInformation))),
|
|
44
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.Graphite, bold: true, className: "u-marg-bottom step-confirmation-important-information-notes" }, t(Translation_1.Translation.Step.Confirmation.ImportantInformationNotes)),
|
|
45
|
+
withCheckbox && (react_1.default.createElement("div", { className: "step-confirmation-important-information-checkbox" },
|
|
46
|
+
react_1.default.createElement(Checkbox_1.default, { ref: ref, label: react_1.default.createElement("div", null,
|
|
47
|
+
t(Translation_1.Translation.Step.Confirmation.ImportantInformationIHaveUnderstood),
|
|
48
|
+
" ") }))),
|
|
49
|
+
react_1.default.createElement(AutoAutoHeight_1.default, { open: confirmationError },
|
|
50
|
+
react_1.default.createElement("div", { className: "u-flex u-marg-top" },
|
|
51
|
+
react_1.default.createElement(Alert_1.default, { type: Alert_1.AlertType.Danger, icon: Icon_1.IconType.Error },
|
|
52
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small }, t(Translation_1.Translation.Step.Confirmation.ImportantInformationError)))))));
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=StepConfirmationImportantInformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepConfirmationImportantInformation.js","sourceRoot":"/","sources":["src/components/steps/confirmation/StepConfirmationImportantInformation.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAA+C;AAE/C,iFAAyD;AACzD,oEAA8D;AAC9D,sFAA8D;AAC9D,6EAAqD;AACrD,yDAA0D;AAC1D,kEAA2D;AAC3D,4DAAyD;AACzD,wCAAqC;AAOrC,kBAAe,eAAK,CAAC,UAAU,CAAC,SAAS,oCAAoC,CAAC,EAAE,iBAAiB,EAAE,YAAY,EAA6B,EAAE,GAAQ;IAClJ,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,OAAO,CACH,uCAAK,SAAS,EAAC,uDAAuD;QAClE,uCAAK,SAAS,EAAC,gEAAgE;YAC3E,8BAAC,kBAAQ,IAAC,IAAI,UAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAY,CAC/E;QACN,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,QAAQ,EAAE,IAAI,QAAC,SAAS,EAAC,6DAA6D,IAC1H,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,CACxD;QACN,YAAY,IAAI,CACb,uCAAK,SAAS,EAAC,kDAAkD;YAC7D,8BAAC,kBAAQ,IAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;oBAAM,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,mCAAmC,CAAC;wBAAQ,GAAI,CAC/G,CACT;QAED,8BAAC,wBAAc,IAAC,IAAI,EAAE,iBAAiB;YACnC,uCAAK,SAAS,EAAC,mBAAmB;gBAC9B,8BAAC,eAAK,IAAC,IAAI,EAAE,iBAAS,CAAC,MAAM,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK;oBAC/C,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAQ,CAC3F,CACN,CACO,CACf,CACT,CAAC;AACN,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport Checkbox from '@/components/generic/Checkbox/Checkbox';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { Translation } from '@/translations/Translation';\nimport { Color } from '@/util/Color';\n\ninterface ImportantInformationProps {\n withCheckbox: boolean;\n confirmationError: boolean;\n}\n\nexport default React.forwardRef(function StepConfirmationImportantInformation({ confirmationError, withCheckbox }: ImportantInformationProps, ref: any) {\n const { t } = useTranslation();\n\n return (\n <div className=\"u-marg-bottom step-confirmation-important-information\">\n <div className=\"u-marg-bottom step-confirmation-important-information-headline\">\n <Headline bold>{t(Translation.Step.Confirmation.ImportantInformation)}</Headline>\n </div>\n <Text type={TextType.Small} color={Color.Graphite} bold className=\"u-marg-bottom step-confirmation-important-information-notes\">\n {t(Translation.Step.Confirmation.ImportantInformationNotes)}\n </Text>\n {withCheckbox && (\n <div className=\"step-confirmation-important-information-checkbox\">\n <Checkbox ref={ref} label={<div>{t(Translation.Step.Confirmation.ImportantInformationIHaveUnderstood)} </div>} />\n </div>\n )}\n\n <AutoAutoHeight open={confirmationError}>\n <div className=\"u-flex u-marg-top\">\n <Alert type={AlertType.Danger} icon={IconType.Error}>\n <Text type={TextType.Small}>{t(Translation.Step.Confirmation.ImportantInformationError)}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n </div>\n );\n});\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import dayjs from 'dayjs';
|
|
2
|
+
import React from 'react';
|
|
2
3
|
interface StepConfirmationLimitedOffer {
|
|
3
4
|
endDate: dayjs.Dayjs;
|
|
4
5
|
}
|
|
5
|
-
export default function StepConfirmationLimitedOffer(props: StepConfirmationLimitedOffer): JSX.Element;
|
|
6
|
+
export default function StepConfirmationLimitedOffer(props: StepConfirmationLimitedOffer): React.JSX.Element;
|
|
6
7
|
export {};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function StepConfirmationPoliciesSection(): React.JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function StepConfirmationPolicyBlock(): React.JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function AdditionalOffers(): React.JSX.Element;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { Addon } from '../../../../models/Addon/Addon';
|
|
2
3
|
export interface AdditionalOffersColumn {
|
|
3
4
|
addon: Addon;
|
|
4
5
|
cardClicked?: () => void;
|
|
5
6
|
selected: boolean;
|
|
6
7
|
}
|
|
7
|
-
export default function AdditionalOffersColumn(props: AdditionalOffersColumn): JSX.Element;
|
|
8
|
+
export default function AdditionalOffersColumn(props: AdditionalOffersColumn): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { Addon } from '../../../../models/Addon/Addon';
|
|
2
3
|
import BasketAddonRow from '../../../../models/BasketAddonRow';
|
|
3
4
|
export interface AdditionalOffersModalProps {
|
|
@@ -6,4 +7,4 @@ export interface AdditionalOffersModalProps {
|
|
|
6
7
|
basketAddonRow: BasketAddonRow | void;
|
|
7
8
|
onClose: () => void;
|
|
8
9
|
}
|
|
9
|
-
export default function AdditionalOffersModal(props: AdditionalOffersModalProps): JSX.Element;
|
|
10
|
+
export default function AdditionalOffersModal(props: AdditionalOffersModalProps): React.JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function PeoplePicker(): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
export interface PeoplePickerDetails {
|
|
2
3
|
adults: number;
|
|
3
4
|
children: number;
|
|
@@ -11,4 +12,4 @@ export interface PeoplePickerRowProps {
|
|
|
11
12
|
onChange?: (details: PeoplePickerDetails) => void;
|
|
12
13
|
onRemove?: () => void;
|
|
13
14
|
}
|
|
14
|
-
export default function PeoplePickerRow(pickerProps: PeoplePickerRowProps): JSX.Element;
|
|
15
|
+
export default function PeoplePickerRow(pickerProps: PeoplePickerRowProps): React.JSX.Element;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
interface StepDatePricePerRoomProps {
|
|
2
3
|
isMobile: boolean;
|
|
3
4
|
}
|
|
4
|
-
export default function StepDatePricePerRoom(props: StepDatePricePerRoomProps): JSX.Element;
|
|
5
|
+
export default function StepDatePricePerRoom(props: StepDatePricePerRoomProps): React.JSX.Element;
|
|
5
6
|
export {};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function StepOneDateRange(): React.JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function StepOneDateRangePickerLegend(): React.JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function StepOneNextStepButton(): React.JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function StepOneStatusPeople(): React.JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { Hotel } from '../../../models/Client/Hotel/Hotel';
|
|
2
3
|
interface HotelCardProps {
|
|
3
4
|
hotel: Hotel;
|
|
4
5
|
}
|
|
5
|
-
declare const HotelCard: ({ hotel }: HotelCardProps) => JSX.Element;
|
|
6
|
+
declare const HotelCard: ({ hotel }: HotelCardProps) => React.JSX.Element;
|
|
6
7
|
export default HotelCard;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { Hotel } from '../../../models/Client/Hotel/Hotel';
|
|
2
3
|
export interface HotelCardListProps {
|
|
3
4
|
hotelList: Hotel[];
|
|
4
5
|
}
|
|
5
|
-
export default function HotelCardList({ hotelList }: HotelCardListProps): JSX.Element;
|
|
6
|
+
export default function HotelCardList({ hotelList }: HotelCardListProps): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { Hotel } from '../../../models/Client/Hotel/Hotel';
|
|
2
3
|
interface HotelCardModalProps {
|
|
3
4
|
open: boolean;
|
|
@@ -5,5 +6,5 @@ interface HotelCardModalProps {
|
|
|
5
6
|
onClose: () => void;
|
|
6
7
|
container?: HTMLElement | null;
|
|
7
8
|
}
|
|
8
|
-
declare const HotelCardModal: (props: HotelCardModalProps) => JSX.Element;
|
|
9
|
+
declare const HotelCardModal: (props: HotelCardModalProps) => React.JSX.Element;
|
|
9
10
|
export default HotelCardModal;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import { Hotel } from '../../../models/Client/Hotel/Hotel';
|
|
2
3
|
export type HotelInfoPerkRowProps = {
|
|
3
4
|
hotel?: Hotel;
|
|
4
5
|
};
|
|
5
6
|
export declare const BE_HOTEL_INFO_PERK_ROW = "BEHotelInfoPerkRow";
|
|
6
|
-
export default function HotelInfoPerkRow(props: HotelInfoPerkRowProps): JSX.Element;
|
|
7
|
+
export default function HotelInfoPerkRow(props: HotelInfoPerkRowProps): React.JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function NoHotelsAvailable(): React.JSX.Element;
|
|
@@ -132,11 +132,6 @@ const AvailableUpgradesModal = () => {
|
|
|
132
132
|
DataLayer_1.default.instance.sendUpsellConfirmed({ from: row.getStartDate(), to: row.getEndDate() }, row.getRate(), rate);
|
|
133
133
|
row.setRate(rate, RoomUpsellFeature_1.default.isActive());
|
|
134
134
|
basketContext.updateBasketRow(row);
|
|
135
|
-
// TODO: RE-2211 - Look to refactor globally how we're loading the quote details to account for all other changes.
|
|
136
|
-
// This is a workaround to force the quote details to be reloaded
|
|
137
|
-
if (hotel === null || hotel === void 0 ? void 0 : hotel.requireDeposit) {
|
|
138
|
-
basketContext.quoteOrPencilReservation(() => true);
|
|
139
|
-
}
|
|
140
135
|
closeModal();
|
|
141
136
|
}
|
|
142
137
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvailableUpgradesModal.js","sourceRoot":"/","sources":["src/components/steps/room/AvailableUpgradesModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext } from '@frontend/contexts';\nimport { AddToCartEvent } from '@frontend/events';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport React, { FC, useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport API from '@/api/BookingAPI';\nimport BEButton from '@/components/generic/BEButton';\nimport Currency from '@/components/generic/Currency';\nimport Headline from '@/components/generic/Headline';\nimport SimpleModal from '@/components/generic/modal/SimpleModal';\nimport Text, { TextType } from '@/components/generic/Text';\nimport ImageGallerySlider from '@/components/steps/room/ImageGallerySlider';\nimport LargeRoomCard from '@/components/steps/room/LargeRoomCard';\nimport { useSignedInMember } from '@/hooks/useSignedInMember';\nimport BasketRow from '@/models/BasketRow';\nimport { RoomRate } from '@/models/Room/RoomRate';\nimport RoomUpsellFeature from '@/providers/feature/RoomUpsellFeature';\nimport { Color } from '@/util/Color';\nimport DataLayer from '@/util/DataLayer';\n\nconst AvailableUpgradesModal: FC = () => {\n const { t } = useTranslation();\n const { hotel } = useCurrentHotel();\n const { memberNumber } = useSignedInMember();\n const [isOpen, setIsOpen] = useState(false);\n const [row, setRow] = useState<BasketRow | null>(null);\n\n const basketContext = useContext(BasketContext);\n\n const { on } = useEvent();\n\n const room = row?.getRoom();\n const selectedRate = row?.getRate();\n\n const [rates, setRates] = useState<RoomRate[]>();\n\n useEffect(() => {\n let cancelled = false;\n\n on(AddToCartEvent, async (event: AddToCartEvent): Promise<void | boolean> => {\n if (cancelled) return;\n\n setRow(event.basketRow);\n return true;\n });\n\n return () => {\n cancelled = true;\n };\n }, []);\n\n useEffect(() => {\n let cancelled = false;\n\n if (row) {\n API.Availability.fetchAvailabilityData(row, hotel?.hotelID as string, memberNumber, true).then((availableRooms) => {\n if (cancelled) return;\n\n const unfilteredRates: RoomRate[] = [];\n availableRooms\n ?.map((availableRoom) => {\n return availableRoom.getRates();\n })\n .forEach((fewRates) => {\n fewRates.forEach((oneRate) => {\n unfilteredRates.push(oneRate);\n });\n });\n const filteredRates = unfilteredRates\n .filter((rate) => {\n return rate.getAveragePrice() > (selectedRate?.getAveragePrice() as number) && rate.name === selectedRate?.name;\n })\n .sort((a: RoomRate, b: RoomRate) => {\n if (a.getAveragePrice() === selectedRate?.getAveragePrice()) return 1;\n if (b.getAveragePrice() === selectedRate?.getAveragePrice()) return -1;\n return a.getAveragePrice() - b.getAveragePrice();\n })\n .slice(0, 3);\n\n setRates(filteredRates);\n if (filteredRates.length === 0 && selectedRate) {\n // Proceed as if user clicked the nav.\n confirmRateOnClick();\n } else {\n setIsOpen(true);\n }\n });\n }\n\n return () => {\n cancelled = true;\n };\n }, [row, memberNumber]);\n\n const closeModal = () => {\n setIsOpen(false);\n setRow(null);\n };\n\n const cancelUpsell = () => {\n if (row) {\n DataLayer.instance.sendUpsellCancelled({ from: row.getStartDate(), to: row.getEndDate() }, row.getRate() as RoomRate);\n }\n\n closeModal();\n };\n\n const confirmRateOnClick = (rate?: RoomRate) => {\n if (row) {\n if (rate) {\n DataLayer.instance.sendUpsellConfirmed({ from: row.getStartDate(), to: row.getEndDate() }, row.getRate() as RoomRate, rate);\n\n row.setRate(rate, RoomUpsellFeature.isActive());\n basketContext.updateBasketRow(row);\n\n // TODO: RE-2211 - Look to refactor globally how we're loading the quote details to account for all other changes.\n // This is a workaround to force the quote details to be reloaded\n if (hotel?.requireDeposit) {\n basketContext.quoteOrPencilReservation(() => true);\n }\n closeModal();\n } else {\n cancelUpsell();\n }\n }\n };\n\n return RoomUpsellFeature.isActive() ? (\n <SimpleModal open={isOpen} onClose={cancelUpsell} title={t(Translation.Step.Room.AvailableUpgrades)}>\n <div className=\"upgrades-room-modal\">\n <div className=\"current-room-block container\">\n <div className=\"u-flex u-flex-flex-start row\">\n <div className=\"image-wrapper col-md-3 col-12\">\n <ImageGallerySlider images={room?.getImages() || []} />\n </div>\n <div className=\"u-flex info-block col-md-7 col-sm-9\">\n <div>\n <Text color={Color.DarkGrey} bold>\n {t(Translation.Step.Room.CurrentSelectedRoom)}\n </Text>\n <Headline bold>{room?.name}</Headline>\n <Text type={TextType.Small} color={Color.DarkGrey}>\n {selectedRate?.name}\n </Text>\n </div>\n <div>\n <div className=\"room-details--content-price flex-row\">\n <Headline bold>\n <Currency hideDecimals>{selectedRate?.getAveragePrice()}</Currency>\n </Headline>\n <Text color={Color.DarkGrey} inline>\n /{t(Translation.Misc.Night)}\n </Text>\n </div>\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} color={Color.Grey} className=\"u-nowrap\">\n <span dangerouslySetInnerHTML={{ __html: t(Translation.Step.Room.RoomInfo.IncludesTaxes) }}></span>\n </Text>\n </div>\n </div>\n </div>\n <div className=\"u-flex u-flex-align-center col-md-2 col-sm-3\">\n <BEButton wide filled primary onClick={() => confirmRateOnClick()}>\n {t(Translation.Step.Room.Confirm)}\n </BEButton>\n </div>\n </div>\n </div>\n <div className=\"container\" style={{ backgroundColor: Color.Snow }}>\n <div className=\"u-pad-top u-marg-bottom\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline bold>{t(Translation.Step.Room.CheckOutOtherOptions)}</Headline>\n </div>\n <div className=\"row no-gutters\">\n {rates?.map((rate) => {\n const onSelectRate = () => {\n confirmRateOnClick(rate);\n };\n\n return (\n <div className=\"col-md-6 col-xl-4 u-marg-bottom u-pad-left--light u-pad-right--light\" key={rate.getRoom().name}>\n <LargeRoomCard selectedRate={selectedRate as RoomRate} rate={rate} onSelectRate={onSelectRate} />\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </div>\n </SimpleModal>\n ) : null;\n};\n\nexport default AvailableUpgradesModal;\n"]}
|
|
1
|
+
{"version":3,"file":"AvailableUpgradesModal.js","sourceRoot":"/","sources":["src/components/steps/room/AvailableUpgradesModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext } from '@frontend/contexts';\nimport { AddToCartEvent } from '@frontend/events';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport React, { FC, useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport API from '@/api/BookingAPI';\nimport BEButton from '@/components/generic/BEButton';\nimport Currency from '@/components/generic/Currency';\nimport Headline from '@/components/generic/Headline';\nimport SimpleModal from '@/components/generic/modal/SimpleModal';\nimport Text, { TextType } from '@/components/generic/Text';\nimport ImageGallerySlider from '@/components/steps/room/ImageGallerySlider';\nimport LargeRoomCard from '@/components/steps/room/LargeRoomCard';\nimport { useSignedInMember } from '@/hooks/useSignedInMember';\nimport BasketRow from '@/models/BasketRow';\nimport { RoomRate } from '@/models/Room/RoomRate';\nimport RoomUpsellFeature from '@/providers/feature/RoomUpsellFeature';\nimport { Color } from '@/util/Color';\nimport DataLayer from '@/util/DataLayer';\n\nconst AvailableUpgradesModal: FC = () => {\n const { t } = useTranslation();\n const { hotel } = useCurrentHotel();\n const { memberNumber } = useSignedInMember();\n const [isOpen, setIsOpen] = useState(false);\n const [row, setRow] = useState<BasketRow | null>(null);\n\n const basketContext = useContext(BasketContext);\n\n const { on } = useEvent();\n\n const room = row?.getRoom();\n const selectedRate = row?.getRate();\n\n const [rates, setRates] = useState<RoomRate[]>();\n\n useEffect(() => {\n let cancelled = false;\n\n on(AddToCartEvent, async (event: AddToCartEvent): Promise<void | boolean> => {\n if (cancelled) return;\n\n setRow(event.basketRow);\n return true;\n });\n\n return () => {\n cancelled = true;\n };\n }, []);\n\n useEffect(() => {\n let cancelled = false;\n\n if (row) {\n API.Availability.fetchAvailabilityData(row, hotel?.hotelID as string, memberNumber, true).then((availableRooms) => {\n if (cancelled) return;\n\n const unfilteredRates: RoomRate[] = [];\n availableRooms\n ?.map((availableRoom) => {\n return availableRoom.getRates();\n })\n .forEach((fewRates) => {\n fewRates.forEach((oneRate) => {\n unfilteredRates.push(oneRate);\n });\n });\n const filteredRates = unfilteredRates\n .filter((rate) => {\n return rate.getAveragePrice() > (selectedRate?.getAveragePrice() as number) && rate.name === selectedRate?.name;\n })\n .sort((a: RoomRate, b: RoomRate) => {\n if (a.getAveragePrice() === selectedRate?.getAveragePrice()) return 1;\n if (b.getAveragePrice() === selectedRate?.getAveragePrice()) return -1;\n return a.getAveragePrice() - b.getAveragePrice();\n })\n .slice(0, 3);\n\n setRates(filteredRates);\n if (filteredRates.length === 0 && selectedRate) {\n // Proceed as if user clicked the nav.\n confirmRateOnClick();\n } else {\n setIsOpen(true);\n }\n });\n }\n\n return () => {\n cancelled = true;\n };\n }, [row, memberNumber]);\n\n const closeModal = () => {\n setIsOpen(false);\n setRow(null);\n };\n\n const cancelUpsell = () => {\n if (row) {\n DataLayer.instance.sendUpsellCancelled({ from: row.getStartDate(), to: row.getEndDate() }, row.getRate() as RoomRate);\n }\n\n closeModal();\n };\n\n const confirmRateOnClick = (rate?: RoomRate) => {\n if (row) {\n if (rate) {\n DataLayer.instance.sendUpsellConfirmed({ from: row.getStartDate(), to: row.getEndDate() }, row.getRate() as RoomRate, rate);\n\n row.setRate(rate, RoomUpsellFeature.isActive());\n basketContext.updateBasketRow(row);\n closeModal();\n } else {\n cancelUpsell();\n }\n }\n };\n\n return RoomUpsellFeature.isActive() ? (\n <SimpleModal open={isOpen} onClose={cancelUpsell} title={t(Translation.Step.Room.AvailableUpgrades)}>\n <div className=\"upgrades-room-modal\">\n <div className=\"current-room-block container\">\n <div className=\"u-flex u-flex-flex-start row\">\n <div className=\"image-wrapper col-md-3 col-12\">\n <ImageGallerySlider images={room?.getImages() || []} />\n </div>\n <div className=\"u-flex info-block col-md-7 col-sm-9\">\n <div>\n <Text color={Color.DarkGrey} bold>\n {t(Translation.Step.Room.CurrentSelectedRoom)}\n </Text>\n <Headline bold>{room?.name}</Headline>\n <Text type={TextType.Small} color={Color.DarkGrey}>\n {selectedRate?.name}\n </Text>\n </div>\n <div>\n <div className=\"room-details--content-price flex-row\">\n <Headline bold>\n <Currency hideDecimals>{selectedRate?.getAveragePrice()}</Currency>\n </Headline>\n <Text color={Color.DarkGrey} inline>\n /{t(Translation.Misc.Night)}\n </Text>\n </div>\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} color={Color.Grey} className=\"u-nowrap\">\n <span dangerouslySetInnerHTML={{ __html: t(Translation.Step.Room.RoomInfo.IncludesTaxes) }}></span>\n </Text>\n </div>\n </div>\n </div>\n <div className=\"u-flex u-flex-align-center col-md-2 col-sm-3\">\n <BEButton wide filled primary onClick={() => confirmRateOnClick()}>\n {t(Translation.Step.Room.Confirm)}\n </BEButton>\n </div>\n </div>\n </div>\n <div className=\"container\" style={{ backgroundColor: Color.Snow }}>\n <div className=\"u-pad-top u-marg-bottom\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline bold>{t(Translation.Step.Room.CheckOutOtherOptions)}</Headline>\n </div>\n <div className=\"row no-gutters\">\n {rates?.map((rate) => {\n const onSelectRate = () => {\n confirmRateOnClick(rate);\n };\n\n return (\n <div className=\"col-md-6 col-xl-4 u-marg-bottom u-pad-left--light u-pad-right--light\" key={rate.getRoom().name}>\n <LargeRoomCard selectedRate={selectedRate as RoomRate} rate={rate} onSelectRate={onSelectRate} />\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </div>\n </SimpleModal>\n ) : null;\n};\n\nexport default AvailableUpgradesModal;\n"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { ImageSize } from '../../../providers/ImageProvider';
|
|
2
3
|
interface ImageGallerySliderProps {
|
|
3
4
|
images: string[];
|
|
4
5
|
imageSize?: ImageSize;
|
|
5
6
|
hideLightboxIcon?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export default function ImageGallerySlider(props: ImageGallerySliderProps): JSX.Element;
|
|
8
|
+
export default function ImageGallerySlider(props: ImageGallerySliderProps): React.JSX.Element;
|
|
8
9
|
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { RoomRate } from '../../../models/Room/RoomRate';
|
|
2
3
|
interface Props {
|
|
3
4
|
rate: RoomRate;
|
|
4
5
|
selectedRate: RoomRate;
|
|
5
6
|
onSelectRate: () => void;
|
|
6
7
|
}
|
|
7
|
-
declare const LargeRoomCard: (props: Props) => JSX.Element;
|
|
8
|
+
declare const LargeRoomCard: (props: Props) => React.JSX.Element;
|
|
8
9
|
export default LargeRoomCard;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export default function RoomList(): React.JSX.Element;
|