@roomstay/frontend 1.6.1 → 2.0.0-2
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 -0
- package/dist/279.bundle.js +1 -1
- package/dist/370.bundle.js +1 -1
- package/dist/423.bundle.js +1 -0
- package/dist/449.bundle.js +1 -1
- package/dist/625.bundle.js +1 -1
- package/dist/873.bundle.js +1 -1
- package/dist/882.bundle.js +1 -0
- package/dist/972.bundle.js +1 -1
- package/dist/main.bundle.js +1 -1
- package/dist/src/animations/AutoAutoHeight.d.ts +1 -0
- package/dist/src/animations/AutoAutoHeight.js +14 -8
- package/dist/src/animations/AutoAutoHeight.js.map +1 -1
- package/dist/src/animations/Fade.d.ts +7 -3
- package/dist/src/animations/Fade.js +14 -3
- package/dist/src/animations/Fade.js.map +1 -1
- package/dist/src/api/AddonAPI.d.ts +3 -3
- package/dist/src/api/AddonAPI.js +3 -3
- package/dist/src/api/AddonAPI.js.map +1 -1
- package/dist/src/api/AvailabilityAPI.d.ts +3 -3
- package/dist/src/api/AvailabilityAPI.js +9 -8
- package/dist/src/api/AvailabilityAPI.js.map +1 -1
- package/dist/src/api/BaseAPI.d.ts +8 -3
- package/dist/src/api/BaseAPI.js +22 -9
- package/dist/src/api/BaseAPI.js.map +1 -1
- package/dist/src/api/BookingAPI.d.ts +9 -7
- package/dist/src/api/BookingAPI.js +9 -7
- package/dist/src/api/BookingAPI.js.map +1 -1
- package/dist/src/api/ErrorAPI.d.ts +6 -0
- package/dist/src/api/ErrorAPI.js +15 -0
- package/dist/src/api/ErrorAPI.js.map +1 -1
- package/dist/src/api/ExchangeRateAPI.d.ts +2 -2
- package/dist/src/api/ExchangeRateAPI.js +14 -8
- package/dist/src/api/ExchangeRateAPI.js.map +1 -1
- package/dist/src/api/HotelAPI.d.ts +5 -5
- package/dist/src/api/HotelAPI.js +7 -3
- package/dist/src/api/HotelAPI.js.map +1 -1
- package/dist/src/api/MemberAPI.d.ts +1 -1
- package/dist/src/api/MemberAPI.js +1 -1
- package/dist/src/api/MemberAPI.js.map +1 -1
- package/dist/src/api/ReservationAPI.d.ts +19 -9
- package/dist/src/api/ReservationAPI.js +15 -7
- package/dist/src/api/ReservationAPI.js.map +1 -1
- package/dist/src/api/SessionAPI.d.ts +4 -0
- package/dist/src/api/SessionAPI.js +23 -0
- package/dist/src/api/SessionAPI.js.map +1 -0
- package/dist/src/api/members-service/MembersServiceAPI.d.ts +6 -0
- package/dist/src/api/members-service/MembersServiceAPI.js +77 -0
- package/dist/src/api/members-service/MembersServiceAPI.js.map +1 -0
- package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +6 -0
- package/dist/src/components/User/Forms/ForgotPasswordForm.js +108 -0
- package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -0
- package/dist/src/components/User/Forms/SignInForm.d.ts +6 -0
- package/dist/src/components/User/Forms/SignInForm.js +113 -0
- package/dist/src/components/User/Forms/SignInForm.js.map +1 -0
- package/dist/src/components/User/Forms/SignUpForm.d.ts +6 -0
- package/dist/src/components/User/Forms/SignUpForm.js +159 -0
- package/dist/src/components/User/Forms/SignUpForm.js.map +1 -0
- package/dist/src/components/generic/Alert.d.ts +11 -3
- package/dist/src/components/generic/Alert.js +9 -5
- package/dist/src/components/generic/Alert.js.map +1 -1
- package/dist/src/components/generic/BEButton.d.ts +9 -4
- package/dist/src/components/generic/BEButton.js +12 -12
- package/dist/src/components/generic/BEButton.js.map +1 -1
- package/dist/src/components/generic/BESelect.d.ts +4 -1
- package/dist/src/components/generic/BESelect.js +5 -40
- package/dist/src/components/generic/BESelect.js.map +1 -1
- package/dist/src/components/generic/BackButton.js +4 -4
- package/dist/src/components/generic/BackButton.js.map +1 -1
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +6 -6
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
- package/dist/src/components/generic/Card/Card/Card.d.ts +7 -0
- package/dist/src/components/generic/Card/Card/Card.js +14 -0
- package/dist/src/components/generic/Card/Card/Card.js.map +1 -0
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +15 -0
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +33 -0
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -0
- package/dist/src/components/generic/{Checkbox.d.ts → Checkbox/Checkbox.d.ts} +1 -1
- package/dist/src/components/generic/Checkbox/Checkbox.js +35 -0
- package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -0
- package/dist/src/components/generic/Countdown.js +3 -3
- package/dist/src/components/generic/Countdown.js.map +1 -1
- package/dist/src/components/generic/Currency.js +9 -9
- package/dist/src/components/generic/Currency.js.map +1 -1
- package/dist/src/components/generic/Distance.js +4 -4
- package/dist/src/components/generic/Distance.js.map +1 -1
- package/dist/src/components/generic/ForwardedSelect.d.ts +12 -0
- package/dist/src/components/generic/ForwardedSelect.js +16 -0
- package/dist/src/components/generic/ForwardedSelect.js.map +1 -0
- package/dist/src/components/generic/Headline.d.ts +5 -3
- package/dist/src/components/generic/Headline.js +2 -1
- package/dist/src/components/generic/Headline.js.map +1 -1
- package/dist/src/components/generic/{Icon.d.ts → Icon/Icon.d.ts} +6 -2
- package/dist/src/components/generic/{Icon.js → Icon/Icon.js} +10 -5
- package/dist/src/components/generic/Icon/Icon.js.map +1 -0
- package/dist/src/components/generic/IconText/IconText.d.ts +10 -0
- package/dist/src/components/generic/IconText/IconText.js +21 -0
- package/dist/src/components/generic/IconText/IconText.js.map +1 -0
- package/dist/src/components/generic/InputGroup/InputGroup.d.ts +1 -1
- package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
- package/dist/src/components/generic/InputGroup/InputGroup.types.d.ts +1 -1
- package/dist/src/components/generic/LineBreak.d.ts +1 -0
- package/dist/src/components/generic/LineBreak.js +1 -0
- package/dist/src/components/generic/LineBreak.js.map +1 -1
- package/dist/src/components/generic/Notification.d.ts +1 -1
- package/dist/src/components/generic/Notification.js +5 -5
- package/dist/src/components/generic/Notification.js.map +1 -1
- package/dist/src/components/generic/NumberIncrement.js +5 -5
- package/dist/src/components/generic/NumberIncrement.js.map +1 -1
- package/dist/src/components/generic/Overlay/Overlay.d.ts +18 -0
- package/dist/src/components/generic/Overlay/Overlay.js +93 -0
- package/dist/src/components/generic/Overlay/Overlay.js.map +1 -0
- package/dist/src/components/generic/PasswordBox/PasswordBox.d.ts +3 -0
- package/dist/src/components/generic/PasswordBox/PasswordBox.js +20 -0
- package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -0
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.d.ts +9 -0
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.js +30 -0
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.js.map +1 -0
- package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +6 -0
- package/dist/src/components/generic/PaymentCard/PaymentCard.js +54 -0
- package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -0
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +11 -0
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +201 -0
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -0
- package/dist/src/components/generic/Pill.d.ts +11 -3
- package/dist/src/components/generic/Pill.js +10 -3
- package/dist/src/components/generic/Pill.js.map +1 -1
- package/dist/src/components/generic/Placeholder.d.ts +2 -1
- package/dist/src/components/generic/Placeholder.js +2 -1
- package/dist/src/components/generic/Placeholder.js.map +1 -1
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.d.ts +6 -0
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.js +11 -0
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.js.map +1 -0
- package/dist/src/components/generic/Portal/Portal.d.ts +9 -0
- package/dist/src/components/generic/Portal/Portal.js +10 -0
- package/dist/src/components/generic/Portal/Portal.js.map +1 -0
- package/dist/src/components/generic/PromoCodeInput.js +22 -20
- package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.d.ts +11 -0
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +21 -0
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -0
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.d.ts +15 -0
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +20 -0
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -0
- package/dist/src/components/generic/RecentSearchesCard.d.ts +1 -1
- package/dist/src/components/generic/RecentSearchesCard.js +9 -9
- package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
- package/dist/src/components/generic/ScrollToTop.js +3 -3
- package/dist/src/components/generic/ScrollToTop.js.map +1 -1
- package/dist/src/components/generic/Select/Select.d.ts +24 -0
- package/dist/src/components/generic/Select/Select.js +64 -0
- package/dist/src/components/generic/Select/Select.js.map +1 -0
- package/dist/src/components/generic/Select.js +2 -2
- package/dist/src/components/generic/Select.js.map +1 -1
- package/dist/src/components/generic/Slider/Slider.d.ts +22 -0
- package/dist/src/components/generic/Slider/Slider.js +111 -0
- package/dist/src/components/generic/Slider/Slider.js.map +1 -0
- package/dist/src/components/generic/Tabs/ElementChildren.d.ts +3 -0
- package/dist/src/components/generic/Tabs/ElementChildren.js +18 -0
- package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -0
- package/dist/src/components/generic/Tabs/Tab.d.ts +9 -0
- package/dist/src/components/generic/Tabs/Tab.js +13 -0
- package/dist/src/components/generic/Tabs/Tab.js.map +1 -0
- package/dist/src/components/generic/Tabs/TabContext.d.ts +16 -0
- package/dist/src/components/generic/Tabs/TabContext.js +39 -0
- package/dist/src/components/generic/Tabs/TabContext.js.map +1 -0
- package/dist/src/components/generic/Tabs/TabLink.d.ts +1 -0
- package/dist/src/components/generic/Tabs/TabLink.js +30 -0
- package/dist/src/components/generic/Tabs/TabLink.js.map +1 -0
- package/dist/src/components/generic/Tabs/TabRouteContainer.d.ts +6 -0
- package/dist/src/components/generic/Tabs/TabRouteContainer.js +30 -0
- package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -0
- package/dist/src/components/generic/Tabs/Tabs.d.ts +12 -0
- package/dist/src/components/generic/Tabs/Tabs.js +39 -0
- package/dist/src/components/generic/Tabs/Tabs.js.map +1 -0
- package/dist/src/components/generic/Text.d.ts +6 -3
- package/dist/src/components/generic/Text.js +2 -2
- package/dist/src/components/generic/Text.js.map +1 -1
- package/dist/src/components/generic/TextArea.d.ts +2 -1
- package/dist/src/components/generic/TextArea.js +3 -3
- package/dist/src/components/generic/TextArea.js.map +1 -1
- package/dist/src/components/generic/TextBox.d.ts +5 -3
- package/dist/src/components/generic/TextBox.js +18 -14
- package/dist/src/components/generic/TextBox.js.map +1 -1
- package/dist/src/components/generic/Tooltip/Tooltip.d.ts +8 -0
- package/dist/src/components/generic/Tooltip/Tooltip.js +26 -0
- package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -0
- package/dist/src/components/generic/badging/SSLSecureBadge.js +3 -3
- package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
- package/dist/src/components/generic/buttons/NextStepButton.d.ts +1 -1
- package/dist/src/components/generic/buttons/NextStepButton.js +5 -5
- package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.d.ts +10 -7
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +37 -58
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
- package/dist/src/components/generic/date/DatePicker.js +29 -28
- package/dist/src/components/generic/date/DatePicker.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDay.js +21 -22
- package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDays.js +5 -5
- package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerMonth.js +8 -8
- package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerWeek.js +23 -24
- package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
- package/dist/src/components/generic/date/FloatingDatePicker.js +14 -45
- package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
- package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
- package/dist/src/components/generic/loader/ImageLoader.js +6 -6
- package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
- package/dist/src/components/generic/loader/LargeLoader.js +5 -5
- package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
- package/dist/src/components/generic/loader/SmallSpinner.d.ts +1 -1
- package/dist/src/components/generic/loader/SmallSpinner.js +2 -2
- package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
- package/dist/src/components/generic/map/HotelLocationMap.js +2 -2
- package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
- package/dist/src/components/generic/modal/ConfirmationModal.js +3 -3
- package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
- package/dist/src/components/generic/modal/ErrorModal.js +3 -3
- package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.d.ts +8 -0
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +73 -0
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -0
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +15 -0
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +82 -0
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -0
- package/dist/src/components/generic/modal/SimpleModal.d.ts +2 -3
- package/dist/src/components/generic/modal/SimpleModal.js +67 -55
- package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
- package/dist/src/components/generic/modal/TabbedModal.js +3 -3
- package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
- package/dist/src/components/generic/radio/RadioFields.js +2 -2
- package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
- package/dist/src/components/members/EditMyProfile.d.ts +3 -0
- package/dist/src/components/members/EditMyProfile.js +103 -0
- package/dist/src/components/members/EditMyProfile.js.map +1 -0
- package/dist/src/components/navigation/Header.js +73 -32
- package/dist/src/components/navigation/Header.js.map +1 -1
- package/dist/src/components/navigation/StepSelector.js +15 -14
- package/dist/src/components/navigation/StepSelector.js.map +1 -1
- package/dist/src/components/navigation/StepSelectorModal.js +9 -9
- package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
- package/dist/src/components/pages/Account/Card/CardList.d.ts +15 -0
- package/dist/src/components/pages/Account/Card/CardList.js +36 -0
- package/dist/src/components/pages/Account/Card/CardList.js.map +1 -0
- package/dist/src/components/pages/Account/Card/MemberCardItem.d.ts +8 -0
- package/dist/src/components/pages/Account/Card/MemberCardItem.js +38 -0
- package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -0
- package/dist/src/components/pages/PageColorComponent.d.ts +1 -0
- package/dist/src/components/pages/PageColorComponent.js +18 -0
- package/dist/src/components/pages/PageColorComponent.js.map +1 -0
- package/dist/src/components/reservation/ReservationItem.d.ts +16 -0
- package/dist/src/components/reservation/ReservationItem.js +145 -0
- package/dist/src/components/reservation/ReservationItem.js.map +1 -0
- package/dist/src/components/reservation/ReservationList.d.ts +11 -0
- package/dist/src/components/reservation/ReservationList.js +10 -0
- package/dist/src/components/reservation/ReservationList.js.map +1 -0
- package/dist/src/components/steps/DaysSelectedInformer.js +4 -4
- package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
- package/dist/src/components/steps/MinimumNightStayPill.js +14 -14
- package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
- package/dist/src/components/steps/addons/AddonCard.d.ts +1 -1
- package/dist/src/components/steps/addons/AddonCard.js +22 -22
- package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
- package/dist/src/components/steps/addons/AddonList.js +12 -12
- package/dist/src/components/steps/addons/AddonList.js.map +1 -1
- package/dist/src/components/steps/addons/AddonsNotFound.js +5 -5
- package/dist/src/components/steps/addons/AddonsNotFound.js.map +1 -1
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +1 -1
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +4 -3
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
- package/dist/src/components/steps/confirmation/AccountDetails.js +9 -9
- package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.d.ts +8 -0
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js +31 -0
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -0
- package/dist/src/components/steps/confirmation/PaymentDetails/CardPaymentDetails.d.ts +0 -0
- package/dist/src/components/steps/confirmation/PaymentDetails/CardPaymentDetails.js +1 -0
- package/dist/src/components/steps/confirmation/PaymentDetails/CardPaymentDetails.js.map +1 -0
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.d.ts +6 -0
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +41 -0
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -0
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.d.ts +3 -0
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +196 -0
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -0
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.d.ts +2 -0
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +58 -0
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -0
- package/dist/src/components/steps/confirmation/RoomContactDetails.d.ts +3 -8
- package/dist/src/components/steps/confirmation/RoomContactDetails.js +262 -201
- package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.d.ts +3 -6
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +29 -19
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +13 -13
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +2 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +22 -10
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.d.ts +10 -8
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +82 -54
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +229 -302
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.d.ts +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +11 -0
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +7 -7
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPaymentDetails.js +31 -34
- package/dist/src/components/steps/confirmation/StepConfirmationPaymentDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +5 -5
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +5 -5
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +23 -23
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +3 -3
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +2 -2
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +17 -17
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePicker.js +9 -9
- package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePickerRow.js +13 -13
- package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
- package/dist/src/components/steps/date/StepDatePricePerRoom.js +15 -15
- package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRange.js +7 -7
- package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePicker.js +6 -6
- package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +6 -6
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.js +6 -6
- package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
- package/dist/src/components/steps/date/StepOneStatusPeople.js +1 -1
- package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCard.d.ts +1 -1
- package/dist/src/components/steps/hotel/HotelCard.js +31 -31
- package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardList.d.ts +1 -1
- package/dist/src/components/steps/hotel/HotelCardList.js +2 -2
- package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardModal.d.ts +2 -3
- package/dist/src/components/steps/hotel/HotelCardModal.js +20 -20
- package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelSearchParameters.js +24 -31
- package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js +4 -4
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
- package/dist/src/components/steps/room/AvailableUpgradesModal.js +23 -24
- package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
- package/dist/src/components/steps/room/ImageGallerySlider.d.ts +1 -1
- package/dist/src/components/steps/room/ImageGallerySlider.js +14 -14
- package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
- package/dist/src/components/steps/room/InactivityWindow.js +22 -22
- package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
- package/dist/src/components/steps/room/LargeRoomCard.d.ts +1 -1
- package/dist/src/components/steps/room/LargeRoomCard.js +14 -14
- package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +39 -45
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.types.d.ts +1 -1
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.types.js.map +1 -1
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js +22 -22
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
- package/dist/src/components/steps/room/RatesNotFound.js +3 -3
- package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
- package/dist/src/components/steps/room/RoomList.js +53 -23
- package/dist/src/components/steps/room/RoomList.js.map +1 -1
- package/dist/src/components/steps/room/RoomListAlert.d.ts +2 -0
- package/dist/src/components/steps/room/RoomListAlert.js +27 -0
- package/dist/src/components/steps/room/RoomListAlert.js.map +1 -0
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js +24 -26
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
- package/dist/src/components/steps/room/RoomModal.d.ts +2 -2
- package/dist/src/components/steps/room/RoomModal.js +12 -12
- package/dist/src/components/steps/room/RoomModal.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js +8 -8
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js +8 -8
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomErrorForm.js +10 -10
- package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomHotelDetails.js +8 -9
- package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.js +5 -5
- package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSortBy.js +6 -6
- package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +13 -13
- 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 +6 -6
- 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 +6 -6
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +9 -9
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +35 -42
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +37 -37
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +3 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +9 -8
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +5 -5
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +10 -10
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.d.ts +7 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +99 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +4 -4
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +11 -11
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +15 -14
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +16 -15
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +4 -4
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +2 -3
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +16 -16
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +22 -22
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +25 -32
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +7 -7
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +22 -39
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +2 -2
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +65 -27
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +2 -2
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +13 -13
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +2 -2
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +13 -13
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
- package/dist/src/components/summary/BEMapWidget.js +7 -7
- package/dist/src/components/summary/BEMapWidget.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummary.js +15 -15
- package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js +25 -26
- package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
- package/dist/src/components/summary/BESummary.d.ts +1 -1
- package/dist/src/components/summary/BESummary.js +22 -25
- package/dist/src/components/summary/BESummary.js.map +1 -1
- package/dist/src/components/summary/BESummaryAddonRow.d.ts +1 -1
- package/dist/src/components/summary/BESummaryAddonRow.js +9 -9
- package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
- package/dist/src/components/summary/BESummaryPerkBlock.js +8 -8
- package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js +5 -5
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.d.ts +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js +19 -19
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +1 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +7 -7
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
- package/dist/src/components/temp/Login.d.ts +2 -0
- package/dist/src/components/temp/Login.js +53 -0
- package/dist/src/components/temp/Login.js.map +1 -0
- package/dist/src/containers/PrivateRoute.d.ts +3 -0
- package/dist/src/containers/PrivateRoute.js +31 -0
- package/dist/src/containers/PrivateRoute.js.map +1 -0
- package/dist/src/contexts/BasketContext/BasketContext.d.ts +2 -1
- package/dist/src/contexts/BasketContext/BasketContext.js +4 -2
- package/dist/src/contexts/BasketContext/BasketContext.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextType.d.ts +7 -7
- package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +70 -56
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContext.d.ts +1 -0
- package/dist/src/contexts/BookingEngineContext/BookingEngineContext.js +4 -2
- package/dist/src/contexts/BookingEngineContext/BookingEngineContext.js.map +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.d.ts +2 -2
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +4 -4
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContext.js +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContext.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContextType.type.d.ts +13 -9
- package/dist/src/contexts/CompanyContext/CompanyContextType.type.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.d.ts +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +37 -42
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationFormContext.d.ts +3 -3
- package/dist/src/contexts/ConfirmationFormContext.js +4 -5
- package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.d.ts +4 -0
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.js +8 -0
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.js.map +1 -0
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.d.ts +12 -0
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js +3 -0
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js.map +1 -0
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.d.ts +2 -0
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +188 -0
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -0
- package/dist/src/contexts/ErrorContext.js +3 -3
- package/dist/src/contexts/ErrorContext.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.js +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +46 -35
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
- package/dist/src/contexts/HotelOverridesContext.js +15 -15
- package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +36 -0
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js +28 -0
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -0
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.d.ts +2 -0
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +227 -0
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -0
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +20 -0
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.js +8 -0
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.js.map +1 -0
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.d.ts +2 -0
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +155 -0
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -0
- package/dist/src/contexts/ModalContext.js +1 -1
- package/dist/src/contexts/ModalContext.js.map +1 -1
- package/dist/src/contexts/NotificationContext.d.ts +3 -3
- package/dist/src/contexts/NotificationContext.js +5 -6
- package/dist/src/contexts/NotificationContext.js.map +1 -1
- package/dist/src/contexts/index.d.ts +22 -19
- package/dist/src/contexts/index.js +28 -21
- package/dist/src/contexts/index.js.map +1 -1
- package/dist/src/engines/BaseEngine.d.ts +3 -3
- package/dist/src/engines/BaseEngine.js +2 -2
- package/dist/src/engines/BaseEngine.js.map +1 -1
- package/dist/src/engines/CustomEngine/CustomEngine.d.ts +1 -1
- package/dist/src/engines/CustomEngine/CustomEngine.js +1 -1
- package/dist/src/engines/CustomEngine/CustomEngine.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.d.ts +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +4 -4
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +25 -14
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.d.ts +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js +4 -4
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +46 -121
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.d.ts +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js +4 -4
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +17 -15
- 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 +4 -4
- package/dist/src/errors/GetAvailabilityError.js.map +1 -1
- package/dist/src/errors/NoCompanyContextError.d.ts +1 -1
- package/dist/src/errors/NoCompanyContextError.js +1 -1
- package/dist/src/errors/NoCompanyContextError.js.map +1 -1
- package/dist/src/errors/NoHotelSelectedError.d.ts +1 -1
- package/dist/src/errors/NoHotelSelectedError.js +1 -1
- package/dist/src/errors/NoHotelSelectedError.js.map +1 -1
- package/dist/src/events/RoomstayEventManager.d.ts +3 -3
- package/dist/src/events/RoomstayEventManager.js +5 -24
- package/dist/src/events/RoomstayEventManager.js.map +1 -1
- package/dist/src/events/actions/AddToCartEvent.d.ts +2 -2
- package/dist/src/events/actions/AddToCartEvent.js +1 -1
- package/dist/src/events/actions/AddToCartEvent.js.map +1 -1
- package/dist/src/events/actions/RemoveFromCartEvent.d.ts +2 -2
- package/dist/src/events/actions/RemoveFromCartEvent.js +1 -1
- package/dist/src/events/actions/RemoveFromCartEvent.js.map +1 -1
- package/dist/src/events/index.d.ts +13 -14
- package/dist/src/events/index.js +19 -16
- package/dist/src/events/index.js.map +1 -1
- package/dist/src/events/views/StepCheckoutViewEvent.d.ts +2 -2
- package/dist/src/events/views/StepCheckoutViewEvent.js +1 -1
- package/dist/src/events/views/StepCheckoutViewEvent.js.map +1 -1
- package/dist/src/hooks/AutoFocusOnSelect.d.ts +13 -0
- package/dist/src/hooks/AutoFocusOnSelect.js +76 -0
- package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -0
- package/dist/src/hooks/BodyClickHook.d.ts +10 -0
- package/dist/src/hooks/BodyClickHook.js +36 -0
- package/dist/src/hooks/BodyClickHook.js.map +1 -0
- package/dist/src/hooks/CombineState.d.ts +2 -0
- package/dist/src/hooks/CombineState.js +10 -0
- package/dist/src/hooks/CombineState.js.map +1 -0
- package/dist/src/hooks/ConfirmationQuery.d.ts +5 -0
- package/dist/src/hooks/ConfirmationQuery.js +17 -0
- package/dist/src/hooks/ConfirmationQuery.js.map +1 -0
- package/dist/src/hooks/CurrentHotelHook.js +4 -3
- package/dist/src/hooks/CurrentHotelHook.js.map +1 -1
- package/dist/src/hooks/ElementSortHook.d.ts +2 -2
- package/dist/src/hooks/ElementSortHook.js +4 -3
- package/dist/src/hooks/ElementSortHook.js.map +1 -1
- package/dist/src/hooks/EventHook.d.ts +3 -3
- package/dist/src/hooks/EventHook.js +5 -4
- package/dist/src/hooks/EventHook.js.map +1 -1
- package/dist/src/hooks/KeyboardControlOnSelect.d.ts +13 -0
- package/dist/src/hooks/KeyboardControlOnSelect.js +111 -0
- package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -0
- package/dist/src/hooks/LoggedInUserHook.d.ts +10 -0
- package/dist/src/hooks/LoggedInUserHook.js +43 -0
- package/dist/src/hooks/LoggedInUserHook.js.map +1 -0
- package/dist/src/hooks/Query.d.ts +2 -0
- package/dist/src/hooks/Query.js +15 -0
- package/dist/src/hooks/Query.js.map +1 -0
- package/dist/src/hooks/ScrollFocusHook.js +2 -1
- package/dist/src/hooks/ScrollFocusHook.js.map +1 -1
- package/dist/src/hooks/VGSHooks.d.ts +47 -0
- package/dist/src/hooks/VGSHooks.js +207 -0
- package/dist/src/hooks/VGSHooks.js.map +1 -0
- package/dist/src/hooks/WindowSize.d.ts +4 -0
- package/dist/src/hooks/WindowSize.js +24 -0
- package/dist/src/hooks/WindowSize.js.map +1 -0
- package/dist/src/hooks/index.d.ts +6 -5
- package/dist/src/hooks/index.js +12 -7
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/icons/Check.js +1 -1
- package/dist/src/icons/Check.js.map +1 -1
- package/dist/src/index.d.ts +62 -64
- package/dist/src/index.js +73 -72
- package/dist/src/index.js.map +1 -1
- package/dist/src/mockApi/AddonAPI.d.ts +3 -3
- package/dist/src/mockApi/AddonAPI.js +3 -3
- package/dist/src/mockApi/AddonAPI.js.map +1 -1
- package/dist/src/mockApi/BookingAPI.d.ts +6 -6
- package/dist/src/mockApi/BookingAPI.js +6 -6
- package/dist/src/mockApi/BookingAPI.js.map +1 -1
- package/dist/src/mockApi/ExchangeRateAPI.d.ts +2 -2
- package/dist/src/mockApi/ExchangeRateAPI.js +1 -1
- package/dist/src/mockApi/ExchangeRateAPI.js.map +1 -1
- package/dist/src/mockApi/HotelAPI.d.ts +3 -3
- package/dist/src/mockApi/HotelAPI.js +1 -1
- package/dist/src/mockApi/HotelAPI.js.map +1 -1
- package/dist/src/mockApi/MemberAPI.d.ts +1 -1
- package/dist/src/mockApi/MemberAPI.js +1 -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 +1 -1
- package/dist/src/mockApi/MockAPI.js.map +1 -1
- package/dist/src/mockApi/ReservationAPI.d.ts +6 -6
- package/dist/src/mockApi/ReservationAPI.js +1 -1
- package/dist/src/mockApi/ReservationAPI.js.map +1 -1
- package/dist/src/models/Addon/Addon.d.ts +2 -2
- package/dist/src/models/Addon/Addon.js.map +1 -1
- package/dist/src/models/Api/ExchangeRateDTO.d.ts +1 -1
- package/dist/src/models/Api/HotelDTO.d.ts +19 -11
- package/dist/src/models/Api/HotelDTO.js.map +1 -1
- package/dist/src/models/Api/HotelOverrideDTO.d.ts +1 -1
- package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
- package/dist/src/models/Api/IEventReservation.d.ts +1 -1
- package/dist/src/models/Api/RatePlanDTO.d.ts +1 -1
- package/dist/src/models/Api/ReservationsDTO.d.ts +17 -4
- package/dist/src/models/Api/ReservationsDTO.js.map +1 -1
- package/dist/src/models/Api/RoomNightDTO.d.ts +2 -2
- package/dist/src/models/Api/RoomNightDTO.js.map +1 -1
- package/dist/src/models/Api/RoomNightRateDTO.d.ts +1 -1
- package/dist/src/models/Api/RoomTypeDTO.d.ts +1 -1
- package/dist/src/models/BasketAddonRow.d.ts +1 -1
- package/dist/src/models/BasketAddonRow.js +2 -2
- package/dist/src/models/BasketAddonRow.js.map +1 -1
- package/dist/src/models/BasketRow.d.ts +9 -6
- package/dist/src/models/BasketRow.js +4 -1
- package/dist/src/models/BasketRow.js.map +1 -1
- package/dist/src/models/BasketRowDifferences.d.ts +2 -2
- package/dist/src/models/Client/Hotel/ColorProfile.d.ts +1 -1
- package/dist/src/models/Client/Hotel/Company.d.ts +2 -2
- package/dist/src/models/Client/Hotel/Company.js.map +1 -1
- package/dist/src/models/Client/Hotel/Hotel.d.ts +28 -15
- package/dist/src/models/Client/Hotel/Hotel.js +8 -0
- package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
- package/dist/src/models/Client/Hotel/HotelAddress.d.ts +1 -1
- package/dist/src/models/Client/Hotel/HotelPerk.d.ts +3 -3
- package/dist/src/models/Client/Hotel/HotelPerk.js.map +1 -1
- package/dist/src/models/Client/Hotel/HotelRoomOverwrite.d.ts +1 -1
- package/dist/src/models/Confirmation.d.ts +31 -0
- package/dist/src/models/Confirmation.js +15 -0
- package/dist/src/models/Confirmation.js.map +1 -0
- package/dist/src/models/PaymentCard.d.ts +15 -2
- package/dist/src/models/PaymentCard.js +13 -0
- package/dist/src/models/PaymentCard.js.map +1 -1
- package/dist/src/models/Reservation/Reservation.d.ts +16 -0
- package/dist/src/models/{Promotion/IPromotion.type.js → Reservation/Reservation.js} +1 -1
- package/dist/src/models/Reservation/Reservation.js.map +1 -0
- package/dist/src/models/Room/Filters/BudgetFilter.d.ts +2 -2
- package/dist/src/models/Room/Filters/BudgetFilter.js +1 -1
- package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
- package/dist/src/models/Room/Filters/Filter.d.ts +1 -1
- package/dist/src/models/Room/Filters/Filter.js.map +1 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.d.ts +2 -2
- package/dist/src/models/Room/Filters/RateTypeFilter.js +1 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.d.ts +2 -2
- package/dist/src/models/Room/Filters/RoomTypeFilter.js +1 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
- package/dist/src/models/Room/Room.d.ts +3 -3
- package/dist/src/models/Room/Room.js +1 -1
- package/dist/src/models/Room/Room.js.map +1 -1
- package/dist/src/models/Room/RoomRate.d.ts +4 -4
- package/dist/src/models/Room/RoomRate.js +3 -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 +1 -1
- package/dist/src/models/Room/RoomRateNight.js.map +1 -1
- package/dist/src/models/RoomListSearch.d.ts +3 -3
- package/dist/src/models/RoomstayMembers/IRoomstayMemberBooking.d.ts +21 -0
- package/dist/src/models/RoomstayMembers/IRoomstayMemberBooking.js +3 -0
- package/dist/src/models/RoomstayMembers/IRoomstayMemberBooking.js.map +1 -0
- package/dist/src/models/RoomstayMembers/IRoomstayMemberCard.d.ts +2 -0
- package/dist/src/models/RoomstayMembers/IRoomstayMemberCard.js +3 -0
- package/dist/src/models/RoomstayMembers/IRoomstayMemberCard.js.map +1 -0
- package/dist/src/models/RoomstaySession.d.ts +9 -6
- package/dist/src/models/RoomstaySession.js.map +1 -1
- package/dist/src/models/SearchParameters.d.ts +1 -1
- package/dist/src/models/UserProfile.d.ts +2 -1
- package/dist/src/models/UserProfile.js.map +1 -1
- package/dist/src/pages/account/AccountHome/AccountHomePage.d.ts +1 -0
- package/dist/src/pages/account/AccountHome/AccountHomePage.js +82 -0
- package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -0
- package/dist/src/pages/account/AccountOutlet.d.ts +6 -0
- package/dist/src/pages/account/AccountOutlet.js +10 -0
- package/dist/src/pages/account/AccountOutlet.js.map +1 -0
- package/dist/src/pages/account/AccountRouter.d.ts +1 -0
- package/dist/src/pages/account/AccountRouter.js +32 -0
- package/dist/src/pages/account/AccountRouter.js.map +1 -0
- package/dist/src/pages/account/AccountRoutes.d.ts +22 -0
- package/dist/src/pages/account/AccountRoutes.js +26 -0
- package/dist/src/pages/account/AccountRoutes.js.map +1 -0
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.d.ts +1 -0
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +125 -0
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -0
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.d.ts +7 -0
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +25 -0
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -0
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.d.ts +1 -0
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +127 -0
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -0
- package/dist/src/pages/account/Help/AccountHelpPage.d.ts +1 -0
- package/dist/src/pages/account/Help/AccountHelpPage.js +140 -0
- package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -0
- package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.d.ts +1 -0
- package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js +107 -0
- package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js.map +1 -0
- package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.d.ts +2 -0
- package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js +132 -0
- package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js.map +1 -0
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.d.ts +1 -0
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +245 -0
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -0
- package/dist/src/pages/account/Reservations/AccountReservationsPage.d.ts +1 -0
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js +38 -0
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -0
- package/dist/src/pages/findReservation/FindReservation.d.ts +7 -0
- package/dist/src/pages/findReservation/FindReservation.js +149 -73
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservationResults.js +29 -29
- package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRow.d.ts +1 -1
- package/dist/src/pages/findReservation/ReservationRow.js +24 -23
- package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRowModal.d.ts +1 -1
- package/dist/src/pages/findReservation/ReservationRowModal.js +12 -12
- package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfo.js +23 -30
- package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js +1 -1
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
- package/dist/src/pages/steps/Step.d.ts +4 -4
- package/dist/src/pages/steps/Step.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +6 -7
- package/dist/src/pages/steps/StepAddon/StepAddon.js +4 -4
- package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +17 -17
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.d.ts +2 -1
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +7 -7
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonValidator.d.ts +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonValidator.js +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonValidator.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.d.ts +6 -6
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js +4 -4
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +23 -26
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +2 -2
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.d.ts +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDate.js +4 -4
- package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.js +30 -28
- package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateValidator.d.ts +2 -3
- package/dist/src/pages/steps/StepDate/StepDateValidator.js +2 -2
- package/dist/src/pages/steps/StepDate/StepDateValidator.js.map +1 -1
- package/dist/src/pages/steps/StepGuide.d.ts +1 -1
- package/dist/src/pages/steps/StepGuide.js +8 -8
- package/dist/src/pages/steps/StepGuide.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +5 -6
- package/dist/src/pages/steps/StepHotel/StepHotel.js +4 -4
- package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +26 -26
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.d.ts +2 -1
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +10 -10
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelValidator.d.ts +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelValidator.js +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelValidator.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoom.d.ts +6 -6
- package/dist/src/pages/steps/StepRoom/StepRoom.js +4 -4
- package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.d.ts +2 -1
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +25 -35
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +2 -2
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomValidator.d.ts +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomValidator.js +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanks.d.ts +6 -6
- package/dist/src/pages/steps/StepThanks/StepThanks.js +5 -5
- package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +17 -17
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksValidator.d.ts +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksValidator.js +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
- package/dist/src/providers/CurrencyProvider.js +128 -3
- package/dist/src/providers/CurrencyProvider.js.map +1 -1
- package/dist/src/providers/DistanceProvider.d.ts +1 -1
- package/dist/src/providers/DistanceProvider.js +1 -1
- package/dist/src/providers/DistanceProvider.js.map +1 -1
- package/dist/src/providers/FeatureProvider.js +11 -7
- package/dist/src/providers/FeatureProvider.js.map +1 -1
- package/dist/src/providers/FilterProvider.d.ts +3 -3
- package/dist/src/providers/FilterProvider.js +3 -1
- package/dist/src/providers/FilterProvider.js.map +1 -1
- package/dist/src/providers/ImageProvider.js +1 -1
- package/dist/src/providers/ImageProvider.js.map +1 -1
- package/dist/src/providers/LanguageProvider.d.ts +1 -1
- package/dist/src/providers/LanguageProvider.js +2 -2
- package/dist/src/providers/LanguageProvider.js.map +1 -1
- package/dist/src/providers/RatePillProvider.d.ts +8 -8
- package/dist/src/providers/RatePillProvider.js.map +1 -1
- package/dist/src/providers/RoomSortProvider.d.ts +1 -1
- package/dist/src/providers/RoomSortProvider.js.map +1 -1
- package/dist/src/providers/RoomstayThemeEngine.d.ts +6 -10
- package/dist/src/providers/RoomstayThemeEngine.js +14 -25
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
- package/dist/src/providers/SessionProvider.d.ts +3 -1
- package/dist/src/providers/SessionProvider.js +19 -7
- package/dist/src/providers/SessionProvider.js.map +1 -1
- package/dist/src/providers/feature/ConfirmationVerifyFeature.d.ts +1 -1
- package/dist/src/providers/feature/ConfirmationVerifyFeature.js +1 -1
- package/dist/src/providers/feature/ConfirmationVerifyFeature.js.map +1 -1
- package/dist/src/providers/feature/DatePickerTypeFeature.d.ts +1 -1
- package/dist/src/providers/feature/DatePickerTypeFeature.js +2 -2
- package/dist/src/providers/feature/DatePickerTypeFeature.js.map +1 -1
- package/dist/src/providers/feature/E164PhoneNumberFieldFeature.d.ts +1 -1
- package/dist/src/providers/feature/E164PhoneNumberFieldFeature.js +1 -1
- package/dist/src/providers/feature/E164PhoneNumberFieldFeature.js.map +1 -1
- package/dist/src/providers/feature/Feature.js +3 -1
- package/dist/src/providers/feature/Feature.js.map +1 -1
- package/dist/src/providers/feature/FeaturedPromoFeature.d.ts +1 -1
- package/dist/src/providers/feature/FeaturedPromoFeature.js +2 -2
- package/dist/src/providers/feature/FeaturedPromoFeature.js.map +1 -1
- package/dist/src/providers/feature/InlineAddonStepFeature.d.ts +1 -1
- package/dist/src/providers/feature/InlineAddonStepFeature.js +1 -1
- package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
- package/dist/src/providers/feature/MemberPortalFeature.d.ts +7 -0
- package/dist/src/providers/feature/MemberPortalFeature.js +11 -0
- package/dist/src/providers/feature/MemberPortalFeature.js.map +1 -0
- package/dist/src/providers/feature/NumberOfPeopleBookedPillFeature.d.ts +7 -0
- package/dist/src/providers/feature/NumberOfPeopleBookedPillFeature.js +11 -0
- package/dist/src/providers/feature/NumberOfPeopleBookedPillFeature.js.map +1 -0
- package/dist/src/providers/feature/RoomUpsellFeature.d.ts +1 -1
- package/dist/src/providers/feature/RoomUpsellFeature.js +1 -1
- package/dist/src/providers/feature/RoomUpsellFeature.js.map +1 -1
- package/dist/src/providers/feature/ShowIATANumberOnCheckoutFeature.d.ts +1 -1
- package/dist/src/providers/feature/ShowIATANumberOnCheckoutFeature.js +1 -1
- package/dist/src/providers/feature/ShowIATANumberOnCheckoutFeature.js.map +1 -1
- package/dist/src/providers/storage/LocalStorageProvider.d.ts +2 -2
- package/dist/src/providers/storage/LocalStorageProvider.js +25 -24
- package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -1
- package/dist/src/reducers/BasketReducer.d.ts +3 -3
- package/dist/src/reducers/BasketReducer.js +5 -4
- package/dist/src/reducers/BasketReducer.js.map +1 -1
- package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +1 -1
- package/dist/src/routes/NaturallyProgressedStepRoute.js +5 -3
- package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -1
- package/dist/src/stories/Button.stories.d.ts +5 -0
- package/dist/src/stories/Button.stories.js +17 -0
- package/dist/src/stories/Button.stories.js.map +1 -0
- package/dist/src/stories/Card.stories.d.ts +8 -0
- package/dist/src/stories/Card.stories.js +17 -0
- package/dist/src/stories/Card.stories.js.map +1 -0
- package/dist/src/stories/Checkbox.stories.d.ts +5 -0
- package/dist/src/stories/Checkbox.stories.js +17 -0
- package/dist/src/stories/Checkbox.stories.js.map +1 -0
- package/dist/src/stories/EnhancedPhoneNumberField.stories.js +16 -0
- package/dist/src/stories/EnhancedPhoneNumberField.stories.js.map +1 -0
- package/dist/src/stories/Icon.stories.d.ts +5 -0
- package/dist/src/stories/Icon.stories.js +16 -0
- package/dist/src/stories/Icon.stories.js.map +1 -0
- package/dist/src/stories/IconNavCard.stories.d.ts +16 -0
- package/dist/src/stories/IconNavCard.stories.js +28 -0
- package/dist/src/stories/IconNavCard.stories.js.map +1 -0
- package/dist/src/stories/IconText.stories.js +18 -0
- package/dist/src/stories/IconText.stories.js.map +1 -0
- package/dist/src/stories/ImageLoader.stories.d.ts +5 -0
- package/dist/src/stories/ImageLoader.stories.js +16 -0
- package/dist/src/stories/ImageLoader.stories.js.map +1 -0
- package/dist/src/stories/InputGroup.stories.d.ts +5 -0
- package/dist/src/stories/InputGroup.stories.js +16 -0
- package/dist/src/stories/InputGroup.stories.js.map +1 -0
- package/dist/src/stories/LargeLoader.stories.d.ts +5 -0
- package/dist/src/stories/LargeLoader.stories.js +14 -0
- package/dist/src/stories/LargeLoader.stories.js.map +1 -0
- package/dist/src/stories/PasswordBox.stories.d.ts +5 -0
- package/dist/src/stories/PasswordBox.stories.js +14 -0
- package/dist/src/stories/PasswordBox.stories.js.map +1 -0
- package/dist/src/stories/SSLSecureBadge.stories.d.ts +5 -0
- package/dist/src/stories/SSLSecureBadge.stories.js +14 -0
- package/dist/src/stories/SSLSecureBadge.stories.js.map +1 -0
- package/dist/src/stories/SmallSpinner.stories.d.ts +5 -0
- package/dist/src/stories/SmallSpinner.stories.js +14 -0
- package/dist/src/stories/SmallSpinner.stories.js.map +1 -0
- package/dist/src/translations/Translation.d.ts +111 -1
- package/dist/src/translations/Translation.js +111 -1
- package/dist/src/translations/Translation.js.map +1 -1
- package/dist/src/translations/languages/en-gb.d.ts +1 -1
- package/dist/src/translations/languages/en-gb.js +112 -2
- package/dist/src/translations/languages/en-gb.js.map +1 -1
- package/dist/src/translations/languages/es.js +1 -1
- package/dist/src/translations/languages/es.js.map +1 -1
- package/dist/src/translations/languages/fr.js +1 -1
- package/dist/src/translations/languages/fr.js.map +1 -1
- package/dist/src/translations/languages/template.js +1 -1
- package/dist/src/translations/languages/template.js.map +1 -1
- package/dist/src/translations/languages/zh-cn.js +1 -1
- package/dist/src/translations/languages/zh-cn.js.map +1 -1
- package/dist/src/translations/languages/zh-tw.js +1 -1
- package/dist/src/translations/languages/zh-tw.js.map +1 -1
- package/dist/src/util/CalendarHelper.d.ts +1 -1
- package/dist/src/util/CalendarHelper.js +2 -1
- package/dist/src/util/CalendarHelper.js.map +1 -1
- package/dist/src/util/Color.d.ts +15 -14
- package/dist/src/util/Color.js +15 -14
- package/dist/src/util/Color.js.map +1 -1
- package/dist/src/util/DataLayer.d.ts +7 -7
- package/dist/src/util/DataLayer.js.map +1 -1
- package/dist/src/util/Debounce.d.ts +2 -0
- package/dist/src/util/Debounce.js +14 -0
- package/dist/src/util/Debounce.js.map +1 -0
- package/dist/src/util/EnumHelper.d.ts +3 -0
- package/dist/src/util/EnumHelper.js +10 -0
- package/dist/src/util/EnumHelper.js.map +1 -0
- package/dist/src/util/PaymentCardHelper.d.ts +9 -0
- package/dist/src/util/PaymentCardHelper.js +37 -0
- package/dist/src/util/PaymentCardHelper.js.map +1 -0
- package/dist/src/util/StepManager.d.ts +1 -1
- package/dist/src/util/StepManager.js +1 -3
- package/dist/src/util/StepManager.js.map +1 -1
- package/dist/src/util/StringHelper.js +1 -1
- package/dist/src/util/StringHelper.js.map +1 -1
- package/dist/src/util/TotalCalculator.js +5 -3
- package/dist/src/util/TotalCalculator.js.map +1 -1
- package/dist/src/util/Validation.d.ts +17 -1
- package/dist/src/util/Validation.js +25 -2
- package/dist/src/util/Validation.js.map +1 -1
- package/dist/test.bundle.js +1 -1
- package/dist/tests/jest/events/EventManager.test.js +4 -5
- package/dist/tests/jest/events/EventManager.test.js.map +1 -1
- package/dist/tests/jest/providers/LanguageProvider.test.d.ts +1 -1
- package/dist/tests/jest/providers/LanguageProvider.test.js +6 -7
- package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -1
- package/dist/tests/jest/reducers/BasketReducer.test.js +11 -11
- package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -1
- package/dist/tests/offline/RoomstayBestRateAlert.js +3 -3
- package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -1
- package/dist/tests/offline/entry/RSCompany.d.ts +1 -1
- package/dist/tests/offline/entry/RSCompany.js +15 -55
- package/dist/tests/offline/entry/RSCompany.js.map +1 -1
- package/dist/tests/offline/entry/ReactWrapper.js +11 -6
- package/dist/tests/offline/entry/ReactWrapper.js.map +1 -1
- package/dist/tests/offline/entry/allEngines.js +2 -2
- package/dist/tests/offline/entry/allEngines.js.map +1 -1
- package/dist/tests/offline/entry/components/TestPicker.js +32 -8
- package/dist/tests/offline/entry/components/TestPicker.js.map +1 -1
- package/dist/tests/setupTests.d.ts +0 -0
- package/dist/tests/setupTests.js +9 -0
- package/dist/tests/setupTests.js.map +1 -0
- package/dist/vendors.bundle.js +1 -1
- package/dist/vendors.bundle.js.LICENSE.txt +33 -8
- package/package.json +31 -43
- package/dist/661.bundle.js +0 -1
- package/dist/7.bundle.js +0 -1
- package/dist/845.bundle.js +0 -1
- package/dist/876.bundle.js +0 -1
- package/dist/src/components/generic/BETooltip.d.ts +0 -7
- package/dist/src/components/generic/BETooltip.js +0 -44
- package/dist/src/components/generic/BETooltip.js.map +0 -1
- package/dist/src/components/generic/Checkbox.js +0 -22
- package/dist/src/components/generic/Checkbox.js.map +0 -1
- package/dist/src/components/generic/Icon.js.map +0 -1
- package/dist/src/components/generic/ScrollToTop.d.ts +0 -2
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.d.ts +0 -7
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +0 -30
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +0 -1
- package/dist/src/events/actions/MemberOnlyFence/MemberOnlyFenceSignUp.d.ts +0 -7
- package/dist/src/events/actions/MemberOnlyFence/MemberOnlyFenceSignUp.js +0 -15
- package/dist/src/events/actions/MemberOnlyFence/MemberOnlyFenceSignUp.js.map +0 -1
- package/dist/src/events/actions/Promotion/PromotionAddedEvent.d.ts +0 -7
- package/dist/src/events/actions/Promotion/PromotionAddedEvent.js +0 -15
- package/dist/src/events/actions/Promotion/PromotionAddedEvent.js.map +0 -1
- package/dist/src/events/actions/Promotion/PromotionClickedEvent.d.ts +0 -7
- package/dist/src/events/actions/Promotion/PromotionClickedEvent.js +0 -15
- package/dist/src/events/actions/Promotion/PromotionClickedEvent.js.map +0 -1
- package/dist/src/events/actions/Promotion/PromotionRemovedEvent.d.ts +0 -7
- package/dist/src/events/actions/Promotion/PromotionRemovedEvent.js +0 -15
- package/dist/src/events/actions/Promotion/PromotionRemovedEvent.js.map +0 -1
- package/dist/src/handlers/HotelContextEventHandler.d.ts +0 -3
- package/dist/src/handlers/HotelContextEventHandler.js +0 -9
- package/dist/src/handlers/HotelContextEventHandler.js.map +0 -1
- package/dist/src/hooks/ScrollLock.d.ts +0 -1
- package/dist/src/hooks/ScrollLock.js +0 -17
- package/dist/src/hooks/ScrollLock.js.map +0 -1
- package/dist/src/models/Promotion/IPromotion.type.d.ts +0 -27
- package/dist/src/models/Promotion/IPromotion.type.js.map +0 -1
- package/dist/src/pages/steps/StepDate/StepDate.d.ts +0 -14
- package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +0 -2
- package/dist/src/providers/PromotionProvider.d.ts +0 -14
- package/dist/src/providers/PromotionProvider.js +0 -210
- package/dist/src/providers/PromotionProvider.js.map +0 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BasketContext = void 0;
|
|
3
|
+
exports.useBasket = exports.BasketContext = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
|
-
exports.BasketContext = react_1.createContext(null);
|
|
5
|
+
exports.BasketContext = (0, react_1.createContext)(null);
|
|
6
|
+
const useBasket = () => (0, react_1.useContext)(exports.BasketContext);
|
|
7
|
+
exports.useBasket = useBasket;
|
|
6
8
|
//# sourceMappingURL=BasketContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasketContext.js","sourceRoot":"/","sources":["src/contexts/BasketContext/BasketContext.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"BasketContext.js","sourceRoot":"/","sources":["src/contexts/BasketContext/BasketContext.ts"],"names":[],"mappings":";;;AAAA,iCAAkD;AAGrC,QAAA,aAAa,GAAG,IAAA,qBAAa,EAAoB,IAAI,CAAC,CAAC;AAE7D,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAA,kBAAU,EAAC,qBAAa,CAAC,CAAC;AAA5C,QAAA,SAAS,aAAmC","sourcesContent":["import { createContext, useContext } from 'react';\nimport { BasketContextType } from '@frontend/contexts';\n\nexport const BasketContext = createContext<BasketContextType>(null);\n\nexport const useBasket = () => useContext(BasketContext);\n"]}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import type * as dayjs from 'dayjs';
|
|
2
|
-
import {
|
|
3
|
-
import type
|
|
4
|
-
import type
|
|
5
|
-
import type
|
|
6
|
-
import type
|
|
7
|
-
import type { RoomRate } from '../../models/Room/RoomRate';
|
|
2
|
+
import type { Addon } from 'models/Addon/Addon';
|
|
3
|
+
import type ReservationsDTO from 'models/Api/ReservationsDTO';
|
|
4
|
+
import type BasketAddonRow from 'models/BasketAddonRow';
|
|
5
|
+
import type BasketRow from 'models/BasketRow';
|
|
6
|
+
import type { RoomRate } from 'models/Room/RoomRate';
|
|
8
7
|
export interface BasketContextType {
|
|
9
8
|
selectedBasketRow: BasketRow;
|
|
10
9
|
currentBasketRows: BasketRow[];
|
|
11
10
|
basketAddonRows: BasketAddonRow[];
|
|
12
|
-
loadedPromotion: IPromotion | null;
|
|
13
11
|
startDate: dayjs.Dayjs;
|
|
14
12
|
endDate: dayjs.Dayjs;
|
|
15
13
|
addBasketRow: (row: BasketRow, selectThisRate?: boolean, neverSelectThisRate?: boolean) => void;
|
|
@@ -28,6 +26,8 @@ export interface BasketContextType {
|
|
|
28
26
|
setEndDate: (date: dayjs.Dayjs) => void;
|
|
29
27
|
hasCheckedOut: boolean;
|
|
30
28
|
reservationData: ReservationsDTO;
|
|
29
|
+
booked: (data: ReservationsDTO) => void;
|
|
30
|
+
rollback: () => void;
|
|
31
31
|
checkedOut: (data: ReservationsDTO) => void;
|
|
32
32
|
clearSelectedRates: () => void;
|
|
33
33
|
getRowForAddon: (selectedAddon: Addon) => BasketAddonRow;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasketContextType.js","sourceRoot":"/","sources":["src/contexts/BasketContext/BasketContextType.ts"],"names":[],"mappings":"","sourcesContent":["import type * as dayjs from 'dayjs';\nimport
|
|
1
|
+
{"version":3,"file":"BasketContextType.js","sourceRoot":"/","sources":["src/contexts/BasketContext/BasketContextType.ts"],"names":[],"mappings":"","sourcesContent":["import type * as dayjs from 'dayjs';\nimport type { Addon } from 'models/Addon/Addon';\nimport type ReservationsDTO from 'models/Api/ReservationsDTO';\nimport type BasketAddonRow from 'models/BasketAddonRow';\nimport type BasketRow from 'models/BasketRow';\nimport type { RoomRate } from 'models/Room/RoomRate';\n\nexport interface BasketContextType {\n selectedBasketRow: BasketRow;\n currentBasketRows: BasketRow[];\n basketAddonRows: BasketAddonRow[];\n\n startDate: dayjs.Dayjs;\n endDate: dayjs.Dayjs;\n\n addBasketRow: (row: BasketRow, selectThisRate?: boolean, neverSelectThisRate?: boolean) => void;\n addRate: (rate: RoomRate, notify?: boolean) => Promise<void>;\n\n getAllValidRows: () => BasketRow[];\n getAllDatelessRows: () => BasketRow[];\n\n getNumberOfAdults: (withTranslation: boolean) => number | string;\n getNumberOfChildren: (withTranslation: boolean) => number | string;\n getNumberOfRooms: (withTranslation: boolean) => number | string;\n\n getTotalPrice: () => any;\n\n updateBasketRow: (row: BasketRow, updateGlobalDates?: boolean) => void;\n removeBasketRow: (row: BasketRow) => void;\n clearBasketRows: (confirm: boolean) => void;\n selectBasketRow: (row: BasketRow) => void;\n\n setStartDate: (date: dayjs.Dayjs) => void;\n setEndDate: (date: dayjs.Dayjs) => void;\n\n hasCheckedOut: boolean;\n reservationData: ReservationsDTO;\n booked: (data: ReservationsDTO) => void;\n rollback: () => void;\n checkedOut: (data: ReservationsDTO) => void;\n clearSelectedRates: () => void;\n\n getRowForAddon: (selectedAddon: Addon) => BasketAddonRow;\n\n setAddonQuantities: (addon: Addon, quantities: { quantity: number; adult: number; child: number }, selectedDate: string, selectedTime: string) => void;\n\n removeBasketAddonRow: (row: BasketAddonRow) => void;\n attemptSelectUnfilledRow: () => BasketRow | null;\n}\n"]}
|
|
@@ -14,40 +14,38 @@ const dayjs = require("dayjs");
|
|
|
14
14
|
const React = require("react");
|
|
15
15
|
const react_1 = require("react");
|
|
16
16
|
const react_i18next_1 = require("react-i18next");
|
|
17
|
-
const
|
|
17
|
+
const react_router_dom_1 = require("react-router-dom");
|
|
18
18
|
const contexts_1 = require("@frontend/contexts");
|
|
19
19
|
const contexts_2 = require("@frontend/contexts");
|
|
20
20
|
const hooks_1 = require("@frontend/hooks");
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const Text_1 = require("../../components/generic/Text");
|
|
38
|
-
const PromotionProvider_1 = require("providers/PromotionProvider");
|
|
21
|
+
const BasketReducer_1 = require("reducers/BasketReducer");
|
|
22
|
+
const BookingAPI_1 = require("api/BookingAPI");
|
|
23
|
+
const Icon_1 = require("components/generic/Icon/Icon");
|
|
24
|
+
const MemberSignInModal_1 = require("components/steps/room/MemberSignInModal/MemberSignInModal");
|
|
25
|
+
const BasketContextErrorHandler_1 = require("handlers/BasketContextErrorHandler");
|
|
26
|
+
const BasketAddonRow_1 = require("models/BasketAddonRow");
|
|
27
|
+
const BasketRow_1 = require("models/BasketRow");
|
|
28
|
+
const StepAddon_1 = require("pages/steps/StepAddon/StepAddon");
|
|
29
|
+
const StepRoom_1 = require("pages/steps/StepRoom/StepRoom");
|
|
30
|
+
const StepThanks_1 = require("pages/steps/StepThanks/StepThanks");
|
|
31
|
+
const InlineAddonStepFeature_1 = require("providers/feature/InlineAddonStepFeature");
|
|
32
|
+
const DataLayer_1 = require("util/DataLayer");
|
|
33
|
+
const StepManager_1 = require("util/StepManager");
|
|
34
|
+
const StringHelper_1 = require("util/StringHelper");
|
|
35
|
+
const Translation_1 = require("translations/Translation");
|
|
36
|
+
const Text_1 = require("components/generic/Text");
|
|
39
37
|
function BasketContextWrapper(props) {
|
|
40
38
|
var _a, _b, _c;
|
|
41
|
-
const { t } = react_i18next_1.useTranslation();
|
|
42
|
-
const { hotel } = hooks_1.useCurrentHotel();
|
|
43
|
-
const notifications = react_1.useContext(
|
|
44
|
-
const beContext = react_1.useContext(contexts_2.BookingEngineContext);
|
|
45
|
-
const ccx = react_1.useContext(contexts_2.CompanyContext);
|
|
46
|
-
const
|
|
39
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
40
|
+
const { hotel } = (0, hooks_1.useCurrentHotel)();
|
|
41
|
+
const notifications = (0, react_1.useContext)(contexts_2.NotificationContext);
|
|
42
|
+
const beContext = (0, react_1.useContext)(contexts_2.BookingEngineContext);
|
|
43
|
+
const ccx = (0, react_1.useContext)(contexts_2.CompanyContext);
|
|
44
|
+
const memberContext = (0, contexts_1.useMemberContext)();
|
|
47
45
|
const initialSession = (_a = beContext === null || beContext === void 0 ? void 0 : beContext.engine) === null || _a === void 0 ? void 0 : _a.getInitialSession();
|
|
48
|
-
const [currentBasketRows, basketRowReducer] = react_1.useReducer(BasketReducer_1.BasketReducer, (_b = initialSession === null || initialSession === void 0 ? void 0 : initialSession.basketRows) !== null && _b !== void 0 ? _b : []);
|
|
49
|
-
const [selectedBasketRow, setSelectedBasketRow] = react_1.useState(null);
|
|
50
|
-
const [basketAddonRows, setBasketAddonRows] = react_1.useState([]);
|
|
46
|
+
const [currentBasketRows, basketRowReducer] = (0, react_1.useReducer)(BasketReducer_1.BasketReducer, (_b = initialSession === null || initialSession === void 0 ? void 0 : initialSession.basketRows) !== null && _b !== void 0 ? _b : []);
|
|
47
|
+
const [selectedBasketRow, setSelectedBasketRow] = (0, react_1.useState)(null);
|
|
48
|
+
const [basketAddonRows, setBasketAddonRows] = (0, react_1.useState)([]);
|
|
51
49
|
let loadedStartDate;
|
|
52
50
|
let loadedEndDate;
|
|
53
51
|
if ((_c = initialSession === null || initialSession === void 0 ? void 0 : initialSession.basketRows) === null || _c === void 0 ? void 0 : _c.length) {
|
|
@@ -62,12 +60,12 @@ function BasketContextWrapper(props) {
|
|
|
62
60
|
loadedEndDate = initialSession.endDate;
|
|
63
61
|
}
|
|
64
62
|
}
|
|
65
|
-
const [startDate, setStartDate] = react_1.useState(loadedStartDate !== null && loadedStartDate !== void 0 ? loadedStartDate : null);
|
|
66
|
-
const [endDate, setEndDate] = react_1.useState(loadedEndDate !== null && loadedEndDate !== void 0 ? loadedEndDate : null);
|
|
67
|
-
const [hasCheckedOut, setHasCheckedOut] = react_1.useState(false);
|
|
68
|
-
const [reservationData, setReservationData] = react_1.useState(null);
|
|
69
|
-
const [knownErrorPromoCodes, setKnownErrorPromoCodes] = react_1.useState([]);
|
|
70
|
-
const history =
|
|
63
|
+
const [startDate, setStartDate] = (0, react_1.useState)(loadedStartDate !== null && loadedStartDate !== void 0 ? loadedStartDate : null);
|
|
64
|
+
const [endDate, setEndDate] = (0, react_1.useState)(loadedEndDate !== null && loadedEndDate !== void 0 ? loadedEndDate : null);
|
|
65
|
+
const [hasCheckedOut, setHasCheckedOut] = (0, react_1.useState)(false);
|
|
66
|
+
const [reservationData, setReservationData] = (0, react_1.useState)(initialSession.reservation || null);
|
|
67
|
+
const [knownErrorPromoCodes, setKnownErrorPromoCodes] = (0, react_1.useState)([]);
|
|
68
|
+
const history = (0, react_router_dom_1.useHistory)();
|
|
71
69
|
BasketContextErrorHandler_1.BasketContextErrorHandler.handleAvailabilityWarnings = (warnings) => {
|
|
72
70
|
warnings.map((warning) => {
|
|
73
71
|
if (warning.toLowerCase().startsWith('invalid promo code')) {
|
|
@@ -99,7 +97,7 @@ function BasketContextWrapper(props) {
|
|
|
99
97
|
}
|
|
100
98
|
});
|
|
101
99
|
};
|
|
102
|
-
react_1.useEffect(() => {
|
|
100
|
+
(0, react_1.useEffect)(() => {
|
|
103
101
|
var _a;
|
|
104
102
|
if (!startDate || !endDate) {
|
|
105
103
|
return;
|
|
@@ -126,12 +124,12 @@ function BasketContextWrapper(props) {
|
|
|
126
124
|
workingContext.updateBasketRow(onlyBasketRow, false);
|
|
127
125
|
}
|
|
128
126
|
}, [startDate, endDate]);
|
|
129
|
-
react_1.useEffect(() => {
|
|
130
|
-
var _a
|
|
131
|
-
(_a = beContext.sessionProvider) === null || _a === void 0 ? void 0 : _a.updateSession({ basketRows: currentBasketRows
|
|
132
|
-
}, [currentBasketRows,
|
|
127
|
+
(0, react_1.useEffect)(() => {
|
|
128
|
+
var _a;
|
|
129
|
+
(_a = beContext.sessionProvider) === null || _a === void 0 ? void 0 : _a.updateSession({ basketRows: currentBasketRows });
|
|
130
|
+
}, [currentBasketRows, selectedBasketRow]);
|
|
133
131
|
const checkAndApplyMemberOnlyPromo = (row) => {
|
|
134
|
-
if ((hotel === null || hotel === void 0 ? void 0 : hotel.memberOnlyPromoCode) && localStorage.getItem('hotel' + (hotel === null || hotel === void 0 ? void 0 : hotel.hotelID) + 'user') && !
|
|
132
|
+
if ((hotel === null || hotel === void 0 ? void 0 : hotel.memberOnlyPromoCode) && localStorage.getItem('hotel' + (hotel === null || hotel === void 0 ? void 0 : hotel.hotelID) + 'user') && !row.getPromoCode()) {
|
|
135
133
|
row.setPromoCode(hotel === null || hotel === void 0 ? void 0 : hotel.memberOnlyPromoCode);
|
|
136
134
|
workingContext.updateBasketRow(row);
|
|
137
135
|
}
|
|
@@ -139,12 +137,11 @@ function BasketContextWrapper(props) {
|
|
|
139
137
|
/**
|
|
140
138
|
* This is necessary as when we're adding our first row, hotel might not be set.
|
|
141
139
|
*/
|
|
142
|
-
react_1.useEffect(() => {
|
|
140
|
+
(0, react_1.useEffect)(() => {
|
|
143
141
|
checkAndApplyMemberOnlyPromo(selectedBasketRow);
|
|
144
142
|
}, [hotel]);
|
|
145
143
|
const returnAggregationAndTranslation = (reduction, translation) => {
|
|
146
|
-
|
|
147
|
-
count = typeof reduction === 'number' ? reduction : currentBasketRows.reduce((total, row) => total + reduction(row), 0);
|
|
144
|
+
const count = typeof reduction === 'number' ? reduction : currentBasketRows.reduce((total, row) => total + reduction(row), 0);
|
|
148
145
|
if (translation) {
|
|
149
146
|
return StringHelper_1.default.pluralWithDictAndCount(count, translation, t);
|
|
150
147
|
}
|
|
@@ -161,14 +158,6 @@ function BasketContextWrapper(props) {
|
|
|
161
158
|
}
|
|
162
159
|
return null;
|
|
163
160
|
};
|
|
164
|
-
const updateBasketRow = (row, updateGlobalDates = true) => {
|
|
165
|
-
if (updateGlobalDates && row.getID() === (selectedBasketRow === null || selectedBasketRow === void 0 ? void 0 : selectedBasketRow.getID())) {
|
|
166
|
-
setStartDate(row.getStartDate());
|
|
167
|
-
setEndDate(row.getEndDate());
|
|
168
|
-
}
|
|
169
|
-
basketRowReducer({ method: 'Update', row });
|
|
170
|
-
};
|
|
171
|
-
const { loadedPromotion } = PromotionProvider_1.usePromotionContainer({ selectedBasketRow, updateBasketRow });
|
|
172
161
|
const workingContext = {
|
|
173
162
|
startDate,
|
|
174
163
|
endDate,
|
|
@@ -177,7 +166,6 @@ function BasketContextWrapper(props) {
|
|
|
177
166
|
basketAddonRows,
|
|
178
167
|
hasCheckedOut,
|
|
179
168
|
reservationData,
|
|
180
|
-
loadedPromotion,
|
|
181
169
|
/**
|
|
182
170
|
* When adding a basket row, will check if there is a `selectedBasketRow`
|
|
183
171
|
* if one is already set, row will simply get added, otherwise selectedBasketRow
|
|
@@ -315,7 +303,13 @@ function BasketContextWrapper(props) {
|
|
|
315
303
|
basketRowReducer({ method: 'Clear' });
|
|
316
304
|
}
|
|
317
305
|
},
|
|
318
|
-
updateBasketRow,
|
|
306
|
+
updateBasketRow: (row, updateGlobalDates = true) => {
|
|
307
|
+
if (updateGlobalDates && row.getID() === (selectedBasketRow === null || selectedBasketRow === void 0 ? void 0 : selectedBasketRow.getID())) {
|
|
308
|
+
setStartDate(row.getStartDate());
|
|
309
|
+
setEndDate(row.getEndDate());
|
|
310
|
+
}
|
|
311
|
+
basketRowReducer({ method: 'Update', row });
|
|
312
|
+
},
|
|
319
313
|
/**
|
|
320
314
|
* Select passed basket row, and update all inputs (like start date)
|
|
321
315
|
*/
|
|
@@ -331,8 +325,22 @@ function BasketContextWrapper(props) {
|
|
|
331
325
|
}),
|
|
332
326
|
setStartDate,
|
|
333
327
|
setEndDate,
|
|
334
|
-
|
|
328
|
+
booked: (data) => {
|
|
335
329
|
var _a;
|
|
330
|
+
(_a = beContext.sessionProvider) === null || _a === void 0 ? void 0 : _a.updateSession({
|
|
331
|
+
reservation: data,
|
|
332
|
+
});
|
|
333
|
+
setReservationData(data);
|
|
334
|
+
},
|
|
335
|
+
rollback: () => {
|
|
336
|
+
var _a;
|
|
337
|
+
(_a = beContext.sessionProvider) === null || _a === void 0 ? void 0 : _a.updateSession({
|
|
338
|
+
reservation: null,
|
|
339
|
+
});
|
|
340
|
+
setReservationData(null);
|
|
341
|
+
},
|
|
342
|
+
checkedOut: (data) => {
|
|
343
|
+
var _a, _b;
|
|
336
344
|
setHasCheckedOut(true);
|
|
337
345
|
setReservationData(data);
|
|
338
346
|
setSelectedBasketRow(null);
|
|
@@ -342,8 +350,14 @@ function BasketContextWrapper(props) {
|
|
|
342
350
|
row.setEndDate(dayjs().add(2, 'day'));
|
|
343
351
|
basketRowReducer({ method: 'Add', row });
|
|
344
352
|
setBasketAddonRows([]);
|
|
345
|
-
(_a = beContext === null || beContext === void 0 ? void 0 : beContext.engine) === null || _a === void 0 ? void 0 : _a.getSessionProvider()
|
|
353
|
+
const sessionProvider = (_a = beContext === null || beContext === void 0 ? void 0 : beContext.engine) === null || _a === void 0 ? void 0 : _a.getSessionProvider();
|
|
354
|
+
sessionProvider.deleteSession();
|
|
355
|
+
sessionProvider === null || sessionProvider === void 0 ? void 0 : sessionProvider.initialize(undefined, (_b = beContext === null || beContext === void 0 ? void 0 : beContext.engine) === null || _b === void 0 ? void 0 : _b.getSource());
|
|
356
|
+
const params = new URLSearchParams(window.location.search);
|
|
357
|
+
params.delete('planpay_checkout_id');
|
|
358
|
+
window.history.replaceState({}, '', `${window.location.pathname}?${params}`);
|
|
346
359
|
history.push(StepThanks_1.default.getStepUrl());
|
|
360
|
+
memberContext.fetchRoomstayMember();
|
|
347
361
|
},
|
|
348
362
|
clearSelectedRates: () => {
|
|
349
363
|
setSelectedBasketRow(null);
|
|
@@ -379,7 +393,7 @@ function BasketContextWrapper(props) {
|
|
|
379
393
|
}
|
|
380
394
|
},
|
|
381
395
|
};
|
|
382
|
-
return (React.createElement(
|
|
396
|
+
return (React.createElement(contexts_2.BasketContext.Provider, { value: workingContext },
|
|
383
397
|
props.children,
|
|
384
398
|
React.createElement(MemberSignInModal_1.default, { isOpen: ccx.isSigningIn, onClose: ccx.closeMemberSignupModal })));
|
|
385
399
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasketContextWrapper.js","sourceRoot":"/","sources":["src/contexts/BasketContext/BasketContextWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport * as React from 'react';\nimport { useContext, useReducer, useState, useEffect } from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router';\n\nimport { BasketContext, FullPageEngineContext } from '@frontend/contexts';\nimport type { BasketContextType } from '@frontend/contexts';\n\nimport { BookingEngineContext, CompanyContext, ErrorHandler } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport NotificationContext from '../NotificationContext';\nimport { BasketReducer } from '../../reducers/BasketReducer';\nimport API from '../../api/BookingAPI';\nimport { IconType } from '../../components/generic/Icon';\nimport MemberSignInModal from '../../components/steps/room/MemberSignInModal/MemberSignInModal';\nimport { BasketContextErrorHandler } from '../../handlers/BasketContextErrorHandler';\nimport { Addon } from '../../models/Addon/Addon';\nimport ReservationsDTO from '../../models/Api/ReservationsDTO';\nimport BasketAddonRow from '../../models/BasketAddonRow';\nimport BasketRow from '../../models/BasketRow';\nimport { RoomRate } from '../../models/Room/RoomRate';\nimport StepAddon from '../../pages/steps/StepAddon/StepAddon';\nimport StepRoom from '../../pages/steps/StepRoom/StepRoom';\nimport StepThanks from '../../pages/steps/StepThanks/StepThanks';\nimport InlineAddonStepFeature from '../../providers/feature/InlineAddonStepFeature';\nimport DataLayer from '../../util/DataLayer';\nimport StepManager from '../../util/StepManager';\nimport StringHelper from '../../util/StringHelper';\nimport { Translation } from '../../translations/Translation';\nimport Text from '../../components/generic/Text';\nimport { usePromotionContainer } from 'providers/PromotionProvider';\n\nexport interface BasketContextWrapperProps {\n children: React.ReactNode;\n}\n\nexport function BasketContextWrapper(props: BasketContextWrapperProps) {\n const { t } = useTranslation();\n const { hotel } = useCurrentHotel();\n\n const notifications = useContext(NotificationContext);\n const beContext = useContext(BookingEngineContext);\n const ccx = useContext(CompanyContext);\n const fullPageContext = useContext(FullPageEngineContext);\n\n const initialSession = beContext?.engine?.getInitialSession();\n\n const [currentBasketRows, basketRowReducer] = useReducer(BasketReducer, initialSession?.basketRows ?? []);\n\n const [selectedBasketRow, setSelectedBasketRow] = useState<BasketRow>(null);\n const [basketAddonRows, setBasketAddonRows] = useState<BasketAddonRow[]>([]);\n\n let loadedStartDate: dayjs.Dayjs;\n let loadedEndDate: dayjs.Dayjs;\n\n if (initialSession?.basketRows?.length) {\n loadedStartDate = initialSession.basketRows[0].getStartDate();\n loadedEndDate = initialSession.basketRows[0].getEndDate();\n } else {\n if (initialSession?.startDate) {\n loadedStartDate = initialSession.startDate;\n }\n\n if (initialSession?.endDate) {\n loadedEndDate = initialSession.endDate;\n }\n }\n\n const [startDate, setStartDate] = useState<dayjs.Dayjs>(loadedStartDate ?? null);\n const [endDate, setEndDate] = useState<dayjs.Dayjs>(loadedEndDate ?? null);\n\n const [hasCheckedOut, setHasCheckedOut] = useState(false);\n const [reservationData, setReservationData] = useState<ReservationsDTO>(null);\n\n const [knownErrorPromoCodes, setKnownErrorPromoCodes] = useState<string[]>([]);\n\n const history = useHistory();\n\n BasketContextErrorHandler.handleAvailabilityWarnings = (warnings: string[]) => {\n warnings.map((warning) => {\n if (warning.toLowerCase().startsWith('invalid promo code')) {\n const promoCode = warning.substr(20);\n\n currentBasketRows.forEach((row) => {\n if (promoCode.toLowerCase() === row.getPromoCode().toLowerCase()) {\n row.setPromoCodeStatus('invalid');\n workingContext.updateBasketRow(row, false);\n }\n });\n\n if (!knownErrorPromoCodes.includes(promoCode.toUpperCase())) {\n setKnownErrorPromoCodes((oldCodes) => {\n return [...oldCodes, promoCode.toUpperCase()];\n });\n }\n } else {\n ErrorHandler.add({\n message: warning,\n });\n }\n });\n };\n\n BasketContextErrorHandler.handlePromoSuccess = (promo: string) => {\n currentBasketRows.forEach((row) => {\n if (row.getPromoCode() === promo && row.getPromoCode() && row.getPromoCodeStatus() !== 'valid') {\n row.setPromoCodeStatus('valid');\n workingContext.updateBasketRow(row, false);\n }\n });\n };\n\n useEffect(() => {\n if (!startDate || !endDate) {\n return;\n }\n\n beContext.sessionProvider?.updateSession({\n startDate,\n endDate,\n });\n\n // TODO re-visit this as we don't want to set dates for everything constantly\n workingContext.getAllDatelessRows().forEach((row: BasketRow) => {\n row.setStartDate(startDate);\n row.setEndDate(endDate);\n\n workingContext.updateBasketRow(row);\n });\n\n if (selectedBasketRow) {\n selectedBasketRow.setStartDate(startDate);\n selectedBasketRow.setEndDate(endDate);\n\n workingContext.updateBasketRow(selectedBasketRow, false);\n } else if (currentBasketRows.length === 1) {\n const onlyBasketRow = currentBasketRows[0];\n onlyBasketRow.setStartDate(startDate);\n onlyBasketRow.setEndDate(endDate);\n\n workingContext.updateBasketRow(onlyBasketRow, false);\n }\n }, [startDate, endDate]);\n\n useEffect(() => {\n beContext.sessionProvider?.updateSession({ basketRows: currentBasketRows, step: fullPageContext?.currentStep?.getName() });\n }, [currentBasketRows, fullPageContext?.currentStep, selectedBasketRow]);\n\n const checkAndApplyMemberOnlyPromo = (row: BasketRow) => {\n if (hotel?.memberOnlyPromoCode && localStorage.getItem('hotel' + hotel?.hotelID + 'user') && !row?.getPromoCode()) {\n row.setPromoCode(hotel?.memberOnlyPromoCode);\n workingContext.updateBasketRow(row);\n }\n };\n\n /**\n * This is necessary as when we're adding our first row, hotel might not be set.\n */\n useEffect(() => {\n checkAndApplyMemberOnlyPromo(selectedBasketRow);\n }, [hotel]);\n\n const returnAggregationAndTranslation = (reduction: ((row: BasketRow) => number) | number, translation?: string) => {\n let count;\n count = typeof reduction === 'number' ? reduction : currentBasketRows.reduce((total, row) => total + reduction(row), 0);\n\n if (translation) {\n return StringHelper.pluralWithDictAndCount(count, translation, t);\n } else {\n return count;\n }\n };\n\n const getNextAvailableBasketRow = (exclude?: BasketRow): BasketRow => {\n const arrayLength = currentBasketRows.length;\n for (let i = 0; i < arrayLength; i++) {\n if ((!exclude || (exclude && exclude.getID() !== currentBasketRows[i].getID())) && !currentBasketRows[i].getRate()) {\n return currentBasketRows[i];\n }\n }\n\n return null;\n };\n\n const updateBasketRow = (row: BasketRow, updateGlobalDates = true) => {\n if (updateGlobalDates && row.getID() === selectedBasketRow?.getID()) {\n setStartDate(row.getStartDate());\n setEndDate(row.getEndDate());\n }\n\n basketRowReducer({ method: 'Update', row });\n };\n\n const { loadedPromotion } = usePromotionContainer({ selectedBasketRow, updateBasketRow });\n\n const workingContext: BasketContextType = {\n startDate,\n endDate,\n\n selectedBasketRow,\n currentBasketRows,\n basketAddonRows,\n\n hasCheckedOut,\n reservationData,\n\n loadedPromotion,\n\n /**\n * When adding a basket row, will check if there is a `selectedBasketRow`\n * if one is already set, row will simply get added, otherwise selectedBasketRow\n * gets set\n */\n addBasketRow: (row: BasketRow, selectThisRate = false, neverSelectThisRate = false) => {\n if ((!row.getStartDate() || !row.getEndDate()) && startDate && endDate) {\n row.setStartDate(startDate);\n row.setEndDate(endDate);\n } else if (!startDate && !endDate && row.getStartDate() && row.getEndDate()) {\n setStartDate(row.getStartDate());\n setEndDate(row.getEndDate());\n }\n\n checkAndApplyMemberOnlyPromo(row);\n\n if (\n (!selectedBasketRow && (!row.isValid() || !currentBasketRows.length || currentBasketRows.length - workingContext.getAllValidRows().length === 0)) ||\n selectThisRate\n ) {\n if (!neverSelectThisRate) {\n setSelectedBasketRow(row);\n }\n }\n\n basketRowReducer({ method: 'Add', row });\n },\n\n //TODO: This function needs to be refactored to simplify a lot of this logic, and move notification raising to use the Event Manager instead\n addRate: async (rate: RoomRate, notify = true) => {\n let basketRow: BasketRow = null;\n let translationString: string;\n\n let addons = [];\n\n if (selectedBasketRow) {\n basketRow = selectedBasketRow;\n if (selectedBasketRow.getRate()) {\n translationString = Translation.Misc.RoomUpdatedNotification;\n } else {\n if (!selectedBasketRow.getStartDate() && selectedBasketRow.getEndDate()) {\n selectedBasketRow.setStartDate(startDate);\n selectedBasketRow.setEndDate(endDate);\n }\n\n translationString = Translation.Misc.RoomAddedNotification;\n }\n } else {\n if (!startDate || !endDate) {\n console.error('room selected with no date values.');\n return;\n }\n\n basketRow = new BasketRow(rate);\n\n basketRow.setStartDate(startDate);\n basketRow.setEndDate(endDate);\n\n translationString = Translation.Misc.RoomAddedNotification;\n }\n\n if (InlineAddonStepFeature.isActive()) {\n basketRow.setRate(rate); // TODO: Fix quick hack to make the Addons load\n addons = await API.Addons.findAddons([basketRow], hotel.hotelID);\n }\n\n basketRowReducer({ method: 'AddRate', rate, row: basketRow });\n\n try {\n DataLayer.instance.sendRoomRateAddToCart(rate, basketRow.getNumberOfDays(), startDate ?? basketRow.getStartDate(), endDate ?? basketRow.getEndDate());\n } catch (ex) {\n console.log('Failed recording basket Add event');\n }\n\n if (notify) {\n notifications.addNotification({\n icon: IconType.Bed,\n children: (\n <Text inline={true}>\n {t(translationString)} <strong className=\"u-marg-left--light\">{rate.getRoom().name}</strong>\n </Text>\n ),\n ttl: 3000,\n });\n }\n\n const nextAvailable = getNextAvailableBasketRow(basketRow);\n\n if (nextAvailable) {\n setSelectedBasketRow(nextAvailable);\n } else {\n setSelectedBasketRow(null);\n const isNextStepAddon = StepManager.getNextStepUrl(StepRoom) === StepAddon.getStepUrl();\n\n if (isNextStepAddon) {\n if (addons.length) {\n history.push(StepAddon.getStepUrl());\n } else {\n history.push(StepManager.getNextStepUrl(StepAddon));\n }\n } else {\n history.push(StepManager.getNextStepUrl(StepRoom));\n }\n }\n },\n\n /**\n * Filter global list of rooms based on their validity.\n *\n * Useful for getting a complete summary of all the rooms.\n */\n getAllValidRows: () => {\n return currentBasketRows.filter((item) => item.isValid());\n },\n getAllDatelessRows: () => {\n return currentBasketRows.filter((item) => !item.getStartDate() || !item.getEndDate());\n },\n\n getNumberOfAdults: (withTranslation = false) => {\n return returnAggregationAndTranslation((row) => row.getAdults(), withTranslation ? Translation.Step.Date.Adult : null);\n },\n\n getNumberOfChildren: (withTranslation = false) => {\n return returnAggregationAndTranslation((row) => row.getChildren(), withTranslation ? Translation.Step.Date.Child : null);\n },\n\n getNumberOfRooms: (withTranslation = false) => {\n return returnAggregationAndTranslation(currentBasketRows.length, withTranslation ? Translation.Step.Date.Room : null);\n },\n\n getTotalPrice: () => {\n let totalPrice = returnAggregationAndTranslation((row) => (row.isValid() ? row.getRate().getTotalPrice() : 0)) as number;\n\n basketAddonRows.forEach((row) => {\n totalPrice += row.getTotalPrice();\n });\n\n return totalPrice;\n },\n\n /**\n * Pops the provided row from the current basket array\n */\n removeBasketRow: (row: BasketRow) => {\n const rowsBeforeRemoval = currentBasketRows.length;\n\n basketRowReducer({ method: 'Remove', row });\n\n if (selectedBasketRow && row.getID() === selectedBasketRow.getID()) {\n setSelectedBasketRow(getNextAvailableBasketRow(row));\n }\n\n if (rowsBeforeRemoval === 1) {\n workingContext.addBasketRow(new BasketRow(), true);\n }\n },\n\n clearBasketRows: (confirm: boolean) => {\n if (confirm) {\n basketRowReducer({ method: 'Clear' });\n }\n },\n\n updateBasketRow,\n\n /**\n * Select passed basket row, and update all inputs (like start date)\n */\n selectBasketRow: async (row: BasketRow) => {\n if (row && row.isValid()) {\n setStartDate(row.getStartDate());\n setEndDate(row.getEndDate());\n\n setSelectedBasketRow(row);\n } else {\n setSelectedBasketRow(getNextAvailableBasketRow());\n }\n },\n\n setStartDate,\n setEndDate,\n\n checkedOut: (data: ReservationsDTO) => {\n setHasCheckedOut(true);\n setReservationData(data);\n\n setSelectedBasketRow(null);\n basketRowReducer({ method: 'Clear' });\n\n const row = new BasketRow();\n row.setStartDate(dayjs().add(1, 'day'));\n row.setEndDate(dayjs().add(2, 'day'));\n\n basketRowReducer({ method: 'Add', row });\n setBasketAddonRows([]);\n\n beContext?.engine?.getSessionProvider().deleteSession();\n history.push(StepThanks.getStepUrl());\n },\n\n clearSelectedRates: () => {\n setSelectedBasketRow(null);\n },\n\n getRowForAddon: (selectedAddon) => {\n if (selectedAddon === undefined) {\n return;\n }\n return basketAddonRows.find((r) => r.getAddon()?.code === selectedAddon?.code);\n },\n\n setAddonQuantities: (addon: Addon, quantities: { quantity: number; adult: number; child: number }, selectedDate: string, selectedTime: string) => {\n let addonRow = basketAddonRows.find((r) => r.getAddon()?.code === addon.code);\n if (addonRow === undefined) {\n addonRow = new BasketAddonRow(addon);\n basketAddonRows.push(addonRow);\n }\n\n addonRow.setQuantity(quantities.quantity ?? 0);\n addonRow.setAdultQuantity(quantities.adult ?? 0);\n addonRow.setChildQuantity(quantities.child ?? 0);\n addonRow.setSelectedDate(selectedDate);\n addonRow.setSelectedTime(addon.availability[selectedDate].selectorTimes ? selectedTime : undefined);\n\n setBasketAddonRows([...basketAddonRows]);\n },\n\n removeBasketAddonRow: (row: BasketAddonRow) => {\n setBasketAddonRows((oldRows) => oldRows.filter((item) => item.getID() !== row.getID()));\n },\n\n attemptSelectUnfilledRow: () => {\n const row = getNextAvailableBasketRow();\n\n if (row) {\n setSelectedBasketRow(row);\n return row;\n }\n },\n };\n\n return (\n <BasketContext.Provider value={workingContext}>\n {props.children}\n <MemberSignInModal isOpen={ccx.isSigningIn} onClose={ccx.closeMemberSignupModal} />\n </BasketContext.Provider>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"BasketContextWrapper.js","sourceRoot":"/","sources":["src/contexts/BasketContext/BasketContextWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport * as React from 'react';\nimport { useContext, useEffect, useReducer, useState } from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router-dom';\n\nimport { BasketContextType, RoomstayMemberContext, useMemberContext } from '@frontend/contexts';\nimport { BasketContext, BookingEngineContext, CompanyContext, ErrorHandler, NotificationContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { BasketReducer } from 'reducers/BasketReducer';\nimport API from 'api/BookingAPI';\nimport { IconType } from 'components/generic/Icon/Icon';\nimport MemberSignInModal from 'components/steps/room/MemberSignInModal/MemberSignInModal';\nimport { BasketContextErrorHandler } from 'handlers/BasketContextErrorHandler';\nimport { Addon } from 'models/Addon/Addon';\nimport ReservationsDTO from 'models/Api/ReservationsDTO';\nimport BasketAddonRow from 'models/BasketAddonRow';\nimport BasketRow from 'models/BasketRow';\nimport { RoomRate } from 'models/Room/RoomRate';\nimport StepAddon from 'pages/steps/StepAddon/StepAddon';\nimport StepRoom from 'pages/steps/StepRoom/StepRoom';\nimport StepThanks from 'pages/steps/StepThanks/StepThanks';\nimport InlineAddonStepFeature from 'providers/feature/InlineAddonStepFeature';\nimport DataLayer from 'util/DataLayer';\nimport StepManager from 'util/StepManager';\nimport StringHelper from 'util/StringHelper';\nimport { Translation } from 'translations/Translation';\nimport Text from 'components/generic/Text';\n\nexport interface BasketContextWrapperProps {\n children: React.ReactNode;\n}\n\nexport function BasketContextWrapper(props: BasketContextWrapperProps) {\n const { t } = useTranslation();\n const { hotel } = useCurrentHotel();\n\n const notifications = useContext(NotificationContext);\n const beContext = useContext(BookingEngineContext);\n const ccx = useContext(CompanyContext);\n const memberContext = useMemberContext();\n\n const initialSession = beContext?.engine?.getInitialSession();\n\n const [currentBasketRows, basketRowReducer] = useReducer(BasketReducer, initialSession?.basketRows ?? []);\n\n const [selectedBasketRow, setSelectedBasketRow] = useState<BasketRow>(null);\n const [basketAddonRows, setBasketAddonRows] = useState<BasketAddonRow[]>([]);\n\n let loadedStartDate: dayjs.Dayjs;\n let loadedEndDate: dayjs.Dayjs;\n\n if (initialSession?.basketRows?.length) {\n loadedStartDate = initialSession.basketRows[0].getStartDate();\n loadedEndDate = initialSession.basketRows[0].getEndDate();\n } else {\n if (initialSession?.startDate) {\n loadedStartDate = initialSession.startDate;\n }\n\n if (initialSession?.endDate) {\n loadedEndDate = initialSession.endDate;\n }\n }\n\n const [startDate, setStartDate] = useState<dayjs.Dayjs>(loadedStartDate ?? null);\n const [endDate, setEndDate] = useState<dayjs.Dayjs>(loadedEndDate ?? null);\n\n const [hasCheckedOut, setHasCheckedOut] = useState(false);\n const [reservationData, setReservationData] = useState<ReservationsDTO>(initialSession.reservation || null);\n\n const [knownErrorPromoCodes, setKnownErrorPromoCodes] = useState<string[]>([]);\n\n const history = useHistory();\n\n BasketContextErrorHandler.handleAvailabilityWarnings = (warnings: string[]) => {\n warnings.map((warning) => {\n if (warning.toLowerCase().startsWith('invalid promo code')) {\n const promoCode = warning.substr(20);\n\n currentBasketRows.forEach((row) => {\n if (promoCode.toLowerCase() === row.getPromoCode().toLowerCase()) {\n row.setPromoCodeStatus('invalid');\n workingContext.updateBasketRow(row, false);\n }\n });\n\n if (!knownErrorPromoCodes.includes(promoCode.toUpperCase())) {\n setKnownErrorPromoCodes((oldCodes) => {\n return [...oldCodes, promoCode.toUpperCase()];\n });\n }\n } else {\n ErrorHandler.add({\n message: warning,\n });\n }\n });\n };\n\n BasketContextErrorHandler.handlePromoSuccess = (promo: string) => {\n currentBasketRows.forEach((row) => {\n if (row.getPromoCode() === promo && row.getPromoCode() && row.getPromoCodeStatus() !== 'valid') {\n row.setPromoCodeStatus('valid');\n workingContext.updateBasketRow(row, false);\n }\n });\n };\n\n useEffect(() => {\n if (!startDate || !endDate) {\n return;\n }\n\n beContext.sessionProvider?.updateSession({\n startDate,\n endDate,\n });\n\n // TODO re-visit this as we don't want to set dates for everything constantly\n workingContext.getAllDatelessRows().forEach((row: BasketRow) => {\n row.setStartDate(startDate);\n row.setEndDate(endDate);\n\n workingContext.updateBasketRow(row);\n });\n\n if (selectedBasketRow) {\n selectedBasketRow.setStartDate(startDate);\n selectedBasketRow.setEndDate(endDate);\n\n workingContext.updateBasketRow(selectedBasketRow, false);\n } else if (currentBasketRows.length === 1) {\n const onlyBasketRow = currentBasketRows[0];\n onlyBasketRow.setStartDate(startDate);\n onlyBasketRow.setEndDate(endDate);\n\n workingContext.updateBasketRow(onlyBasketRow, false);\n }\n }, [startDate, endDate]);\n\n useEffect(() => {\n beContext.sessionProvider?.updateSession({ basketRows: currentBasketRows });\n }, [currentBasketRows, selectedBasketRow]);\n\n const checkAndApplyMemberOnlyPromo = (row: BasketRow) => {\n if (hotel?.memberOnlyPromoCode && localStorage.getItem('hotel' + hotel?.hotelID + 'user') && !row.getPromoCode()) {\n row.setPromoCode(hotel?.memberOnlyPromoCode);\n workingContext.updateBasketRow(row);\n }\n };\n\n /**\n * This is necessary as when we're adding our first row, hotel might not be set.\n */\n useEffect(() => {\n checkAndApplyMemberOnlyPromo(selectedBasketRow);\n }, [hotel]);\n\n const returnAggregationAndTranslation = (reduction: ((row: BasketRow) => number) | number, translation?: string) => {\n const count = typeof reduction === 'number' ? reduction : currentBasketRows.reduce((total, row) => total + reduction(row), 0);\n\n if (translation) {\n return StringHelper.pluralWithDictAndCount(count, translation, t);\n } else {\n return count;\n }\n };\n\n const getNextAvailableBasketRow = (exclude?: BasketRow): BasketRow => {\n const arrayLength = currentBasketRows.length;\n for (let i = 0; i < arrayLength; i++) {\n if ((!exclude || (exclude && exclude.getID() !== currentBasketRows[i].getID())) && !currentBasketRows[i].getRate()) {\n return currentBasketRows[i];\n }\n }\n\n return null;\n };\n\n const workingContext: BasketContextType = {\n startDate,\n endDate,\n\n selectedBasketRow,\n currentBasketRows,\n basketAddonRows,\n\n hasCheckedOut,\n reservationData,\n\n /**\n * When adding a basket row, will check if there is a `selectedBasketRow`\n * if one is already set, row will simply get added, otherwise selectedBasketRow\n * gets set\n */\n addBasketRow: (row: BasketRow, selectThisRate = false, neverSelectThisRate = false) => {\n if ((!row.getStartDate() || !row.getEndDate()) && startDate && endDate) {\n row.setStartDate(startDate);\n row.setEndDate(endDate);\n } else if (!startDate && !endDate && row.getStartDate() && row.getEndDate()) {\n setStartDate(row.getStartDate());\n setEndDate(row.getEndDate());\n }\n\n checkAndApplyMemberOnlyPromo(row);\n\n if (\n (!selectedBasketRow && (!row.isValid() || !currentBasketRows.length || currentBasketRows.length - workingContext.getAllValidRows().length === 0)) ||\n selectThisRate\n ) {\n if (!neverSelectThisRate) {\n setSelectedBasketRow(row);\n }\n }\n\n basketRowReducer({ method: 'Add', row });\n },\n\n //TODO: This function needs to be refactored to simplify a lot of this logic, and move notification raising to use the Event Manager instead\n addRate: async (rate: RoomRate, notify = true) => {\n let basketRow: BasketRow = null;\n let translationString: string;\n\n let addons = [];\n\n if (selectedBasketRow) {\n basketRow = selectedBasketRow;\n if (selectedBasketRow.getRate()) {\n translationString = Translation.Misc.RoomUpdatedNotification;\n } else {\n if (!selectedBasketRow.getStartDate() && selectedBasketRow.getEndDate()) {\n selectedBasketRow.setStartDate(startDate);\n selectedBasketRow.setEndDate(endDate);\n }\n\n translationString = Translation.Misc.RoomAddedNotification;\n }\n } else {\n if (!startDate || !endDate) {\n console.error('room selected with no date values.');\n return;\n }\n\n basketRow = new BasketRow(rate);\n\n basketRow.setStartDate(startDate);\n basketRow.setEndDate(endDate);\n\n translationString = Translation.Misc.RoomAddedNotification;\n }\n\n if (InlineAddonStepFeature.isActive()) {\n basketRow.setRate(rate); // TODO: Fix quick hack to make the Addons load\n addons = await API.Addons.findAddons([basketRow], hotel.hotelID);\n }\n\n basketRowReducer({ method: 'AddRate', rate, row: basketRow });\n\n try {\n DataLayer.instance.sendRoomRateAddToCart(rate, basketRow.getNumberOfDays(), startDate ?? basketRow.getStartDate(), endDate ?? basketRow.getEndDate());\n } catch (ex) {\n console.log('Failed recording basket Add event');\n }\n\n if (notify) {\n notifications.addNotification({\n icon: IconType.Bed,\n children: (\n <Text inline={true}>\n {t(translationString)} <strong className=\"u-marg-left--light\">{rate.getRoom().name}</strong>\n </Text>\n ),\n ttl: 3000,\n });\n }\n\n const nextAvailable = getNextAvailableBasketRow(basketRow);\n\n if (nextAvailable) {\n setSelectedBasketRow(nextAvailable);\n } else {\n setSelectedBasketRow(null);\n const isNextStepAddon = StepManager.getNextStepUrl(StepRoom) === StepAddon.getStepUrl();\n\n if (isNextStepAddon) {\n if (addons.length) {\n history.push(StepAddon.getStepUrl());\n } else {\n history.push(StepManager.getNextStepUrl(StepAddon));\n }\n } else {\n history.push(StepManager.getNextStepUrl(StepRoom));\n }\n }\n },\n\n /**\n * Filter global list of rooms based on their validity.\n *\n * Useful for getting a complete summary of all the rooms.\n */\n getAllValidRows: () => {\n return currentBasketRows.filter((item) => item.isValid());\n },\n getAllDatelessRows: () => {\n return currentBasketRows.filter((item) => !item.getStartDate() || !item.getEndDate());\n },\n\n getNumberOfAdults: (withTranslation = false) => {\n return returnAggregationAndTranslation((row) => row.getAdults(), withTranslation ? Translation.Step.Date.Adult : null);\n },\n\n getNumberOfChildren: (withTranslation = false) => {\n return returnAggregationAndTranslation((row) => row.getChildren(), withTranslation ? Translation.Step.Date.Child : null);\n },\n\n getNumberOfRooms: (withTranslation = false) => {\n return returnAggregationAndTranslation(currentBasketRows.length, withTranslation ? Translation.Step.Date.Room : null);\n },\n\n getTotalPrice: () => {\n let totalPrice = returnAggregationAndTranslation((row) => (row.isValid() ? row.getRate().getTotalPrice() : 0)) as number;\n\n basketAddonRows.forEach((row) => {\n totalPrice += row.getTotalPrice();\n });\n\n return totalPrice;\n },\n\n /**\n * Pops the provided row from the current basket array\n */\n removeBasketRow: (row: BasketRow) => {\n const rowsBeforeRemoval = currentBasketRows.length;\n\n basketRowReducer({ method: 'Remove', row });\n\n if (selectedBasketRow && row.getID() === selectedBasketRow.getID()) {\n setSelectedBasketRow(getNextAvailableBasketRow(row));\n }\n\n if (rowsBeforeRemoval === 1) {\n workingContext.addBasketRow(new BasketRow(), true);\n }\n },\n\n clearBasketRows: (confirm: boolean) => {\n if (confirm) {\n basketRowReducer({ method: 'Clear' });\n }\n },\n\n updateBasketRow: (row: BasketRow, updateGlobalDates = true) => {\n if (updateGlobalDates && row.getID() === selectedBasketRow?.getID()) {\n setStartDate(row.getStartDate());\n setEndDate(row.getEndDate());\n }\n\n basketRowReducer({ method: 'Update', row });\n },\n\n /**\n * Select passed basket row, and update all inputs (like start date)\n */\n selectBasketRow: async (row: BasketRow) => {\n if (row && row.isValid()) {\n setStartDate(row.getStartDate());\n setEndDate(row.getEndDate());\n\n setSelectedBasketRow(row);\n } else {\n setSelectedBasketRow(getNextAvailableBasketRow());\n }\n },\n\n setStartDate,\n setEndDate,\n\n booked: (data: ReservationsDTO) => {\n beContext.sessionProvider?.updateSession({\n reservation: data,\n });\n setReservationData(data);\n },\n\n rollback: () => {\n beContext.sessionProvider?.updateSession({\n reservation: null,\n });\n setReservationData(null);\n },\n\n checkedOut: (data: ReservationsDTO) => {\n setHasCheckedOut(true);\n setReservationData(data);\n\n setSelectedBasketRow(null);\n basketRowReducer({ method: 'Clear' });\n\n const row = new BasketRow();\n row.setStartDate(dayjs().add(1, 'day'));\n row.setEndDate(dayjs().add(2, 'day'));\n\n basketRowReducer({ method: 'Add', row });\n setBasketAddonRows([]);\n\n const sessionProvider = beContext?.engine?.getSessionProvider();\n sessionProvider.deleteSession();\n sessionProvider?.initialize(undefined, beContext?.engine?.getSource());\n const params = new URLSearchParams(window.location.search);\n params.delete('planpay_checkout_id');\n window.history.replaceState({}, '', `${window.location.pathname}?${params}`);\n history.push(StepThanks.getStepUrl());\n\n memberContext.fetchRoomstayMember();\n },\n\n clearSelectedRates: () => {\n setSelectedBasketRow(null);\n },\n\n getRowForAddon: (selectedAddon) => {\n if (selectedAddon === undefined) {\n return;\n }\n return basketAddonRows.find((r) => r.getAddon()?.code === selectedAddon?.code);\n },\n\n setAddonQuantities: (addon: Addon, quantities: { quantity: number; adult: number; child: number }, selectedDate: string, selectedTime: string) => {\n let addonRow = basketAddonRows.find((r) => r.getAddon()?.code === addon.code);\n if (addonRow === undefined) {\n addonRow = new BasketAddonRow(addon);\n basketAddonRows.push(addonRow);\n }\n\n addonRow.setQuantity(quantities.quantity ?? 0);\n addonRow.setAdultQuantity(quantities.adult ?? 0);\n addonRow.setChildQuantity(quantities.child ?? 0);\n addonRow.setSelectedDate(selectedDate);\n addonRow.setSelectedTime(addon.availability[selectedDate].selectorTimes ? selectedTime : undefined);\n\n setBasketAddonRows([...basketAddonRows]);\n },\n\n removeBasketAddonRow: (row: BasketAddonRow) => {\n setBasketAddonRows((oldRows) => oldRows.filter((item) => item.getID() !== row.getID()));\n },\n\n attemptSelectUnfilledRow: () => {\n const row = getNextAvailableBasketRow();\n\n if (row) {\n setSelectedBasketRow(row);\n return row;\n }\n },\n };\n\n return (\n <BasketContext.Provider value={workingContext}>\n {props.children}\n <MemberSignInModal isOpen={ccx.isSigningIn} onClose={ccx.closeMemberSignupModal} />\n </BasketContext.Provider>\n );\n}\n"]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BookingEngineContext = void 0;
|
|
3
|
+
exports.useBookingEngine = exports.BookingEngineContext = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
|
-
exports.BookingEngineContext = react_1.createContext(null);
|
|
5
|
+
exports.BookingEngineContext = (0, react_1.createContext)(null);
|
|
6
|
+
const useBookingEngine = () => (0, react_1.useContext)(exports.BookingEngineContext);
|
|
7
|
+
exports.useBookingEngine = useBookingEngine;
|
|
6
8
|
//# sourceMappingURL=BookingEngineContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingEngineContext.js","sourceRoot":"/","sources":["src/contexts/BookingEngineContext/BookingEngineContext.tsx"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"BookingEngineContext.js","sourceRoot":"/","sources":["src/contexts/BookingEngineContext/BookingEngineContext.tsx"],"names":[],"mappings":";;;AAAA,iCAAkD;AAGrC,QAAA,oBAAoB,GAAG,IAAA,qBAAa,EAA2B,IAAI,CAAC,CAAC;AAE3E,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,IAAA,kBAAU,EAAC,4BAAoB,CAAC,CAAC;AAA1D,QAAA,gBAAgB,oBAA0C","sourcesContent":["import { createContext, useContext } from 'react';\nimport { BookingEngineContextType } from '@frontend/contexts';\n\nexport const BookingEngineContext = createContext<BookingEngineContextType>(null);\n\nexport const useBookingEngine = () => useContext(BookingEngineContext);\n"]}
|
|
@@ -3,7 +3,7 @@ import type Filter from 'models/Room/Filters/Filter';
|
|
|
3
3
|
import type { RoomSort } from 'providers/RoomSortProvider';
|
|
4
4
|
import type SessionProvider from 'providers/SessionProvider';
|
|
5
5
|
import type ScreenSize from 'util/ScreenSize';
|
|
6
|
-
export
|
|
6
|
+
export type BookingEngineContextType = {
|
|
7
7
|
currentRoomSort: RoomSort;
|
|
8
8
|
currentFilters: EngineFilterType;
|
|
9
9
|
screenSize: ScreenSize;
|
|
@@ -12,6 +12,6 @@ export declare type BookingEngineContextType = {
|
|
|
12
12
|
setCurrentRoomSort: (sort: RoomSort) => void;
|
|
13
13
|
setCurrentFilters: (filters: EngineFilterType) => void;
|
|
14
14
|
};
|
|
15
|
-
export
|
|
15
|
+
export type EngineFilterType = {
|
|
16
16
|
[code: string]: Filter;
|
|
17
17
|
};
|
|
@@ -8,10 +8,10 @@ const ScreenSize_1 = require("util/ScreenSize");
|
|
|
8
8
|
const contexts_1 = require("@frontend/contexts");
|
|
9
9
|
function BookingEngineContextWrapper({ engine, children }) {
|
|
10
10
|
const sessionProvider = engine.getSessionProvider();
|
|
11
|
-
const [screenSize, setScreenSize] = react_1.useState(null);
|
|
12
|
-
const [currentRoomSort, setCurrentRoomSort] = react_1.useState(RoomSortProvider_1.RoomSort.PriceLow);
|
|
13
|
-
const [currentFilters, setCurrentFilters] = react_1.useState({});
|
|
14
|
-
react_1.useEffect(() => {
|
|
11
|
+
const [screenSize, setScreenSize] = (0, react_1.useState)(null);
|
|
12
|
+
const [currentRoomSort, setCurrentRoomSort] = (0, react_1.useState)(RoomSortProvider_1.RoomSort.PriceLow);
|
|
13
|
+
const [currentFilters, setCurrentFilters] = (0, react_1.useState)({});
|
|
14
|
+
(0, react_1.useEffect)(() => {
|
|
15
15
|
let isCancelled = false;
|
|
16
16
|
const onResize = () => {
|
|
17
17
|
if (!isCancelled) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingEngineContextWrapper.js","sourceRoot":"/","sources":["src/contexts/BookingEngineContext/BookingEngineContextWrapper.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,iCAA4C;AAG5C,iEAAsD;AACtD,gDAAyC;AACzC,iDAA4E;AAO5E,SAAgB,2BAA2B,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAoC;IAC9F,MAAM,eAAe,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAEpD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,gBAAQ,
|
|
1
|
+
{"version":3,"file":"BookingEngineContextWrapper.js","sourceRoot":"/","sources":["src/contexts/BookingEngineContext/BookingEngineContextWrapper.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,iCAA4C;AAG5C,iEAAsD;AACtD,gDAAyC;AACzC,iDAA4E;AAO5E,SAAgB,2BAA2B,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAoC;IAC9F,MAAM,eAAe,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAEpD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAa,IAAI,CAAC,CAAC;IAE/D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,EAAW,2BAAQ,CAAC,QAAQ,CAAC,CAAC;IACpF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAmB,EAAE,CAAC,CAAC;IAE3E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,MAAM,QAAQ,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,WAAW,EAAE;gBACd,KAAK,MAAM,IAAI,IAAI,oBAAU,EAAE;oBAC3B,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;wBACnC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC5B,MAAM;qBACT;iBACJ;aACJ;QACL,CAAC,CAAC;QAEF,QAAQ,EAAE,CAAC;QAEX,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE5C,OAAO,GAAG,EAAE;YACR,WAAW,GAAG,IAAI,CAAC;YAEnB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,oBAAoB,GAAG;QACzB,eAAe;QACf,cAAc;QAEd,UAAU;QAEV,UAAU;QACV,kBAAkB;QAClB,iBAAiB;QAEjB,MAAM;QACN,eAAe;KAClB,CAAC;IAEF,OAAO,oBAAC,+BAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,oBAAoB,IAAG,QAAQ,CAAiC,CAAC;AAClH,CAAC;AAhDD,kEAgDC","sourcesContent":["import * as React from 'react';\nimport { useState, useEffect } from 'react';\n\nimport type { BaseEngine, BaseEngineConfig } from 'engines/BaseEngine';\nimport { RoomSort } from 'providers/RoomSortProvider';\nimport ScreenSize from 'util/ScreenSize';\nimport { BookingEngineContext, EngineFilterType } from '@frontend/contexts';\n\nexport interface BookingEngineContextWrapperProps {\n children: React.ReactNode;\n engine: BaseEngine<BaseEngineConfig>;\n}\n\nexport function BookingEngineContextWrapper({ engine, children }: BookingEngineContextWrapperProps) {\n const sessionProvider = engine.getSessionProvider();\n\n const [screenSize, setScreenSize] = useState<ScreenSize>(null);\n\n const [currentRoomSort, setCurrentRoomSort] = useState<RoomSort>(RoomSort.PriceLow);\n const [currentFilters, setCurrentFilters] = useState<EngineFilterType>({});\n\n useEffect(() => {\n let isCancelled = false;\n\n const onResize = () => {\n if (!isCancelled) {\n for (const size in ScreenSize) {\n if (window.innerWidth <= Number(size)) {\n setScreenSize(Number(size));\n break;\n }\n }\n }\n };\n\n onResize();\n\n window.addEventListener('resize', onResize);\n\n return () => {\n isCancelled = true;\n\n window.removeEventListener('resize', onResize);\n };\n }, []);\n\n const bookingEngineContext = {\n currentRoomSort,\n currentFilters,\n\n screenSize,\n\n // Setters\n setCurrentRoomSort,\n setCurrentFilters,\n\n engine,\n sessionProvider,\n };\n\n return <BookingEngineContext.Provider value={bookingEngineContext}>{children}</BookingEngineContext.Provider>;\n}\n"]}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CompanyContext = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
|
-
exports.CompanyContext = react_1.createContext(null);
|
|
5
|
+
exports.CompanyContext = (0, react_1.createContext)(null);
|
|
6
6
|
//# sourceMappingURL=CompanyContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompanyContext.js","sourceRoot":"/","sources":["src/contexts/CompanyContext/CompanyContext.tsx"],"names":[],"mappings":";;;AAAA,iCAAsC;AAGzB,QAAA,cAAc,GAAG,qBAAa,
|
|
1
|
+
{"version":3,"file":"CompanyContext.js","sourceRoot":"/","sources":["src/contexts/CompanyContext/CompanyContext.tsx"],"names":[],"mappings":";;;AAAA,iCAAsC;AAGzB,QAAA,cAAc,GAAG,IAAA,qBAAa,EAAqB,IAAI,CAAC,CAAC","sourcesContent":["import { createContext } from 'react';\nimport { CompanyContextType } from '@frontend/contexts';\n\nexport const CompanyContext = createContext<CompanyContextType>(null);\n"]}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
|
|
6
|
-
export declare type CompanyContextType = Company & {
|
|
1
|
+
import type BasketRow from 'models/BasketRow';
|
|
2
|
+
import type { Company } from 'models/Client/Hotel/Company';
|
|
3
|
+
import type { Hotel } from 'models/Client/Hotel/Hotel';
|
|
4
|
+
import type { Language } from 'providers/LanguageProvider';
|
|
5
|
+
export type CompanyContextType = Company & {
|
|
7
6
|
selectedHotelID: string;
|
|
8
|
-
memberOnlyModalPromotion: IPromotion | null;
|
|
9
7
|
currentCurrency: string;
|
|
10
8
|
currentLanguage: Language;
|
|
11
9
|
signedInUser: string;
|
|
@@ -15,7 +13,13 @@ export declare type CompanyContextType = Company & {
|
|
|
15
13
|
setCurrentCurrency: (currency: string) => void;
|
|
16
14
|
setCurrentLanguage: (lang: Language) => void;
|
|
17
15
|
closeMemberSignupModal: () => void;
|
|
18
|
-
openMemberSignupModal: (
|
|
16
|
+
openMemberSignupModal: () => void;
|
|
19
17
|
signUserIn: (user: string) => void;
|
|
20
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Returns information stored on the Hotel, also calls the API to fetch updated information from the Hotel if it's not been updated already
|
|
20
|
+
*
|
|
21
|
+
* @param hotelId
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
getHotel: (hotelId: string) => Promise<Hotel>;
|
|
21
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompanyContextType.type.js","sourceRoot":"/","sources":["src/contexts/CompanyContext/CompanyContextType.type.ts"],"names":[],"mappings":"","sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"CompanyContextType.type.js","sourceRoot":"/","sources":["src/contexts/CompanyContext/CompanyContextType.type.ts"],"names":[],"mappings":"","sourcesContent":["import type BasketRow from 'models/BasketRow';\nimport type { Company } from 'models/Client/Hotel/Company';\nimport type { Hotel } from 'models/Client/Hotel/Hotel';\nimport type { Language } from 'providers/LanguageProvider';\n\nexport type CompanyContextType = Company & {\n selectedHotelID: string;\n\n currentCurrency: string;\n currentLanguage: Language;\n\n signedInUser: string;\n isSigningIn: boolean;\n\n updateLowestPricePerNight: (hotelId: string | Hotel, row: BasketRow) => void;\n changeHotel: (hotel: string | Hotel) => boolean;\n\n setCurrentCurrency: (currency: string) => void;\n setCurrentLanguage: (lang: Language) => void;\n\n closeMemberSignupModal: () => void;\n openMemberSignupModal: () => void;\n signUserIn: (user: string) => void;\n\n /**\n * Returns information stored on the Hotel, also calls the API to fetch updated information from the Hotel if it's not been updated already\n *\n * @param hotelId\n * @returns\n */\n getHotel: (hotelId: string) => Promise<Hotel>;\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactChild } from 'react';
|
|
2
|
-
import type { ConfigCompany } from '
|
|
2
|
+
import type { ConfigCompany } from 'models/Client/Hotel/Company';
|
|
3
3
|
interface CompanyContextWrapperProps {
|
|
4
4
|
children: ReactChild;
|
|
5
5
|
configCompany: ConfigCompany;
|