@roomstay/frontend 2.0.11 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/201.bundle.js +1 -1
- package/dist/218.bundle.js +1 -1
- package/dist/423.bundle.js +1 -1
- package/dist/449.bundle.js +1 -1
- package/dist/873.bundle.js +1 -1
- package/dist/882.bundle.js +1 -1
- package/dist/main.bundle.js +1 -1
- package/dist/src/animations/AutoAutoHeight.js +28 -2
- package/dist/src/animations/AutoAutoHeight.js.map +1 -1
- package/dist/src/animations/Fade.js +24 -1
- package/dist/src/animations/Fade.js.map +1 -1
- package/dist/src/api/AddonAPI.js +29 -3
- package/dist/src/api/AddonAPI.js.map +1 -1
- package/dist/src/api/AvailabilityAPI.d.ts +1 -1
- package/dist/src/api/AvailabilityAPI.js +40 -14
- package/dist/src/api/AvailabilityAPI.js.map +1 -1
- package/dist/src/api/BaseAPI.d.ts +1 -1
- package/dist/src/api/BaseAPI.js +7 -4
- package/dist/src/api/BaseAPI.js.map +1 -1
- package/dist/src/api/BookingAPI.js +12 -9
- package/dist/src/api/BookingAPI.js.map +1 -1
- package/dist/src/api/ErrorAPI.js +4 -1
- package/dist/src/api/ErrorAPI.js.map +1 -1
- package/dist/src/api/ExchangeRateAPI.js +4 -1
- package/dist/src/api/ExchangeRateAPI.js.map +1 -1
- package/dist/src/api/HotelAPI.js +4 -1
- package/dist/src/api/HotelAPI.js.map +1 -1
- package/dist/src/api/MemberAPI.js +24 -1
- package/dist/src/api/MemberAPI.js.map +1 -1
- package/dist/src/api/ReservationAPI.js +24 -1
- package/dist/src/api/ReservationAPI.js.map +1 -1
- package/dist/src/api/SessionAPI.js +24 -1
- package/dist/src/api/SessionAPI.js.map +1 -1
- package/dist/src/api/members-service/MembersServiceAPI.js +4 -1
- package/dist/src/api/members-service/MembersServiceAPI.js.map +1 -1
- package/dist/src/components/User/Forms/ForgotPasswordForm.js +33 -7
- package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignInForm.js +33 -7
- package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignUpForm.js +36 -10
- package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
- package/dist/src/components/generic/Alert.js +30 -4
- package/dist/src/components/generic/Alert.js.map +1 -1
- package/dist/src/components/generic/BEButton.js +30 -4
- package/dist/src/components/generic/BEButton.js.map +1 -1
- package/dist/src/components/generic/BackButton.js +28 -2
- package/dist/src/components/generic/BackButton.js.map +1 -1
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +29 -3
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +19 -0
- package/dist/src/components/generic/BookingWizard/BookingWizard.js +106 -0
- package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +6 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js +28 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +10 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +113 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +35 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.js +8 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +7 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +146 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +9 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +111 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +10 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +144 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -0
- package/dist/src/components/generic/Card/Card/Card.js +30 -4
- package/dist/src/components/generic/Card/Card/Card.js.map +1 -1
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +31 -5
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
- package/dist/src/components/generic/Checkbox/Checkbox.js +30 -4
- package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
- package/dist/src/components/generic/Countdown.d.ts +1 -1
- package/dist/src/components/generic/Countdown.js +29 -3
- package/dist/src/components/generic/Countdown.js.map +1 -1
- package/dist/src/components/generic/Currency.js +29 -3
- package/dist/src/components/generic/Currency.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +14 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +155 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.d.ts +10 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js +44 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +21 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +134 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +6 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +44 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +7 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +57 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.d.ts +25 -0
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +87 -0
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -0
- package/dist/src/components/generic/Distance.js +28 -2
- package/dist/src/components/generic/Distance.js.map +1 -1
- package/dist/src/components/generic/ForwardedSelect.d.ts +1 -1
- package/dist/src/components/generic/ForwardedSelect.js +24 -1
- package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
- package/dist/src/components/generic/Headline.js +29 -3
- package/dist/src/components/generic/Headline.js.map +1 -1
- package/dist/src/components/generic/Icon/Icon.js +30 -4
- package/dist/src/components/generic/Icon/Icon.js.map +1 -1
- package/dist/src/components/generic/IconText/IconText.js +31 -5
- package/dist/src/components/generic/IconText/IconText.js.map +1 -1
- package/dist/src/components/generic/InputGroup/InputGroup.js +29 -3
- package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
- package/dist/src/components/generic/LineBreak.js +29 -3
- package/dist/src/components/generic/LineBreak.js.map +1 -1
- package/dist/src/components/generic/Notification.js +25 -2
- package/dist/src/components/generic/Notification.js.map +1 -1
- package/dist/src/components/generic/NumberIncrement.js +30 -4
- package/dist/src/components/generic/NumberIncrement.js.map +1 -1
- package/dist/src/components/generic/Overlay/Overlay.d.ts +3 -2
- package/dist/src/components/generic/Overlay/Overlay.js +33 -6
- package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
- package/dist/src/components/generic/PasswordBox/PasswordBox.js +30 -4
- package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.d.ts +1 -2
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.js +30 -4
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +2 -3
- package/dist/src/components/generic/PaymentCard/PaymentCard.js +30 -4
- package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +2 -3
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +34 -8
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
- package/dist/src/components/generic/Pill.js +30 -4
- package/dist/src/components/generic/Pill.js.map +1 -1
- package/dist/src/components/generic/Placeholder.js +29 -3
- package/dist/src/components/generic/Placeholder.js.map +1 -1
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.d.ts +1 -2
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.js +28 -2
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.js.map +1 -1
- package/dist/src/components/generic/Portal/Portal.js +24 -1
- package/dist/src/components/generic/Portal/Portal.js.map +1 -1
- package/dist/src/components/generic/PromoCodeInput.js +32 -6
- package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +30 -4
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +30 -4
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/dist/src/components/generic/RecentSearchesCard.d.ts +1 -1
- package/dist/src/components/generic/RecentSearchesCard.js +35 -9
- package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
- package/dist/src/components/generic/Select/Select.d.ts +20 -6
- package/dist/src/components/generic/Select/Select.js +92 -25
- package/dist/src/components/generic/Select/Select.js.map +1 -1
- package/dist/src/components/generic/Slider/Slider.js +29 -3
- package/dist/src/components/generic/Slider/Slider.js.map +1 -1
- package/dist/src/components/generic/Tabs/ElementChildren.js +24 -1
- package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
- package/dist/src/components/generic/Tabs/Tab.js +24 -1
- package/dist/src/components/generic/Tabs/Tab.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabContext.js +24 -1
- package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabLink.js +30 -4
- package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabRouteContainer.js +28 -2
- package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
- package/dist/src/components/generic/Tabs/Tabs.js +29 -3
- package/dist/src/components/generic/Tabs/Tabs.js.map +1 -1
- package/dist/src/components/generic/Text.js +29 -3
- package/dist/src/components/generic/Text.js.map +1 -1
- package/dist/src/components/generic/TextArea.js +24 -1
- package/dist/src/components/generic/TextArea.js.map +1 -1
- package/dist/src/components/generic/TextBox.js +30 -4
- package/dist/src/components/generic/TextBox.js.map +1 -1
- package/dist/src/components/generic/Tooltip/Tooltip.js +28 -2
- package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
- package/dist/src/components/generic/badging/SSLSecureBadge.js +29 -3
- package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
- package/dist/src/components/generic/buttons/NextStepButton.js +30 -4
- package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +34 -8
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
- package/dist/src/components/generic/date/DatePicker.d.ts +1 -1
- package/dist/src/components/generic/date/DatePicker.js +43 -16
- package/dist/src/components/generic/date/DatePicker.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDay.d.ts +1 -1
- package/dist/src/components/generic/date/DatePickerDay.js +33 -7
- package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDays.d.ts +1 -1
- package/dist/src/components/generic/date/DatePickerDays.js +29 -3
- package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerMonth.d.ts +1 -1
- package/dist/src/components/generic/date/DatePickerMonth.js +30 -4
- package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerWeek.js +38 -12
- package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
- package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
- package/dist/src/components/generic/date/FloatingDatePicker.js +29 -3
- package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
- package/dist/src/components/generic/date/WeekViewSkeleton.js +31 -5
- package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
- package/dist/src/components/generic/loader/ImageLoader.js +29 -3
- package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
- package/dist/src/components/generic/loader/LargeLoader.js +28 -2
- package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
- package/dist/src/components/generic/loader/SmallSpinner.js +25 -2
- package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
- package/dist/src/components/generic/map/HotelLocationMap.js +28 -2
- package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
- package/dist/src/components/generic/modal/ConfirmationModal.d.ts +1 -2
- package/dist/src/components/generic/modal/ConfirmationModal.js +30 -4
- package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
- package/dist/src/components/generic/modal/ErrorModal.js +29 -3
- package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +32 -6
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +33 -7
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SimpleModal.d.ts +2 -0
- package/dist/src/components/generic/modal/SimpleModal.js +36 -9
- package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
- package/dist/src/components/generic/modal/TabbedModal.js +29 -3
- package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
- package/dist/src/components/generic/radio/RadioFields.js +32 -6
- package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.js +24 -1
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.js.map +1 -1
- package/dist/src/components/members/EditMyProfile.js +32 -6
- package/dist/src/components/members/EditMyProfile.js.map +1 -1
- package/dist/src/components/navigation/Header.js +40 -14
- package/dist/src/components/navigation/Header.js.map +1 -1
- package/dist/src/components/navigation/StepSelector.js +34 -8
- package/dist/src/components/navigation/StepSelector.js.map +1 -1
- package/dist/src/components/navigation/StepSelectorModal.js +33 -7
- package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
- package/dist/src/components/pages/Account/Card/CardList.js +30 -4
- package/dist/src/components/pages/Account/Card/CardList.js.map +1 -1
- package/dist/src/components/pages/Account/Card/MemberCardItem.js +34 -8
- package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
- package/dist/src/components/pages/PageColorComponent.js +28 -2
- package/dist/src/components/pages/PageColorComponent.js.map +1 -1
- package/dist/src/components/reservation/ReservationItem.js +42 -16
- package/dist/src/components/reservation/ReservationItem.js.map +1 -1
- package/dist/src/components/reservation/ReservationList.js +28 -2
- package/dist/src/components/reservation/ReservationList.js.map +1 -1
- package/dist/src/components/steps/DaysSelectedInformer.js +25 -2
- package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
- package/dist/src/components/steps/MinimumNightStayPill.js +30 -4
- package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
- package/dist/src/components/steps/addons/AddonCard.js +37 -12
- package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
- package/dist/src/components/steps/addons/AddonList.js +33 -7
- package/dist/src/components/steps/addons/AddonList.js.map +1 -1
- package/dist/src/components/steps/addons/AddonsNotFound.js +29 -3
- package/dist/src/components/steps/addons/AddonsNotFound.js.map +1 -1
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +29 -3
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
- package/dist/src/components/steps/confirmation/AccountDetails.js +29 -3
- package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js +30 -4
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +24 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +32 -6
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +28 -2
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
- package/dist/src/components/steps/confirmation/RoomContactDetails.js +41 -15
- package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +33 -7
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +37 -11
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +30 -4
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +31 -5
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +54 -28
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +28 -2
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +32 -6
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +29 -3
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +25 -2
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +36 -10
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +26 -3
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +37 -12
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePicker.js +32 -6
- package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePickerRow.js +31 -5
- package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
- package/dist/src/components/steps/date/StepDatePricePerRoom.js +32 -6
- package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRange.js +29 -3
- package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePicker.js +30 -4
- package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +29 -3
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.js +29 -3
- package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
- package/dist/src/components/steps/date/StepOneStatusPeople.js +28 -2
- package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCard.js +39 -13
- package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardList.js +29 -3
- package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardModal.js +38 -12
- package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelSearchParameters.js +47 -21
- package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js +29 -3
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
- package/dist/src/components/steps/room/AvailableUpgradesModal.js +37 -11
- package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
- package/dist/src/components/steps/room/ImageGallerySlider.js +32 -6
- package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
- package/dist/src/components/steps/room/InactivityWindow.js +37 -11
- package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
- package/dist/src/components/steps/room/LargeRoomCard.js +35 -9
- package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +38 -12
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js +35 -9
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
- package/dist/src/components/steps/room/RatesNotFound.js +29 -3
- package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
- package/dist/src/components/steps/room/RoomList.js +38 -12
- package/dist/src/components/steps/room/RoomList.js.map +1 -1
- package/dist/src/components/steps/room/RoomListAlert.js +31 -5
- package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js +34 -8
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
- package/dist/src/components/steps/room/RoomModal.js +34 -8
- package/dist/src/components/steps/room/RoomModal.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js +31 -5
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js +29 -3
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomErrorForm.js +37 -11
- package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomHotelDetails.js +29 -3
- package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.js +29 -3
- package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSortBy.js +34 -9
- package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +31 -5
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +32 -7
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +32 -7
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +31 -5
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +43 -17
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +41 -15
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +25 -2
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +31 -5
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +35 -9
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +37 -11
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +29 -3
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +35 -9
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +34 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +34 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +30 -4
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +30 -4
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +32 -6
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +38 -12
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +33 -7
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +30 -4
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +38 -12
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +33 -7
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +32 -6
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +32 -6
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
- package/dist/src/components/summary/BEMapWidget.d.ts +3 -5
- package/dist/src/components/summary/BEMapWidget.js +66 -18
- package/dist/src/components/summary/BEMapWidget.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummary.js +35 -9
- package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js +41 -15
- package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
- package/dist/src/components/summary/BESummary.js +37 -11
- package/dist/src/components/summary/BESummary.js.map +1 -1
- package/dist/src/components/summary/BESummaryAddonRow.js +34 -8
- package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
- package/dist/src/components/summary/BESummaryPerkBlock.js +30 -4
- package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js +25 -2
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js +35 -9
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +30 -4
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
- package/dist/src/components/temp/Login.js +29 -3
- package/dist/src/components/temp/Login.js.map +1 -1
- package/dist/src/containers/PrivateRoute.js +24 -1
- package/dist/src/containers/PrivateRoute.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextType.d.ts +1 -1
- package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +42 -16
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +28 -2
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +34 -8
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationFormContext.js +24 -1
- package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +30 -4
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
- package/dist/src/contexts/DatePickerContext.d.ts +1 -1
- package/dist/src/contexts/DatePickerContext.js +24 -1
- package/dist/src/contexts/DatePickerContext.js.map +1 -1
- package/dist/src/contexts/ErrorContext.js +29 -3
- package/dist/src/contexts/ErrorContext.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.d.ts +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +52 -26
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/HotelOverridesContext.js +28 -2
- package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +30 -4
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +30 -4
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
- package/dist/src/contexts/ModalContext.js +24 -1
- package/dist/src/contexts/ModalContext.js.map +1 -1
- package/dist/src/contexts/NotificationContext.js +28 -2
- package/dist/src/contexts/NotificationContext.js.map +1 -1
- package/dist/src/engines/BaseEngine.d.ts +4 -5
- package/dist/src/engines/BaseEngine.js +6 -2
- package/dist/src/engines/BaseEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +17 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js +31 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +6 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +54 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -0
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.d.ts +6 -2
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +24 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +24 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.d.ts +6 -2
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js +4 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +61 -35
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.d.ts +6 -2
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js +4 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +35 -9
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
- package/dist/src/errors/GetAvailabilityError.d.ts +1 -1
- package/dist/src/errors/GetAvailabilityError.js.map +1 -1
- package/dist/src/hooks/AutoFocusOnSelect.d.ts +2 -0
- package/dist/src/hooks/AutoFocusOnSelect.js +1 -0
- package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
- package/dist/src/hooks/ConfirmationQuery.js +2 -2
- package/dist/src/hooks/ConfirmationQuery.js.map +1 -1
- package/dist/src/hooks/ElementSortHook.js +24 -1
- package/dist/src/hooks/ElementSortHook.js.map +1 -1
- package/dist/src/hooks/EventHook.js +4 -1
- package/dist/src/hooks/EventHook.js.map +1 -1
- package/dist/src/hooks/KeyboardControlOnSelect.d.ts +14 -8
- package/dist/src/hooks/KeyboardControlOnSelect.js +45 -37
- package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
- package/dist/src/hooks/Query.d.ts +1 -1
- package/dist/src/hooks/Query.js +29 -6
- package/dist/src/hooks/Query.js.map +1 -1
- package/dist/src/hooks/VGSHooks.js +6 -3
- package/dist/src/hooks/VGSHooks.js.map +1 -1
- package/dist/src/hooks/WindowSize.d.ts +9 -3
- package/dist/src/hooks/WindowSize.js +13 -2
- package/dist/src/hooks/WindowSize.js.map +1 -1
- package/dist/src/icons/Check.js +24 -1
- package/dist/src/icons/Check.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +60 -44
- package/dist/src/index.js.map +1 -1
- package/dist/src/mockApi/AddonAPI.js +5 -2
- package/dist/src/mockApi/AddonAPI.js.map +1 -1
- package/dist/src/mockApi/BookingAPI.js +9 -6
- package/dist/src/mockApi/BookingAPI.js.map +1 -1
- package/dist/src/mockApi/ExchangeRateAPI.js +4 -1
- package/dist/src/mockApi/ExchangeRateAPI.js.map +1 -1
- package/dist/src/mockApi/HotelAPI.js +4 -1
- package/dist/src/mockApi/HotelAPI.js.map +1 -1
- package/dist/src/mockApi/MemberAPI.js +24 -1
- package/dist/src/mockApi/MemberAPI.js.map +1 -1
- package/dist/src/mockApi/MockAPI.d.ts +1 -1
- package/dist/src/mockApi/MockAPI.js +6 -3
- package/dist/src/mockApi/MockAPI.js.map +1 -1
- package/dist/src/mockApi/ReservationAPI.js +24 -1
- package/dist/src/mockApi/ReservationAPI.js.map +1 -1
- package/dist/src/models/Addon/Addon.d.ts +1 -1
- package/dist/src/models/Addon/Addon.js +7 -4
- package/dist/src/models/Addon/Addon.js.map +1 -1
- package/dist/src/models/BasketRow.d.ts +1 -1
- package/dist/src/models/BasketRow.js.map +1 -1
- package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +6 -0
- package/dist/src/models/BookingWizard/BookingWizardProperty.js +3 -0
- package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -0
- package/dist/src/models/BookingWizard/BookingWizardTypes.d.ts +4 -0
- package/dist/src/models/BookingWizard/BookingWizardTypes.js +3 -0
- package/dist/src/models/BookingWizard/BookingWizardTypes.js.map +1 -0
- package/dist/src/models/Promotion/IPromotion.type.d.ts +1 -1
- package/dist/src/models/Promotion/IPromotion.type.js.map +1 -1
- package/dist/src/models/Reservation/Reservation.d.ts +1 -1
- package/dist/src/models/Reservation/Reservation.js.map +1 -1
- package/dist/src/models/Room/Filters/BudgetFilter.js +4 -1
- package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.js +4 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.js +4 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
- package/dist/src/models/Room/RoomRate.js +6 -3
- package/dist/src/models/Room/RoomRate.js.map +1 -1
- package/dist/src/models/Room/RoomRateNight.d.ts +1 -1
- package/dist/src/models/Room/RoomRateNight.js +5 -2
- package/dist/src/models/Room/RoomRateNight.js.map +1 -1
- package/dist/src/models/RoomstaySession.d.ts +1 -1
- package/dist/src/models/RoomstaySession.js.map +1 -1
- package/dist/src/pages/account/AccountHome/AccountHomePage.js +34 -8
- package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
- package/dist/src/pages/account/AccountOutlet.js +24 -1
- package/dist/src/pages/account/AccountOutlet.js.map +1 -1
- package/dist/src/pages/account/AccountRouter.js +24 -1
- package/dist/src/pages/account/AccountRouter.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +33 -7
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +32 -6
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +34 -8
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
- package/dist/src/pages/account/Help/AccountHelpPage.js +36 -10
- package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js +40 -14
- package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js +39 -13
- package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +39 -13
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js +31 -5
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservation.js +39 -13
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservationResults.js +40 -14
- package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRow.js +40 -14
- package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRowModal.js +39 -13
- package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfo.js +36 -10
- package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js +28 -2
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddon.js +6 -3
- package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +35 -9
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +29 -3
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonValidator.js +4 -1
- package/dist/src/pages/steps/StepAddon/StepAddonValidator.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js +6 -3
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +41 -15
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +29 -3
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js +4 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDate.js +6 -3
- package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.js +39 -13
- package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateValidator.js +4 -1
- package/dist/src/pages/steps/StepDate/StepDateValidator.js.map +1 -1
- package/dist/src/pages/steps/StepGuide.js +29 -3
- package/dist/src/pages/steps/StepGuide.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotel.js +6 -3
- package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +39 -13
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +31 -5
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelValidator.js +4 -1
- package/dist/src/pages/steps/StepHotel/StepHotelValidator.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoom.js +6 -3
- package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +42 -16
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +29 -3
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomValidator.js +4 -1
- package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanks.js +7 -4
- package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +39 -13
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksValidator.js +4 -1
- package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
- package/dist/src/providers/CurrencyProvider.js +4 -1
- package/dist/src/providers/CurrencyProvider.js.map +1 -1
- package/dist/src/providers/DIProvider.js +24 -1
- package/dist/src/providers/DIProvider.js.map +1 -1
- package/dist/src/providers/FeatureProvider.d.ts +2 -2
- package/dist/src/providers/FeatureProvider.js +12 -9
- package/dist/src/providers/FeatureProvider.js.map +1 -1
- package/dist/src/providers/FilterProvider.js +4 -1
- package/dist/src/providers/FilterProvider.js.map +1 -1
- package/dist/src/providers/LanguageProvider.js +6 -3
- package/dist/src/providers/LanguageProvider.js.map +1 -1
- package/dist/src/providers/PromotionProvider.js +7 -4
- package/dist/src/providers/PromotionProvider.js.map +1 -1
- package/dist/src/providers/RoomstayThemeEngine.js +35 -9
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
- package/dist/src/providers/SessionProvider.js +9 -6
- package/dist/src/providers/SessionProvider.js.map +1 -1
- package/dist/src/providers/feature/InlineAddonStepFeature.js +5 -2
- package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
- package/dist/src/providers/storage/LocalStorageProvider.js +24 -1
- package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -1
- package/dist/src/reducers/BasketReducer.js +7 -4
- package/dist/src/reducers/BasketReducer.js.map +1 -1
- package/dist/src/routes/NaturallyProgressedStepRoute.js +33 -7
- package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -1
- package/dist/src/stories/Alert.stories.d.ts +5 -0
- package/dist/src/stories/Alert.stories.js +42 -0
- package/dist/src/stories/Alert.stories.js.map +1 -0
- package/dist/src/stories/{Button.stories.d.ts → BEButton.stories.d.ts} +1 -1
- package/dist/src/stories/BEButton.stories.js +43 -0
- package/dist/src/stories/BEButton.stories.js.map +1 -0
- package/dist/src/stories/BackButton.stories.d.ts +5 -0
- package/dist/src/stories/BackButton.stories.js +40 -0
- package/dist/src/stories/BackButton.stories.js.map +1 -0
- package/dist/src/stories/BookNowPayLaterInfoBlock.stories.d.ts +5 -0
- package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js +37 -0
- package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js.map +1 -0
- package/dist/src/stories/BookingWizard.stories.d.ts +9 -0
- package/dist/src/stories/BookingWizard.stories.js +58 -0
- package/dist/src/stories/BookingWizard.stories.js.map +1 -0
- package/dist/src/stories/Card.stories.d.ts +3 -3
- package/dist/src/stories/Card.stories.js +4 -1
- package/dist/src/stories/Card.stories.js.map +1 -1
- package/dist/src/stories/CardTypeSelect.stories.d.ts +5 -0
- package/dist/src/stories/CardTypeSelect.stories.js +37 -0
- package/dist/src/stories/CardTypeSelect.stories.js.map +1 -0
- package/dist/src/stories/Checkbox.stories.js +28 -2
- package/dist/src/stories/Checkbox.stories.js.map +1 -1
- package/dist/src/stories/ConfirmationModal.stories.d.ts +5 -0
- package/dist/src/stories/ConfirmationModal.stories.js +45 -0
- package/dist/src/stories/ConfirmationModal.stories.js.map +1 -0
- package/dist/src/stories/Countdown.stories.d.ts +5 -0
- package/dist/src/stories/Countdown.stories.js +43 -0
- package/dist/src/stories/Countdown.stories.js.map +1 -0
- package/dist/src/stories/Currency.stories.d.ts +5 -0
- package/dist/src/stories/Currency.stories.js +42 -0
- package/dist/src/stories/Currency.stories.js.map +1 -0
- package/dist/src/stories/DateRangePicker.stories.d.ts +8 -0
- package/dist/src/stories/DateRangePicker.stories.js +80 -0
- package/dist/src/stories/DateRangePicker.stories.js.map +1 -0
- package/dist/src/stories/Distance.stories.d.ts +5 -0
- package/dist/src/stories/Distance.stories.js +42 -0
- package/dist/src/stories/Distance.stories.js.map +1 -0
- package/dist/src/stories/EnhancedPhoneNumberField.stories.js +28 -2
- package/dist/src/stories/EnhancedPhoneNumberField.stories.js.map +1 -1
- package/dist/src/stories/ErrorModal.stories.d.ts +5 -0
- package/dist/src/stories/ErrorModal.stories.js +46 -0
- package/dist/src/stories/ErrorModal.stories.js.map +1 -0
- package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +6 -0
- package/dist/src/stories/FloatingDateRangePicker.stories.js +75 -0
- package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -0
- package/dist/src/stories/ForwardedSelect.stories.d.ts +5 -0
- package/dist/src/stories/ForwardedSelect.stories.js +51 -0
- package/dist/src/stories/ForwardedSelect.stories.js.map +1 -0
- package/dist/src/stories/Headline.stories.d.ts +5 -0
- package/dist/src/stories/Headline.stories.js +42 -0
- package/dist/src/stories/Headline.stories.js.map +1 -0
- package/dist/src/stories/Icon.stories.js +25 -2
- package/dist/src/stories/Icon.stories.js.map +1 -1
- package/dist/src/stories/IconNavCard.stories.js +24 -1
- package/dist/src/stories/IconNavCard.stories.js.map +1 -1
- package/dist/src/stories/IconText.stories.js +28 -2
- package/dist/src/stories/IconText.stories.js.map +1 -1
- package/dist/src/stories/ImageLoader.stories.js +28 -2
- package/dist/src/stories/ImageLoader.stories.js.map +1 -1
- package/dist/src/stories/InputGroup.stories.js +28 -2
- package/dist/src/stories/InputGroup.stories.js.map +1 -1
- package/dist/src/stories/LargeLoader.stories.js +28 -2
- package/dist/src/stories/LargeLoader.stories.js.map +1 -1
- package/dist/src/stories/LineBreak.stories.d.ts +5 -0
- package/dist/src/stories/LineBreak.stories.js +40 -0
- package/dist/src/stories/LineBreak.stories.js.map +1 -0
- package/dist/src/stories/Notification.stories.d.ts +5 -0
- package/dist/src/stories/Notification.stories.js +46 -0
- package/dist/src/stories/Notification.stories.js.map +1 -0
- package/dist/src/stories/NumberIncrement.stories.d.ts +5 -0
- package/dist/src/stories/NumberIncrement.stories.js +46 -0
- package/dist/src/stories/NumberIncrement.stories.js.map +1 -0
- package/dist/src/stories/PasswordBox.stories.js +24 -1
- package/dist/src/stories/PasswordBox.stories.js.map +1 -1
- package/dist/src/stories/PaymentCard.stories.d.ts +4 -0
- package/dist/src/stories/PaymentCard.stories.js +47 -0
- package/dist/src/stories/PaymentCard.stories.js.map +1 -0
- package/dist/src/stories/PaymentCardInput.stories.d.ts +6 -0
- package/dist/src/stories/PaymentCardInput.stories.js +51 -0
- package/dist/src/stories/PaymentCardInput.stories.js.map +1 -0
- package/dist/src/stories/Pill.stories.d.ts +5 -0
- package/dist/src/stories/Pill.stories.js +42 -0
- package/dist/src/stories/Pill.stories.js.map +1 -0
- package/dist/src/stories/Placeholder.stories.d.ts +5 -0
- package/dist/src/stories/Placeholder.stories.js +45 -0
- package/dist/src/stories/Placeholder.stories.js.map +1 -0
- package/dist/src/stories/PlanpayButton.stories.d.ts +5 -0
- package/dist/src/stories/PlanpayButton.stories.js +39 -0
- package/dist/src/stories/PlanpayButton.stories.js.map +1 -0
- package/dist/src/stories/PromoCodeInput.stories.d.ts +5 -0
- package/dist/src/stories/PromoCodeInput.stories.js +40 -0
- package/dist/src/stories/PromoCodeInput.stories.js.map +1 -0
- package/dist/src/stories/RadioButton.stories.d.ts +6 -0
- package/dist/src/stories/RadioButton.stories.js +47 -0
- package/dist/src/stories/RadioButton.stories.js.map +1 -0
- package/dist/src/stories/RadioButtonGroup.stories.d.ts +5 -0
- package/dist/src/stories/RadioButtonGroup.stories.js +55 -0
- package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -0
- package/dist/src/stories/RadioFields.stories.d.ts +5 -0
- package/dist/src/stories/RadioFields.stories.js +54 -0
- package/dist/src/stories/RadioFields.stories.js.map +1 -0
- package/dist/src/stories/SSLSecureBadge.stories.js +5 -2
- package/dist/src/stories/SSLSecureBadge.stories.js.map +1 -1
- package/dist/src/stories/Select.stories.d.ts +25 -0
- package/dist/src/stories/Select.stories.js +96 -0
- package/dist/src/stories/Select.stories.js.map +1 -0
- package/dist/src/stories/SimpleModal.stories.d.ts +5 -0
- package/dist/src/stories/SimpleModal.stories.js +52 -0
- package/dist/src/stories/SimpleModal.stories.js.map +1 -0
- package/dist/src/stories/Slider.stories.d.ts +10 -0
- package/dist/src/stories/Slider.stories.js +53 -0
- package/dist/src/stories/Slider.stories.js.map +1 -0
- package/dist/src/stories/SmallSpinner.stories.js +28 -2
- package/dist/src/stories/SmallSpinner.stories.js.map +1 -1
- package/dist/src/stories/TabbedModal.stories.d.ts +5 -0
- package/dist/src/stories/TabbedModal.stories.js +61 -0
- package/dist/src/stories/TabbedModal.stories.js.map +1 -0
- package/dist/src/stories/Tabs.stories.d.ts +5 -0
- package/dist/src/stories/Tabs.stories.js +52 -0
- package/dist/src/stories/Tabs.stories.js.map +1 -0
- package/dist/src/stories/Text.stories.d.ts +5 -0
- package/dist/src/stories/Text.stories.js +42 -0
- package/dist/src/stories/Text.stories.js.map +1 -0
- package/dist/src/stories/TextArea.stories.d.ts +5 -0
- package/dist/src/stories/TextArea.stories.js +40 -0
- package/dist/src/stories/TextArea.stories.js.map +1 -0
- package/dist/src/stories/TextBox.stories.d.ts +5 -0
- package/dist/src/stories/TextBox.stories.js +40 -0
- package/dist/src/stories/TextBox.stories.js.map +1 -0
- package/dist/src/stories/Tooltip.stories.d.ts +5 -0
- package/dist/src/stories/Tooltip.stories.js +43 -0
- package/dist/src/stories/Tooltip.stories.js.map +1 -0
- package/dist/src/util/CalendarHelper.d.ts +1 -1
- package/dist/src/util/CalendarHelper.js +5 -2
- package/dist/src/util/CalendarHelper.js.map +1 -1
- package/dist/src/util/DataLayer.js +30 -4
- package/dist/src/util/DataLayer.js.map +1 -1
- package/dist/src/util/ObjectHelper.js +1 -1
- package/dist/src/util/ObjectHelper.js.map +1 -1
- package/dist/src/util/PaymentCardHelper.js +4 -1
- package/dist/src/util/PaymentCardHelper.js.map +1 -1
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +4 -1
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -1
- package/dist/tests/jest/events/EventManager.test.js +5 -2
- package/dist/tests/jest/events/EventManager.test.js.map +1 -1
- package/dist/tests/jest/models/RoomRate.test.js +5 -2
- package/dist/tests/jest/models/RoomRate.test.js.map +1 -1
- package/dist/tests/jest/providers/LanguageProvider.test.js +11 -0
- package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -1
- package/dist/tests/jest/providers/SessionProvider.test.js +26 -15
- package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -1
- package/dist/tests/jest/reducers/BasketReducer.test.js +4 -1
- package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -1
- package/dist/tests/offline/RoomstayBestRateAlert.js +29 -3
- package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -1
- package/dist/tests/offline/entry/RSCompany.js +13 -1
- package/dist/tests/offline/entry/RSCompany.js.map +1 -1
- package/dist/tests/offline/entry/ReactWrapper.js +105 -9
- package/dist/tests/offline/entry/ReactWrapper.js.map +1 -1
- package/dist/tests/offline/entry/allEngines.js +32 -6
- package/dist/tests/offline/entry/allEngines.js.map +1 -1
- package/dist/tests/offline/entry/components/TestPicker.js +79 -36
- package/dist/tests/offline/entry/components/TestPicker.js.map +1 -1
- package/dist/tests/setupTests.js +2 -0
- package/dist/tests/setupTests.js.map +1 -1
- package/dist/vendors.bundle.js +1 -1
- package/dist/vendors.bundle.js.LICENSE.txt +5 -9
- package/package.json +10 -7
- package/dist/src/components/generic/BESelect.d.ts +0 -16
- package/dist/src/components/generic/BESelect.js +0 -12
- package/dist/src/components/generic/BESelect.js.map +0 -1
- package/dist/src/components/generic/Select.d.ts +0 -11
- package/dist/src/components/generic/Select.js +0 -18
- package/dist/src/components/generic/Select.js.map +0 -1
- package/dist/src/stories/Button.stories.js +0 -17
- package/dist/src/stories/Button.stories.js.map +0 -1
- package/dist/test.bundle.js +0 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.Default = void 0;
|
|
30
|
+
const React = __importStar(require("react"));
|
|
31
|
+
const Tooltip_1 = __importDefault(require("components/generic/Tooltip/Tooltip"));
|
|
32
|
+
exports.default = {
|
|
33
|
+
title: 'generic/Tooltip/Tooltip',
|
|
34
|
+
component: Tooltip_1.default,
|
|
35
|
+
argTypes: {},
|
|
36
|
+
};
|
|
37
|
+
const Template = (args) => React.createElement(Tooltip_1.default, Object.assign({}, args));
|
|
38
|
+
exports.Default = Template.bind({});
|
|
39
|
+
exports.Default.args = {
|
|
40
|
+
children: 'Hover me',
|
|
41
|
+
title: 'Tooltip',
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=Tooltip.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.stories.js","sourceRoot":"/","sources":["src/stories/Tooltip.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAG/B,iFAAyD;AAEzD,kBAAe;IACX,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,iBAAO;IAClB,QAAQ,EAAE,EAAE;CACkB,CAAC;AAEnC,MAAM,QAAQ,GAAmC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAC,iBAAO,oBAAK,IAAI,EAAI,CAAC;AAEpE,QAAA,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,eAAO,CAAC,IAAI,GAAG;IACX,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,SAAS;CACnB,CAAC","sourcesContent":["import * as React from 'react';\nimport { ComponentStory, ComponentMeta } from '@storybook/react';\n\nimport Tooltip from 'components/generic/Tooltip/Tooltip';\n\nexport default {\n title: 'generic/Tooltip/Tooltip',\n component: Tooltip,\n argTypes: {},\n} as ComponentMeta<typeof Tooltip>;\n\nconst Template: ComponentStory<typeof Tooltip> = (args) => <Tooltip {...args} />;\n\nexport const Default = Template.bind({});\nDefault.args = {\n children: 'Hover me',\n title: 'Tooltip',\n};\n"]}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.getLetterDaysOfWeek = void 0;
|
|
4
|
-
const
|
|
7
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
5
8
|
const getLetterDaysOfWeek = (startsWeekOnDay) => {
|
|
6
9
|
if (startsWeekOnDay === 'monday') {
|
|
7
10
|
return ['M', 'T', 'W', 'T', 'F', 'S', 'S'];
|
|
@@ -53,7 +56,7 @@ CalendarHelper.getMonthArray = (date) => {
|
|
|
53
56
|
const diff = monthEnd.diff(monthStart, 'day');
|
|
54
57
|
const days = [];
|
|
55
58
|
for (let i = 0; i < diff; i++) {
|
|
56
|
-
days.push(
|
|
59
|
+
days.push((0, dayjs_1.default)(monthStart.add(i, 'day')));
|
|
57
60
|
}
|
|
58
61
|
return days;
|
|
59
62
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarHelper.js","sourceRoot":"/","sources":["src/util/CalendarHelper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CalendarHelper.js","sourceRoot":"/","sources":["src/util/CalendarHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\nimport { WeekdayStartsOn } from 'models/Client/Hotel/WeekdayStartsOn.types';\n\nexport const getLetterDaysOfWeek = (startsWeekOnDay: string) => {\n if (startsWeekOnDay === 'monday') {\n return ['M', 'T', 'W', 'T', 'F', 'S', 'S'];\n } else {\n return ['S', 'M', 'T', 'W', 'T', 'F', 'S'];\n }\n};\n\nexport default class CalendarHelper {\n /**\n * Returns an array always divisible by 7,\n *\n * Essentially no matter what what month is given, this function will always return the same number of days;\n * with each MOD 7 index representing the correct date.\n */\n public static getWeekPaddedMonthArrayForDate = (startWeekOnDay: WeekdayStartsOn, date: dayjs.Dayjs): string[] => {\n const monthStart = date.startOf('month');\n const monthEnd = date.endOf('month');\n // Get the day start so we know how many days we have to left pad\n let startDayIndex = parseInt(monthStart.format('d'), 10);\n\n if (startWeekOnDay === 'monday') {\n if (startDayIndex !== 0) {\n startDayIndex--;\n } else {\n startDayIndex = 6;\n }\n }\n // Get the end day so we can right pad 6 - x;\n const endDateNumber = parseInt(monthEnd.format('D'), 10);\n\n // We gotta pad it at the start, we'll do the same at the end\n const dayArray: string[] = [];\n\n for (let i = 0; i < endDateNumber + startDayIndex; i++) {\n if (i >= startDayIndex) {\n dayArray.push(String(i + 1 - startDayIndex));\n } else {\n dayArray.push('');\n }\n }\n\n return dayArray;\n };\n\n public static getMonthArray = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const monthStart = date.startOf('month');\n const monthEnd = date.endOf('month');\n\n const diff = monthEnd.diff(monthStart, 'day');\n\n const days = [];\n\n for (let i = 0; i < diff; i++) {\n days.push(dayjs(monthStart.add(i, 'day')));\n }\n\n return days;\n };\n\n public static getWeekFrom = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n\n for (let i = 1; i <= 7; i++) {\n days.push(date.add(i, 'day'));\n }\n\n return days;\n };\n\n public static getWeekTo = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n\n for (let i = 1; i <= 7; i++) {\n days.push(date.subtract(i, 'day'));\n }\n\n return days;\n };\n\n public static getDaysBetween = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n const diff = endDate.diff(startDate, 'day');\n\n for (let i = 0; i <= diff + 7; i++) {\n days.push(startDate.add(i, 'day'));\n }\n\n return days;\n };\n}\n"]}
|
|
@@ -1,9 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
2
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
29
|
exports.InteractionStep = exports.InteractionType = void 0;
|
|
4
|
-
const react_gtm_module_1 = require("react-gtm-module");
|
|
5
|
-
const
|
|
6
|
-
const Sentry = require("@sentry/browser");
|
|
30
|
+
const react_gtm_module_1 = __importDefault(require("react-gtm-module"));
|
|
31
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
32
|
+
const Sentry = __importStar(require("@sentry/browser"));
|
|
7
33
|
const types_1 = require("@sentry/types");
|
|
8
34
|
const DATALAYER_DATE_FORMAT = 'YYYY-M-D';
|
|
9
35
|
class DataLayer {
|
|
@@ -235,7 +261,7 @@ class DataLayer {
|
|
|
235
261
|
},
|
|
236
262
|
StartDate: row.getStartDate().format(DATALAYER_DATE_FORMAT),
|
|
237
263
|
EndDate: row.getEndDate().format(DATALAYER_DATE_FORMAT),
|
|
238
|
-
BookingDate:
|
|
264
|
+
BookingDate: (0, dayjs_1.default)().format(DATALAYER_DATE_FORMAT),
|
|
239
265
|
PageType: 'conversion',
|
|
240
266
|
paymentType: reservations.reservations[i].paymentMethod,
|
|
241
267
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataLayer.js","sourceRoot":"/","sources":["src/util/DataLayer.ts"],"names":[],"mappings":"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","sourcesContent":["import TagManager from 'react-gtm-module';\nimport { RoomRate } from 'models/Room/RoomRate';\nimport { Room } from 'models/Room/Room';\nimport * as dayjs from 'dayjs';\nimport { Dayjs } from 'dayjs';\nimport BasketRow from 'models/BasketRow';\nimport BasketAddonRow from 'models/BasketAddonRow';\nimport ReservationsDTO from 'models/Api/ReservationsDTO';\nimport * as Sentry from '@sentry/browser';\nimport { Severity } from '@sentry/types';\nimport { ConfigCompany, HasDatalayerTags } from 'models/Client/Hotel/Company';\n\nconst DATALAYER_DATE_FORMAT = 'YYYY-M-D';\nexport default class DataLayer {\n static instance = new DataLayer();\n\n private enableLogging = true;\n\n private hotelName: string;\n private providerHotelID: string;\n\n private originalCurrencyCode?: string;\n\n private impressions: Product[] = [];\n\n private brandSuffix?: ConfigCompany['brandSuffix'];\n\n // TODO: Move this GTM initialize call to config, so gtm IDs are always in Client world\n static initialiseGTM(hotelConfig?: HasDatalayerTags) {\n const gtmIds = hotelConfig?.datalayer?.gtmIds;\n gtmIds.forEach((gtmId) => {\n TagManager.initialize({ gtmId });\n });\n }\n\n public setProviderHotelID(id: string) {\n this.providerHotelID = id;\n }\n\n public setHotelName(hotelName: string) {\n this.hotelName = hotelName;\n }\n\n public setCurrencyCodes(currentCurrencyCode: string, originalCurrencyCode?: string) {\n if (originalCurrencyCode) {\n this.originalCurrencyCode = originalCurrencyCode;\n }\n }\n\n public setBrandSuffix(brandSuffix?: ConfigCompany['brandSuffix']) {\n this.brandSuffix = brandSuffix;\n }\n\n generateProductInfo(room: Room, rate?: RoomRate, listPosition?: number, quantity?: number): Product {\n const price = rate ? rate.getAveragePrice() : room.getLowestPrice();\n const nameParts = [room.name];\n const idParts = [this.providerHotelID, room.code];\n if (rate) {\n nameParts.push(rate.name);\n idParts.push(rate.code);\n }\n\n const product: Product = {\n name: nameParts.join(' - '),\n id: idParts.join(' - '),\n price: price,\n brand: [this.hotelName, this.providerHotelID, this.brandSuffix].filter(Boolean).join(' - '),\n category: room.name,\n };\n\n if (rate) {\n product.variant = rate.name;\n }\n\n if (listPosition !== undefined) {\n product.list = 'BE List';\n product.position = listPosition;\n }\n\n if (quantity !== undefined) {\n product.quantity = quantity;\n }\n\n return product;\n }\n\n generateAddonProductInfo(addonRow: BasketAddonRow): Product {\n const addon = addonRow.getAddon();\n return {\n name: addon.name,\n id: addon.code,\n price: addonRow.getTotalPrice(),\n brand: [this.hotelName, this.providerHotelID, this.brandSuffix].filter(Boolean).join(' - '),\n category: addon.category,\n quantity: addonRow.getTotalQuantity(),\n };\n }\n\n addRoomImpression(room: Room) {\n const product = this.generateProductInfo(room, undefined, this.impressions.length + 1);\n this.log('room impression', product);\n this.impressions.push(product);\n }\n\n addRoomRateImpression(room: Room, rate: RoomRate) {\n const product = this.generateProductInfo(room, rate, this.impressions.length + 1);\n this.log('rate impression', product);\n this.impressions.push(product);\n }\n\n sendRoomImpressions() {\n this.log('sending ' + this.impressions.length + ' impressions');\n\n if (this.impressions.length > 0) {\n TagManager.dataLayer({\n dataLayer: {\n event: 'Product impressions',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n impressions: this.impressions,\n },\n },\n });\n\n this.impressions = [];\n }\n }\n\n sendRoomClick(room: Room, startDate: Dayjs, endDate: Dayjs) {\n const product = this.generateProductInfo(room);\n this.log('sending room rate click', product);\n TagManager.dataLayer({\n dataLayer: {\n event: 'productClick',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n click: {\n products: [product],\n },\n StartDate: startDate.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate.format(DATALAYER_DATE_FORMAT),\n },\n },\n });\n }\n\n sendAwayWindowOpen() {\n this.log('away window triggered');\n TagManager.dataLayer({\n dataLayer: {\n event: 'awayWindow',\n },\n });\n }\n\n sendRoomRateAddToCart(rate: RoomRate, quantity: number, startDate: Dayjs, endDate: Dayjs) {\n const product = this.generateProductInfo(rate.getRoom(), rate, undefined, quantity);\n this.log('sending room rate add to cart', product);\n TagManager.dataLayer({\n dataLayer: {\n event: 'addToCart',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n add: {\n products: [product],\n },\n StartDate: startDate.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate.format(DATALAYER_DATE_FORMAT),\n },\n },\n });\n }\n\n sendUpsellCancelled(rate: RoomRate) {\n const product = this.generateProductInfo(rate.getRoom(), rate, undefined, undefined);\n\n this.log('sending room upgrade cancellation event');\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'upsellCancelled',\n item: [product],\n },\n });\n }\n\n sendUpsellConfirmed(oldRate: RoomRate, newRate: RoomRate) {\n this.log('sending room upgrade notification');\n\n const oldProduct = this.generateProductInfo(oldRate.getRoom(), oldRate, undefined, undefined);\n const newProduct = this.generateProductInfo(newRate.getRoom(), newRate, undefined, undefined);\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'upsellConfirmed',\n priceDifference: newRate.getTotalPrice() - oldRate.getTotalPrice(),\n old: {\n products: [oldProduct],\n },\n new: {\n products: [newProduct],\n },\n },\n });\n }\n\n sendRoomView(startDate: Dayjs, endDate: Dayjs) {\n this.log('sending room view');\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'room',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n StartDate: startDate?.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate?.format(DATALAYER_DATE_FORMAT),\n PageType: 'offerdetail',\n },\n },\n });\n }\n\n sendCheckoutView(basketRows: BasketRow[], addonRows: BasketAddonRow[]) {\n const products: Product[] = [];\n\n let startDate: Dayjs;\n let endDate: Dayjs;\n\n basketRows.forEach((row) => {\n startDate = row.getStartDate();\n endDate = row.getEndDate();\n products.push(this.generateProductInfo(row.getRoom(), row.getRate(), undefined, row.getNumberOfDays()));\n });\n\n addonRows.forEach((row) => {\n products.push(this.generateAddonProductInfo(row));\n });\n\n this.log('sending checkout view', products);\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'checkout',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n checkout: {\n actionField: { step: 1 },\n products,\n },\n StartDate: startDate?.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate?.format(DATALAYER_DATE_FORMAT),\n PageType: 'conversionintent',\n },\n },\n });\n }\n\n sendReservationConfirmed(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO) {\n let i = 0;\n basketRows.forEach((row) => {\n const products = [this.generateProductInfo(row.getRoom(), row.getRate(), undefined, row.getNumberOfDays())];\n\n if (i === 0) {\n addonRows.forEach((addonRow) => {\n products.push(this.generateAddonProductInfo(addonRow));\n });\n }\n\n this.log('sending reservation confirmation', products);\n\n try {\n TagManager.dataLayer({\n dataLayer: {\n event: 'roomPurchase',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n purchase: {\n actionField: {\n id: reservations.reservations[i].reservationNumber,\n revenue: reservations.reservations[i].total.afterTax,\n tax: reservations.reservations[i].total.afterTax - reservations.reservations[i].total.beforeTax,\n coupon: row.getPromoCode(),\n },\n products,\n },\n StartDate: row.getStartDate().format(DATALAYER_DATE_FORMAT),\n EndDate: row.getEndDate().format(DATALAYER_DATE_FORMAT),\n BookingDate: dayjs().format(DATALAYER_DATE_FORMAT),\n PageType: 'conversion',\n paymentType: reservations.reservations[i].paymentMethod,\n },\n },\n });\n } catch (e) {\n Sentry.addBreadcrumb({\n level: Severity.Error,\n message: 'sending reservation confirmation failed',\n data: { ...reservations, index: i },\n });\n Sentry.captureException(e);\n }\n\n i++;\n });\n }\n\n sendMemberSignUp() {\n TagManager.dataLayer({\n dataLayer: {\n event: 'Email Sign up',\n },\n });\n }\n\n sendInteraction(name: string, type: InteractionType, step: InteractionStep) {\n const interaction = {\n 'Interaction Name': name,\n 'Interaction Type': type,\n 'Interaction Step': step,\n };\n\n this.log('sending interaction', interaction);\n\n TagManager.dataLayer({\n dataLayer: interaction,\n });\n }\n\n sendCancellation(reservationNumber: string) {\n this.log('sending cancellation for reservation ' + reservationNumber);\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'refund',\n ecommerce: {\n refund: {\n actionField: {\n id: reservationNumber,\n },\n },\n },\n },\n });\n }\n\n protected log(...output: any) {\n if (!this.enableLogging) {\n return;\n }\n\n console.log(\n '[DATALAYER]: ' +\n output\n .map((it: any) => {\n if (typeof it === 'object') {\n return JSON.stringify(it);\n }\n return it;\n })\n .join('; ')\n );\n }\n}\n\ntype Product = {\n name: string; // <Put the Room Variant here example - ‘BAE - Best Available Everyday - Superoo’>\n id: string; // <Put the SKU for Room variant here example - ‘62991 - VEK - 04BAE’>\n price: number; // <Put the PER DAY price of room>\n brand: string; // <Put the hotel brand here example - ‘Australia - Ovolo Woolloomooloo - 62991’>\n category: string; // <Put the Category of room here example - ‘Superoo’>\n variant?: string; // <Put the Variant of room here example - ‘BAE - Best Available Everyday - Prepaid Rate’>\n list?: string; // <Put ‘BE List’ if shown in Booking Engine else put ‘Hotel List’>\n position?: number; // <Put the position of hotel in the list here example 1’>\n quantity?: number; // <Put the rooms X nights>\n};\n\nexport enum InteractionType {\n NUMBER_INPUT = '+-widget',\n CALENDAR = 'Calendar',\n BUTTON = 'Button',\n DROPDOWN = 'Dropdown',\n LINK_DROPDOWN = 'Link dropdown',\n LINK = 'Link',\n FORM_FIELD = 'Form field',\n CHECKBOX = 'Checkbox',\n}\n\nexport enum InteractionStep {\n DATES = 'Dates',\n ROOMS = 'Rooms',\n GUEST_DETAILS = 'Guest Details',\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DataLayer.js","sourceRoot":"/","sources":["src/util/DataLayer.ts"],"names":[],"mappings":"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","sourcesContent":["import TagManager from 'react-gtm-module';\nimport { RoomRate } from 'models/Room/RoomRate';\nimport { Room } from 'models/Room/Room';\nimport dayjs from 'dayjs';\nimport { Dayjs } from 'dayjs';\nimport BasketRow from 'models/BasketRow';\nimport BasketAddonRow from 'models/BasketAddonRow';\nimport ReservationsDTO from 'models/Api/ReservationsDTO';\nimport * as Sentry from '@sentry/browser';\nimport { Severity } from '@sentry/types';\nimport { ConfigCompany, HasDatalayerTags } from 'models/Client/Hotel/Company';\n\nconst DATALAYER_DATE_FORMAT = 'YYYY-M-D';\nexport default class DataLayer {\n static instance = new DataLayer();\n\n private enableLogging = true;\n\n private hotelName: string;\n private providerHotelID: string;\n\n private originalCurrencyCode?: string;\n\n private impressions: Product[] = [];\n\n private brandSuffix?: ConfigCompany['brandSuffix'];\n\n // TODO: Move this GTM initialize call to config, so gtm IDs are always in Client world\n static initialiseGTM(hotelConfig?: HasDatalayerTags) {\n const gtmIds = hotelConfig?.datalayer?.gtmIds;\n gtmIds.forEach((gtmId) => {\n TagManager.initialize({ gtmId });\n });\n }\n\n public setProviderHotelID(id: string) {\n this.providerHotelID = id;\n }\n\n public setHotelName(hotelName: string) {\n this.hotelName = hotelName;\n }\n\n public setCurrencyCodes(currentCurrencyCode: string, originalCurrencyCode?: string) {\n if (originalCurrencyCode) {\n this.originalCurrencyCode = originalCurrencyCode;\n }\n }\n\n public setBrandSuffix(brandSuffix?: ConfigCompany['brandSuffix']) {\n this.brandSuffix = brandSuffix;\n }\n\n generateProductInfo(room: Room, rate?: RoomRate, listPosition?: number, quantity?: number): Product {\n const price = rate ? rate.getAveragePrice() : room.getLowestPrice();\n const nameParts = [room.name];\n const idParts = [this.providerHotelID, room.code];\n if (rate) {\n nameParts.push(rate.name);\n idParts.push(rate.code);\n }\n\n const product: Product = {\n name: nameParts.join(' - '),\n id: idParts.join(' - '),\n price: price,\n brand: [this.hotelName, this.providerHotelID, this.brandSuffix].filter(Boolean).join(' - '),\n category: room.name,\n };\n\n if (rate) {\n product.variant = rate.name;\n }\n\n if (listPosition !== undefined) {\n product.list = 'BE List';\n product.position = listPosition;\n }\n\n if (quantity !== undefined) {\n product.quantity = quantity;\n }\n\n return product;\n }\n\n generateAddonProductInfo(addonRow: BasketAddonRow): Product {\n const addon = addonRow.getAddon();\n return {\n name: addon.name,\n id: addon.code,\n price: addonRow.getTotalPrice(),\n brand: [this.hotelName, this.providerHotelID, this.brandSuffix].filter(Boolean).join(' - '),\n category: addon.category,\n quantity: addonRow.getTotalQuantity(),\n };\n }\n\n addRoomImpression(room: Room) {\n const product = this.generateProductInfo(room, undefined, this.impressions.length + 1);\n this.log('room impression', product);\n this.impressions.push(product);\n }\n\n addRoomRateImpression(room: Room, rate: RoomRate) {\n const product = this.generateProductInfo(room, rate, this.impressions.length + 1);\n this.log('rate impression', product);\n this.impressions.push(product);\n }\n\n sendRoomImpressions() {\n this.log('sending ' + this.impressions.length + ' impressions');\n\n if (this.impressions.length > 0) {\n TagManager.dataLayer({\n dataLayer: {\n event: 'Product impressions',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n impressions: this.impressions,\n },\n },\n });\n\n this.impressions = [];\n }\n }\n\n sendRoomClick(room: Room, startDate: Dayjs, endDate: Dayjs) {\n const product = this.generateProductInfo(room);\n this.log('sending room rate click', product);\n TagManager.dataLayer({\n dataLayer: {\n event: 'productClick',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n click: {\n products: [product],\n },\n StartDate: startDate.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate.format(DATALAYER_DATE_FORMAT),\n },\n },\n });\n }\n\n sendAwayWindowOpen() {\n this.log('away window triggered');\n TagManager.dataLayer({\n dataLayer: {\n event: 'awayWindow',\n },\n });\n }\n\n sendRoomRateAddToCart(rate: RoomRate, quantity: number, startDate: Dayjs, endDate: Dayjs) {\n const product = this.generateProductInfo(rate.getRoom(), rate, undefined, quantity);\n this.log('sending room rate add to cart', product);\n TagManager.dataLayer({\n dataLayer: {\n event: 'addToCart',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n add: {\n products: [product],\n },\n StartDate: startDate.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate.format(DATALAYER_DATE_FORMAT),\n },\n },\n });\n }\n\n sendUpsellCancelled(rate: RoomRate) {\n const product = this.generateProductInfo(rate.getRoom(), rate, undefined, undefined);\n\n this.log('sending room upgrade cancellation event');\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'upsellCancelled',\n item: [product],\n },\n });\n }\n\n sendUpsellConfirmed(oldRate: RoomRate, newRate: RoomRate) {\n this.log('sending room upgrade notification');\n\n const oldProduct = this.generateProductInfo(oldRate.getRoom(), oldRate, undefined, undefined);\n const newProduct = this.generateProductInfo(newRate.getRoom(), newRate, undefined, undefined);\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'upsellConfirmed',\n priceDifference: newRate.getTotalPrice() - oldRate.getTotalPrice(),\n old: {\n products: [oldProduct],\n },\n new: {\n products: [newProduct],\n },\n },\n });\n }\n\n sendRoomView(startDate: Dayjs, endDate: Dayjs) {\n this.log('sending room view');\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'room',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n StartDate: startDate?.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate?.format(DATALAYER_DATE_FORMAT),\n PageType: 'offerdetail',\n },\n },\n });\n }\n\n sendCheckoutView(basketRows: BasketRow[], addonRows: BasketAddonRow[]) {\n const products: Product[] = [];\n\n let startDate: Dayjs;\n let endDate: Dayjs;\n\n basketRows.forEach((row) => {\n startDate = row.getStartDate();\n endDate = row.getEndDate();\n products.push(this.generateProductInfo(row.getRoom(), row.getRate(), undefined, row.getNumberOfDays()));\n });\n\n addonRows.forEach((row) => {\n products.push(this.generateAddonProductInfo(row));\n });\n\n this.log('sending checkout view', products);\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'checkout',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n checkout: {\n actionField: { step: 1 },\n products,\n },\n StartDate: startDate?.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate?.format(DATALAYER_DATE_FORMAT),\n PageType: 'conversionintent',\n },\n },\n });\n }\n\n sendReservationConfirmed(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO) {\n let i = 0;\n basketRows.forEach((row) => {\n const products = [this.generateProductInfo(row.getRoom(), row.getRate(), undefined, row.getNumberOfDays())];\n\n if (i === 0) {\n addonRows.forEach((addonRow) => {\n products.push(this.generateAddonProductInfo(addonRow));\n });\n }\n\n this.log('sending reservation confirmation', products);\n\n try {\n TagManager.dataLayer({\n dataLayer: {\n event: 'roomPurchase',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n purchase: {\n actionField: {\n id: reservations.reservations[i].reservationNumber,\n revenue: reservations.reservations[i].total.afterTax,\n tax: reservations.reservations[i].total.afterTax - reservations.reservations[i].total.beforeTax,\n coupon: row.getPromoCode(),\n },\n products,\n },\n StartDate: row.getStartDate().format(DATALAYER_DATE_FORMAT),\n EndDate: row.getEndDate().format(DATALAYER_DATE_FORMAT),\n BookingDate: dayjs().format(DATALAYER_DATE_FORMAT),\n PageType: 'conversion',\n paymentType: reservations.reservations[i].paymentMethod,\n },\n },\n });\n } catch (e) {\n Sentry.addBreadcrumb({\n level: Severity.Error,\n message: 'sending reservation confirmation failed',\n data: { ...reservations, index: i },\n });\n Sentry.captureException(e);\n }\n\n i++;\n });\n }\n\n sendMemberSignUp() {\n TagManager.dataLayer({\n dataLayer: {\n event: 'Email Sign up',\n },\n });\n }\n\n sendInteraction(name: string, type: InteractionType, step: InteractionStep) {\n const interaction = {\n 'Interaction Name': name,\n 'Interaction Type': type,\n 'Interaction Step': step,\n };\n\n this.log('sending interaction', interaction);\n\n TagManager.dataLayer({\n dataLayer: interaction,\n });\n }\n\n sendCancellation(reservationNumber: string) {\n this.log('sending cancellation for reservation ' + reservationNumber);\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'refund',\n ecommerce: {\n refund: {\n actionField: {\n id: reservationNumber,\n },\n },\n },\n },\n });\n }\n\n protected log(...output: any) {\n if (!this.enableLogging) {\n return;\n }\n\n console.log(\n '[DATALAYER]: ' +\n output\n .map((it: any) => {\n if (typeof it === 'object') {\n return JSON.stringify(it);\n }\n return it;\n })\n .join('; ')\n );\n }\n}\n\ntype Product = {\n name: string; // <Put the Room Variant here example - ‘BAE - Best Available Everyday - Superoo’>\n id: string; // <Put the SKU for Room variant here example - ‘62991 - VEK - 04BAE’>\n price: number; // <Put the PER DAY price of room>\n brand: string; // <Put the hotel brand here example - ‘Australia - Ovolo Woolloomooloo - 62991’>\n category: string; // <Put the Category of room here example - ‘Superoo’>\n variant?: string; // <Put the Variant of room here example - ‘BAE - Best Available Everyday - Prepaid Rate’>\n list?: string; // <Put ‘BE List’ if shown in Booking Engine else put ‘Hotel List’>\n position?: number; // <Put the position of hotel in the list here example 1’>\n quantity?: number; // <Put the rooms X nights>\n};\n\nexport enum InteractionType {\n NUMBER_INPUT = '+-widget',\n CALENDAR = 'Calendar',\n BUTTON = 'Button',\n DROPDOWN = 'Dropdown',\n LINK_DROPDOWN = 'Link dropdown',\n LINK = 'Link',\n FORM_FIELD = 'Form field',\n CHECKBOX = 'Checkbox',\n}\n\nexport enum InteractionStep {\n DATES = 'Dates',\n ROOMS = 'Rooms',\n GUEST_DETAILS = 'Guest Details',\n}\n"]}
|
|
@@ -14,7 +14,7 @@ const mergeDeep = (target, source) => {
|
|
|
14
14
|
newObject[key] = (0, exports.mergeDeep)(target === null || target === void 0 ? void 0 : target[key], source === null || source === void 0 ? void 0 : source[key]);
|
|
15
15
|
}
|
|
16
16
|
else
|
|
17
|
-
Object.assign(newObject, { [key]: (source === null || source === void 0 ? void 0 : source[key]) || (target === null || target === void 0 ? void 0 : target[key]) });
|
|
17
|
+
Object.assign(newObject, { [key]: typeof (source === null || source === void 0 ? void 0 : source[key]) === 'string' ? source === null || source === void 0 ? void 0 : source[key] : (source === null || source === void 0 ? void 0 : source[key]) || (target === null || target === void 0 ? void 0 : target[key]) });
|
|
18
18
|
}
|
|
19
19
|
return newObject;
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectHelper.js","sourceRoot":"/","sources":["src/util/ObjectHelper.ts"],"names":[],"mappings":";;;AAEO,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAW,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAA7F,QAAA,QAAQ,YAAqF;AACnG,MAAM,OAAO,GAAG,CAAC,IAAU,EAAY,EAAE,CAAC,CAAC,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAA9E,QAAA,OAAO,WAAuE;AACpF,MAAM,SAAS,GAAG,CAAmC,MAAuB,EAAE,MAAoC,EAA8B,EAAE;IACrJ,IAAI,IAAA,gBAAQ,EAAC,MAAM,CAAC,IAAI,IAAA,gBAAQ,EAAC,MAAM,CAAC,EAAE;QACtC,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACvB,IAAI,IAAA,gBAAQ,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,IAAI,IAAA,gBAAQ,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,EAAE;gBACpD,SAAS,CAAC,GAAG,CAAC,GAAG,IAAA,iBAAS,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,CAAC;aAC5D;;gBAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,MAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAA,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ObjectHelper.js","sourceRoot":"/","sources":["src/util/ObjectHelper.ts"],"names":[],"mappings":";;;AAEO,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAW,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAA7F,QAAA,QAAQ,YAAqF;AACnG,MAAM,OAAO,GAAG,CAAC,IAAU,EAAY,EAAE,CAAC,CAAC,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAA9E,QAAA,OAAO,WAAuE;AACpF,MAAM,SAAS,GAAG,CAAmC,MAAuB,EAAE,MAAoC,EAA8B,EAAE;IACrJ,IAAI,IAAA,gBAAQ,EAAC,MAAM,CAAC,IAAI,IAAA,gBAAQ,EAAC,MAAM,CAAC,EAAE;QACtC,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACvB,IAAI,IAAA,gBAAQ,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,IAAI,IAAA,gBAAQ,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,EAAE;gBACpD,SAAS,CAAC,GAAG,CAAC,GAAG,IAAA,iBAAS,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,CAAC;aAC5D;;gBAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAA,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,MAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAA,EAAE,CAAC,CAAC;SAClI;QACD,OAAO,SAAS,CAAC;KACpB;;QAAM,OAAO,MAAM,CAAC;AACzB,CAAC,CAAC;AAXW,QAAA,SAAS,aAWpB","sourcesContent":["import { DeepPartial } from 'react-hook-form';\n\nexport const isObject = (item?: any): boolean => item && typeof item === 'object' && !Array.isArray(item);\nexport const getKeys = (item?: any): string[] => (isObject(item) ? Object.keys(item) : []);\nexport const mergeDeep = <TObject extends Record<any, any>>(target?: TObject | null, source?: DeepPartial<TObject> | null): TObject | null | undefined => {\n if (isObject(target) || isObject(source)) {\n const newObject: Record<any, any> = {};\n const allKeys = getKeys(target).concat(getKeys(source));\n for (const key of allKeys) {\n if (isObject(source?.[key]) || isObject(target?.[key])) {\n newObject[key] = mergeDeep(target?.[key], source?.[key]);\n } else Object.assign(newObject, { [key]: typeof source?.[key] === 'string' ? source?.[key] : source?.[key] || target?.[key] });\n }\n return newObject;\n } else return target;\n};\n"]}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.mapCardTypeToGraphic = void 0;
|
|
4
7
|
const PaymentCard_1 = require("models/PaymentCard");
|
|
5
|
-
const RoomstayThemeEngine_1 = require("providers/RoomstayThemeEngine");
|
|
8
|
+
const RoomstayThemeEngine_1 = __importDefault(require("providers/RoomstayThemeEngine"));
|
|
6
9
|
const CARD_ASSET_ROOT = 'assets/img/payment-cards';
|
|
7
10
|
const mapCardTypeToGraphic = (type) => {
|
|
8
11
|
switch (type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentCardHelper.js","sourceRoot":"/","sources":["src/util/PaymentCardHelper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PaymentCardHelper.js","sourceRoot":"/","sources":["src/util/PaymentCardHelper.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA+C;AAC/C,wFAAgE;AAWhE,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAE5C,MAAM,oBAAoB,GAAG,CAAC,IAAe,EAAe,EAAE;IACjE,QAAQ,IAAI,EAAE;QACV,KAAK,uBAAS,CAAC,IAAI,CAAC;QACpB,KAAK,uBAAS,CAAC,YAAY,CAAC;QAC5B,KAAK,uBAAS,CAAC,UAAU,CAAC;QAC1B,KAAK,uBAAS,CAAC,OAAO,CAAC;QACvB,KAAK,uBAAS,CAAC,eAAe,CAAC;QAC/B,KAAK,uBAAS,CAAC,GAAG,CAAC;QACnB,KAAK,uBAAS,CAAC,UAAU,CAAC;QAC1B,KAAK,uBAAS,CAAC,QAAQ,CAAC;QACxB,KAAK,uBAAS,CAAC,MAAM;YACjB,MAAM,OAAO,GAAG,GAAG,6BAAmB,CAAC,WAAW,EAAE,GAAG,eAAe,IAAI,IAAI,GAAG,CAAC;YAElF,OAAO;gBACH,aAAa,EAAE,GAAG,OAAO,2BAA2B;gBACpD,WAAW,EAAE,GAAG,OAAO,UAAU;gBACjC,eAAe,EAAE,GAAG,OAAO,UAAU;gBACrC,WAAW,EAAE,GAAG,OAAO,eAAe;aACzC,CAAC;QACN,OAAO,CAAC,CAAC;YACL,MAAM,OAAO,GAAG,GAAG,6BAAmB,CAAC,WAAW,EAAE,GAAG,eAAe,SAAS,CAAC;YAEhF,OAAO;gBACH,aAAa,EAAE,GAAG,OAAO,2BAA2B;gBACpD,WAAW,EAAE,GAAG,OAAO,UAAU;gBACjC,eAAe,EAAE,GAAG,OAAO,UAAU;gBACrC,WAAW,EAAE,GAAG,OAAO,eAAe;aACzC,CAAC;SACL;KACJ;AACL,CAAC,CAAC;AA9BW,QAAA,oBAAoB,wBA8B/B","sourcesContent":["import { ECardType } from 'models/PaymentCard';\nimport RoomstayThemeEngine from 'providers/RoomstayThemeEngine';\n\ntype CardGraphic = {\n backgroundUrl: string;\n cardNameIconUrl: string;\n\n cardIconUrl: string;\n\n miniCardUrl: string;\n};\n\nconst CARD_ASSET_ROOT = 'assets/img/payment-cards';\n\nexport const mapCardTypeToGraphic = (type: ECardType): CardGraphic => {\n switch (type) {\n case ECardType.Visa:\n case ECardType.VisaElectron:\n case ECardType.Mastercard:\n case ECardType.Maestro:\n case ECardType.AmericanExpress:\n case ECardType.JCB:\n case ECardType.DinersClub:\n case ECardType.UnionPay:\n case ECardType.Switch:\n const urlRoot = `${RoomstayThemeEngine.getAssetUrl()}${CARD_ASSET_ROOT}/${type}/`;\n\n return {\n backgroundUrl: `${urlRoot}large-card-background.svg`,\n cardIconUrl: `${urlRoot}icon.svg`,\n cardNameIconUrl: `${urlRoot}logo.svg`,\n miniCardUrl: `${urlRoot}mini-card.svg`,\n };\n default: {\n const urlRoot = `${RoomstayThemeEngine.getAssetUrl()}${CARD_ASSET_ROOT}/empty/`;\n\n return {\n backgroundUrl: `${urlRoot}large-card-background.svg`,\n cardIconUrl: `${urlRoot}icon.svg`,\n cardNameIconUrl: `${urlRoot}logo.svg`,\n miniCardUrl: `${urlRoot}mini-card.svg`,\n };\n }\n }\n};\n"]}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
document.body.appendChild(document.createElement('dijiengine'));
|
|
4
|
-
const RoomstayThemeEngine_1 = require("../../../src/providers/RoomstayThemeEngine");
|
|
7
|
+
const RoomstayThemeEngine_1 = __importDefault(require("../../../src/providers/RoomstayThemeEngine"));
|
|
5
8
|
describe('Roomstay Theme Engine', () => {
|
|
6
9
|
RoomstayThemeEngine_1.default.EngineContainer = document.createElement('div');
|
|
7
10
|
beforeEach(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomstayThemeEngine.test.js","sourceRoot":"/","sources":["tests/jest/engines/RoomstayThemeEngine.test.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RoomstayThemeEngine.test.js","sourceRoot":"/","sources":["tests/jest/engines/RoomstayThemeEngine.test.tsx"],"names":[],"mappings":";;;;;AAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AAEhE,qGAA6E;AAE7E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACnC,6BAAmB,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAEpE,UAAU,CAAC,GAAG,EAAE;QACZ,6BAAmB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAEjC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAE7D,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtE,6BAAmB,CAAC,UAAU,CAAC,kDAAkD,EAAE,aAAa,CAAC,CAAC;YAElG,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC7D,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;YAC1E,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtE,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAExE,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YAC/C,6BAAmB,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAEpE,MAAM,SAAS,GAAG,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAE1F,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAC/E,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YAC/C,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAExE,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtE,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAExE,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["document.body.appendChild(document.createElement('dijiengine'));\n\nimport RoomstayThemeEngine from \"../../../src/providers/RoomstayThemeEngine\";\n\ndescribe('Roomstay Theme Engine', () => {\n RoomstayThemeEngine.EngineContainer = document.createElement('div');\n\n beforeEach(() => {\n RoomstayThemeEngine.init();\n });\n\n describe('Registering Scripts', () => {\n\n it('Appends a script based on url to the target container', () => {\n\n expect(RoomstayThemeEngine.ScriptContainer.childNodes.length).toBe(0);\n\n RoomstayThemeEngine.loadScript('https://notarealscript.com/wejustneedatestscript', 'cool script');\n\n expect(RoomstayThemeEngine.ScriptContainer.childNodes.length).toBe(1);\n });\n });\n\n describe('Finding Elements on the Dom created by Roomstay', () => {\n it('creates an element, and inserts it to the dom with a specific name', () => {\n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(2);\n\n RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n\n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(3);\n });\n\n it('creates a new node with a prefixed name', () => {\n RoomstayThemeEngine.ScriptContainer = document.createElement('div');\n\n const container = RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n \n expect(container.getAttribute('name').startsWith('roomstay')).toBeTruthy();\n })\n\n it('returns found node if it already exists', () => {\n RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n \n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(3);\n\n RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n\n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(3);\n });\n });\n});"]}
|
|
@@ -8,11 +8,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
const events_1 = require("@frontend/events");
|
|
13
16
|
const RoomstayEvent_1 = require("../../../src/events/RoomstayEvent");
|
|
14
|
-
const RoomstayEventManager_1 = require("../../../src/events/RoomstayEventManager");
|
|
15
|
-
const BasketRow_1 = require("../../../src/models/BasketRow");
|
|
17
|
+
const RoomstayEventManager_1 = __importDefault(require("../../../src/events/RoomstayEventManager"));
|
|
18
|
+
const BasketRow_1 = __importDefault(require("../../../src/models/BasketRow"));
|
|
16
19
|
describe('Generic event manager tests', () => {
|
|
17
20
|
describe('Adding new events', () => {
|
|
18
21
|
it('Successfully adds a new event listener', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventManager.test.js","sourceRoot":"/","sources":["tests/jest/events/EventManager.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EventManager.test.js","sourceRoot":"/","sources":["tests/jest/events/EventManager.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { AddToCartEvent, StepCheckoutViewEvent } from '@frontend/events';\nimport { RoomstayEvent } from '../../../src/events/RoomstayEvent';\nimport RoomstayEventManager from '../../../src/events/RoomstayEventManager';\nimport BasketRow from '../../../src/models/BasketRow';\n\ndescribe('Generic event manager tests', () => {\n describe('Adding new events', () => {\n it('Successfully adds a new event listener', () => {\n const addResponse = RoomstayEventManager.addEvent(RoomstayEvent, async () => true);\n\n expect(addResponse).toBe(true);\n });\n\n it('Fails to add a new event listener without a callback', () => {\n //@ts-ignore\n const addResponse = RoomstayEventManager.addEvent('');\n\n expect(addResponse).toBe(false);\n });\n\n it('Fails to add a new event listener that is not callable', () => {\n //@ts-ignore\n const addResponse = RoomstayEventManager.addEvent('', 'things');\n\n console.log(StepCheckoutViewEvent.getLabel());\n\n expect(addResponse).toBe(false);\n });\n\n it('Is possible to add an event listener by name, or class', async () => {\n const callbackForClass = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n const callbackForString = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n RoomstayEventManager.addEvent(AddToCartEvent, callbackForClass);\n RoomstayEventManager.addEvent('Basket/Add', callbackForString);\n\n const basketAddEvent = new AddToCartEvent(new BasketRow(), []);\n await RoomstayEventManager.raise(basketAddEvent);\n\n expect(callbackForClass).toHaveBeenCalled();\n expect(callbackForString).toHaveBeenCalled();\n });\n\n it('Does not crash the rest of the app if one of the event listeners dies', async () => {\n const callback = async () => {\n throw new Error('Deliberate failure!');\n };\n\n RoomstayEventManager.addEvent(RoomstayEvent, callback);\n\n const event = new RoomstayEvent();\n\n expect(\n (async () => {\n await RoomstayEventManager.raise(event);\n })()\n ).resolves.not.toThrowError();\n });\n });\n\n describe('Raising events', () => {\n it('Successfully calls a raised event', async () => {\n const callback = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n RoomstayEventManager.addEvent(RoomstayEvent, callback);\n\n const newEvent = new RoomstayEvent();\n\n await RoomstayEventManager.raise(newEvent);\n\n expect(callback).toHaveBeenCalled();\n });\n\n it('Successfully calls all raised events, not just the first', async () => {\n const callback = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n const callback2 = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n RoomstayEventManager.addEvent(RoomstayEvent, callback);\n RoomstayEventManager.addEvent(RoomstayEvent, callback2);\n\n const newEvent = new RoomstayEvent();\n await RoomstayEventManager.raise(newEvent);\n\n expect(callback).toHaveBeenCalled();\n expect(callback2).toHaveBeenCalled();\n });\n\n it('Throws an exception if an improper object is passed to raise event function', async () => {\n const raiseResponseNoPrototype = RoomstayEventManager.raise('');\n\n expect(raiseResponseNoPrototype).rejects.toThrowError();\n\n const raiseResponseNoGetLabel = RoomstayEventManager.raise({});\n expect(raiseResponseNoGetLabel).rejects.toThrowError();\n });\n\n it(\"Does not add event listener, if it's not possible to get a label\", async () => {\n //@ts-ignore\n const addResponse = RoomstayEventManager.addEvent({}, () => {});\n\n expect(addResponse).toBeFalsy();\n\n //@ts-ignore\n const undefinedAddResponse = RoomstayEventManager.addEvent(undefined, () => {});\n expect(undefinedAddResponse).toBeFalsy();\n });\n });\n});\n"]}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
require("../../../src/api/BookingAPI");
|
|
4
7
|
const RoomRate_1 = require("../../../src/models/Room/RoomRate");
|
|
5
|
-
const
|
|
8
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
6
9
|
const roomNightFactory = (obj) => {
|
|
7
|
-
const partial = Object.assign({ date:
|
|
10
|
+
const partial = Object.assign({ date: (0, dayjs_1.default)(), cost: '0', tax: '0', fee: '0', discount: '0', available: '0', total: '0' }, obj);
|
|
8
11
|
partial.total = [partial.cost, partial.tax, partial.fee].reduce((previousValue, currentValue) => {
|
|
9
12
|
return parseFloat(previousValue) + parseFloat(currentValue) + '';
|
|
10
13
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomRate.test.js","sourceRoot":"/","sources":["tests/jest/models/RoomRate.test.ts"],"names":[],"mappings":"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","sourcesContent":["import '../../../src/api/BookingAPI';\n\nimport RoomNight from '../../../src/models/Room/RoomRateNight';\nimport { RoomRate, RoomRatePriceInclusion } from '../../../src/models/Room/RoomRate';\nimport * as dayjs from 'dayjs';\nimport RoomRateNight from '../../../src/models/Room/RoomRateNight';\n\nconst roomNightFactory = (obj: Partial<RoomNight>): RoomNight => {\n const partial = {\n date: dayjs(),\n cost: '0',\n tax: '0',\n fee: '0',\n discount: '0',\n available: '0',\n total: '0',\n\n ...obj,\n };\n\n partial.total = [partial.cost, partial.tax, partial.fee].reduce((previousValue, currentValue) => {\n return parseFloat(previousValue) + parseFloat(currentValue) + '';\n });\n\n return partial as RoomNight;\n};\n\nconst roomRateFactory = (name: string, code: string, nightRates: { [date: string]: RoomRateNight }, description?: string, isMemberOnly?: boolean) => {\n return RoomRate.fromData({\n name,\n code,\n nightRates,\n description,\n isMemberOnly,\n });\n};\n\nconst rateIncludingFeesAndTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n }),\n});\n\nconst rateExcludingFeesAndTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n fee: '20',\n tax: '20',\n }),\n});\n\nconst rateExcludingTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n fee: '20',\n }),\n});\n\nconst rateExcludingFees = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n tax: '20',\n }),\n});\n\nconst rateWithTaxLast = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n }),\n '21/06/2022': roomNightFactory({\n cost: '20',\n fee: '10',\n }),\n});\n\nconst rateWithDiscountApplied = roomRateFactory('Rate with Tax', 'DISCOUNT', {\n '20/06/22': roomNightFactory({\n cost: '50',\n fee: '20',\n discount: '15',\n }),\n '21/06/22': roomNightFactory({\n cost: '90',\n fee: '20',\n discount: '15',\n }),\n});\n\nconst memberOnlyRate = roomRateFactory('MOD Rate', 'MOD', {}, '', true);\n\ndescribe('Room Rate logic', () => {\n describe('Room Rate Tax Inclusion', () => {\n it('Returns correct pricing type for each rate', () => {\n expect(rateIncludingFeesAndTaxes.getPriceType()).toBe(RoomRatePriceInclusion.IncludingFeesAndTaxes);\n\n expect(rateExcludingFeesAndTaxes.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingFeesAndTaxes);\n\n expect(rateExcludingTaxes.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingTaxes);\n\n expect(rateExcludingFees.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingFees);\n });\n\n it('Accurately picks up the correct average pricing type if more than one night is selected', () => {\n expect(rateWithTaxLast.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingTaxes);\n });\n });\n\n describe('Total Price Calculations', () => {\n it('Calculates total price, with tax & fee inclusions', () => {\n expect(rateWithTaxLast.getTotalPrice()).toBe(50);\n });\n\n it('Calculates total cost, without tax & fee inclusions', () => {\n expect(rateWithTaxLast.getTotalPrice(true)).toBe(40);\n });\n });\n\n describe('Average Price Calculations', () => {\n it('Calculates average price, with tax & fee inclusions', () => {\n expect(rateWithTaxLast.getAveragePrice()).toBe(25);\n });\n\n it('Calculates total cost, without tax & fee inclusions', () => {\n expect(rateWithTaxLast.getAveragePrice(true)).toBe(20);\n });\n });\n\n describe('Total Price With Discount', () => {\n it('Returns Total price Before Discount applied', () => {\n expect(rateWithDiscountApplied.getTotalPriceBeforeDiscount()).toBe(210);\n });\n\n it('Returns total cost before Discount is applied', () => {\n expect(rateWithDiscountApplied.getTotalPriceBeforeDiscount(true)).toBe(170);\n });\n });\n\n describe('Average Price With Discount', () => {\n it('Returns Total price Before Discount applied', () => {\n expect(rateWithDiscountApplied.getAveragePriceBeforeDiscount()).toBe(105);\n });\n\n it('Returns total cost before Discount is applied', () => {\n expect(rateWithDiscountApplied.getAveragePriceBeforeDiscount(true)).toBe(85);\n });\n });\n\n describe('Sort Value', () => {\n it('Sort Value to be the average price', () => {\n expect(rateWithDiscountApplied.getSortValue()).toBe(90);\n });\n });\n\n describe('Total fees included', () => {\n it('Displays the full only fees ammount', () => {\n expect(rateExcludingFeesAndTaxes.getTotalFees()).toBe(20);\n expect(rateWithDiscountApplied.getTotalFees()).toBe(40);\n });\n });\n\n describe('Total Taxes included', () => {\n it('Displays the full only tax ammount', () => {\n expect(rateExcludingFeesAndTaxes.getTotalTaxes()).toBe(20);\n expect(rateWithDiscountApplied.getTotalTaxes()).toBe(0);\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"RoomRate.test.js","sourceRoot":"/","sources":["tests/jest/models/RoomRate.test.ts"],"names":[],"mappings":"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","sourcesContent":["import '../../../src/api/BookingAPI';\n\nimport RoomNight from '../../../src/models/Room/RoomRateNight';\nimport { RoomRate, RoomRatePriceInclusion } from '../../../src/models/Room/RoomRate';\nimport dayjs from 'dayjs';\nimport RoomRateNight from '../../../src/models/Room/RoomRateNight';\n\nconst roomNightFactory = (obj: Partial<RoomNight>): RoomNight => {\n const partial = {\n date: dayjs(),\n cost: '0',\n tax: '0',\n fee: '0',\n discount: '0',\n available: '0',\n total: '0',\n\n ...obj,\n };\n\n partial.total = [partial.cost, partial.tax, partial.fee].reduce((previousValue, currentValue) => {\n return parseFloat(previousValue) + parseFloat(currentValue) + '';\n });\n\n return partial as RoomNight;\n};\n\nconst roomRateFactory = (name: string, code: string, nightRates: { [date: string]: RoomRateNight }, description?: string, isMemberOnly?: boolean) => {\n return RoomRate.fromData({\n name,\n code,\n nightRates,\n description,\n isMemberOnly,\n });\n};\n\nconst rateIncludingFeesAndTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n }),\n});\n\nconst rateExcludingFeesAndTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n fee: '20',\n tax: '20',\n }),\n});\n\nconst rateExcludingTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n fee: '20',\n }),\n});\n\nconst rateExcludingFees = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n tax: '20',\n }),\n});\n\nconst rateWithTaxLast = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n }),\n '21/06/2022': roomNightFactory({\n cost: '20',\n fee: '10',\n }),\n});\n\nconst rateWithDiscountApplied = roomRateFactory('Rate with Tax', 'DISCOUNT', {\n '20/06/22': roomNightFactory({\n cost: '50',\n fee: '20',\n discount: '15',\n }),\n '21/06/22': roomNightFactory({\n cost: '90',\n fee: '20',\n discount: '15',\n }),\n});\n\nconst memberOnlyRate = roomRateFactory('MOD Rate', 'MOD', {}, '', true);\n\ndescribe('Room Rate logic', () => {\n describe('Room Rate Tax Inclusion', () => {\n it('Returns correct pricing type for each rate', () => {\n expect(rateIncludingFeesAndTaxes.getPriceType()).toBe(RoomRatePriceInclusion.IncludingFeesAndTaxes);\n\n expect(rateExcludingFeesAndTaxes.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingFeesAndTaxes);\n\n expect(rateExcludingTaxes.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingTaxes);\n\n expect(rateExcludingFees.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingFees);\n });\n\n it('Accurately picks up the correct average pricing type if more than one night is selected', () => {\n expect(rateWithTaxLast.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingTaxes);\n });\n });\n\n describe('Total Price Calculations', () => {\n it('Calculates total price, with tax & fee inclusions', () => {\n expect(rateWithTaxLast.getTotalPrice()).toBe(50);\n });\n\n it('Calculates total cost, without tax & fee inclusions', () => {\n expect(rateWithTaxLast.getTotalPrice(true)).toBe(40);\n });\n });\n\n describe('Average Price Calculations', () => {\n it('Calculates average price, with tax & fee inclusions', () => {\n expect(rateWithTaxLast.getAveragePrice()).toBe(25);\n });\n\n it('Calculates total cost, without tax & fee inclusions', () => {\n expect(rateWithTaxLast.getAveragePrice(true)).toBe(20);\n });\n });\n\n describe('Total Price With Discount', () => {\n it('Returns Total price Before Discount applied', () => {\n expect(rateWithDiscountApplied.getTotalPriceBeforeDiscount()).toBe(210);\n });\n\n it('Returns total cost before Discount is applied', () => {\n expect(rateWithDiscountApplied.getTotalPriceBeforeDiscount(true)).toBe(170);\n });\n });\n\n describe('Average Price With Discount', () => {\n it('Returns Total price Before Discount applied', () => {\n expect(rateWithDiscountApplied.getAveragePriceBeforeDiscount()).toBe(105);\n });\n\n it('Returns total cost before Discount is applied', () => {\n expect(rateWithDiscountApplied.getAveragePriceBeforeDiscount(true)).toBe(85);\n });\n });\n\n describe('Sort Value', () => {\n it('Sort Value to be the average price', () => {\n expect(rateWithDiscountApplied.getSortValue()).toBe(90);\n });\n });\n\n describe('Total fees included', () => {\n it('Displays the full only fees ammount', () => {\n expect(rateExcludingFeesAndTaxes.getTotalFees()).toBe(20);\n expect(rateWithDiscountApplied.getTotalFees()).toBe(40);\n });\n });\n\n describe('Total Taxes included', () => {\n it('Displays the full only tax ammount', () => {\n expect(rateExcludingFeesAndTaxes.getTotalTaxes()).toBe(20);\n expect(rateWithDiscountApplied.getTotalTaxes()).toBe(0);\n });\n });\n});\n"]}
|
|
@@ -14,6 +14,17 @@ describe('Language Provider', () => {
|
|
|
14
14
|
expect(i18nLanguages[src_1.Language.en_us].translation.Navigation.Back).toEqual('hello');
|
|
15
15
|
expect(i18nLanguages[src_1.Language.en_us].translation.Navigation.FindReservation).toEqual('Find reservations');
|
|
16
16
|
});
|
|
17
|
+
it('it should update if empty string', () => {
|
|
18
|
+
const override = {
|
|
19
|
+
Navigation: {
|
|
20
|
+
Back: '',
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
src_1.LanguageProvider.registerOverride(src_1.Language.en_us, override);
|
|
24
|
+
const i18nLanguages = src_1.LanguageProvider.getI18nMappedLanguages();
|
|
25
|
+
expect(i18nLanguages[src_1.Language.en_us].translation.Navigation.Back).toEqual('');
|
|
26
|
+
expect(i18nLanguages[src_1.Language.en_us].translation.Navigation.FindReservation).toEqual('Find reservations');
|
|
27
|
+
});
|
|
17
28
|
});
|
|
18
29
|
});
|
|
19
30
|
//# sourceMappingURL=LanguageProvider.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageProvider.test.js","sourceRoot":"/","sources":["tests/jest/providers/LanguageProvider.test.ts"],"names":[],"mappings":";;AAAA,sCAAuE;AAEvE,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACtC,MAAM,QAAQ,GAAsC;gBAChD,UAAU,EAAE;oBACR,IAAI,EAAE,OAAO;iBAChB;aACJ,CAAC;YAEF,sBAAgB,CAAC,gBAAgB,CAAC,cAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE5D,MAAM,aAAa,GAAG,sBAAgB,CAAC,sBAAsB,EAAE,CAAC;YAEhE,MAAM,CAAC,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnF,MAAM,CAAC,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { Language, LanguageProvider, Translation } from '../../../src';\n\ndescribe('Language Provider', () => {\n describe('Language Overrides', () => {\n it('merges language files together', () => {\n const override: Partial<typeof Translation> | any = {\n Navigation: {\n Back: 'hello',\n },\n };\n\n LanguageProvider.registerOverride(Language.en_us, override);\n\n const i18nLanguages = LanguageProvider.getI18nMappedLanguages();\n\n expect(i18nLanguages[Language.en_us].translation.Navigation.Back).toEqual('hello');\n expect(i18nLanguages[Language.en_us].translation.Navigation.FindReservation).toEqual('Find reservations');\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"LanguageProvider.test.js","sourceRoot":"/","sources":["tests/jest/providers/LanguageProvider.test.ts"],"names":[],"mappings":";;AAAA,sCAAuE;AAEvE,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACtC,MAAM,QAAQ,GAAsC;gBAChD,UAAU,EAAE;oBACR,IAAI,EAAE,OAAO;iBAChB;aACJ,CAAC;YAEF,sBAAgB,CAAC,gBAAgB,CAAC,cAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE5D,MAAM,aAAa,GAAG,sBAAgB,CAAC,sBAAsB,EAAE,CAAC;YAEhE,MAAM,CAAC,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnF,MAAM,CAAC,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,MAAM,QAAQ,GAAsC;gBAChD,UAAU,EAAE;oBACR,IAAI,EAAE,EAAE;iBACX;aACJ,CAAC;YAEF,sBAAgB,CAAC,gBAAgB,CAAC,cAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE5D,MAAM,aAAa,GAAG,sBAAgB,CAAC,sBAAsB,EAAE,CAAC;YAEhE,MAAM,CAAC,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9E,MAAM,CAAC,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { Language, LanguageProvider, Translation } from '../../../src';\n\ndescribe('Language Provider', () => {\n describe('Language Overrides', () => {\n it('merges language files together', () => {\n const override: Partial<typeof Translation> | any = {\n Navigation: {\n Back: 'hello',\n },\n };\n\n LanguageProvider.registerOverride(Language.en_us, override);\n\n const i18nLanguages = LanguageProvider.getI18nMappedLanguages();\n\n expect(i18nLanguages[Language.en_us].translation.Navigation.Back).toEqual('hello');\n expect(i18nLanguages[Language.en_us].translation.Navigation.FindReservation).toEqual('Find reservations');\n });\n it('it should update if empty string', () => {\n const override: Partial<typeof Translation> | any = {\n Navigation: {\n Back: '',\n },\n };\n\n LanguageProvider.registerOverride(Language.en_us, override);\n\n const i18nLanguages = LanguageProvider.getI18nMappedLanguages();\n\n expect(i18nLanguages[Language.en_us].translation.Navigation.Back).toEqual('');\n expect(i18nLanguages[Language.en_us].translation.Navigation.FindReservation).toEqual('Find reservations');\n });\n });\n});\n"]}
|