@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageProvider.js","sourceRoot":"/","sources":["src/providers/ImageProvider.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAOX;AAPD,WAAY,SAAS;IACjB,2CAAU,CAAA;IACV,2CAAU,CAAA;IACV,6CAAW,CAAA;IACX,+CAAY,CAAA;IACZ,8CAAY,CAAA;IACZ,wDAAiB,CAAA;AACrB,CAAC,EAPW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAOpB;AAED,MAAM,aAAa;IAAnB;QACY,aAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B;;WAEG;QACI,0BAAqB,GAAsD,CAAC,GAAW,EAAE,IAAe,EAAE,EAAE;YAC/G,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE/B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ImageProvider.js","sourceRoot":"/","sources":["src/providers/ImageProvider.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAOX;AAPD,WAAY,SAAS;IACjB,2CAAU,CAAA;IACV,2CAAU,CAAA;IACV,6CAAW,CAAA;IACX,+CAAY,CAAA;IACZ,8CAAY,CAAA;IACZ,wDAAiB,CAAA;AACrB,CAAC,EAPW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAOpB;AAED,MAAM,aAAa;IAAnB;QACY,aAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B;;WAEG;QACI,0BAAqB,GAAsD,CAAC,GAAW,EAAE,IAAe,EAAE,EAAE;YAC/G,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE/B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;gBACnC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,MAAM,EAAE;oBACR,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;iBAC1B;gBAED,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;gBAC1B,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;oBAChC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACnB,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IAiCN,CAAC;IA/BW,UAAU,CAAC,GAAW,EAAE,IAAe;QAC3C,OAAO,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,WAAW,CAAC,GAAW,EAAE,IAAe;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEtC,4CAA4C;QAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,MAAM,IAAI,MAAM,KAAK,EAAE,EAAE;gBACzB,OAAO,MAAM,CAAC;aACjB;YAED,OAAO,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;SAC7B;QAED,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAED,kBAAe,IAAI,aAAa,EAAE,CAAC","sourcesContent":["export enum ImageSize {\n Icon = 128,\n Tiny = 256,\n Small = 512,\n Medium = 768,\n Large = 1024,\n ExtraLarge = 1600,\n}\n\nclass ImageProvider {\n private imageMap = new Map();\n /**\n * Only returns after image is successfully loaded\n */\n public getLazyLoadedImageUrl: (url: string, size: ImageSize) => Promise<string> = (url: string, size: ImageSize) => {\n const imageMap = this.imageMap;\n\n return new Promise<string>((resolve) => {\n const id = this.getImageID(url, size);\n\n const mapUrl = this.imageMap.get(id);\n if (mapUrl) {\n return resolve(mapUrl);\n }\n\n const image = new Image();\n image.addEventListener('load', () => {\n resolve(image.src);\n imageMap.set(id, image.src);\n });\n image.src = this.resizeImage(url, size);\n });\n };\n\n private getImageID(url: string, size: ImageSize) {\n return `${url}|${size}`;\n }\n\n /**\n * Converts an Image URL to a resized image URL.\n *\n * Right now we can only manipulate Roomstay hosted images in S3, so only where the source\n * image URL contains cdn.app.roomstay.io can we add the resize parameters.\n *\n * This function will simply pass through any URL not matching the criteria\n *\n * @param url string\n * @param size ImageSize\n * @returns\n */\n public resizeImage(url: string, size: ImageSize): string {\n const id = this.getImageID(url, size);\n\n // Only check if source is from roomstay cdn\n if (url.includes('cdn.app.roomstay.io')) {\n const mapUrl = this.imageMap.get(id);\n if (mapUrl && mapUrl !== '') {\n return mapUrl;\n }\n\n return url + '?w=' + size;\n }\n\n return url;\n }\n}\n\nexport default new ImageProvider();\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LanguageProvider = exports.Language = void 0;
|
|
4
|
-
const en_gb_1 = require("
|
|
4
|
+
const en_gb_1 = require("translations/languages/en-gb");
|
|
5
5
|
const i18next_1 = require("i18next");
|
|
6
|
-
const RoomstayThemeEngine_1 = require("
|
|
6
|
+
const RoomstayThemeEngine_1 = require("providers/RoomstayThemeEngine");
|
|
7
7
|
var Language;
|
|
8
8
|
(function (Language) {
|
|
9
9
|
Language["en_us"] = "en-US";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageProvider.js","sourceRoot":"/","sources":["src/providers/LanguageProvider.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"LanguageProvider.js","sourceRoot":"/","sources":["src/providers/LanguageProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import common_en from 'translations/languages/en-gb';\n\nimport i18n from 'i18next';\nimport RoomstayThemeEngine from 'providers/RoomstayThemeEngine';\nimport { Translation } from 'translations/Translation';\nimport { DeepPartial } from 'react-hook-form';\n\nexport enum Language {\n en_us = 'en-US',\n zh_cn = 'zh-CN',\n zh_tw = 'zh-TW',\n es = 'es',\n fr = 'fr',\n clear = 'testing_only', // TODO remove before live\n}\n\nexport class LanguageProvider {\n private static overrides: { [name: string]: any } = {};\n\n private static languages: { [langType in Language]?: any } = {\n [Language.en_us]: common_en,\n [Language.es]: common_en,\n [Language.fr]: common_en,\n [Language.zh_cn]: common_en,\n [Language.zh_tw]: common_en,\n };\n\n public static filterLanguages: Language[] = [];\n\n public static changeLanguage(lang: Language) {\n RoomstayThemeEngine.selectedLang = lang;\n i18n.changeLanguage(lang);\n }\n\n public static getPrettyLanguageName(lang: Language) {\n switch (lang) {\n case Language.en_us:\n return 'English';\n case Language.zh_cn:\n return '简体中文';\n case Language.zh_tw:\n return '繁體中文';\n case Language.es:\n return 'Español';\n case Language.fr:\n return 'Français';\n default:\n return '';\n }\n }\n\n public static getI18nMappedLanguages(): any {\n const workingMappings: any = {};\n\n const languages = this.getLanguages();\n\n Object.keys(languages).forEach((key: Language) => {\n const translation = this.getOverridesForLanguage(key);\n\n workingMappings[key] = {\n translation,\n };\n });\n\n return workingMappings;\n }\n\n private static getOverridesForLanguage(lang: Language) {\n const languages = this.getLanguages();\n const translation = languages[lang];\n\n if (LanguageProvider.overrides[lang]) {\n const goDeeperAndCheckIsObject = (currentDepth: any, history: string[]) => {\n Object.keys(currentDepth).forEach((currentDepthKey) => {\n if (typeof currentDepth[currentDepthKey] === 'object') {\n goDeeperAndCheckIsObject(currentDepth[currentDepthKey], [...history, currentDepthKey]);\n } else {\n let mutable: any;\n history.forEach((depth) => {\n mutable = (mutable ?? translation)[depth];\n });\n\n mutable[currentDepthKey] = currentDepth[currentDepthKey];\n }\n });\n };\n\n goDeeperAndCheckIsObject(LanguageProvider.overrides[lang], []);\n }\n\n return translation;\n }\n\n /**\n * Create a way to override translations for specific languages, and hotels.\n * @param lang\n * @param overrideTree\n */\n public static registerOverride(lang: Language, overrideTree: DeepPartial<typeof Translation>) {\n LanguageProvider.overrides[lang] = overrideTree;\n\n // Check required for making sure Lang is loaded first.\n if (i18n && i18n.addResourceBundle) {\n i18n.addResourceBundle(lang, 'translation', this.getOverridesForLanguage(lang));\n }\n }\n\n public static getLanguages(): any {\n if (this.filterLanguages.length >= 1) {\n const filteredLanguages: any = {};\n\n this.filterLanguages.map((lang) => {\n filteredLanguages[lang] = this.languages[lang];\n });\n\n return filteredLanguages;\n } else {\n return this.languages;\n }\n }\n}\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { IconType } from '
|
|
3
|
-
import { PillType } from '
|
|
4
|
-
import { Hotel } from '
|
|
5
|
-
import { Room } from '
|
|
6
|
-
import { RoomRate } from '
|
|
7
|
-
export
|
|
2
|
+
import { IconType } from 'components/generic/Icon/Icon';
|
|
3
|
+
import { PillType } from 'components/generic/Pill';
|
|
4
|
+
import { Hotel } from 'models/Client/Hotel/Hotel';
|
|
5
|
+
import { Room } from 'models/Room/Room';
|
|
6
|
+
import { RoomRate } from 'models/Room/RoomRate';
|
|
7
|
+
export type RatePill = {
|
|
8
8
|
icon: IconType | ReactNode;
|
|
9
9
|
type?: PillType;
|
|
10
10
|
title?: string;
|
|
@@ -14,12 +14,12 @@ export declare type RatePill = {
|
|
|
14
14
|
[x: string]: string | number;
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
type RatePillCriteriaMatch = {
|
|
18
18
|
rate?: RoomRate;
|
|
19
19
|
room?: Room;
|
|
20
20
|
hotel: Hotel;
|
|
21
21
|
};
|
|
22
|
-
|
|
22
|
+
type RatePillCriteriaCallback = (criteria: RatePillCriteriaMatch) => boolean;
|
|
23
23
|
declare class RatePillProvider {
|
|
24
24
|
private registeredPills;
|
|
25
25
|
constructor();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RatePillProvider.js","sourceRoot":"/","sources":["src/providers/RatePillProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ReactNode } from 'react';\nimport { IconType } from '
|
|
1
|
+
{"version":3,"file":"RatePillProvider.js","sourceRoot":"/","sources":["src/providers/RatePillProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ReactNode } from 'react';\nimport { IconType } from 'components/generic/Icon/Icon';\nimport { PillType } from 'components/generic/Pill';\nimport { Hotel } from 'models/Client/Hotel/Hotel';\nimport { Room } from 'models/Room/Room';\n\nimport { RoomRate } from 'models/Room/RoomRate';\n\nexport type RatePill = {\n // TODO: Add Unique Id here to avoid constantly checking\n // TODO: Add ability to specify title / tooltip in React Context (with variable data)\n icon: IconType | ReactNode;\n\n type?: PillType;\n title?: string;\n tooltipText?: string;\n\n translation?: string;\n translationProps?: {\n [x: string]: string | number;\n };\n};\n\ntype RatePillCriteriaMatch = { rate?: RoomRate; room?: Room; hotel: Hotel };\n\ntype RatePillCriteriaCallback = (criteria: RatePillCriteriaMatch) => boolean;\n\ntype RatePillLocation = 'Rate' | 'Room';\n\ntype RegisteredPillType = { pill: RatePill; criteria: RatePillCriteriaCallback; location: RatePillLocation; isExclusive: boolean };\n\nclass RatePillProvider {\n private registeredPills: RegisteredPillType[];\n\n public constructor() {\n this.registeredPills = [];\n }\n\n private doesPillExist(pill: RatePill, location: RatePillLocation): number | false {\n for (let i = 0, end = this.registeredPills.length; i < end; i++) {\n const registeredPill = this.registeredPills[i];\n if (\n registeredPill.location === location &&\n registeredPill.pill.title === pill.title &&\n registeredPill.pill.tooltipText === pill.tooltipText &&\n registeredPill.pill.translation === pill.translation\n ) {\n return i;\n }\n }\n\n return false;\n }\n\n public registerRatePill(pill: RatePill, criteria: RatePillCriteriaCallback, isExclusive = false) {\n if (this.doesPillExist(pill, 'Rate') === false) {\n this.registeredPills.push({ pill, criteria, location: 'Rate', isExclusive });\n }\n }\n\n public registerRoomPill(pill: RatePill, criteria: RatePillCriteriaCallback) {\n const pillIndex = this.doesPillExist(pill, 'Room');\n const newPill: RegisteredPillType = { pill, criteria, location: 'Room', isExclusive: true };\n\n if (pillIndex === false) {\n this.registeredPills.push(newPill);\n } else {\n this.registeredPills[pillIndex] = newPill;\n }\n }\n\n public getPillsForRate(match: RatePillCriteriaMatch): RatePill[] {\n const matches: RatePill[] = [];\n\n this.registeredPills.forEach((registeredPill) => {\n // Rates will only ever show Rate Pills\n if (registeredPill.location === 'Rate' && registeredPill.criteria(match)) {\n matches.push(registeredPill.pill);\n }\n });\n\n return matches;\n }\n\n public getPillsForRoom(match: RatePillCriteriaMatch): RatePill[] {\n const roomMatches: RatePill[] = [];\n const rateMatches: RatePill[] = [];\n\n // Rooms will show both Room and Rate pills\n this.registeredPills.forEach((registeredPill) => {\n if (registeredPill.location === 'Room') {\n if (registeredPill.criteria(match)) {\n roomMatches.push(registeredPill.pill);\n }\n }\n\n if (match.room) {\n for (const rate of match.room.getRates()) {\n if (registeredPill.location === 'Rate' && !registeredPill.isExclusive && registeredPill.criteria({ ...match, rate })) {\n rateMatches.push(registeredPill.pill);\n // No need to duplicate check because as soon as one Pill is matched, no more rates are checked.\n break;\n }\n }\n }\n });\n\n return [...roomMatches, ...rateMatches];\n }\n}\n\nexport default new RatePillProvider();\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomSortProvider.js","sourceRoot":"/","sources":["src/providers/RoomSortProvider.ts"],"names":[],"mappings":";;;AACA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,uCAA2B,CAAA;AAC/B,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB;AAED,MAAqB,gBAAgB;;AAArC,mCAgBC;AAfG,8DAA8D;AAChD,kCAAiB,GAAG,CAAC,MAAgB,EAAE,EAAE;IACnD,QAAQ,MAAM,EAAE;QACZ,KAAK,QAAQ,CAAC,SAAS;YACnB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC,CAAC;QACN,KAAK,QAAQ,CAAC,QAAQ;YAClB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC,CAAC;QACN;YACI,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;KACtB;AACL,CAAC,CAAC","sourcesContent":["import RoomRateSortable from '
|
|
1
|
+
{"version":3,"file":"RoomSortProvider.js","sourceRoot":"/","sources":["src/providers/RoomSortProvider.ts"],"names":[],"mappings":";;;AACA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,uCAA2B,CAAA;AAC/B,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB;AAED,MAAqB,gBAAgB;;AAArC,mCAgBC;AAfG,8DAA8D;AAChD,kCAAiB,GAAG,CAAC,MAAgB,EAAE,EAAE;IACnD,QAAQ,MAAM,EAAE;QACZ,KAAK,QAAQ,CAAC,SAAS;YACnB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC,CAAC;QACN,KAAK,QAAQ,CAAC,QAAQ;YAClB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC,CAAC;QACN;YACI,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;KACtB;AACL,CAAC,CAAC","sourcesContent":["import RoomRateSortable from 'models/Room/RoomRateSortable';\nexport enum RoomSort {\n PriceLow = 'Lowest Price',\n PriceHigh = 'Highest Price',\n Recommended = 'Recommended',\n}\n\nexport default class RoomSortProvider {\n // TODO refactor this to use static val instead of request one\n public static getSortByFunction = (sortBy: RoomSort) => {\n switch (sortBy) {\n case RoomSort.PriceHigh:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return b.getSortValue() - a.getSortValue();\n };\n case RoomSort.PriceLow:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return a.getSortValue() - b.getSortValue();\n };\n default:\n return () => 0;\n }\n };\n}\n"]}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { Language } from '
|
|
2
|
-
import type { Company } from '
|
|
3
|
-
import type ColorProfile from '
|
|
4
|
-
export declare enum ModulePermission {
|
|
5
|
-
NumberOfPeopleBookedPill = "Number Of People Booked Pill"
|
|
6
|
-
}
|
|
1
|
+
import { Language } from 'providers/LanguageProvider';
|
|
2
|
+
import type { Company } from 'models/Client/Hotel/Company';
|
|
3
|
+
import type ColorProfile from 'models/Client/Hotel/ColorProfile';
|
|
7
4
|
declare global {
|
|
8
5
|
interface Window {
|
|
9
6
|
ResizeObserver: any;
|
|
@@ -16,8 +13,7 @@ export declare enum RoomstayTheme {
|
|
|
16
13
|
}
|
|
17
14
|
declare class RoomstayThemeEngine {
|
|
18
15
|
currentCompany: Company | null;
|
|
19
|
-
|
|
20
|
-
EngineContainer: Element;
|
|
16
|
+
EngineContainer: HTMLElement;
|
|
21
17
|
ScriptContainer: Element;
|
|
22
18
|
StyleContainer: Element;
|
|
23
19
|
selectedLang: Language;
|
|
@@ -31,6 +27,7 @@ declare class RoomstayThemeEngine {
|
|
|
31
27
|
changeTheme: (profile: ColorProfile) => Promise<void>;
|
|
32
28
|
registerStyles: (profile?: ColorProfile) => Promise<void>;
|
|
33
29
|
getAssetUrl: () => string;
|
|
30
|
+
getImageAssetUrl: (url?: string) => string;
|
|
34
31
|
/**
|
|
35
32
|
* Detects if URL is absolute, and needs to be
|
|
36
33
|
* @param url string
|
|
@@ -38,9 +35,8 @@ declare class RoomstayThemeEngine {
|
|
|
38
35
|
wrapAssetUrl: (url: string) => string;
|
|
39
36
|
registerScripts: () => Promise<void>;
|
|
40
37
|
loadScript: (src: string, name: string) => Promise<void>;
|
|
41
|
-
createElementOrReuseExisting: <K extends
|
|
38
|
+
createElementOrReuseExisting: <K extends keyof HTMLElementTagNameMap>(type: K, name: string) => Element;
|
|
42
39
|
init: () => Promise<void>;
|
|
43
|
-
canSee(perm: ModulePermission): boolean;
|
|
44
40
|
}
|
|
45
41
|
declare const _default: RoomstayThemeEngine;
|
|
46
42
|
export default _default;
|
|
@@ -9,23 +9,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.RoomstayTheme =
|
|
12
|
+
exports.RoomstayTheme = void 0;
|
|
13
13
|
// tslint:disable-next-line: no-submodule-imports
|
|
14
14
|
const isSameOrAfter = require("dayjs/plugin/isSameOrAfter");
|
|
15
15
|
// tslint:disable-next-line: no-submodule-imports
|
|
16
16
|
const isSameOrBefore = require("dayjs/plugin/isSameOrBefore");
|
|
17
17
|
const dayjs = require("dayjs");
|
|
18
|
-
const LanguageProvider_1 = require("
|
|
18
|
+
const LanguageProvider_1 = require("providers/LanguageProvider");
|
|
19
19
|
const i18next_1 = require("i18next");
|
|
20
20
|
const react_i18next_1 = require("react-i18next");
|
|
21
21
|
const Sentry = require("@sentry/browser");
|
|
22
22
|
const ROP = require("resize-observer-polyfill");
|
|
23
|
-
const HotelContextEventHandler_1 = require("../handlers/HotelContextEventHandler");
|
|
24
|
-
// TODO Re-think our approach on permissions and who can see what.
|
|
25
|
-
var ModulePermission;
|
|
26
|
-
(function (ModulePermission) {
|
|
27
|
-
ModulePermission["NumberOfPeopleBookedPill"] = "Number Of People Booked Pill";
|
|
28
|
-
})(ModulePermission = exports.ModulePermission || (exports.ModulePermission = {}));
|
|
29
23
|
/** @ts-ignore */
|
|
30
24
|
if (typeof ResizeObserver === 'undefined') {
|
|
31
25
|
window.ResizeObserver = ROP.default;
|
|
@@ -38,7 +32,6 @@ var RoomstayTheme;
|
|
|
38
32
|
class RoomstayThemeEngine {
|
|
39
33
|
constructor() {
|
|
40
34
|
this.currentCompany = null;
|
|
41
|
-
this.ModulesAllowed = [];
|
|
42
35
|
this.ScriptContainer = null;
|
|
43
36
|
this.StyleContainer = null;
|
|
44
37
|
this.selectedLang = LanguageProvider_1.Language.en_us;
|
|
@@ -58,10 +51,6 @@ class RoomstayThemeEngine {
|
|
|
58
51
|
this.changeCompany = (newCompany) => {
|
|
59
52
|
this.currentCompany = newCompany;
|
|
60
53
|
this.registerStyles(newCompany.colors);
|
|
61
|
-
// TODO: Remove these hooks as they're useless
|
|
62
|
-
if (HotelContextEventHandler_1.HotelContextEventHandler === null || HotelContextEventHandler_1.HotelContextEventHandler === void 0 ? void 0 : HotelContextEventHandler_1.HotelContextEventHandler.onHotelChange) {
|
|
63
|
-
HotelContextEventHandler_1.HotelContextEventHandler.onHotelChange();
|
|
64
|
-
}
|
|
65
54
|
};
|
|
66
55
|
this.changeTheme = (profile) => __awaiter(this, void 0, void 0, function* () {
|
|
67
56
|
const styleOverrides = this.createElementOrReuseExisting('style', 'engine-styles');
|
|
@@ -69,20 +58,20 @@ class RoomstayThemeEngine {
|
|
|
69
58
|
let headerOverrides = '';
|
|
70
59
|
if (profile.navbar) {
|
|
71
60
|
headerOverrides = `
|
|
72
|
-
--color-header-background: ${profile.navbar.background}!important;
|
|
73
|
-
--color-header-text: ${profile.navbar.text}!important;
|
|
74
|
-
--color-header-text-active: ${profile.navbar.textActive}!important;
|
|
61
|
+
--rs-color-header-background: ${profile.navbar.background}!important;
|
|
62
|
+
--rs-color-header-text: ${profile.navbar.text}!important;
|
|
63
|
+
--rs-color-header-text-active: ${profile.navbar.textActive}!important;
|
|
75
64
|
`;
|
|
76
65
|
}
|
|
77
66
|
styleOverrides.innerHTML = `
|
|
78
|
-
|
|
79
|
-
--color-accent-1: ${profile.accent}!important;
|
|
80
|
-
--color-accent-2: ${profile.accent2}!important;
|
|
81
|
-
--color-accent-3: ${profile.accent3}!important;
|
|
67
|
+
:root {
|
|
68
|
+
--rs-color-accent-1: ${profile.accent}!important;
|
|
69
|
+
--rs-color-accent-2: ${profile.accent2}!important;
|
|
70
|
+
--rs-color-accent-3: ${profile.accent3}!important;
|
|
82
71
|
|
|
83
72
|
${headerOverrides}
|
|
84
73
|
|
|
85
|
-
${profile.success ? `--color-success: ${profile.success}!important;` : ''}
|
|
74
|
+
${profile.success ? `--rs-color-success: ${profile.success}!important;` : ''}
|
|
86
75
|
}
|
|
87
76
|
`;
|
|
88
77
|
});
|
|
@@ -98,7 +87,10 @@ class RoomstayThemeEngine {
|
|
|
98
87
|
});
|
|
99
88
|
});
|
|
100
89
|
this.getAssetUrl = () => {
|
|
101
|
-
return this.isLocalhost ? '
|
|
90
|
+
return this.isLocalhost ? '/' : ASSET_URL;
|
|
91
|
+
};
|
|
92
|
+
this.getImageAssetUrl = (url = '') => {
|
|
93
|
+
return this.getAssetUrl() + 'assets/img/' + url;
|
|
102
94
|
};
|
|
103
95
|
/**
|
|
104
96
|
* Detects if URL is absolute, and needs to be
|
|
@@ -176,9 +168,6 @@ class RoomstayThemeEngine {
|
|
|
176
168
|
});
|
|
177
169
|
console.log(`Initializing Roomstay Booking Engine v${exports.RS_VERSION}`);
|
|
178
170
|
}
|
|
179
|
-
canSee(perm) {
|
|
180
|
-
return this.ModulesAllowed.includes(perm);
|
|
181
|
-
}
|
|
182
171
|
}
|
|
183
172
|
exports.default = new RoomstayThemeEngine();
|
|
184
173
|
//# sourceMappingURL=RoomstayThemeEngine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomstayThemeEngine.js","sourceRoot":"/","sources":["src/providers/RoomstayThemeEngine.ts"],"names":[],"mappings":"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","sourcesContent":["// tslint:disable-next-line: no-submodule-imports\nimport * as isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\n// tslint:disable-next-line: no-submodule-imports\nimport * as isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport * as dayjs from 'dayjs';\n\nimport { LanguageProvider, Language } from './LanguageProvider';\n\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport * as Sentry from '@sentry/browser';\nimport * as ROP from 'resize-observer-polyfill';\nimport { HotelContextEventHandler } from '../handlers/HotelContextEventHandler';\nimport type { Company } from '../models/Client/Hotel/Company';\nimport type ColorProfile from '../models/Client/Hotel/ColorProfile';\n\n// TODO Re-think our approach on permissions and who can see what.\nexport enum ModulePermission {\n NumberOfPeopleBookedPill = 'Number Of People Booked Pill',\n}\n\ndeclare global {\n interface Window {\n ResizeObserver: any;\n }\n}\n\ndeclare const ASSET_URL: string;\n\nexport declare const RS_VERSION: string;\n\n/** @ts-ignore */\nif (typeof ResizeObserver === 'undefined') {\n window.ResizeObserver = ROP.default;\n}\n\nexport enum RoomstayTheme {\n Medium = 'medium',\n Light = 'light',\n}\nclass RoomstayThemeEngine {\n public currentCompany: Company | null = null;\n\n public ModulesAllowed: ModulePermission[] = [];\n\n public EngineContainer: Element;\n\n public ScriptContainer: Element = null;\n public StyleContainer: Element = null;\n\n public selectedLang: Language = Language.en_us;\n\n // TODO This needs to be changed, not ideal to just check for localhost\n public isLocalhost: boolean = location.hostname === 'localhost';\n\n // TODO: This needs to be refactored to not be a fixed string.\n public ThemeType = RoomstayTheme.Light;\n\n public ExternalStyles: string[] = [];\n public ExternalScripts: string[] = ['https://js.verygoodvault.com/vgs-collect/1/AC7dReJwJ6EWF1L9FHdcCw7n.js'];\n\n public constructor() {\n console.log(`Initializing Roomstay Booking Engine v${RS_VERSION}`);\n }\n\n private reloadScriptAndStyleContainers = () => {\n this.StyleContainer = this.createElementOrReuseExisting('div', 'style-container');\n this.ScriptContainer = this.createElementOrReuseExisting('div', 'script-container');\n\n this.ScriptContainer.innerHTML = '';\n this.StyleContainer.innerHTML = '';\n\n this.registerStyles();\n };\n\n public changeCompany = (newCompany: Company) => {\n this.currentCompany = newCompany;\n this.registerStyles(newCompany.colors);\n\n // TODO: Remove these hooks as they're useless\n if (HotelContextEventHandler?.onHotelChange) {\n HotelContextEventHandler.onHotelChange();\n }\n };\n\n public changeTheme = async (profile: ColorProfile) => {\n const styleOverrides = this.createElementOrReuseExisting('style', 'engine-styles');\n\n styleOverrides.setAttribute('rel', 'preload');\n\n let headerOverrides = '';\n if (profile.navbar) {\n headerOverrides = `\n --color-header-background: ${profile.navbar.background}!important;\n --color-header-text: ${profile.navbar.text}!important;\n --color-header-text-active: ${profile.navbar.textActive}!important;\n `;\n }\n\n styleOverrides.innerHTML = `\n .roomstay-booking-container {\n --color-accent-1: ${profile.accent}!important;\n --color-accent-2: ${profile.accent2}!important;\n --color-accent-3: ${profile.accent3}!important;\n\n ${headerOverrides}\n\n ${profile.success ? `--color-success: ${profile.success}!important;` : ''}\n }\n `;\n };\n\n public registerStyles = async (profile?: ColorProfile) => {\n console.log('Loading custom Theme Styles');\n if (profile) {\n this.changeTheme(profile);\n }\n\n this.ExternalStyles.forEach((url, index) => {\n const style = this.createElementOrReuseExisting('link', `engine-external-style-${index}`);\n style.setAttribute('rel', 'stylesheet');\n style.setAttribute('href', this.getAssetUrl() + url);\n });\n };\n\n public getAssetUrl = () => {\n return this.isLocalhost ? 'http://localhost:9000/' : ASSET_URL;\n };\n\n /**\n * Detects if URL is absolute, and needs to be\n * @param url string\n */\n public wrapAssetUrl = (url: string) => {\n if (url.match(/^(?:[a-z]+:)?\\/\\//)) {\n return url;\n }\n\n return this.getAssetUrl() + url;\n };\n\n public registerScripts = async () => {\n this.ExternalScripts.forEach((url: string, index) => {\n this.loadScript(url, `legacy-${index}`);\n });\n };\n\n public loadScript = (src: string, name: string): Promise<void> =>\n new Promise((resolve) => {\n const script = this.createElementOrReuseExisting('script', `script-${name}`);\n if (script.hasAttribute('src') && script.getAttribute('src') === src) {\n resolve();\n } else {\n script.setAttribute('src', src);\n script.addEventListener('load', () => {\n resolve();\n });\n }\n\n this.ScriptContainer.appendChild(script);\n });\n\n public createElementOrReuseExisting = <K extends keyof HTMLElementTagNameMap>(type: K, name: string) => {\n const container = this.EngineContainer;\n const findingElement = container.querySelector(`${type}[name=\"roomstay-${name}\"]`);\n\n if (findingElement) {\n return findingElement;\n } else {\n const target = document.createElement(type);\n target.setAttribute('name', `roomstay-${name}`);\n container.appendChild(target);\n return target;\n }\n };\n\n public init = async () => {\n dayjs.extend(isSameOrBefore);\n dayjs.extend(isSameOrAfter);\n\n if (i18n) {\n i18n.use(initReactI18next).init({\n interpolation: { escapeValue: false },\n lng: Language.en_us,\n resources: LanguageProvider.getI18nMappedLanguages(),\n });\n }\n\n if (!this.isLocalhost) {\n Sentry.init({\n dsn: 'https://3bfba949561e48f1862c843ce8254a2d@o398412.ingest.sentry.io/5254086',\n beforeSend: (event, hint) => {\n event.tags = event.tags ?? { logger: '_default_' };\n\n try {\n if (hint.originalException instanceof Error) {\n if (hint.originalException.stack.indexOf('www.googletagmanager.com/gtm.js?id=') > -1) {\n event.tags.logger = 'gtm';\n event.level = Sentry.Severity.Warning;\n }\n }\n } catch (ex) {\n console.log(ex);\n }\n\n return event;\n },\n });\n }\n\n this.reloadScriptAndStyleContainers();\n };\n\n public canSee(perm: ModulePermission) {\n return this.ModulesAllowed.includes(perm);\n }\n}\n\nexport default new RoomstayThemeEngine();\n"]}
|
|
1
|
+
{"version":3,"file":"RoomstayThemeEngine.js","sourceRoot":"/","sources":["src/providers/RoomstayThemeEngine.ts"],"names":[],"mappings":"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","sourcesContent":["// tslint:disable-next-line: no-submodule-imports\nimport * as isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\n// tslint:disable-next-line: no-submodule-imports\nimport * as isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport * as dayjs from 'dayjs';\n\nimport { LanguageProvider, Language } from 'providers/LanguageProvider';\n\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport * as Sentry from '@sentry/browser';\nimport * as ROP from 'resize-observer-polyfill';\nimport type { Company } from 'models/Client/Hotel/Company';\nimport type ColorProfile from 'models/Client/Hotel/ColorProfile';\n\ndeclare global {\n interface Window {\n ResizeObserver: any;\n }\n}\n\ndeclare const ASSET_URL: string;\n\nexport declare const RS_VERSION: string;\n\n/** @ts-ignore */\nif (typeof ResizeObserver === 'undefined') {\n window.ResizeObserver = ROP.default;\n}\n\nexport enum RoomstayTheme {\n Medium = 'medium',\n Light = 'light',\n}\nclass RoomstayThemeEngine {\n public currentCompany: Company | null = null;\n\n public EngineContainer: HTMLElement;\n\n public ScriptContainer: Element = null;\n public StyleContainer: Element = null;\n\n public selectedLang: Language = Language.en_us;\n\n // TODO This needs to be changed, not ideal to just check for localhost\n public isLocalhost: boolean = location.hostname === 'localhost';\n\n // TODO: This needs to be refactored to not be a fixed string.\n public ThemeType = RoomstayTheme.Light;\n\n public ExternalStyles: string[] = [];\n public ExternalScripts: string[] = ['https://js.verygoodvault.com/vgs-collect/1/AC7dReJwJ6EWF1L9FHdcCw7n.js'];\n\n public constructor() {\n console.log(`Initializing Roomstay Booking Engine v${RS_VERSION}`);\n }\n\n private reloadScriptAndStyleContainers = () => {\n this.StyleContainer = this.createElementOrReuseExisting('div', 'style-container');\n this.ScriptContainer = this.createElementOrReuseExisting('div', 'script-container');\n\n this.ScriptContainer.innerHTML = '';\n this.StyleContainer.innerHTML = '';\n\n this.registerStyles();\n };\n\n public changeCompany = (newCompany: Company) => {\n this.currentCompany = newCompany;\n this.registerStyles(newCompany.colors);\n };\n\n public changeTheme = async (profile: ColorProfile) => {\n const styleOverrides = this.createElementOrReuseExisting('style', 'engine-styles');\n\n styleOverrides.setAttribute('rel', 'preload');\n\n let headerOverrides = '';\n if (profile.navbar) {\n headerOverrides = `\n --rs-color-header-background: ${profile.navbar.background}!important;\n --rs-color-header-text: ${profile.navbar.text}!important;\n --rs-color-header-text-active: ${profile.navbar.textActive}!important;\n `;\n }\n\n styleOverrides.innerHTML = `\n :root {\n --rs-color-accent-1: ${profile.accent}!important;\n --rs-color-accent-2: ${profile.accent2}!important;\n --rs-color-accent-3: ${profile.accent3}!important;\n\n ${headerOverrides}\n\n ${profile.success ? `--rs-color-success: ${profile.success}!important;` : ''}\n }\n `;\n };\n\n public registerStyles = async (profile?: ColorProfile) => {\n console.log('Loading custom Theme Styles');\n if (profile) {\n this.changeTheme(profile);\n }\n\n this.ExternalStyles.forEach((url, index) => {\n const style = this.createElementOrReuseExisting('link', `engine-external-style-${index}`);\n style.setAttribute('rel', 'stylesheet');\n style.setAttribute('href', this.getAssetUrl() + url);\n });\n };\n\n public getAssetUrl = () => {\n return this.isLocalhost ? '/' : ASSET_URL;\n };\n\n public getImageAssetUrl = (url = '') => {\n return this.getAssetUrl() + 'assets/img/' + url;\n };\n\n /**\n * Detects if URL is absolute, and needs to be\n * @param url string\n */\n public wrapAssetUrl = (url: string) => {\n if (url.match(/^(?:[a-z]+:)?\\/\\//)) {\n return url;\n }\n\n return this.getAssetUrl() + url;\n };\n\n public registerScripts = async () => {\n this.ExternalScripts.forEach((url: string, index) => {\n this.loadScript(url, `legacy-${index}`);\n });\n };\n\n public loadScript = (src: string, name: string): Promise<void> =>\n new Promise((resolve) => {\n const script = this.createElementOrReuseExisting('script', `script-${name}`);\n if (script.hasAttribute('src') && script.getAttribute('src') === src) {\n resolve();\n } else {\n script.setAttribute('src', src);\n script.addEventListener('load', () => {\n resolve();\n });\n }\n\n this.ScriptContainer.appendChild(script);\n });\n\n public createElementOrReuseExisting = <K extends keyof HTMLElementTagNameMap>(type: K, name: string) => {\n const container = this.EngineContainer;\n const findingElement = container.querySelector(`${type}[name=\"roomstay-${name}\"]`);\n\n if (findingElement) {\n return findingElement;\n } else {\n const target = document.createElement(type);\n target.setAttribute('name', `roomstay-${name}`);\n container.appendChild(target);\n return target;\n }\n };\n\n public init = async () => {\n dayjs.extend(isSameOrBefore);\n dayjs.extend(isSameOrAfter);\n\n if (i18n) {\n i18n.use(initReactI18next).init({\n interpolation: { escapeValue: false },\n lng: Language.en_us,\n resources: LanguageProvider.getI18nMappedLanguages(),\n });\n }\n\n if (!this.isLocalhost) {\n Sentry.init({\n dsn: 'https://3bfba949561e48f1862c843ce8254a2d@o398412.ingest.sentry.io/5254086',\n beforeSend: (event, hint) => {\n event.tags = event.tags ?? { logger: '_default_' };\n\n try {\n if (hint.originalException instanceof Error) {\n if (hint.originalException.stack.indexOf('www.googletagmanager.com/gtm.js?id=') > -1) {\n event.tags.logger = 'gtm';\n event.level = Sentry.Severity.Warning;\n }\n }\n } catch (ex) {\n console.log(ex);\n }\n\n return event;\n },\n });\n }\n\n this.reloadScriptAndStyleContainers();\n };\n}\n\nexport default new RoomstayThemeEngine();\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RoomstaySession } from '
|
|
1
|
+
import { RoomstaySession } from 'models/RoomstaySession';
|
|
2
2
|
/**
|
|
3
3
|
* Session provider is in charge of handling the loading, saving and passing of the current Engine Session.
|
|
4
4
|
*
|
|
@@ -29,6 +29,7 @@ import { RoomstaySession } from '../models/RoomstaySession';
|
|
|
29
29
|
export default class SessionProvider {
|
|
30
30
|
private currentSessionID;
|
|
31
31
|
private hotelID;
|
|
32
|
+
private cachedSession;
|
|
32
33
|
setHotelID(hotelID: string): Promise<void>;
|
|
33
34
|
initialize(sessionID?: number, source?: string): Promise<void>;
|
|
34
35
|
setSessionID(sessionID?: number, source?: string): Promise<void>;
|
|
@@ -49,6 +50,7 @@ export default class SessionProvider {
|
|
|
49
50
|
getCurrentSessionID(): number;
|
|
50
51
|
getSession(): Promise<RoomstaySession>;
|
|
51
52
|
saveSession(changedSession: RoomstaySession): Promise<void>;
|
|
53
|
+
private debouncedUpdateSession;
|
|
52
54
|
updateSession(partialSession: Partial<RoomstaySession>): Promise<void>;
|
|
53
55
|
deleteSession(): Promise<void>;
|
|
54
56
|
getAllSessions(): Promise<RoomstaySession[]>;
|
|
@@ -9,12 +9,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const LocalStorageProvider_1 = require("
|
|
13
|
-
const RoomstaySession_1 = require("
|
|
12
|
+
const LocalStorageProvider_1 = require("providers/storage/LocalStorageProvider");
|
|
13
|
+
const RoomstaySession_1 = require("models/RoomstaySession");
|
|
14
14
|
const dayjs = require("dayjs");
|
|
15
|
-
const BasketRow_1 = require("
|
|
16
|
-
const RoomRate_1 = require("
|
|
17
|
-
const Room_1 = require("
|
|
15
|
+
const BasketRow_1 = require("models/BasketRow");
|
|
16
|
+
const RoomRate_1 = require("models/Room/RoomRate");
|
|
17
|
+
const Room_1 = require("models/Room/Room");
|
|
18
|
+
const Debounce_1 = require("../util/Debounce");
|
|
18
19
|
/**
|
|
19
20
|
* Session provider is in charge of handling the loading, saving and passing of the current Engine Session.
|
|
20
21
|
*
|
|
@@ -43,6 +44,15 @@ const Room_1 = require("../models/Room/Room");
|
|
|
43
44
|
* * Resume to Desired Flow
|
|
44
45
|
*/
|
|
45
46
|
class SessionProvider {
|
|
47
|
+
constructor() {
|
|
48
|
+
this.cachedSession = {};
|
|
49
|
+
this.debouncedUpdateSession = (0, Debounce_1.debounce)(() => __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
const currentSession = yield this.getSession();
|
|
51
|
+
const cachedSession = this.cachedSession;
|
|
52
|
+
this.cachedSession = {};
|
|
53
|
+
yield this.saveSession(Object.assign(Object.assign({}, currentSession), cachedSession));
|
|
54
|
+
}), 300);
|
|
55
|
+
}
|
|
46
56
|
setHotelID(hotelID) {
|
|
47
57
|
return __awaiter(this, void 0, void 0, function* () {
|
|
48
58
|
this.hotelID = hotelID;
|
|
@@ -144,6 +154,7 @@ class SessionProvider {
|
|
|
144
154
|
hotelID: session.hotelID,
|
|
145
155
|
basketRows,
|
|
146
156
|
source: session.source,
|
|
157
|
+
reservation: session.reservation,
|
|
147
158
|
};
|
|
148
159
|
}
|
|
149
160
|
unSerializeSession(session) {
|
|
@@ -188,6 +199,7 @@ class SessionProvider {
|
|
|
188
199
|
hotelID: session.hotelID,
|
|
189
200
|
basketRows,
|
|
190
201
|
source: session.source,
|
|
202
|
+
reservation: session.reservation,
|
|
191
203
|
};
|
|
192
204
|
}
|
|
193
205
|
getSessionKey(sessionId) {
|
|
@@ -223,8 +235,8 @@ class SessionProvider {
|
|
|
223
235
|
}
|
|
224
236
|
updateSession(partialSession) {
|
|
225
237
|
return __awaiter(this, void 0, void 0, function* () {
|
|
226
|
-
|
|
227
|
-
|
|
238
|
+
Object.assign(this.cachedSession, partialSession);
|
|
239
|
+
this.debouncedUpdateSession();
|
|
228
240
|
});
|
|
229
241
|
}
|
|
230
242
|
deleteSession() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionProvider.js","sourceRoot":"/","sources":["src/providers/SessionProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { LocalStorageProvider } from './storage/LocalStorageProvider';\nimport { RoomstaySession, SerializedRoomstaySession, SERIALIZED_DATE_FORMAT, SerializedRoomstaySessionBasketRow } from '../models/RoomstaySession';\nimport * as dayjs from 'dayjs';\nimport BasketRow from '../models/BasketRow';\nimport { RoomRate } from '../models/Room/RoomRate';\nimport { Room } from '../models/Room/Room';\n\n/**\n * Session provider is in charge of handling the loading, saving and passing of the current Engine Session.\n *\n * Desired flow:\n * * App Opened\n * * Session Provider loaded\n * * New User Session Created\n * * User moves through the app, updating the session with vital details (current step, basket context )\n * * User refreshes browser - session is re-loaded and user resumes where they left off\n * * User proceeds to checkout.\n * * Session is saved.\n *\n * Mini Booking Widget:\n * * User loads mini booking widget, selects dates, people\n * * Rates are loaded, and user selects a rate, redirecting to Full Booking Engine\n * * Session Provider creates a SessionID to pass to redirected path\n * * Session Provider loads the passed SessionID and loads the correct session\n * * Resume to Desired Flow\n *\n * Re-targeting:\n * ---Since re-targeting will happen on client site, under client domain, localStorage will be preserved, ergo we can load the previous incomplete sessions back to the user\n * * User lands on client Homepage\n * * Session Provider loads previous incomplete sessions\n * * A slider with details of previous baskets is shown back to the user\n * * User clicks on a previous session and is brought to the Booking Engine\n * * Resume to Desired Flow\n */\nexport default class SessionProvider {\n private currentSessionID: number;\n private hotelID: string;\n\n public async setHotelID(hotelID: string) {\n this.hotelID = hotelID;\n this.updateSession({ hotelID });\n }\n\n public async initialize(sessionID?: number, source?: string) {\n await this.setSessionID(sessionID, source);\n }\n\n public async setSessionID(sessionID?: number, source?: string) {\n const foundSession = await this.findOrCreateSessionID(sessionID, source);\n\n if (foundSession) {\n this.currentSessionID = foundSession;\n\n const storage = new LocalStorageProvider(sessionStorage);\n await storage.write('currentSession', this.currentSessionID);\n }\n }\n\n /**\n * Function to find the right session from session storage, or local storage\n *\n * If one isn't found it is then created.\n */\n private async findOrCreateSessionID(sessionID: number, source: string) {\n let session: RoomstaySession;\n\n if (sessionID) {\n session = await this.findSession(sessionID);\n\n if (session) {\n return session.id;\n }\n }\n\n session = await this.generateNewSession(source);\n\n return session.id;\n }\n\n private async findSession(sessionID: number): Promise<RoomstaySession> {\n const storage = new LocalStorageProvider();\n\n const session = await storage.read<SerializedRoomstaySession>(this.getSessionKey(sessionID));\n\n if (session) {\n return this.unSerializeSession(session);\n }\n }\n\n private async generateNewSession(source: string): Promise<RoomstaySession> {\n const sessionId = new Date().getTime();\n\n const session: RoomstaySession = {\n id: sessionId,\n startDate: null,\n endDate: null,\n step: '',\n hotelID: this.hotelID ?? null,\n basketRows: [],\n source,\n };\n\n this.saveSession(session);\n\n return session;\n }\n\n private serializeSession(session: RoomstaySession): SerializedRoomstaySession {\n const basketRows: SerializedRoomstaySessionBasketRow[] = [];\n\n // TODO possibly refactor BasketRow to serialize itself, or instead make a serializer that can do all this.\n session.basketRows.forEach((unSerializeBasketRow: BasketRow) => {\n const rate = unSerializeBasketRow.getRate();\n const room = unSerializeBasketRow.getRoom();\n\n let serializedRate = null;\n let serializedRoom = null;\n\n if (rate) {\n serializedRate = rate.serialize();\n }\n\n if (room) {\n serializedRoom = room.serialize();\n }\n\n basketRows.push({\n uniqId: unSerializeBasketRow.getID(),\n startDate: unSerializeBasketRow.getStartDate()?.format(SERIALIZED_DATE_FORMAT),\n endDate: unSerializeBasketRow.getEndDate()?.format(SERIALIZED_DATE_FORMAT),\n adults: unSerializeBasketRow.getAdults(),\n children: unSerializeBasketRow.getChildren(),\n promoCode: unSerializeBasketRow.getPromoCode(),\n promoCodeStatus: unSerializeBasketRow.getPromoCodeStatus(),\n rate: serializedRate,\n room: serializedRoom,\n });\n });\n\n return {\n id: session.id,\n startDate: session.startDate?.format(SERIALIZED_DATE_FORMAT),\n endDate: session.endDate?.format(SERIALIZED_DATE_FORMAT),\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n };\n }\n\n private unSerializeSession(session: SerializedRoomstaySession): RoomstaySession {\n const basketRows: BasketRow[] = [];\n let startDate: dayjs.Dayjs;\n let endDate: dayjs.Dayjs;\n\n if (session.startDate) {\n startDate = dayjs(session.startDate, SERIALIZED_DATE_FORMAT);\n }\n\n if (session.endDate) {\n endDate = dayjs(session.endDate, SERIALIZED_DATE_FORMAT);\n }\n\n session.basketRows?.forEach((serializedBasketRow) => {\n let rate;\n let room;\n\n if (serializedBasketRow.room) {\n room = new Room();\n room.unSerialize(serializedBasketRow.room);\n }\n\n if (serializedBasketRow.rate && room) {\n rate = new RoomRate();\n rate.unSerialize(serializedBasketRow.rate);\n rate.setRoom(room);\n }\n\n const basketRow = new BasketRow(rate ?? null, serializedBasketRow.uniqId);\n\n if (serializedBasketRow.startDate) {\n basketRow.setStartDate(dayjs(serializedBasketRow.startDate, SERIALIZED_DATE_FORMAT));\n }\n if (serializedBasketRow.endDate) {\n basketRow.setEndDate(dayjs(serializedBasketRow.endDate, SERIALIZED_DATE_FORMAT));\n }\n\n basketRow.setAdults(serializedBasketRow.adults);\n basketRow.setChildren(serializedBasketRow.children);\n\n basketRows.push(basketRow);\n });\n\n return {\n id: session.id,\n startDate,\n endDate,\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n };\n }\n\n private getSessionKey(sessionId?: number): string {\n return `session-${sessionId ?? this.currentSessionID}`;\n }\n\n /**\n * @returns the current session ID\n */\n public getCurrentSessionID(): number {\n return this.currentSessionID;\n }\n\n public async getSession(): Promise<RoomstaySession> {\n const storage = new LocalStorageProvider();\n\n const sessionFromStorage = await storage.read<SerializedRoomstaySession>(this.getSessionKey());\n\n if (sessionFromStorage) {\n return this.unSerializeSession(sessionFromStorage);\n } else {\n return this.generateNewSession('');\n }\n }\n\n public async saveSession(changedSession: RoomstaySession) {\n if (!changedSession) {\n return console.log('Attempted to save empty session');\n }\n\n const storage = new LocalStorageProvider();\n\n const serializedSession = this.serializeSession(changedSession);\n\n await storage.write(this.getSessionKey(serializedSession.id), serializedSession);\n }\n\n public async updateSession(partialSession: Partial<RoomstaySession>) {\n const currentSession = await this.getSession();\n\n await this.saveSession({\n ...currentSession,\n ...partialSession,\n });\n }\n\n public async deleteSession() {\n const storage = new LocalStorageProvider();\n storage.delete(this.getSessionKey());\n }\n\n public async getAllSessions() {\n const storage = new LocalStorageProvider();\n const sessionKeys = storage.getAllKeys((name) => name.startsWith('roomstay-session'));\n\n return (await storage.readAll<SerializedRoomstaySession>(sessionKeys)).map((session) => this.unSerializeSession(session));\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SessionProvider.js","sourceRoot":"/","sources":["src/providers/SessionProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { LocalStorageProvider } from 'providers/storage/LocalStorageProvider';\nimport { RoomstaySession, SerializedRoomstaySession, SERIALIZED_DATE_FORMAT, SerializedRoomstaySessionBasketRow } from 'models/RoomstaySession';\nimport * as dayjs from 'dayjs';\nimport BasketRow from 'models/BasketRow';\nimport { RoomRate } from 'models/Room/RoomRate';\nimport { Room } from 'models/Room/Room';\nimport { debounce } from '../util/Debounce';\n\n/**\n * Session provider is in charge of handling the loading, saving and passing of the current Engine Session.\n *\n * Desired flow:\n * * App Opened\n * * Session Provider loaded\n * * New User Session Created\n * * User moves through the app, updating the session with vital details (current step, basket context )\n * * User refreshes browser - session is re-loaded and user resumes where they left off\n * * User proceeds to checkout.\n * * Session is saved.\n *\n * Mini Booking Widget:\n * * User loads mini booking widget, selects dates, people\n * * Rates are loaded, and user selects a rate, redirecting to Full Booking Engine\n * * Session Provider creates a SessionID to pass to redirected path\n * * Session Provider loads the passed SessionID and loads the correct session\n * * Resume to Desired Flow\n *\n * Re-targeting:\n * ---Since re-targeting will happen on client site, under client domain, localStorage will be preserved, ergo we can load the previous incomplete sessions back to the user\n * * User lands on client Homepage\n * * Session Provider loads previous incomplete sessions\n * * A slider with details of previous baskets is shown back to the user\n * * User clicks on a previous session and is brought to the Booking Engine\n * * Resume to Desired Flow\n */\nexport default class SessionProvider {\n private currentSessionID: number;\n private hotelID: string;\n private cachedSession: Partial<RoomstaySession> = {};\n\n public async setHotelID(hotelID: string) {\n this.hotelID = hotelID;\n this.updateSession({ hotelID });\n }\n\n public async initialize(sessionID?: number, source?: string) {\n await this.setSessionID(sessionID, source);\n }\n\n public async setSessionID(sessionID?: number, source?: string) {\n const foundSession = await this.findOrCreateSessionID(sessionID, source);\n\n if (foundSession) {\n this.currentSessionID = foundSession;\n\n const storage = new LocalStorageProvider(sessionStorage);\n await storage.write('currentSession', this.currentSessionID);\n }\n }\n\n /**\n * Function to find the right session from session storage, or local storage\n *\n * If one isn't found it is then created.\n */\n private async findOrCreateSessionID(sessionID: number, source: string) {\n let session: RoomstaySession;\n\n if (sessionID) {\n session = await this.findSession(sessionID);\n\n if (session) {\n return session.id;\n }\n }\n\n session = await this.generateNewSession(source);\n\n return session.id;\n }\n\n private async findSession(sessionID: number): Promise<RoomstaySession> {\n const storage = new LocalStorageProvider();\n\n const session = await storage.read<SerializedRoomstaySession>(this.getSessionKey(sessionID));\n\n if (session) {\n return this.unSerializeSession(session);\n }\n }\n\n private async generateNewSession(source: string): Promise<RoomstaySession> {\n const sessionId = new Date().getTime();\n\n const session: RoomstaySession = {\n id: sessionId,\n startDate: null,\n endDate: null,\n step: '',\n hotelID: this.hotelID ?? null,\n basketRows: [],\n source,\n };\n\n this.saveSession(session);\n\n return session;\n }\n\n private serializeSession(session: RoomstaySession): SerializedRoomstaySession {\n const basketRows: SerializedRoomstaySessionBasketRow[] = [];\n\n // TODO possibly refactor BasketRow to serialize itself, or instead make a serializer that can do all this.\n session.basketRows.forEach((unSerializeBasketRow: BasketRow) => {\n const rate = unSerializeBasketRow.getRate();\n const room = unSerializeBasketRow.getRoom();\n\n let serializedRate = null;\n let serializedRoom = null;\n\n if (rate) {\n serializedRate = rate.serialize();\n }\n\n if (room) {\n serializedRoom = room.serialize();\n }\n\n basketRows.push({\n uniqId: unSerializeBasketRow.getID(),\n startDate: unSerializeBasketRow.getStartDate()?.format(SERIALIZED_DATE_FORMAT),\n endDate: unSerializeBasketRow.getEndDate()?.format(SERIALIZED_DATE_FORMAT),\n adults: unSerializeBasketRow.getAdults(),\n children: unSerializeBasketRow.getChildren(),\n promoCode: unSerializeBasketRow.getPromoCode(),\n promoCodeStatus: unSerializeBasketRow.getPromoCodeStatus(),\n rate: serializedRate,\n room: serializedRoom,\n });\n });\n\n return {\n id: session.id,\n startDate: session.startDate?.format(SERIALIZED_DATE_FORMAT),\n endDate: session.endDate?.format(SERIALIZED_DATE_FORMAT),\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n reservation: session.reservation,\n };\n }\n\n private unSerializeSession(session: SerializedRoomstaySession): RoomstaySession {\n const basketRows: BasketRow[] = [];\n let startDate: dayjs.Dayjs;\n let endDate: dayjs.Dayjs;\n\n if (session.startDate) {\n startDate = dayjs(session.startDate, SERIALIZED_DATE_FORMAT);\n }\n\n if (session.endDate) {\n endDate = dayjs(session.endDate, SERIALIZED_DATE_FORMAT);\n }\n\n session.basketRows?.forEach((serializedBasketRow) => {\n let rate;\n let room;\n\n if (serializedBasketRow.room) {\n room = new Room();\n room.unSerialize(serializedBasketRow.room);\n }\n\n if (serializedBasketRow.rate && room) {\n rate = new RoomRate();\n rate.unSerialize(serializedBasketRow.rate);\n rate.setRoom(room);\n }\n\n const basketRow = new BasketRow(rate ?? null, serializedBasketRow.uniqId);\n\n if (serializedBasketRow.startDate) {\n basketRow.setStartDate(dayjs(serializedBasketRow.startDate, SERIALIZED_DATE_FORMAT));\n }\n if (serializedBasketRow.endDate) {\n basketRow.setEndDate(dayjs(serializedBasketRow.endDate, SERIALIZED_DATE_FORMAT));\n }\n\n basketRow.setAdults(serializedBasketRow.adults);\n basketRow.setChildren(serializedBasketRow.children);\n\n basketRows.push(basketRow);\n });\n\n return {\n id: session.id,\n startDate,\n endDate,\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n reservation: session.reservation,\n };\n }\n\n private getSessionKey(sessionId?: number): string {\n return `session-${sessionId ?? this.currentSessionID}`;\n }\n\n /**\n * @returns the current session ID\n */\n public getCurrentSessionID(): number {\n return this.currentSessionID;\n }\n\n public async getSession(): Promise<RoomstaySession> {\n const storage = new LocalStorageProvider();\n\n const sessionFromStorage = await storage.read<SerializedRoomstaySession>(this.getSessionKey());\n\n if (sessionFromStorage) {\n return this.unSerializeSession(sessionFromStorage);\n } else {\n return this.generateNewSession('');\n }\n }\n\n public async saveSession(changedSession: RoomstaySession) {\n if (!changedSession) {\n return console.log('Attempted to save empty session');\n }\n\n const storage = new LocalStorageProvider();\n\n const serializedSession = this.serializeSession(changedSession);\n\n await storage.write(this.getSessionKey(serializedSession.id), serializedSession);\n }\n\n private debouncedUpdateSession = debounce(async () => {\n const currentSession = await this.getSession();\n const cachedSession = this.cachedSession;\n this.cachedSession = {};\n await this.saveSession({\n ...currentSession,\n ...cachedSession,\n });\n }, 300);\n\n public async updateSession(partialSession: Partial<RoomstaySession>) {\n Object.assign(this.cachedSession, partialSession);\n this.debouncedUpdateSession();\n }\n\n public async deleteSession() {\n const storage = new LocalStorageProvider();\n storage.delete(this.getSessionKey());\n }\n\n public async getAllSessions() {\n const storage = new LocalStorageProvider();\n const sessionKeys = storage.getAllKeys((name) => name.startsWith('roomstay-session'));\n\n return (await storage.readAll<SerializedRoomstaySession>(sessionKeys)).map((session) => this.unSerializeSession(session));\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmationVerifyFeature.js","sourceRoot":"/","sources":["src/providers/feature/ConfirmationVerifyFeature.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"ConfirmationVerifyFeature.js","sourceRoot":"/","sources":["src/providers/feature/ConfirmationVerifyFeature.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD;;GAEG;AACH,MAAM,yBAA0B,SAAQ,iBAAO;IAC3C;QACI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACvC,CAAC;IAES,MAAM;QACZ,2EAA2E;IAC/E,CAAC;CACJ;AAED,kBAAe,IAAI,yBAAyB,EAAE,CAAC","sourcesContent":["import { Feature } from 'providers/feature/Feature';\n\n/**\n * Feature to determine if checkboxes for verify confirmation must be ticked\n */\nclass ConfirmationVerifyFeature extends Feature {\n public constructor() {\n super('ConfirmationVerifyFeature');\n }\n\n protected onLoad() {\n /** No onload function since the engine itself checks if this is enabled */\n }\n}\n\nexport default new ConfirmationVerifyFeature();\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const FullPageBookingEngineElementEvents_1 = require("
|
|
4
|
-
const Feature_1 = require("
|
|
3
|
+
const FullPageBookingEngineElementEvents_1 = require("engines/FullPageBookingEngine/FullPageBookingEngineElementEvents");
|
|
4
|
+
const Feature_1 = require("providers/feature/Feature");
|
|
5
5
|
class DatePickerTypeFeature extends Feature_1.Feature {
|
|
6
6
|
constructor() {
|
|
7
7
|
super('DatePickerTypeFeature');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeFeature.js","sourceRoot":"/","sources":["src/providers/feature/DatePickerTypeFeature.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"DatePickerTypeFeature.js","sourceRoot":"/","sources":["src/providers/feature/DatePickerTypeFeature.ts"],"names":[],"mappings":";;AAAA,yHAAsH;AACtH,uDAAoD;AAEpD,MAAM,qBAAsB,SAAQ,iBAAO;IACvC;QACI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACnC,CAAC;IAES,MAAM;QACZ,wCAAwC;QACxC,0CAA0C;QAC1C,uEAAuE;QACvE,IAAI;QAEJ,uEAAkC,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC;CACJ;AAED,kBAAe,IAAI,qBAAqB,EAAE,CAAC","sourcesContent":["import { FullPageBookingEngineElementEvents } from 'engines/FullPageBookingEngine/FullPageBookingEngineElementEvents';\nimport { Feature } from 'providers/feature/Feature';\n\nclass DatePickerTypeFeature extends Feature {\n public constructor() {\n super('DatePickerTypeFeature');\n }\n\n protected onLoad() {\n // TODO: This will need to be re-thought\n // if (RoomstayThemeEngine.currentHotel) {\n // RoomstayThemeEngine.currentHotel.defaultDatepickerType = 'Week';\n // }\n\n FullPageBookingEngineElementEvents.reload();\n }\n}\n\nexport default new DatePickerTypeFeature();\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Feature_1 = require("
|
|
3
|
+
const Feature_1 = require("providers/feature/Feature");
|
|
4
4
|
class E164PhoneNumberFieldFeature extends Feature_1.Feature {
|
|
5
5
|
constructor() {
|
|
6
6
|
super('E164PhoneNumberFieldFeature');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"E164PhoneNumberFieldFeature.js","sourceRoot":"/","sources":["src/providers/feature/E164PhoneNumberFieldFeature.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"E164PhoneNumberFieldFeature.js","sourceRoot":"/","sources":["src/providers/feature/E164PhoneNumberFieldFeature.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD,MAAM,2BAA4B,SAAQ,iBAAO;IAC7C;QACI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACzC,CAAC;IAES,MAAM;QACZ,yBAAyB;IAC7B,CAAC;CACJ;AAED,kBAAe,IAAI,2BAA2B,EAAE,CAAC","sourcesContent":["import { Feature } from 'providers/feature/Feature';\n\nclass E164PhoneNumberFieldFeature extends Feature {\n public constructor() {\n super('E164PhoneNumberFieldFeature');\n }\n\n protected onLoad(): void {\n // No requirement on load\n }\n}\n\nexport default new E164PhoneNumberFieldFeature();\n"]}
|