@roomstay/frontend 2.0.12 → 2.1.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/201.bundle.js +1 -1
- package/dist/218.bundle.js +1 -1
- package/dist/423.bundle.js +1 -1
- package/dist/449.bundle.js +1 -1
- package/dist/873.bundle.js +1 -1
- package/dist/882.bundle.js +1 -1
- package/dist/main.bundle.js +1 -1
- package/dist/src/animations/AutoAutoHeight.js +28 -2
- package/dist/src/animations/AutoAutoHeight.js.map +1 -1
- package/dist/src/animations/Fade.js +24 -1
- package/dist/src/animations/Fade.js.map +1 -1
- package/dist/src/api/AddonAPI.js +29 -3
- package/dist/src/api/AddonAPI.js.map +1 -1
- package/dist/src/api/AvailabilityAPI.d.ts +1 -1
- package/dist/src/api/AvailabilityAPI.js +40 -14
- package/dist/src/api/AvailabilityAPI.js.map +1 -1
- package/dist/src/api/BaseAPI.d.ts +1 -1
- package/dist/src/api/BaseAPI.js +7 -4
- package/dist/src/api/BaseAPI.js.map +1 -1
- package/dist/src/api/BookingAPI.js +12 -9
- package/dist/src/api/BookingAPI.js.map +1 -1
- package/dist/src/api/ErrorAPI.js +4 -1
- package/dist/src/api/ErrorAPI.js.map +1 -1
- package/dist/src/api/ExchangeRateAPI.js +4 -1
- package/dist/src/api/ExchangeRateAPI.js.map +1 -1
- package/dist/src/api/HotelAPI.js +4 -1
- package/dist/src/api/HotelAPI.js.map +1 -1
- package/dist/src/api/MemberAPI.js +24 -1
- package/dist/src/api/MemberAPI.js.map +1 -1
- package/dist/src/api/ReservationAPI.js +24 -1
- package/dist/src/api/ReservationAPI.js.map +1 -1
- package/dist/src/api/SessionAPI.js +24 -1
- package/dist/src/api/SessionAPI.js.map +1 -1
- package/dist/src/api/members-service/MembersServiceAPI.js +4 -1
- package/dist/src/api/members-service/MembersServiceAPI.js.map +1 -1
- package/dist/src/components/User/Forms/ForgotPasswordForm.js +33 -7
- package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignInForm.js +33 -7
- package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignUpForm.js +36 -10
- package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
- package/dist/src/components/generic/Alert.js +30 -4
- package/dist/src/components/generic/Alert.js.map +1 -1
- package/dist/src/components/generic/BEButton.js +30 -4
- package/dist/src/components/generic/BEButton.js.map +1 -1
- package/dist/src/components/generic/BackButton.js +28 -2
- package/dist/src/components/generic/BackButton.js.map +1 -1
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +29 -3
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +19 -0
- package/dist/src/components/generic/BookingWizard/BookingWizard.js +106 -0
- package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +6 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js +28 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +10 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +113 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +35 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.js +8 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +7 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +146 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +9 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +111 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +10 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +144 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -0
- package/dist/src/components/generic/Card/Card/Card.js +30 -4
- package/dist/src/components/generic/Card/Card/Card.js.map +1 -1
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +31 -5
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
- package/dist/src/components/generic/Checkbox/Checkbox.js +30 -4
- package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
- package/dist/src/components/generic/Countdown.d.ts +1 -1
- package/dist/src/components/generic/Countdown.js +29 -3
- package/dist/src/components/generic/Countdown.js.map +1 -1
- package/dist/src/components/generic/Currency.js +29 -3
- package/dist/src/components/generic/Currency.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +14 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +155 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.d.ts +10 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js +44 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +21 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +134 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +6 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +44 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +7 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +57 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.d.ts +25 -0
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +87 -0
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -0
- package/dist/src/components/generic/Distance.js +28 -2
- package/dist/src/components/generic/Distance.js.map +1 -1
- package/dist/src/components/generic/ForwardedSelect.d.ts +1 -1
- package/dist/src/components/generic/ForwardedSelect.js +24 -1
- package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
- package/dist/src/components/generic/Headline.js +29 -3
- package/dist/src/components/generic/Headline.js.map +1 -1
- package/dist/src/components/generic/Icon/Icon.js +30 -4
- package/dist/src/components/generic/Icon/Icon.js.map +1 -1
- package/dist/src/components/generic/IconText/IconText.js +31 -5
- package/dist/src/components/generic/IconText/IconText.js.map +1 -1
- package/dist/src/components/generic/InputGroup/InputGroup.js +29 -3
- package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
- package/dist/src/components/generic/LineBreak.js +29 -3
- package/dist/src/components/generic/LineBreak.js.map +1 -1
- package/dist/src/components/generic/Notification.js +25 -2
- package/dist/src/components/generic/Notification.js.map +1 -1
- package/dist/src/components/generic/NumberIncrement.js +30 -4
- package/dist/src/components/generic/NumberIncrement.js.map +1 -1
- package/dist/src/components/generic/Overlay/Overlay.d.ts +3 -2
- package/dist/src/components/generic/Overlay/Overlay.js +33 -6
- package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
- package/dist/src/components/generic/PasswordBox/PasswordBox.js +30 -4
- package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.d.ts +1 -2
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.js +30 -4
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +2 -3
- package/dist/src/components/generic/PaymentCard/PaymentCard.js +30 -4
- package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +2 -3
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +34 -8
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
- package/dist/src/components/generic/Pill.js +30 -4
- package/dist/src/components/generic/Pill.js.map +1 -1
- package/dist/src/components/generic/Placeholder.js +29 -3
- package/dist/src/components/generic/Placeholder.js.map +1 -1
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.d.ts +1 -2
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.js +28 -2
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.js.map +1 -1
- package/dist/src/components/generic/Portal/Portal.js +24 -1
- package/dist/src/components/generic/Portal/Portal.js.map +1 -1
- package/dist/src/components/generic/PromoCodeInput.js +32 -6
- package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +30 -4
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +30 -4
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/dist/src/components/generic/RecentSearchesCard.d.ts +1 -1
- package/dist/src/components/generic/RecentSearchesCard.js +35 -9
- package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
- package/dist/src/components/generic/Select/Select.d.ts +20 -6
- package/dist/src/components/generic/Select/Select.js +92 -25
- package/dist/src/components/generic/Select/Select.js.map +1 -1
- package/dist/src/components/generic/Slider/Slider.js +29 -3
- package/dist/src/components/generic/Slider/Slider.js.map +1 -1
- package/dist/src/components/generic/Tabs/ElementChildren.js +24 -1
- package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
- package/dist/src/components/generic/Tabs/Tab.js +24 -1
- package/dist/src/components/generic/Tabs/Tab.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabContext.js +24 -1
- package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabLink.js +30 -4
- package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabRouteContainer.js +28 -2
- package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
- package/dist/src/components/generic/Tabs/Tabs.js +29 -3
- package/dist/src/components/generic/Tabs/Tabs.js.map +1 -1
- package/dist/src/components/generic/Text.js +29 -3
- package/dist/src/components/generic/Text.js.map +1 -1
- package/dist/src/components/generic/TextArea.js +24 -1
- package/dist/src/components/generic/TextArea.js.map +1 -1
- package/dist/src/components/generic/TextBox.js +30 -4
- package/dist/src/components/generic/TextBox.js.map +1 -1
- package/dist/src/components/generic/Tooltip/Tooltip.js +28 -2
- package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
- package/dist/src/components/generic/badging/SSLSecureBadge.js +29 -3
- package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
- package/dist/src/components/generic/buttons/NextStepButton.js +30 -4
- package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +34 -8
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
- package/dist/src/components/generic/date/DatePicker.d.ts +1 -1
- package/dist/src/components/generic/date/DatePicker.js +42 -16
- package/dist/src/components/generic/date/DatePicker.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDay.d.ts +1 -1
- package/dist/src/components/generic/date/DatePickerDay.js +33 -7
- package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDays.d.ts +1 -1
- package/dist/src/components/generic/date/DatePickerDays.js +29 -3
- package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerMonth.d.ts +1 -1
- package/dist/src/components/generic/date/DatePickerMonth.js +30 -4
- package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerWeek.js +38 -12
- package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
- package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
- package/dist/src/components/generic/date/FloatingDatePicker.js +29 -3
- package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
- package/dist/src/components/generic/date/WeekViewSkeleton.js +31 -5
- package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
- package/dist/src/components/generic/loader/ImageLoader.js +29 -3
- package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
- package/dist/src/components/generic/loader/LargeLoader.js +28 -2
- package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
- package/dist/src/components/generic/loader/SmallSpinner.js +25 -2
- package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
- package/dist/src/components/generic/map/HotelLocationMap.js +28 -2
- package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
- package/dist/src/components/generic/modal/ConfirmationModal.d.ts +1 -2
- package/dist/src/components/generic/modal/ConfirmationModal.js +30 -4
- package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
- package/dist/src/components/generic/modal/ErrorModal.js +29 -3
- package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +32 -6
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +33 -7
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SimpleModal.d.ts +2 -0
- package/dist/src/components/generic/modal/SimpleModal.js +36 -9
- package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
- package/dist/src/components/generic/modal/TabbedModal.js +29 -3
- package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
- package/dist/src/components/generic/radio/RadioFields.js +32 -6
- package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.js +24 -1
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.js.map +1 -1
- package/dist/src/components/members/EditMyProfile.js +32 -6
- package/dist/src/components/members/EditMyProfile.js.map +1 -1
- package/dist/src/components/navigation/Header.js +40 -14
- package/dist/src/components/navigation/Header.js.map +1 -1
- package/dist/src/components/navigation/StepSelector.js +34 -8
- package/dist/src/components/navigation/StepSelector.js.map +1 -1
- package/dist/src/components/navigation/StepSelectorModal.js +33 -7
- package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
- package/dist/src/components/pages/Account/Card/CardList.js +30 -4
- package/dist/src/components/pages/Account/Card/CardList.js.map +1 -1
- package/dist/src/components/pages/Account/Card/MemberCardItem.js +34 -8
- package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
- package/dist/src/components/pages/PageColorComponent.js +28 -2
- package/dist/src/components/pages/PageColorComponent.js.map +1 -1
- package/dist/src/components/reservation/ReservationItem.js +42 -16
- package/dist/src/components/reservation/ReservationItem.js.map +1 -1
- package/dist/src/components/reservation/ReservationList.js +28 -2
- package/dist/src/components/reservation/ReservationList.js.map +1 -1
- package/dist/src/components/steps/DaysSelectedInformer.js +25 -2
- package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
- package/dist/src/components/steps/MinimumNightStayPill.js +30 -4
- package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
- package/dist/src/components/steps/addons/AddonCard.js +37 -12
- package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
- package/dist/src/components/steps/addons/AddonList.js +33 -7
- package/dist/src/components/steps/addons/AddonList.js.map +1 -1
- package/dist/src/components/steps/addons/AddonsNotFound.js +29 -3
- package/dist/src/components/steps/addons/AddonsNotFound.js.map +1 -1
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +29 -3
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
- package/dist/src/components/steps/confirmation/AccountDetails.js +29 -3
- package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js +30 -4
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +24 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +32 -6
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +28 -2
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
- package/dist/src/components/steps/confirmation/RoomContactDetails.js +41 -15
- package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +33 -7
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +37 -11
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +30 -4
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +31 -5
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +54 -28
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +28 -2
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +32 -6
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +29 -3
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +25 -2
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +36 -10
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +26 -3
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +37 -12
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePicker.js +32 -6
- package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePickerRow.js +31 -5
- package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
- package/dist/src/components/steps/date/StepDatePricePerRoom.js +32 -6
- package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRange.js +29 -3
- package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePicker.js +30 -4
- package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +29 -3
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.js +29 -3
- package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
- package/dist/src/components/steps/date/StepOneStatusPeople.js +28 -2
- package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCard.js +39 -13
- package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardList.js +29 -3
- package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardModal.js +38 -12
- package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelSearchParameters.js +47 -21
- package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js +29 -3
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
- package/dist/src/components/steps/room/AvailableUpgradesModal.js +37 -11
- package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
- package/dist/src/components/steps/room/ImageGallerySlider.js +32 -6
- package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
- package/dist/src/components/steps/room/InactivityWindow.js +37 -11
- package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
- package/dist/src/components/steps/room/LargeRoomCard.js +35 -9
- package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +38 -12
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js +35 -9
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
- package/dist/src/components/steps/room/RatesNotFound.js +29 -3
- package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
- package/dist/src/components/steps/room/RoomList.js +38 -12
- package/dist/src/components/steps/room/RoomList.js.map +1 -1
- package/dist/src/components/steps/room/RoomListAlert.js +31 -5
- package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js +34 -8
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
- package/dist/src/components/steps/room/RoomModal.js +34 -8
- package/dist/src/components/steps/room/RoomModal.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js +31 -5
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js +29 -3
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomErrorForm.js +37 -11
- package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomHotelDetails.js +29 -3
- package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.js +29 -3
- package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSortBy.js +34 -9
- package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +31 -5
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +32 -7
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +32 -7
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +31 -5
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +43 -17
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +41 -15
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +25 -2
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +31 -5
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +35 -9
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +37 -11
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +29 -3
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +35 -9
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +34 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +34 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +30 -4
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +30 -4
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +32 -6
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +38 -12
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +33 -7
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +30 -4
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +38 -12
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +33 -7
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +32 -6
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +32 -6
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
- package/dist/src/components/summary/BEMapWidget.d.ts +3 -5
- package/dist/src/components/summary/BEMapWidget.js +66 -18
- package/dist/src/components/summary/BEMapWidget.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummary.js +35 -9
- package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js +41 -15
- package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
- package/dist/src/components/summary/BESummary.js +37 -11
- package/dist/src/components/summary/BESummary.js.map +1 -1
- package/dist/src/components/summary/BESummaryAddonRow.js +34 -8
- package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
- package/dist/src/components/summary/BESummaryPerkBlock.js +30 -4
- package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js +25 -2
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js +35 -9
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +30 -4
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
- package/dist/src/components/temp/Login.js +29 -3
- package/dist/src/components/temp/Login.js.map +1 -1
- package/dist/src/containers/PrivateRoute.js +24 -1
- package/dist/src/containers/PrivateRoute.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextType.d.ts +1 -1
- package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +42 -16
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +28 -2
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +34 -8
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationFormContext.js +24 -1
- package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +30 -4
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
- package/dist/src/contexts/DatePickerContext.d.ts +1 -1
- package/dist/src/contexts/DatePickerContext.js +24 -1
- package/dist/src/contexts/DatePickerContext.js.map +1 -1
- package/dist/src/contexts/ErrorContext.js +29 -3
- package/dist/src/contexts/ErrorContext.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.d.ts +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +52 -26
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/HotelOverridesContext.js +28 -2
- package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +30 -4
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +30 -4
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
- package/dist/src/contexts/ModalContext.js +24 -1
- package/dist/src/contexts/ModalContext.js.map +1 -1
- package/dist/src/contexts/NotificationContext.js +28 -2
- package/dist/src/contexts/NotificationContext.js.map +1 -1
- package/dist/src/engines/BaseEngine.d.ts +4 -5
- package/dist/src/engines/BaseEngine.js +6 -2
- package/dist/src/engines/BaseEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +17 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js +31 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +6 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +54 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -0
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.d.ts +6 -2
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +24 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +24 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.d.ts +6 -2
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js +4 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +61 -35
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.d.ts +6 -2
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js +4 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +35 -9
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
- package/dist/src/errors/GetAvailabilityError.d.ts +1 -1
- package/dist/src/errors/GetAvailabilityError.js.map +1 -1
- package/dist/src/hooks/AutoFocusOnSelect.d.ts +2 -0
- package/dist/src/hooks/AutoFocusOnSelect.js +1 -0
- package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
- package/dist/src/hooks/ConfirmationQuery.js +2 -2
- package/dist/src/hooks/ConfirmationQuery.js.map +1 -1
- package/dist/src/hooks/ElementSortHook.js +24 -1
- package/dist/src/hooks/ElementSortHook.js.map +1 -1
- package/dist/src/hooks/EventHook.js +4 -1
- package/dist/src/hooks/EventHook.js.map +1 -1
- package/dist/src/hooks/KeyboardControlOnSelect.d.ts +14 -8
- package/dist/src/hooks/KeyboardControlOnSelect.js +45 -37
- package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
- package/dist/src/hooks/Query.d.ts +1 -1
- package/dist/src/hooks/Query.js +29 -6
- package/dist/src/hooks/Query.js.map +1 -1
- package/dist/src/hooks/VGSHooks.js +6 -3
- package/dist/src/hooks/VGSHooks.js.map +1 -1
- package/dist/src/hooks/WindowSize.d.ts +9 -3
- package/dist/src/hooks/WindowSize.js +13 -2
- package/dist/src/hooks/WindowSize.js.map +1 -1
- package/dist/src/icons/Check.js +24 -1
- package/dist/src/icons/Check.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +60 -44
- package/dist/src/index.js.map +1 -1
- package/dist/src/mockApi/AddonAPI.js +5 -2
- package/dist/src/mockApi/AddonAPI.js.map +1 -1
- package/dist/src/mockApi/BookingAPI.js +9 -6
- package/dist/src/mockApi/BookingAPI.js.map +1 -1
- package/dist/src/mockApi/ExchangeRateAPI.js +4 -1
- package/dist/src/mockApi/ExchangeRateAPI.js.map +1 -1
- package/dist/src/mockApi/HotelAPI.js +4 -1
- package/dist/src/mockApi/HotelAPI.js.map +1 -1
- package/dist/src/mockApi/MemberAPI.js +24 -1
- package/dist/src/mockApi/MemberAPI.js.map +1 -1
- package/dist/src/mockApi/MockAPI.d.ts +1 -1
- package/dist/src/mockApi/MockAPI.js +6 -3
- package/dist/src/mockApi/MockAPI.js.map +1 -1
- package/dist/src/mockApi/ReservationAPI.js +24 -1
- package/dist/src/mockApi/ReservationAPI.js.map +1 -1
- package/dist/src/models/Addon/Addon.d.ts +1 -1
- package/dist/src/models/Addon/Addon.js +7 -4
- package/dist/src/models/Addon/Addon.js.map +1 -1
- package/dist/src/models/BasketRow.d.ts +1 -1
- package/dist/src/models/BasketRow.js.map +1 -1
- package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +6 -0
- package/dist/src/models/BookingWizard/BookingWizardProperty.js +3 -0
- package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -0
- package/dist/src/models/BookingWizard/BookingWizardTypes.d.ts +4 -0
- package/dist/src/models/BookingWizard/BookingWizardTypes.js +3 -0
- package/dist/src/models/BookingWizard/BookingWizardTypes.js.map +1 -0
- package/dist/src/models/Promotion/IPromotion.type.d.ts +1 -1
- package/dist/src/models/Promotion/IPromotion.type.js.map +1 -1
- package/dist/src/models/Reservation/Reservation.d.ts +1 -1
- package/dist/src/models/Reservation/Reservation.js.map +1 -1
- package/dist/src/models/Room/Filters/BudgetFilter.js +4 -1
- package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.js +4 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.js +4 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
- package/dist/src/models/Room/RoomRate.js +6 -3
- package/dist/src/models/Room/RoomRate.js.map +1 -1
- package/dist/src/models/Room/RoomRateNight.d.ts +1 -1
- package/dist/src/models/Room/RoomRateNight.js +5 -2
- package/dist/src/models/Room/RoomRateNight.js.map +1 -1
- package/dist/src/models/RoomstaySession.d.ts +1 -1
- package/dist/src/models/RoomstaySession.js.map +1 -1
- package/dist/src/pages/account/AccountHome/AccountHomePage.js +34 -8
- package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
- package/dist/src/pages/account/AccountOutlet.js +24 -1
- package/dist/src/pages/account/AccountOutlet.js.map +1 -1
- package/dist/src/pages/account/AccountRouter.js +24 -1
- package/dist/src/pages/account/AccountRouter.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +33 -7
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +32 -6
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +34 -8
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
- package/dist/src/pages/account/Help/AccountHelpPage.js +36 -10
- package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js +40 -14
- package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js +39 -13
- package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +39 -13
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js +31 -5
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservation.js +39 -13
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservationResults.js +40 -14
- package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRow.js +40 -14
- package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRowModal.js +39 -13
- package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfo.js +36 -10
- package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js +28 -2
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddon.js +6 -3
- package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +35 -9
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +29 -3
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonValidator.js +4 -1
- package/dist/src/pages/steps/StepAddon/StepAddonValidator.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js +6 -3
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +41 -15
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +29 -3
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js +4 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDate.js +6 -3
- package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.js +39 -13
- package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateValidator.js +4 -1
- package/dist/src/pages/steps/StepDate/StepDateValidator.js.map +1 -1
- package/dist/src/pages/steps/StepGuide.js +29 -3
- package/dist/src/pages/steps/StepGuide.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotel.js +6 -3
- package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +39 -13
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +31 -5
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelValidator.js +4 -1
- package/dist/src/pages/steps/StepHotel/StepHotelValidator.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoom.js +6 -3
- package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +42 -16
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +29 -3
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomValidator.js +4 -1
- package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanks.js +7 -4
- package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +39 -13
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksValidator.js +4 -1
- package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
- package/dist/src/providers/CurrencyProvider.js +4 -1
- package/dist/src/providers/CurrencyProvider.js.map +1 -1
- package/dist/src/providers/DIProvider.js +24 -1
- package/dist/src/providers/DIProvider.js.map +1 -1
- package/dist/src/providers/FeatureProvider.d.ts +2 -2
- package/dist/src/providers/FeatureProvider.js +12 -9
- package/dist/src/providers/FeatureProvider.js.map +1 -1
- package/dist/src/providers/FilterProvider.js +4 -1
- package/dist/src/providers/FilterProvider.js.map +1 -1
- package/dist/src/providers/LanguageProvider.js +6 -3
- package/dist/src/providers/LanguageProvider.js.map +1 -1
- package/dist/src/providers/PromotionProvider.js +7 -4
- package/dist/src/providers/PromotionProvider.js.map +1 -1
- package/dist/src/providers/RoomstayThemeEngine.js +35 -9
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
- package/dist/src/providers/SessionProvider.js +9 -6
- package/dist/src/providers/SessionProvider.js.map +1 -1
- package/dist/src/providers/feature/InlineAddonStepFeature.js +5 -2
- package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
- package/dist/src/providers/storage/LocalStorageProvider.js +24 -1
- package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -1
- package/dist/src/reducers/BasketReducer.js +7 -4
- package/dist/src/reducers/BasketReducer.js.map +1 -1
- package/dist/src/routes/NaturallyProgressedStepRoute.js +33 -7
- package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -1
- package/dist/src/stories/Alert.stories.d.ts +5 -0
- package/dist/src/stories/Alert.stories.js +42 -0
- package/dist/src/stories/Alert.stories.js.map +1 -0
- package/dist/src/stories/{Button.stories.d.ts → BEButton.stories.d.ts} +1 -1
- package/dist/src/stories/BEButton.stories.js +43 -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 +40 -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 +37 -0
- package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js.map +1 -0
- package/dist/src/stories/BookingWizard.stories.d.ts +9 -0
- package/dist/src/stories/BookingWizard.stories.js +58 -0
- package/dist/src/stories/BookingWizard.stories.js.map +1 -0
- package/dist/src/stories/Card.stories.d.ts +3 -3
- package/dist/src/stories/Card.stories.js +4 -1
- package/dist/src/stories/Card.stories.js.map +1 -1
- package/dist/src/stories/CardTypeSelect.stories.d.ts +5 -0
- package/dist/src/stories/CardTypeSelect.stories.js +37 -0
- package/dist/src/stories/CardTypeSelect.stories.js.map +1 -0
- package/dist/src/stories/Checkbox.stories.js +28 -2
- package/dist/src/stories/Checkbox.stories.js.map +1 -1
- package/dist/src/stories/ConfirmationModal.stories.d.ts +5 -0
- package/dist/src/stories/ConfirmationModal.stories.js +45 -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 +43 -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 +42 -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 +80 -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 +42 -0
- package/dist/src/stories/Distance.stories.js.map +1 -0
- package/dist/src/stories/EnhancedPhoneNumberField.stories.js +28 -2
- package/dist/src/stories/EnhancedPhoneNumberField.stories.js.map +1 -1
- package/dist/src/stories/ErrorModal.stories.d.ts +5 -0
- package/dist/src/stories/ErrorModal.stories.js +46 -0
- package/dist/src/stories/ErrorModal.stories.js.map +1 -0
- package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +6 -0
- package/dist/src/stories/FloatingDateRangePicker.stories.js +75 -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 +51 -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 +42 -0
- package/dist/src/stories/Headline.stories.js.map +1 -0
- package/dist/src/stories/Icon.stories.js +25 -2
- package/dist/src/stories/Icon.stories.js.map +1 -1
- package/dist/src/stories/IconNavCard.stories.js +24 -1
- package/dist/src/stories/IconNavCard.stories.js.map +1 -1
- package/dist/src/stories/IconText.stories.js +28 -2
- package/dist/src/stories/IconText.stories.js.map +1 -1
- package/dist/src/stories/ImageLoader.stories.js +28 -2
- package/dist/src/stories/ImageLoader.stories.js.map +1 -1
- package/dist/src/stories/InputGroup.stories.js +28 -2
- package/dist/src/stories/InputGroup.stories.js.map +1 -1
- package/dist/src/stories/LargeLoader.stories.js +28 -2
- package/dist/src/stories/LargeLoader.stories.js.map +1 -1
- package/dist/src/stories/LineBreak.stories.d.ts +5 -0
- package/dist/src/stories/LineBreak.stories.js +40 -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 +46 -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.js +24 -1
- package/dist/src/stories/PasswordBox.stories.js.map +1 -1
- package/dist/src/stories/PaymentCard.stories.d.ts +4 -0
- package/dist/src/stories/PaymentCard.stories.js +47 -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 +51 -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 +42 -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 +45 -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 +39 -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 +40 -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 +47 -0
- package/dist/src/stories/RadioButton.stories.js.map +1 -0
- package/dist/src/stories/RadioButtonGroup.stories.d.ts +5 -0
- package/dist/src/stories/RadioButtonGroup.stories.js +55 -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 +54 -0
- package/dist/src/stories/RadioFields.stories.js.map +1 -0
- package/dist/src/stories/SSLSecureBadge.stories.js +5 -2
- package/dist/src/stories/SSLSecureBadge.stories.js.map +1 -1
- package/dist/src/stories/Select.stories.d.ts +25 -0
- package/dist/src/stories/Select.stories.js +96 -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 +53 -0
- package/dist/src/stories/Slider.stories.js.map +1 -0
- package/dist/src/stories/SmallSpinner.stories.js +28 -2
- package/dist/src/stories/SmallSpinner.stories.js.map +1 -1
- package/dist/src/stories/TabbedModal.stories.d.ts +5 -0
- package/dist/src/stories/TabbedModal.stories.js +61 -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 +52 -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 +42 -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 +40 -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 +40 -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 +43 -0
- package/dist/src/stories/Tooltip.stories.js.map +1 -0
- package/dist/src/util/CalendarHelper.d.ts +1 -1
- package/dist/src/util/CalendarHelper.js +5 -2
- package/dist/src/util/CalendarHelper.js.map +1 -1
- package/dist/src/util/DataLayer.js +30 -4
- package/dist/src/util/DataLayer.js.map +1 -1
- package/dist/src/util/ObjectHelper.js +1 -1
- package/dist/src/util/ObjectHelper.js.map +1 -1
- package/dist/src/util/PaymentCardHelper.js +4 -1
- package/dist/src/util/PaymentCardHelper.js.map +1 -1
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +4 -1
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -1
- package/dist/tests/jest/events/EventManager.test.js +5 -2
- package/dist/tests/jest/events/EventManager.test.js.map +1 -1
- package/dist/tests/jest/models/RoomRate.test.js +5 -2
- package/dist/tests/jest/models/RoomRate.test.js.map +1 -1
- package/dist/tests/jest/providers/LanguageProvider.test.js +11 -0
- package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -1
- package/dist/tests/jest/providers/SessionProvider.test.js +26 -15
- package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -1
- package/dist/tests/jest/reducers/BasketReducer.test.js +4 -1
- package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -1
- package/dist/tests/offline/RoomstayBestRateAlert.js +29 -3
- package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -1
- package/dist/tests/offline/entry/RSCompany.js +13 -1
- package/dist/tests/offline/entry/RSCompany.js.map +1 -1
- package/dist/tests/offline/entry/ReactWrapper.js +105 -9
- package/dist/tests/offline/entry/ReactWrapper.js.map +1 -1
- package/dist/tests/offline/entry/allEngines.js +32 -6
- package/dist/tests/offline/entry/allEngines.js.map +1 -1
- package/dist/tests/offline/entry/components/TestPicker.js +79 -36
- package/dist/tests/offline/entry/components/TestPicker.js.map +1 -1
- package/dist/tests/setupTests.js +2 -0
- package/dist/tests/setupTests.js.map +1 -1
- package/dist/vendors.bundle.js +1 -1
- package/dist/vendors.bundle.js.LICENSE.txt +5 -9
- package/package.json +10 -7
- package/dist/src/components/generic/BESelect.d.ts +0 -16
- package/dist/src/components/generic/BESelect.js +0 -12
- package/dist/src/components/generic/BESelect.js.map +0 -1
- package/dist/src/components/generic/Select.d.ts +0 -11
- package/dist/src/components/generic/Select.js +0 -18
- package/dist/src/components/generic/Select.js.map +0 -1
- package/dist/src/stories/Button.stories.js +0 -17
- package/dist/src/stories/Button.stories.js.map +0 -1
- package/dist/test.bundle.js +0 -1
|
@@ -1,4 +1,27 @@
|
|
|
1
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
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,17 +31,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
31
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
32
|
});
|
|
10
33
|
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
11
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
38
|
exports.ConfirmationStepContextWrapper = void 0;
|
|
13
|
-
const React = require("react");
|
|
39
|
+
const React = __importStar(require("react"));
|
|
14
40
|
const react_1 = require("react");
|
|
15
|
-
const BookingAPI_1 = require("../../api/BookingAPI");
|
|
41
|
+
const BookingAPI_1 = __importDefault(require("../../api/BookingAPI"));
|
|
16
42
|
const contexts_1 = require("@frontend/contexts");
|
|
17
43
|
const hooks_1 = require("@frontend/hooks");
|
|
18
|
-
const Sentry = require("@sentry/browser");
|
|
44
|
+
const Sentry = __importStar(require("@sentry/browser"));
|
|
19
45
|
const types_1 = require("@sentry/types");
|
|
20
46
|
const react_hook_form_1 = require("react-hook-form");
|
|
21
|
-
const DataLayer_1 = require("../../util/DataLayer");
|
|
47
|
+
const DataLayer_1 = __importStar(require("../../util/DataLayer"));
|
|
22
48
|
const ConfirmationQuery_1 = require("hooks/ConfirmationQuery");
|
|
23
49
|
const ConfirmationStepContext_1 = require("./ConfirmationStepContext");
|
|
24
50
|
const ConfirmationStepContextProvider = ConfirmationStepContext_1.ConfirmationStepContext.Provider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmationStepContextWrapper.js","sourceRoot":"/","sources":["src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { FC, PropsWithChildren, useContext, useState } from 'react';\nimport ReservationsDTO from '../../models/Api/ReservationsDTO';\nimport reservationsDTO, { ReservationDTO } from '../../models/Api/ReservationsDTO';\nimport API from '../../api/BookingAPI';\nimport UserProfile from '../../models/UserProfile';\nimport { BasketContext, ErrorHandler } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport BasketRowDifferences from '../../models/BasketRowDifferences';\nimport * as Sentry from '@sentry/browser';\nimport { Severity } from '@sentry/types';\nimport { ConfirmationFormValues, FBookGetPaymentDetails, FBookSuccessCallback, FBookValidateFunction, FBookValidationCallback, IBookValidationResult } from 'models/Confirmation';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport DataLayer, { InteractionStep, InteractionType } from '../../util/DataLayer';\nimport { useConfirmationQuery } from 'hooks/ConfirmationQuery';\nimport { ConfirmationStepContext } from './ConfirmationStepContext';\n\nconst ConfirmationStepContextProvider = ConfirmationStepContext.Provider;\nexport const ConfirmationStepContextWrapper: FC<PropsWithChildren<any>> = ({ children }) => {\n const { queryPaymentMethod, queryRoomstayId: queryReservationId, queryPlanpayCheckoutId } = useConfirmationQuery();\n\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const [apiErrors, setApiErrors] = useState<string>('');\n const methods = useForm<ConfirmationFormValues>({\n mode: 'onChange',\n });\n const basketContext = useContext(BasketContext);\n const basketRows = basketContext.getAllValidRows();\n const basketAddonRows = basketContext.basketAddonRows;\n const { hotel } = useCurrentHotel();\n\n const toUserProfiles = (formValues: ConfirmationFormValues): UserProfile[] => {\n return formValues.userProfiles.map((values) => ({\n FirstName: values.Forename,\n LastName: values.Surname,\n Phone: values.Phone.replace(' ', ''),\n Email: values.Email,\n Address: {\n Line1: values.Address,\n City: values.City,\n PostalCode: values.PostCode,\n Country: values.Country,\n },\n MarketingOptIn: false,\n }));\n };\n\n const validateReservation = async (data: reservationsDTO): Promise<IBookValidationResult | undefined> => {\n const apiDifferences: BasketRowDifferences[] = [];\n if (data.reservations) {\n data.reservations.forEach((reservation: ReservationDTO, index) => {\n const diff = basketContext.currentBasketRows[index].checkDiffFromReservation(reservation);\n\n if (diff) {\n apiDifferences.push(diff);\n }\n });\n } else {\n Sentry.addBreadcrumb({\n level: Severity.Error,\n message: 'No reservation data: ' + JSON.stringify(data),\n });\n throw new Error('The reservation could not be completed due to an unexpected issue, please try again');\n }\n\n // If there are differences, we want to display them to make sure the booking still needs to proceed\n if (apiDifferences.length || (data.warnings && data.warnings.length)) {\n return {\n differences: apiDifferences,\n warnings: data.warnings,\n };\n }\n };\n\n const onSubmit =\n (getPaymentDetails: FBookGetPaymentDetails, preValidate?: FBookValidateFunction, onPostValidationError?: FBookValidationCallback, onSuccess?: FBookSuccessCallback) =>\n async (formValues: ConfirmationFormValues): Promise<void> => {\n DataLayer.instance.sendInteraction('Complete Booking', InteractionType.BUTTON, InteractionStep.GUEST_DETAILS);\n setIsLoading(true);\n let data: ReservationsDTO | undefined;\n const validateResult = !preValidate || (await preValidate());\n if (!validateResult) {\n setIsLoading(false);\n return;\n }\n\n const payment = await getPaymentDetails();\n\n try {\n data = await API.Reservation.bookNow(basketRows, toUserProfiles(formValues), payment, basketAddonRows, formValues.comment, hotel.hotelID);\n basketContext.booked(data);\n const validationResult = await validateReservation(data);\n if (validationResult) {\n onPostValidationError?.(validationResult);\n } else onSuccess?.(data);\n } catch (error) {\n console.log(error);\n setApiErrors(error?.Message ?? 'Unexpected error returned from the booking database.');\n // We don't want to stop the isLoading on a succesful flow to avoid clicking checkout twice\n setIsLoading(false);\n }\n };\n\n const isBackFromPlanpay = !!queryPlanpayCheckoutId && !!queryReservationId && !!queryPaymentMethod;\n\n const parseReservationIdsFromData = (data: ReservationsDTO) => {\n return data?.reservations?.map((reservation) => reservation.reservationNumber);\n };\n\n const commitReservation = async (resData: ReservationsDTO) => {\n try {\n setIsLoading(true);\n if (resData) {\n const reservationIds = parseReservationIdsFromData(resData);\n if (reservationIds.length) {\n try {\n API.Reservation.commit(reservationIds, resData.itineraryNumber, hotel.hotelID, queryPlanpayCheckoutId)\n .then((response: ReservationsDTO) => {\n try {\n DataLayer.instance.sendReservationConfirmed(basketContext.getAllValidRows(), basketContext.basketAddonRows, response);\n } catch (ex) {\n Sentry.captureException('Failed to read reservations from GTM code: ' + JSON.stringify(ex));\n }\n basketContext.checkedOut(response);\n })\n .catch((ex: any) => {\n console.log(ex);\n setApiErrors('Unexpected error');\n })\n .finally(() => {\n setIsLoading(false);\n });\n } catch (error) {\n setApiErrors(error?.Message ?? 'Unexpected error returned from the booking database.');\n }\n } else {\n setApiErrors('Committing reservation failed due to an unexpected error');\n ErrorHandler.add({ message: 'Committing reservation failed due to an unexpected error' });\n Sentry.captureException('No reservation IDs found when attempting to commit: ' + JSON.stringify(resData));\n }\n }\n } catch (ex) {\n setApiErrors('Failed to commit reservation');\n console.log('Failed to commit reservation ');\n console.error(ex);\n Sentry.captureException(ex);\n }\n };\n\n const rollbackReservation = async () => {\n if (!basketContext.reservationData) return;\n try {\n const reservationIds = parseReservationIdsFromData(basketContext.reservationData);\n if (reservationIds.length) {\n setIsLoading(true);\n await API.Reservation.rollback(reservationIds, basketContext.reservationData.itineraryNumber, hotel.hotelID);\n } else {\n Sentry.captureException('No reservation IDs found when attempting to rollback: ' + JSON.stringify(basketContext.reservationData));\n }\n } catch (ex) {\n console.log('Failed to rollback reservations');\n Sentry.captureException(ex);\n } finally {\n basketContext.rollback();\n setIsLoading(false);\n }\n };\n\n const clearApiErrors = () => setApiErrors('');\n\n const book = async (\n getPaymentDetails: FBookGetPaymentDetails,\n preValidate?: FBookValidateFunction,\n onPostValidationError?: FBookValidationCallback,\n onSuccess?: FBookSuccessCallback\n ) => {\n await methods.handleSubmit(onSubmit(getPaymentDetails, preValidate, onPostValidationError, onSuccess))();\n };\n\n return (\n <FormProvider {...methods}>\n <ConfirmationStepContextProvider\n value={{\n book,\n commitReservation,\n rollbackReservation,\n\n isLoading,\n apiErrors,\n clearApiErrors,\n isBackFromPlanpay,\n }}\n >\n {children}\n </ConfirmationStepContextProvider>\n </FormProvider>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ConfirmationStepContextWrapper.js","sourceRoot":"/","sources":["src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { FC, PropsWithChildren, useContext, useState } from 'react';\nimport ReservationsDTO from '../../models/Api/ReservationsDTO';\nimport reservationsDTO, { ReservationDTO } from '../../models/Api/ReservationsDTO';\nimport API from '../../api/BookingAPI';\nimport UserProfile from '../../models/UserProfile';\nimport { BasketContext, ErrorHandler } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport BasketRowDifferences from '../../models/BasketRowDifferences';\nimport * as Sentry from '@sentry/browser';\nimport { Severity } from '@sentry/types';\nimport { ConfirmationFormValues, FBookGetPaymentDetails, FBookSuccessCallback, FBookValidateFunction, FBookValidationCallback, IBookValidationResult } from 'models/Confirmation';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport DataLayer, { InteractionStep, InteractionType } from '../../util/DataLayer';\nimport { useConfirmationQuery } from 'hooks/ConfirmationQuery';\nimport { ConfirmationStepContext } from './ConfirmationStepContext';\n\nconst ConfirmationStepContextProvider = ConfirmationStepContext.Provider;\nexport const ConfirmationStepContextWrapper: FC<PropsWithChildren<any>> = ({ children }) => {\n const { queryPaymentMethod, queryRoomstayId: queryReservationId, queryPlanpayCheckoutId } = useConfirmationQuery();\n\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const [apiErrors, setApiErrors] = useState<string>('');\n const methods = useForm<ConfirmationFormValues>({\n mode: 'onChange',\n });\n const basketContext = useContext(BasketContext);\n const basketRows = basketContext.getAllValidRows();\n const basketAddonRows = basketContext.basketAddonRows;\n const { hotel } = useCurrentHotel();\n\n const toUserProfiles = (formValues: ConfirmationFormValues): UserProfile[] => {\n return formValues.userProfiles.map((values) => ({\n FirstName: values.Forename,\n LastName: values.Surname,\n Phone: values.Phone.replace(' ', ''),\n Email: values.Email,\n Address: {\n Line1: values.Address,\n City: values.City,\n PostalCode: values.PostCode,\n Country: values.Country,\n },\n MarketingOptIn: false,\n }));\n };\n\n const validateReservation = async (data: reservationsDTO): Promise<IBookValidationResult | undefined> => {\n const apiDifferences: BasketRowDifferences[] = [];\n if (data.reservations) {\n data.reservations.forEach((reservation: ReservationDTO, index) => {\n const diff = basketContext.currentBasketRows[index].checkDiffFromReservation(reservation);\n\n if (diff) {\n apiDifferences.push(diff);\n }\n });\n } else {\n Sentry.addBreadcrumb({\n level: Severity.Error,\n message: 'No reservation data: ' + JSON.stringify(data),\n });\n throw new Error('The reservation could not be completed due to an unexpected issue, please try again');\n }\n\n // If there are differences, we want to display them to make sure the booking still needs to proceed\n if (apiDifferences.length || (data.warnings && data.warnings.length)) {\n return {\n differences: apiDifferences,\n warnings: data.warnings,\n };\n }\n };\n\n const onSubmit =\n (getPaymentDetails: FBookGetPaymentDetails, preValidate?: FBookValidateFunction, onPostValidationError?: FBookValidationCallback, onSuccess?: FBookSuccessCallback) =>\n async (formValues: ConfirmationFormValues): Promise<void> => {\n DataLayer.instance.sendInteraction('Complete Booking', InteractionType.BUTTON, InteractionStep.GUEST_DETAILS);\n setIsLoading(true);\n let data: ReservationsDTO | undefined;\n const validateResult = !preValidate || (await preValidate());\n if (!validateResult) {\n setIsLoading(false);\n return;\n }\n\n const payment = await getPaymentDetails();\n\n try {\n data = await API.Reservation.bookNow(basketRows, toUserProfiles(formValues), payment, basketAddonRows, formValues.comment, hotel.hotelID);\n basketContext.booked(data);\n const validationResult = await validateReservation(data);\n if (validationResult) {\n onPostValidationError?.(validationResult);\n } else onSuccess?.(data);\n } catch (error) {\n console.log(error);\n setApiErrors(error?.Message ?? 'Unexpected error returned from the booking database.');\n // We don't want to stop the isLoading on a succesful flow to avoid clicking checkout twice\n setIsLoading(false);\n }\n };\n\n const isBackFromPlanpay = !!queryPlanpayCheckoutId && !!queryReservationId && !!queryPaymentMethod;\n\n const parseReservationIdsFromData = (data: ReservationsDTO) => {\n return data?.reservations?.map((reservation) => reservation.reservationNumber);\n };\n\n const commitReservation = async (resData: ReservationsDTO) => {\n try {\n setIsLoading(true);\n if (resData) {\n const reservationIds = parseReservationIdsFromData(resData);\n if (reservationIds.length) {\n try {\n API.Reservation.commit(reservationIds, resData.itineraryNumber, hotel.hotelID, queryPlanpayCheckoutId)\n .then((response: ReservationsDTO) => {\n try {\n DataLayer.instance.sendReservationConfirmed(basketContext.getAllValidRows(), basketContext.basketAddonRows, response);\n } catch (ex) {\n Sentry.captureException('Failed to read reservations from GTM code: ' + JSON.stringify(ex));\n }\n basketContext.checkedOut(response);\n })\n .catch((ex: any) => {\n console.log(ex);\n setApiErrors('Unexpected error');\n })\n .finally(() => {\n setIsLoading(false);\n });\n } catch (error) {\n setApiErrors(error?.Message ?? 'Unexpected error returned from the booking database.');\n }\n } else {\n setApiErrors('Committing reservation failed due to an unexpected error');\n ErrorHandler.add({ message: 'Committing reservation failed due to an unexpected error' });\n Sentry.captureException('No reservation IDs found when attempting to commit: ' + JSON.stringify(resData));\n }\n }\n } catch (ex) {\n setApiErrors('Failed to commit reservation');\n console.log('Failed to commit reservation ');\n console.error(ex);\n Sentry.captureException(ex);\n }\n };\n\n const rollbackReservation = async () => {\n if (!basketContext.reservationData) return;\n try {\n const reservationIds = parseReservationIdsFromData(basketContext.reservationData);\n if (reservationIds.length) {\n setIsLoading(true);\n await API.Reservation.rollback(reservationIds, basketContext.reservationData.itineraryNumber, hotel.hotelID);\n } else {\n Sentry.captureException('No reservation IDs found when attempting to rollback: ' + JSON.stringify(basketContext.reservationData));\n }\n } catch (ex) {\n console.log('Failed to rollback reservations');\n Sentry.captureException(ex);\n } finally {\n basketContext.rollback();\n setIsLoading(false);\n }\n };\n\n const clearApiErrors = () => setApiErrors('');\n\n const book = async (\n getPaymentDetails: FBookGetPaymentDetails,\n preValidate?: FBookValidateFunction,\n onPostValidationError?: FBookValidationCallback,\n onSuccess?: FBookSuccessCallback\n ) => {\n await methods.handleSubmit(onSubmit(getPaymentDetails, preValidate, onPostValidationError, onSuccess))();\n };\n\n return (\n <FormProvider {...methods}>\n <ConfirmationStepContextProvider\n value={{\n book,\n commitReservation,\n rollbackReservation,\n\n isLoading,\n apiErrors,\n clearApiErrors,\n isBackFromPlanpay,\n }}\n >\n {children}\n </ConfirmationStepContextProvider>\n </FormProvider>\n );\n};\n"]}
|
|
@@ -1,7 +1,30 @@
|
|
|
1
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
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
exports.DatePickerContext = void 0;
|
|
4
|
-
const React = require("react");
|
|
27
|
+
const React = __importStar(require("react"));
|
|
5
28
|
exports.DatePickerContext = React.createContext({
|
|
6
29
|
todayInUnix: 0,
|
|
7
30
|
today: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerContext.js","sourceRoot":"/","sources":["src/contexts/DatePickerContext.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DatePickerContext.js","sourceRoot":"/","sources":["src/contexts/DatePickerContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAGlB,QAAA,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAC;IACjD,WAAW,EAAE,CAAC;IACd,KAAK,EAAE,IAAmB;IAC1B,SAAS,EAAE,IAAmB;IAC9B,OAAO,EAAE,IAAmB;IAE5B,YAAY,EAAE,IAAmB;IAEjC,YAAY,EAAE,IAAI;IAElB,QAAQ,EAAE,CAAC;IAEX,WAAW,EAAE,CAAC,IAAiB,EAAE,EAAE;QAC/B,KAAK;IACT,CAAC;IACD,YAAY,EAAE,CAAC,IAAiB,EAAE,EAAE;QAChC,KAAK;IACT,CAAC;IACD,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE;QAC3B,KAAK;IACT,CAAC;CACJ,CAAC,CAAC","sourcesContent":["import * as React from 'react';\nimport dayjs from 'dayjs';\n\nexport const DatePickerContext = React.createContext({\n todayInUnix: 0,\n today: null as dayjs.Dayjs,\n startDate: null as dayjs.Dayjs,\n endDate: null as dayjs.Dayjs,\n\n hoveredMonth: null as dayjs.Dayjs,\n\n currentMonth: null,\n\n maxPrice: 0,\n\n onHoverOver: (date: dayjs.Dayjs) => {\n /* */\n },\n onDayClicked: (date: dayjs.Dayjs) => {\n /* */\n },\n setMaxPrice: (price: number) => {\n /* */\n },\n});\n"]}
|
|
@@ -1,10 +1,36 @@
|
|
|
1
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
|
+
};
|
|
2
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
29
|
exports.ErrorContextWrapper = exports.ErrorHandler = void 0;
|
|
4
|
-
const React = require("react");
|
|
30
|
+
const React = __importStar(require("react"));
|
|
5
31
|
const react_1 = require("react");
|
|
6
|
-
const Text_1 = require("components/generic/Text");
|
|
7
|
-
const ErrorModal = (0, react_1.lazy)(() => Promise.resolve().then(() => require('components/generic/modal/ErrorModal')));
|
|
32
|
+
const Text_1 = __importDefault(require("components/generic/Text"));
|
|
33
|
+
const ErrorModal = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('components/generic/modal/ErrorModal'))));
|
|
8
34
|
const ErrorContext = React.createContext(null);
|
|
9
35
|
exports.default = ErrorContext;
|
|
10
36
|
exports.ErrorHandler = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorContext.js","sourceRoot":"/","sources":["src/contexts/ErrorContext.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ErrorContext.js","sourceRoot":"/","sources":["src/contexts/ErrorContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,iCAAiD;AACjD,mEAA2C;AAE3C,MAAM,UAAU,GAAG,IAAA,YAAI,EAAC,GAAG,EAAE,mDAAQ,qCAAqC,GAAC,CAAC,CAAC;AAa7E,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAmB,IAAI,CAAC,CAAC;AACjE,kBAAe,YAAY,CAAC;AAMf,QAAA,YAAY,GAA8C,EAAE,CAAC;AAE1E,SAAgB,mBAAmB,CAAC,KAA+B;IAC/D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAc,EAAE,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAqB;QAC9B,QAAQ,EAAE,CAAC,KAAgB,EAAE,EAAE;YAC3B,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACpD,CAAC;KACJ,CAAC;IAEF,oBAAY,CAAC,GAAG,GAAG,CAAC,KAAgB,EAAE,EAAE;QACpC,SAAS,CAAC,CAAC,aAAa,EAAE,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE;gBACvF,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,aAAa,EAAE,KAAK,CAAC,CAAC;aACpC;YAED,OAAO,aAAa,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YACjB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;SACrB;QACD,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,OAAO,CACH;QACI,oBAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO;YAChC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAChB,oBAAC,gBAAQ,IAAC,QAAQ,EAAE,EAAE;gBAClB,oBAAC,UAAU,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB;oBAC9H,oBAAC,cAAI,QAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAQ,CACvB,CACN,CACd;YACA,KAAK,CAAC,QAAQ,CACK,CACzB,CACN,CAAC;AACN,CAAC;AAzCD,kDAyCC","sourcesContent":["import * as React from 'react';\nimport { useState, lazy, Suspense } from 'react';\nimport Text from 'components/generic/Text';\n\nconst ErrorModal = lazy(() => import('components/generic/modal/ErrorModal'));\n\ninterface ErrorContextType {\n addError: (error: ErrorType) => void;\n}\n\ninterface ErrorType {\n id?: number;\n retry?: () => void;\n message: string;\n title?: string;\n}\n\nconst ErrorContext = React.createContext<ErrorContextType>(null);\nexport default ErrorContext;\n\ninterface ErrorContextWrapperProps {\n children: React.ReactNode;\n}\n\nexport const ErrorHandler: { add: (error: ErrorType) => void } | any = {};\n\nexport function ErrorContextWrapper(props: ErrorContextWrapperProps) {\n const [errors, setErrors] = useState<ErrorType[]>([]);\n\n const context: ErrorContextType = {\n addError: (error: ErrorType) => {\n error.id = Math.random();\n setErrors((oldErrors) => [...oldErrors, error]);\n },\n };\n\n ErrorHandler.add = (error: ErrorType) => {\n setErrors((currentErrors) => {\n if (!currentErrors.some((it) => it.title === error.title && it.message === error.message)) {\n error.id = Math.random();\n return [...currentErrors, error];\n }\n\n return currentErrors;\n });\n };\n const onCloseModalHandler = () => {\n if (errors[0].retry) {\n errors[0].retry();\n }\n errors.shift();\n setErrors(() => [...errors]);\n };\n return (\n <>\n <ErrorContext.Provider value={context}>\n {!!errors.length && (\n <Suspense fallback={''}>\n <ErrorModal title={errors[0].title} closeButtonText={errors[0].retry ? 'Retry' : 'Close'} open={true} onClose={onCloseModalHandler}>\n <Text>{errors[0].message}</Text>\n </ErrorModal>\n </Suspense>\n )}\n {props.children}\n </ErrorContext.Provider>\n </>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FullPageEngineContextTypes.js","sourceRoot":"/","sources":["src/contexts/FullPageEngineContext/FullPageEngineContextTypes.ts"],"names":[],"mappings":"","sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"FullPageEngineContextTypes.js","sourceRoot":"/","sources":["src/contexts/FullPageEngineContext/FullPageEngineContextTypes.ts"],"names":[],"mappings":"","sourcesContent":["import dayjs from 'dayjs';\nimport type Step from 'pages/steps/Step';\n\nexport interface FullPageBookingEngineUrlParameters {\n startDate?: dayjs.Dayjs;\n endDate?: dayjs.Dayjs;\n\n hotelId?: string;\n\n defaultCity?: string;\n\n promoCode?: string;\n promoOnly?: boolean;\n\n promoFeatured?: boolean;\n\n adults?: number;\n children?: number;\n\n rooms?: number;\n}\n\nexport interface FullPageEngineContextType {\n urlParameters: FullPageBookingEngineUrlParameters;\n\n currentStep: Step;\n setCurrentStep: (step: Step) => void;\n}\n"]}
|
|
@@ -1,31 +1,57 @@
|
|
|
1
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
|
+
};
|
|
2
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
29
|
exports.FullPageEngineContextWrapper = void 0;
|
|
4
|
-
const React = require("react");
|
|
30
|
+
const React = __importStar(require("react"));
|
|
5
31
|
const react_1 = require("react");
|
|
6
32
|
const contexts_1 = require("@frontend/contexts");
|
|
7
|
-
const
|
|
8
|
-
const StepManager_1 = require("util/StepManager");
|
|
33
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
34
|
+
const StepManager_1 = __importDefault(require("util/StepManager"));
|
|
9
35
|
const hooks_1 = require("@frontend/hooks");
|
|
10
36
|
const react_router_dom_1 = require("react-router-dom");
|
|
11
|
-
const FeatureProvider_1 = require("providers/FeatureProvider");
|
|
12
|
-
const FeaturedPromoFeature_1 = require("providers/feature/FeaturedPromoFeature");
|
|
13
|
-
const RoomTypeFilter_1 = require("models/Room/Filters/RoomTypeFilter");
|
|
14
|
-
const RateTypeFilter_1 = require("models/Room/Filters/RateTypeFilter");
|
|
15
|
-
const BasketRow_1 = require("models/BasketRow");
|
|
16
|
-
const StepRoom_1 = require("pages/steps/StepRoom/StepRoom");
|
|
17
|
-
const ScrollToTop_1 = require("components/generic/ScrollToTop");
|
|
18
|
-
const Header_1 = require("components/navigation/Header");
|
|
19
|
-
const AvailableUpgradesModal_1 = require("components/steps/room/AvailableUpgradesModal");
|
|
20
|
-
const FindReservation_1 = require("pages/findReservation/FindReservation");
|
|
21
|
-
const FindReservationResults_1 = require("pages/findReservation/FindReservationResults");
|
|
22
|
-
const HotelInfo_1 = require("pages/hotel/HotelInfo");
|
|
23
|
-
const HotelInfoPlaceholder_1 = require("pages/hotel/HotelInfoPlaceholder");
|
|
24
|
-
const NaturallyProgressedStepRoute_1 = require("routes/NaturallyProgressedStepRoute");
|
|
37
|
+
const FeatureProvider_1 = __importDefault(require("providers/FeatureProvider"));
|
|
38
|
+
const FeaturedPromoFeature_1 = __importDefault(require("providers/feature/FeaturedPromoFeature"));
|
|
39
|
+
const RoomTypeFilter_1 = __importDefault(require("models/Room/Filters/RoomTypeFilter"));
|
|
40
|
+
const RateTypeFilter_1 = __importDefault(require("models/Room/Filters/RateTypeFilter"));
|
|
41
|
+
const BasketRow_1 = __importDefault(require("models/BasketRow"));
|
|
42
|
+
const StepRoom_1 = __importDefault(require("pages/steps/StepRoom/StepRoom"));
|
|
43
|
+
const ScrollToTop_1 = __importDefault(require("components/generic/ScrollToTop"));
|
|
44
|
+
const Header_1 = __importDefault(require("components/navigation/Header"));
|
|
45
|
+
const AvailableUpgradesModal_1 = __importDefault(require("components/steps/room/AvailableUpgradesModal"));
|
|
46
|
+
const FindReservation_1 = __importStar(require("pages/findReservation/FindReservation"));
|
|
47
|
+
const FindReservationResults_1 = __importDefault(require("pages/findReservation/FindReservationResults"));
|
|
48
|
+
const HotelInfo_1 = __importDefault(require("pages/hotel/HotelInfo"));
|
|
49
|
+
const HotelInfoPlaceholder_1 = __importDefault(require("pages/hotel/HotelInfoPlaceholder"));
|
|
50
|
+
const NaturallyProgressedStepRoute_1 = __importDefault(require("routes/NaturallyProgressedStepRoute"));
|
|
25
51
|
const AccountRouter_1 = require("pages/account/AccountRouter");
|
|
26
52
|
const PageColorComponent_1 = require("components/pages/PageColorComponent");
|
|
27
|
-
const MemberPortalFeature_1 = require("providers/feature/MemberPortalFeature");
|
|
28
|
-
const Text_1 = require("components/generic/Text");
|
|
53
|
+
const MemberPortalFeature_1 = __importDefault(require("providers/feature/MemberPortalFeature"));
|
|
54
|
+
const Text_1 = __importStar(require("components/generic/Text"));
|
|
29
55
|
const TextAlignment_1 = require("util/TextAlignment");
|
|
30
56
|
const Color_1 = require("util/Color");
|
|
31
57
|
function FullPageEngineContextWrapper(props) {
|
|
@@ -57,8 +83,8 @@ function FullPageEngineContextWrapper(props) {
|
|
|
57
83
|
if (location.search) {
|
|
58
84
|
const query = new URLSearchParams(location.search);
|
|
59
85
|
const format = 'YYYY-MM-DD';
|
|
60
|
-
let start =
|
|
61
|
-
let end =
|
|
86
|
+
let start = (0, dayjs_1.default)(query.get('arrive'), format);
|
|
87
|
+
let end = (0, dayjs_1.default)(query.get('depart'), format);
|
|
62
88
|
const promoCode = query.get('promocode');
|
|
63
89
|
const promoOnly = query.get('promoonly');
|
|
64
90
|
const promoFeatured = query.get('promofeatured');
|
|
@@ -86,7 +112,7 @@ function FullPageEngineContextWrapper(props) {
|
|
|
86
112
|
if (hotelId) {
|
|
87
113
|
if (ccx.changeHotel(hotelId)) {
|
|
88
114
|
if (!start.isValid()) {
|
|
89
|
-
start =
|
|
115
|
+
start = (0, dayjs_1.default)().add(1, 'day');
|
|
90
116
|
}
|
|
91
117
|
if (!end.isValid()) {
|
|
92
118
|
end = start.add(1, 'day');
|
|
@@ -101,14 +127,14 @@ function FullPageEngineContextWrapper(props) {
|
|
|
101
127
|
}
|
|
102
128
|
// We're doing dates last, as other properties, like hotelID might change them if they're not already set
|
|
103
129
|
if (start.isValid() && end.isValid()) {
|
|
104
|
-
if (start.isBefore(
|
|
105
|
-
start =
|
|
130
|
+
if (start.isBefore((0, dayjs_1.default)())) {
|
|
131
|
+
start = (0, dayjs_1.default)();
|
|
106
132
|
}
|
|
107
133
|
if (end.isBefore(start)) {
|
|
108
134
|
end = start.add(1, 'day');
|
|
109
135
|
}
|
|
110
|
-
else if (end.isBefore(
|
|
111
|
-
end =
|
|
136
|
+
else if (end.isBefore((0, dayjs_1.default)().add(1, 'day'))) {
|
|
137
|
+
end = (0, dayjs_1.default)().add(1, 'day');
|
|
112
138
|
}
|
|
113
139
|
urlParameterBuilder.startDate = start;
|
|
114
140
|
urlParameterBuilder.endDate = end;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FullPageEngineContextWrapper.js","sourceRoot":"/","sources":["src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useContext, useEffect, useState } from 'react';\n\nimport {\n AuthenticationContextProvider,\n BasketContext,\n BookingEngineContext,\n CompanyContext,\n FullPageBookingEngineUrlParameters,\n FullPageEngineContext,\n FullPageEngineContextType,\n ModalContextWrapper,\n} from '@frontend/contexts';\nimport * as dayjs from 'dayjs';\nimport Step from 'pages/steps/Step';\nimport StepManager from 'util/StepManager';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { Redirect, Route, useHistory, useLocation, useRouteMatch } from 'react-router-dom';\nimport FeatureProvider from 'providers/FeatureProvider';\nimport FeaturedPromoFeature from 'providers/feature/FeaturedPromoFeature';\nimport RoomTypeFilter from 'models/Room/Filters/RoomTypeFilter';\nimport RateTypeFilter from 'models/Room/Filters/RateTypeFilter';\nimport BasketRow from 'models/BasketRow';\nimport StepRoom from 'pages/steps/StepRoom/StepRoom';\nimport ScrollToTop from 'components/generic/ScrollToTop';\nimport Header from 'components/navigation/Header';\nimport AvailableUpgradesModal from 'components/steps/room/AvailableUpgradesModal';\n\nimport FindReservation, { EFindReservationPath, QUERY_PARAM_NAME } from 'pages/findReservation/FindReservation';\nimport FindReservationResults from 'pages/findReservation/FindReservationResults';\nimport HotelInfo from 'pages/hotel/HotelInfo';\nimport HotelInfoPlaceholder from 'pages/hotel/HotelInfoPlaceholder';\nimport StepRoute from 'routes/NaturallyProgressedStepRoute';\nimport { AccountRouter } from 'pages/account/AccountRouter';\nimport { PageColorComponent } from 'components/pages/PageColorComponent';\nimport MemberPortalFeature from 'providers/feature/MemberPortalFeature';\nimport Text, { TextType } from 'components/generic/Text';\nimport { TextAlign } from 'util/TextAlignment';\nimport { Color } from 'util/Color';\n\ninterface FullPageEngineContextWrapperProps {\n children?: React.ReactNode;\n}\n\nexport function FullPageEngineContextWrapper(props: FullPageEngineContextWrapperProps) {\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n const beContext = useContext(BookingEngineContext);\n\n const [engineReady, setEngineReady] = useState(false);\n const [urlFlagsParsed, setUrlFlagsParsed] = useState(false);\n const [urlParameters, setUrlParameters] = useState<FullPageBookingEngineUrlParameters>({});\n\n const [currentStep, setCurrentStep] = useState<Step>(StepManager.getStepFromName(beContext.engine.getInitialSession()?.step) ?? StepManager.getFirstStep());\n const [initialStep, setInitialStep] = useState<Step>(StepManager.getFirstStep());\n\n const { hotel } = useCurrentHotel();\n\n const location = useLocation();\n const history = useHistory();\n\n const isInStepRoot = useRouteMatch({\n path: StepManager.STEP_BASE,\n });\n\n useEffect(() => {\n beContext.sessionProvider?.updateSession({ step: currentStep.getName() });\n }, [currentStep]);\n\n useEffect(() => {\n const currentBasketRows = basketContext.currentBasketRows;\n\n let addXRooms = 1;\n\n // TODO: this probably needs to be the only place this is set, and listen for URL changes\n if (currentBasketRows.length === 0) {\n const urlParameterBuilder: FullPageBookingEngineUrlParameters = {};\n\n if (location.search) {\n const query = new URLSearchParams(location.search);\n\n const format = 'YYYY-MM-DD';\n\n let start = dayjs(query.get('arrive'), format);\n let end = dayjs(query.get('depart'), format);\n\n const promoCode = query.get('promocode');\n const promoOnly = query.get('promoonly');\n\n const promoFeatured = query.get('promofeatured');\n\n if (promoCode) {\n urlParameterBuilder.promoCode = promoCode;\n }\n\n if (promoOnly && promoOnly.toLowerCase() !== 'false') {\n urlParameterBuilder.promoOnly = Boolean(promoOnly);\n }\n\n if (promoFeatured && promoFeatured.toLowerCase() !== 'false') {\n FeatureProvider.load(FeaturedPromoFeature);\n urlParameterBuilder.promoFeatured = true;\n }\n\n const roomCode = query.get('room');\n if (roomCode) {\n // TODO: Refactor this to come from this context instead.\n beContext.setCurrentFilters({\n ...beContext.currentFilters,\n ['RoomType']: new RoomTypeFilter([roomCode]),\n });\n }\n\n const rateCode = query.get('rate');\n if (rateCode) {\n // TODO: Refactor this to come from this context instead.\n beContext.setCurrentFilters({\n ...beContext.currentFilters,\n ['RateType']: new RateTypeFilter([rateCode]),\n });\n }\n\n const hotelId = query.get('hotel');\n\n if (hotelId) {\n if (ccx.changeHotel(hotelId)) {\n if (!start.isValid()) {\n start = dayjs().add(1, 'day');\n }\n\n if (!end.isValid()) {\n end = start.add(1, 'day');\n }\n\n setInitialStep(StepRoom);\n }\n\n urlParameterBuilder.hotelId = hotelId;\n }\n\n const defaultCity = query.get('defaultCity');\n if (defaultCity) {\n urlParameterBuilder.defaultCity = defaultCity;\n }\n\n // We're doing dates last, as other properties, like hotelID might change them if they're not already set\n if (start.isValid() && end.isValid()) {\n if (start.isBefore(dayjs())) {\n start = dayjs();\n }\n\n if (end.isBefore(start)) {\n end = start.add(1, 'day');\n } else if (end.isBefore(dayjs().add(1, 'day'))) {\n end = dayjs().add(1, 'day');\n }\n\n urlParameterBuilder.startDate = start;\n urlParameterBuilder.endDate = end;\n }\n\n const adults = Number.parseInt(query.get('adults'), 10);\n if (!isNaN(adults) && adults > 1) {\n if (!hotel || hotel.maxOccupancy >= adults) {\n urlParameterBuilder.adults = adults;\n }\n }\n\n const children = Number.parseInt(query.get('children'), 10);\n if (!isNaN(children) && children > 0) {\n if (!hotel || hotel.maxOccupancy + (isNaN(adults) ? 0 : adults) >= children) {\n urlParameterBuilder.children = children;\n }\n }\n\n const roomCount = Number.parseInt(query.get('rooms'), 10);\n if (!isNaN(roomCount) && roomCount > 1) {\n urlParameterBuilder.rooms = addXRooms = roomCount;\n }\n\n setUrlParameters(urlParameterBuilder);\n }\n\n let firstBasketRow: BasketRow;\n const { startDate, endDate, promoCode, promoOnly, adults, children } = urlParameterBuilder;\n for (let i = 0; i < addXRooms; i++) {\n const basketRow = new BasketRow();\n\n if (startDate) {\n basketRow.setStartDate(startDate);\n }\n\n if (endDate) {\n basketRow.setEndDate(endDate);\n }\n\n if (promoCode) {\n basketRow.setPromoCode(promoCode);\n }\n\n if (promoOnly) {\n basketRow.setPromoOnly(promoOnly);\n }\n\n if (adults) {\n basketRow.setAdults(adults);\n }\n\n if (children) {\n basketRow.setChildren(children);\n }\n\n basketContext.addBasketRow(basketRow, false, i !== 0);\n\n if (i === 0) {\n firstBasketRow = basketRow;\n }\n }\n\n if (firstBasketRow.getStartDate() && firstBasketRow.getEndDate()) {\n setInitialStep(StepRoom);\n }\n } else {\n const initialSession = beContext.engine.getInitialSession();\n if (initialSession) {\n setInitialStep(StepManager.getStepFromName(initialSession.step));\n }\n }\n\n setUrlFlagsParsed(true);\n }, []);\n\n /**\n * Engine Ready useEffect, used to deffer loading the UI until everything engine wise is set up properly\n */\n useEffect(() => {\n if (!engineReady) {\n if (ccx.hotels.length > 0 && urlFlagsParsed) {\n setEngineReady(true);\n }\n }\n }, [ccx.hotels, urlFlagsParsed]);\n\n useEffect(() => {\n if (engineReady) {\n if (isInStepRoot && initialStep) {\n // We want to respect the browsers pathname, and only redirect to a defined step if\n // the pathname isn't set, or matches an unknown page.\n\n // Is the current location in the path? i.e does the user want to be somewhere specific\n let pathInLoadedSteps = false;\n for (const step of StepManager.getSteps()) {\n // Using match instead of equals as some clients have skipped the trailing slash\n if (step.getStepUrl().match(new RegExp(`${location.pathname}(\\/|)`, 'ig'))) {\n pathInLoadedSteps = true;\n break;\n }\n }\n\n // We're in /step/ but on a not recognized one.\n if (!pathInLoadedSteps) {\n history.push({\n ...location,\n pathname: initialStep.getStepUrl(),\n });\n }\n }\n }\n }, [engineReady]);\n\n const workingContext: FullPageEngineContextType = { urlParameters, currentStep, setCurrentStep };\n\n const renderRouteHandler = () => {\n return <Redirect to={StepManager.getFirstStep().getStepUrl()} />;\n };\n\n return (\n <FullPageEngineContext.Provider value={workingContext}>\n <AuthenticationContextProvider>\n <ModalContextWrapper>\n <ScrollToTop />\n <Route exact={true} path=\"/\" render={renderRouteHandler} />\n <header className=\"engine-header\">\n <Header />\n </header>\n {engineReady && (\n <>\n <div className=\"engine-page\">\n <React.Suspense fallback={<HotelInfoPlaceholder />}>\n <Route exact={true} path={'/hotel-info/'} component={HotelInfo} />\n </React.Suspense>\n <React.Suspense fallback={<div>Loading...</div>}>\n <Route\n exact={true}\n path={`/:${QUERY_PARAM_NAME}(${Object.values(EFindReservationPath)\n .filter((path) => MemberPortalFeature.isActive() || path === EFindReservationPath.FindReservation)\n .join('|')})`}\n component={FindReservation}\n />\n <Route path={'/find-reservation/:ref/:email'} component={FindReservationResults} />\n </React.Suspense>\n\n {MemberPortalFeature.isActive() && (\n <React.Suspense fallback={<div>TODO:</div>}>\n <AccountRouter />\n </React.Suspense>\n )}\n </div>\n <div className=\"engine-body\">\n <AvailableUpgradesModal />\n {StepManager.getSteps().map((step: Step) => (\n <StepRoute key={step.getName()} step={step} />\n ))}\n <Route path=\"*\" component={PageColorComponent} />\n </div>\n </>\n )}\n <div className=\"container u-pad-bottom\">\n <Text type={TextType.Caption} color={Color.Grey} align={TextAlign.Right}>\n Powered by{' '}\n <a rel=\"noreferrer\" target=\"_blank\" href=\"https://www.roomstay.io/\">\n <u>\n <i>Roomstay.io</i>\n </u>\n </a>\n </Text>\n </div>\n </ModalContextWrapper>\n </AuthenticationContextProvider>\n </FullPageEngineContext.Provider>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"FullPageEngineContextWrapper.js","sourceRoot":"/","sources":["src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useContext, useEffect, useState } from 'react';\n\nimport {\n AuthenticationContextProvider,\n BasketContext,\n BookingEngineContext,\n CompanyContext,\n FullPageBookingEngineUrlParameters,\n FullPageEngineContext,\n FullPageEngineContextType,\n ModalContextWrapper,\n} from '@frontend/contexts';\nimport dayjs from 'dayjs';\nimport Step from 'pages/steps/Step';\nimport StepManager from 'util/StepManager';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { Redirect, Route, useHistory, useLocation, useRouteMatch } from 'react-router-dom';\nimport FeatureProvider from 'providers/FeatureProvider';\nimport FeaturedPromoFeature from 'providers/feature/FeaturedPromoFeature';\nimport RoomTypeFilter from 'models/Room/Filters/RoomTypeFilter';\nimport RateTypeFilter from 'models/Room/Filters/RateTypeFilter';\nimport BasketRow from 'models/BasketRow';\nimport StepRoom from 'pages/steps/StepRoom/StepRoom';\nimport ScrollToTop from 'components/generic/ScrollToTop';\nimport Header from 'components/navigation/Header';\nimport AvailableUpgradesModal from 'components/steps/room/AvailableUpgradesModal';\n\nimport FindReservation, { EFindReservationPath, QUERY_PARAM_NAME } from 'pages/findReservation/FindReservation';\nimport FindReservationResults from 'pages/findReservation/FindReservationResults';\nimport HotelInfo from 'pages/hotel/HotelInfo';\nimport HotelInfoPlaceholder from 'pages/hotel/HotelInfoPlaceholder';\nimport StepRoute from 'routes/NaturallyProgressedStepRoute';\nimport { AccountRouter } from 'pages/account/AccountRouter';\nimport { PageColorComponent } from 'components/pages/PageColorComponent';\nimport MemberPortalFeature from 'providers/feature/MemberPortalFeature';\nimport Text, { TextType } from 'components/generic/Text';\nimport { TextAlign } from 'util/TextAlignment';\nimport { Color } from 'util/Color';\n\ninterface FullPageEngineContextWrapperProps {\n children?: React.ReactNode;\n}\n\nexport function FullPageEngineContextWrapper(props: FullPageEngineContextWrapperProps) {\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n const beContext = useContext(BookingEngineContext);\n\n const [engineReady, setEngineReady] = useState(false);\n const [urlFlagsParsed, setUrlFlagsParsed] = useState(false);\n const [urlParameters, setUrlParameters] = useState<FullPageBookingEngineUrlParameters>({});\n\n const [currentStep, setCurrentStep] = useState<Step>(StepManager.getStepFromName(beContext.engine.getInitialSession()?.step) ?? StepManager.getFirstStep());\n const [initialStep, setInitialStep] = useState<Step>(StepManager.getFirstStep());\n\n const { hotel } = useCurrentHotel();\n\n const location = useLocation();\n const history = useHistory();\n\n const isInStepRoot = useRouteMatch({\n path: StepManager.STEP_BASE,\n });\n\n useEffect(() => {\n beContext.sessionProvider?.updateSession({ step: currentStep.getName() });\n }, [currentStep]);\n\n useEffect(() => {\n const currentBasketRows = basketContext.currentBasketRows;\n\n let addXRooms = 1;\n\n // TODO: this probably needs to be the only place this is set, and listen for URL changes\n if (currentBasketRows.length === 0) {\n const urlParameterBuilder: FullPageBookingEngineUrlParameters = {};\n\n if (location.search) {\n const query = new URLSearchParams(location.search);\n\n const format = 'YYYY-MM-DD';\n\n let start = dayjs(query.get('arrive'), format);\n let end = dayjs(query.get('depart'), format);\n\n const promoCode = query.get('promocode');\n const promoOnly = query.get('promoonly');\n\n const promoFeatured = query.get('promofeatured');\n\n if (promoCode) {\n urlParameterBuilder.promoCode = promoCode;\n }\n\n if (promoOnly && promoOnly.toLowerCase() !== 'false') {\n urlParameterBuilder.promoOnly = Boolean(promoOnly);\n }\n\n if (promoFeatured && promoFeatured.toLowerCase() !== 'false') {\n FeatureProvider.load(FeaturedPromoFeature);\n urlParameterBuilder.promoFeatured = true;\n }\n\n const roomCode = query.get('room');\n if (roomCode) {\n // TODO: Refactor this to come from this context instead.\n beContext.setCurrentFilters({\n ...beContext.currentFilters,\n ['RoomType']: new RoomTypeFilter([roomCode]),\n });\n }\n\n const rateCode = query.get('rate');\n if (rateCode) {\n // TODO: Refactor this to come from this context instead.\n beContext.setCurrentFilters({\n ...beContext.currentFilters,\n ['RateType']: new RateTypeFilter([rateCode]),\n });\n }\n\n const hotelId = query.get('hotel');\n\n if (hotelId) {\n if (ccx.changeHotel(hotelId)) {\n if (!start.isValid()) {\n start = dayjs().add(1, 'day');\n }\n\n if (!end.isValid()) {\n end = start.add(1, 'day');\n }\n\n setInitialStep(StepRoom);\n }\n\n urlParameterBuilder.hotelId = hotelId;\n }\n\n const defaultCity = query.get('defaultCity');\n if (defaultCity) {\n urlParameterBuilder.defaultCity = defaultCity;\n }\n\n // We're doing dates last, as other properties, like hotelID might change them if they're not already set\n if (start.isValid() && end.isValid()) {\n if (start.isBefore(dayjs())) {\n start = dayjs();\n }\n\n if (end.isBefore(start)) {\n end = start.add(1, 'day');\n } else if (end.isBefore(dayjs().add(1, 'day'))) {\n end = dayjs().add(1, 'day');\n }\n\n urlParameterBuilder.startDate = start;\n urlParameterBuilder.endDate = end;\n }\n\n const adults = Number.parseInt(query.get('adults'), 10);\n if (!isNaN(adults) && adults > 1) {\n if (!hotel || hotel.maxOccupancy >= adults) {\n urlParameterBuilder.adults = adults;\n }\n }\n\n const children = Number.parseInt(query.get('children'), 10);\n if (!isNaN(children) && children > 0) {\n if (!hotel || hotel.maxOccupancy + (isNaN(adults) ? 0 : adults) >= children) {\n urlParameterBuilder.children = children;\n }\n }\n\n const roomCount = Number.parseInt(query.get('rooms'), 10);\n if (!isNaN(roomCount) && roomCount > 1) {\n urlParameterBuilder.rooms = addXRooms = roomCount;\n }\n\n setUrlParameters(urlParameterBuilder);\n }\n\n let firstBasketRow: BasketRow;\n const { startDate, endDate, promoCode, promoOnly, adults, children } = urlParameterBuilder;\n for (let i = 0; i < addXRooms; i++) {\n const basketRow = new BasketRow();\n\n if (startDate) {\n basketRow.setStartDate(startDate);\n }\n\n if (endDate) {\n basketRow.setEndDate(endDate);\n }\n\n if (promoCode) {\n basketRow.setPromoCode(promoCode);\n }\n\n if (promoOnly) {\n basketRow.setPromoOnly(promoOnly);\n }\n\n if (adults) {\n basketRow.setAdults(adults);\n }\n\n if (children) {\n basketRow.setChildren(children);\n }\n\n basketContext.addBasketRow(basketRow, false, i !== 0);\n\n if (i === 0) {\n firstBasketRow = basketRow;\n }\n }\n\n if (firstBasketRow.getStartDate() && firstBasketRow.getEndDate()) {\n setInitialStep(StepRoom);\n }\n } else {\n const initialSession = beContext.engine.getInitialSession();\n if (initialSession) {\n setInitialStep(StepManager.getStepFromName(initialSession.step));\n }\n }\n\n setUrlFlagsParsed(true);\n }, []);\n\n /**\n * Engine Ready useEffect, used to deffer loading the UI until everything engine wise is set up properly\n */\n useEffect(() => {\n if (!engineReady) {\n if (ccx.hotels.length > 0 && urlFlagsParsed) {\n setEngineReady(true);\n }\n }\n }, [ccx.hotels, urlFlagsParsed]);\n\n useEffect(() => {\n if (engineReady) {\n if (isInStepRoot && initialStep) {\n // We want to respect the browsers pathname, and only redirect to a defined step if\n // the pathname isn't set, or matches an unknown page.\n\n // Is the current location in the path? i.e does the user want to be somewhere specific\n let pathInLoadedSteps = false;\n for (const step of StepManager.getSteps()) {\n // Using match instead of equals as some clients have skipped the trailing slash\n if (step.getStepUrl().match(new RegExp(`${location.pathname}(\\/|)`, 'ig'))) {\n pathInLoadedSteps = true;\n break;\n }\n }\n\n // We're in /step/ but on a not recognized one.\n if (!pathInLoadedSteps) {\n history.push({\n ...location,\n pathname: initialStep.getStepUrl(),\n });\n }\n }\n }\n }, [engineReady]);\n\n const workingContext: FullPageEngineContextType = { urlParameters, currentStep, setCurrentStep };\n\n const renderRouteHandler = () => {\n return <Redirect to={StepManager.getFirstStep().getStepUrl()} />;\n };\n\n return (\n <FullPageEngineContext.Provider value={workingContext}>\n <AuthenticationContextProvider>\n <ModalContextWrapper>\n <ScrollToTop />\n <Route exact={true} path=\"/\" render={renderRouteHandler} />\n <header className=\"engine-header\">\n <Header />\n </header>\n {engineReady && (\n <>\n <div className=\"engine-page\">\n <React.Suspense fallback={<HotelInfoPlaceholder />}>\n <Route exact={true} path={'/hotel-info/'} component={HotelInfo} />\n </React.Suspense>\n <React.Suspense fallback={<div>Loading...</div>}>\n <Route\n exact={true}\n path={`/:${QUERY_PARAM_NAME}(${Object.values(EFindReservationPath)\n .filter((path) => MemberPortalFeature.isActive() || path === EFindReservationPath.FindReservation)\n .join('|')})`}\n component={FindReservation}\n />\n <Route path={'/find-reservation/:ref/:email'} component={FindReservationResults} />\n </React.Suspense>\n\n {MemberPortalFeature.isActive() && (\n <React.Suspense fallback={<div>TODO:</div>}>\n <AccountRouter />\n </React.Suspense>\n )}\n </div>\n <div className=\"engine-body\">\n <AvailableUpgradesModal />\n {StepManager.getSteps().map((step: Step) => (\n <StepRoute key={step.getName()} step={step} />\n ))}\n <Route path=\"*\" component={PageColorComponent} />\n </div>\n </>\n )}\n <div className=\"container u-pad-bottom\">\n <Text type={TextType.Caption} color={Color.Grey} align={TextAlign.Right}>\n Powered by{' '}\n <a rel=\"noreferrer\" target=\"_blank\" href=\"https://www.roomstay.io/\">\n <u>\n <i>Roomstay.io</i>\n </u>\n </a>\n </Text>\n </div>\n </ModalContextWrapper>\n </AuthenticationContextProvider>\n </FullPageEngineContext.Provider>\n );\n}\n"]}
|
|
@@ -1,4 +1,27 @@
|
|
|
1
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
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,11 +31,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
31
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
32
|
});
|
|
10
33
|
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
11
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
38
|
exports.HotelOverridesContextWrapper = exports.HotelOverridesContext = void 0;
|
|
13
|
-
const React = require("react");
|
|
39
|
+
const React = __importStar(require("react"));
|
|
14
40
|
const react_1 = require("react");
|
|
15
|
-
const BookingAPI_1 = require("api/BookingAPI");
|
|
41
|
+
const BookingAPI_1 = __importDefault(require("api/BookingAPI"));
|
|
16
42
|
const hooks_1 = require("@frontend/hooks");
|
|
17
43
|
const DistanceUnitType_types_1 = require("models/Client/Hotel/DistanceUnitType.types");
|
|
18
44
|
const contexts_1 = require("@frontend/contexts");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HotelOverridesContext.js","sourceRoot":"/","sources":["src/contexts/HotelOverridesContext.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HotelOverridesContext.js","sourceRoot":"/","sources":["src/contexts/HotelOverridesContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,iCAA6F;AAC7F,gEAAiC;AACjC,2CAAkD;AAElD,uFAA8E;AAC9E,iDAAoD;AAMvC,QAAA,qBAAqB,GAAG,IAAA,qBAAa,EAAyB,IAAI,CAAC,CAAC;AAEjF,MAAM,iBAAiB,GAAG,GAA2B,EAAE;IACnD,MAAM,cAAc,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAC;IAClD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IACvD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAmB,EAAE,CAAC,CAAC;IAEjE,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,GAAS,EAAE;QACxC,IAAI,cAAc,CAAC,eAAe,EAAE;YAChC,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,oBAAG,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YAC/E,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,YAAY,CAAC,OAAO,CAAC,CAAC;SACzB;IACL,CAAC,CAAA,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;IAErC,MAAM,UAAU,GAAY,IAAA,eAAO,EAAC,GAAG,EAAE;QACrC,OAAO,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,CAAA,CAAC;IACtD,CAAC,EAAE,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAC,CAAC,CAAC;IAE5B,MAAM,gBAAgB,GAAqB,IAAA,eAAO,EAAC,GAAG,EAAE;QACpD,oBAAoB;QACpB,OAAO,CAAC,SAAS,CAAC,wBAAwB,KAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gBAAgB,CAAA,CAAC,KAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,CAAA,IAAI,yCAAgB,CAAC,MAAM,CAAC;IACrI,CAAC,EAAE,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gBAAgB,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,CAAC,CAAC,CAAC;IAEpF,MAAM,kBAAkB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;;QACpC,OAAO,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,kBAAkB,mCAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,CAAC;IACtE,CAAC,EAAE,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,kBAAkB,CAAC,CAAC,CAAC;IAEpC,MAAM,oBAAoB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACtC,OAAO,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,oBAAoB,CAAC;IAC3C,CAAC,EAAE,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,oBAAoB,CAAC,CAAC,CAAC;IAEtC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,YAAY,EAAE,CAAC;IACnB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO;QACH,OAAO;QACP,UAAU;QACV,gBAAgB;QAChB,kBAAkB;QAClB,oBAAoB;KACvB,CAAC;AACN,CAAC,CAAC;AAEK,MAAM,4BAA4B,GAAG,CAAC,EAAE,QAAQ,EAAkC,EAAE,EAAE;IACzF,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,OAAO,oBAAC,6BAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,cAAc,IAAG,QAAQ,CAAkC,CAAC;AAC9G,CAAC,CAAC;AAHW,QAAA,4BAA4B,gCAGvC","sourcesContent":["import * as React from 'react';\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';\nimport API from 'api/BookingAPI';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { HotelOverrideDTO } from 'models/Api/HotelOverrideDTO';\nimport { DistanceUnitType } from 'models/Client/Hotel/DistanceUnitType.types';\nimport { CompanyContext } from '@frontend/contexts';\n\ninterface IHotelOverridesContext extends Omit<HotelOverrideDTO, 'overrideDistanceUnitType'> {\n loading: boolean;\n}\n\nexport const HotelOverridesContext = createContext<IHotelOverridesContext>(null);\n\nconst useHotelOverrides = (): IHotelOverridesContext => {\n const companyContext = useContext(CompanyContext);\n const { hotel } = useCurrentHotel();\n\n const [loading, loadingSet] = useState<boolean>(false);\n const [overrides, overridesSet] = useState<HotelOverrideDTO>({});\n\n const fetchApiData = useCallback(async () => {\n if (companyContext.selectedHotelID) {\n loadingSet(true);\n const apiData = await API.Hotel.fetchOverrides(companyContext.selectedHotelID);\n loadingSet(false);\n overridesSet(apiData);\n }\n }, [companyContext.selectedHotelID]);\n\n const hideByLine: boolean = useMemo(() => {\n return overrides?.hideByLine || hotel?.hideByLine;\n }, [overrides?.hideByLine]);\n\n const distanceUnitType: DistanceUnitType = useMemo(() => {\n // Metric by default\n return (overrides.overrideDistanceUnitType && overrides?.distanceUnitType) || hotel?.distanceUnitType || DistanceUnitType.Metric;\n }, [overrides?.distanceUnitType, hotel?.distanceUnitType, hotel?.hasLoadedDetails]);\n\n const transportDistances = useMemo(() => {\n return overrides?.transportDistances ?? hotel?.transportDistances;\n }, [overrides?.transportDistances]);\n\n const phoneNumberInSummary = useMemo(() => {\n return overrides?.phoneNumberInSummary;\n }, [overrides?.phoneNumberInSummary]);\n\n useEffect(() => {\n fetchApiData();\n }, [fetchApiData]);\n\n return {\n loading,\n hideByLine,\n distanceUnitType,\n transportDistances,\n phoneNumberInSummary,\n };\n};\n\nexport const HotelOverridesContextWrapper = ({ children }: { children?: React.ReactNode }) => {\n const hotelOverrides = useHotelOverrides();\n return <HotelOverridesContext.Provider value={hotelOverrides}>{children}</HotelOverridesContext.Provider>;\n};\n"]}
|
|
@@ -1,4 +1,27 @@
|
|
|
1
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
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,14 +31,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
31
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
32
|
});
|
|
10
33
|
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
11
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
38
|
exports.AuthenticationContextProvider = void 0;
|
|
13
|
-
const React = require("react");
|
|
39
|
+
const React = __importStar(require("react"));
|
|
14
40
|
const react_1 = require("react");
|
|
15
|
-
const base64 = require("base-64");
|
|
41
|
+
const base64 = __importStar(require("base-64"));
|
|
16
42
|
const contexts_1 = require("@frontend/contexts");
|
|
17
|
-
const auth_1 = require("@aws-amplify/auth");
|
|
18
|
-
const MemberPortalFeature_1 = require("providers/feature/MemberPortalFeature");
|
|
43
|
+
const auth_1 = __importDefault(require("@aws-amplify/auth"));
|
|
44
|
+
const MemberPortalFeature_1 = __importDefault(require("providers/feature/MemberPortalFeature"));
|
|
19
45
|
const useAuthenticationContext = () => {
|
|
20
46
|
const { companyShort, selectedHotelID } = (0, react_1.useContext)(contexts_1.CompanyContext);
|
|
21
47
|
const clientMetadata = (0, react_1.useMemo)(() => ({
|