@roomstay/frontend 1.3.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/README.md +0 -0
- package/dist/src/animations/AutoAutoHeight.d.ts +8 -0
- package/dist/src/animations/AutoAutoHeight.js +48 -0
- package/dist/src/animations/AutoAutoHeight.js.map +1 -0
- package/dist/src/animations/Fade.d.ts +9 -0
- package/dist/src/animations/Fade.js +35 -0
- package/dist/src/animations/Fade.js.map +1 -0
- package/dist/src/api/AddonAPI.d.ts +7 -0
- package/dist/src/api/AddonAPI.js +68 -0
- package/dist/src/api/AddonAPI.js.map +1 -0
- package/dist/src/api/AvailabilityAPI.d.ts +40 -0
- package/dist/src/api/AvailabilityAPI.js +362 -0
- package/dist/src/api/AvailabilityAPI.js.map +1 -0
- package/dist/src/api/BaseAPI.d.ts +32 -0
- package/dist/src/api/BaseAPI.js +111 -0
- package/dist/src/api/BaseAPI.js.map +1 -0
- package/dist/src/api/BookingAPI.d.ts +17 -0
- package/dist/src/api/BookingAPI.js +22 -0
- package/dist/src/api/BookingAPI.js.map +1 -0
- package/dist/src/api/ExchangeRateAPI.d.ts +5 -0
- package/dist/src/api/ExchangeRateAPI.js +23 -0
- package/dist/src/api/ExchangeRateAPI.js.map +1 -0
- package/dist/src/api/HotelAPI.d.ts +12 -0
- package/dist/src/api/HotelAPI.js +47 -0
- package/dist/src/api/HotelAPI.js.map +1 -0
- package/dist/src/api/MemberAPI.d.ts +4 -0
- package/dist/src/api/MemberAPI.js +28 -0
- package/dist/src/api/MemberAPI.js.map +1 -0
- package/dist/src/api/ReservationAPI.d.ts +14 -0
- package/dist/src/api/ReservationAPI.js +113 -0
- package/dist/src/api/ReservationAPI.js.map +1 -0
- package/dist/src/components/generic/Alert.d.ts +21 -0
- package/dist/src/components/generic/Alert.js +31 -0
- package/dist/src/components/generic/Alert.js.map +1 -0
- package/dist/src/components/generic/BEButton.d.ts +24 -0
- package/dist/src/components/generic/BEButton.js +60 -0
- package/dist/src/components/generic/BEButton.js.map +1 -0
- package/dist/src/components/generic/BESelect.d.ts +13 -0
- package/dist/src/components/generic/BESelect.js +47 -0
- package/dist/src/components/generic/BESelect.js.map +1 -0
- package/dist/src/components/generic/BETooltip.d.ts +7 -0
- package/dist/src/components/generic/BETooltip.js +44 -0
- package/dist/src/components/generic/BETooltip.js.map +1 -0
- package/dist/src/components/generic/BackButton.d.ts +6 -0
- package/dist/src/components/generic/BackButton.js +14 -0
- package/dist/src/components/generic/BackButton.js.map +1 -0
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.d.ts +2 -0
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +32 -0
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -0
- package/dist/src/components/generic/Checkbox.d.ts +8 -0
- package/dist/src/components/generic/Checkbox.js +22 -0
- package/dist/src/components/generic/Checkbox.js.map +1 -0
- package/dist/src/components/generic/Countdown.d.ts +8 -0
- package/dist/src/components/generic/Countdown.js +35 -0
- package/dist/src/components/generic/Countdown.js.map +1 -0
- package/dist/src/components/generic/Currency.d.ts +12 -0
- package/dist/src/components/generic/Currency.js +71 -0
- package/dist/src/components/generic/Currency.js.map +1 -0
- package/dist/src/components/generic/Distance.d.ts +6 -0
- package/dist/src/components/generic/Distance.js +22 -0
- package/dist/src/components/generic/Distance.js.map +1 -0
- package/dist/src/components/generic/Headline.d.ts +13 -0
- package/dist/src/components/generic/Headline.js +28 -0
- package/dist/src/components/generic/Headline.js.map +1 -0
- package/dist/src/components/generic/Icon.d.ts +79 -0
- package/dist/src/components/generic/Icon.js +105 -0
- package/dist/src/components/generic/Icon.js.map +1 -0
- package/dist/src/components/generic/InputGroup/InputGroup.d.ts +7 -0
- package/dist/src/components/generic/InputGroup/InputGroup.js +26 -0
- package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -0
- package/dist/src/components/generic/InputGroup/InputGroup.types.d.ts +1 -0
- package/dist/src/components/generic/InputGroup/InputGroup.types.js +3 -0
- package/dist/src/components/generic/InputGroup/InputGroup.types.js.map +1 -0
- package/dist/src/components/generic/LineBreak.d.ts +7 -0
- package/dist/src/components/generic/LineBreak.js +14 -0
- package/dist/src/components/generic/LineBreak.js.map +1 -0
- package/dist/src/components/generic/Notification.d.ts +14 -0
- package/dist/src/components/generic/Notification.js +44 -0
- package/dist/src/components/generic/Notification.js.map +1 -0
- package/dist/src/components/generic/NumberIncrement.d.ts +8 -0
- package/dist/src/components/generic/NumberIncrement.js +45 -0
- package/dist/src/components/generic/NumberIncrement.js.map +1 -0
- package/dist/src/components/generic/Pill.d.ts +18 -0
- package/dist/src/components/generic/Pill.js +29 -0
- package/dist/src/components/generic/Pill.js.map +1 -0
- package/dist/src/components/generic/Placeholder.d.ts +13 -0
- package/dist/src/components/generic/Placeholder.js +23 -0
- package/dist/src/components/generic/Placeholder.js.map +1 -0
- package/dist/src/components/generic/PromoCodeInput.d.ts +9 -0
- package/dist/src/components/generic/PromoCodeInput.js +113 -0
- package/dist/src/components/generic/PromoCodeInput.js.map +1 -0
- package/dist/src/components/generic/RecentSearchesCard.d.ts +9 -0
- package/dist/src/components/generic/RecentSearchesCard.js +47 -0
- package/dist/src/components/generic/RecentSearchesCard.js.map +1 -0
- package/dist/src/components/generic/ScrollToTop.d.ts +4 -0
- package/dist/src/components/generic/ScrollToTop.js +18 -0
- package/dist/src/components/generic/ScrollToTop.js.map +1 -0
- package/dist/src/components/generic/Select.d.ts +12 -0
- package/dist/src/components/generic/Select.js +18 -0
- package/dist/src/components/generic/Select.js.map +1 -0
- package/dist/src/components/generic/Text.d.ts +25 -0
- package/dist/src/components/generic/Text.js +37 -0
- package/dist/src/components/generic/Text.js.map +1 -0
- package/dist/src/components/generic/TextArea.d.ts +3 -0
- package/dist/src/components/generic/TextArea.js +9 -0
- package/dist/src/components/generic/TextArea.js.map +1 -0
- package/dist/src/components/generic/TextBox.d.ts +16 -0
- package/dist/src/components/generic/TextBox.js +50 -0
- package/dist/src/components/generic/TextBox.js.map +1 -0
- package/dist/src/components/generic/badging/SSLSecureBadge.d.ts +2 -0
- package/dist/src/components/generic/badging/SSLSecureBadge.js +11 -0
- package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -0
- package/dist/src/components/generic/buttons/NextStepButton.d.ts +13 -0
- package/dist/src/components/generic/buttons/NextStepButton.js +30 -0
- package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -0
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.d.ts +10 -0
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +120 -0
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -0
- package/dist/src/components/generic/date/DatePicker.d.ts +18 -0
- package/dist/src/components/generic/date/DatePicker.js +200 -0
- package/dist/src/components/generic/date/DatePicker.js.map +1 -0
- package/dist/src/components/generic/date/DatePickerDay.d.ts +21 -0
- package/dist/src/components/generic/date/DatePickerDay.js +188 -0
- package/dist/src/components/generic/date/DatePickerDay.js.map +1 -0
- package/dist/src/components/generic/date/DatePickerDays.d.ts +7 -0
- package/dist/src/components/generic/date/DatePickerDays.js +21 -0
- package/dist/src/components/generic/date/DatePickerDays.js.map +1 -0
- package/dist/src/components/generic/date/DatePickerMonth.d.ts +8 -0
- package/dist/src/components/generic/date/DatePickerMonth.js +28 -0
- package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -0
- package/dist/src/components/generic/date/DatePickerWeek.d.ts +2 -0
- package/dist/src/components/generic/date/DatePickerWeek.js +161 -0
- package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -0
- package/dist/src/components/generic/date/FloatingDatePicker.d.ts +10 -0
- package/dist/src/components/generic/date/FloatingDatePicker.js +68 -0
- package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -0
- package/dist/src/components/generic/loader/ImageLoader.d.ts +11 -0
- package/dist/src/components/generic/loader/ImageLoader.js +37 -0
- package/dist/src/components/generic/loader/ImageLoader.js.map +1 -0
- package/dist/src/components/generic/loader/LargeLoader.d.ts +2 -0
- package/dist/src/components/generic/loader/LargeLoader.js +50 -0
- package/dist/src/components/generic/loader/LargeLoader.js.map +1 -0
- package/dist/src/components/generic/loader/SmallSpinner.d.ts +3 -0
- package/dist/src/components/generic/loader/SmallSpinner.js +11 -0
- package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -0
- package/dist/src/components/generic/map/HotelLocationMap.d.ts +2 -0
- package/dist/src/components/generic/map/HotelLocationMap.js +11 -0
- package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -0
- package/dist/src/components/generic/modal/ConfirmationModal.d.ts +9 -0
- package/dist/src/components/generic/modal/ConfirmationModal.js +27 -0
- package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -0
- package/dist/src/components/generic/modal/ErrorModal.d.ts +10 -0
- package/dist/src/components/generic/modal/ErrorModal.js +15 -0
- package/dist/src/components/generic/modal/ErrorModal.js.map +1 -0
- package/dist/src/components/generic/modal/SimpleModal.d.ts +21 -0
- package/dist/src/components/generic/modal/SimpleModal.js +82 -0
- package/dist/src/components/generic/modal/SimpleModal.js.map +1 -0
- package/dist/src/components/generic/modal/TabbedModal.d.ts +16 -0
- package/dist/src/components/generic/modal/TabbedModal.js +33 -0
- package/dist/src/components/generic/modal/TabbedModal.js.map +1 -0
- package/dist/src/components/generic/radio/RadioFields.d.ts +14 -0
- package/dist/src/components/generic/radio/RadioFields.js +34 -0
- package/dist/src/components/generic/radio/RadioFields.js.map +1 -0
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.d.ts +7 -0
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.js +20 -0
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.js.map +1 -0
- package/dist/src/components/navigation/Header.d.ts +2 -0
- package/dist/src/components/navigation/Header.js +124 -0
- package/dist/src/components/navigation/Header.js.map +1 -0
- package/dist/src/components/navigation/StepSelector.d.ts +2 -0
- package/dist/src/components/navigation/StepSelector.js +75 -0
- package/dist/src/components/navigation/StepSelector.js.map +1 -0
- package/dist/src/components/navigation/StepSelectorModal.d.ts +6 -0
- package/dist/src/components/navigation/StepSelectorModal.js +63 -0
- package/dist/src/components/navigation/StepSelectorModal.js.map +1 -0
- package/dist/src/components/steps/DaysSelectedInformer.d.ts +2 -0
- package/dist/src/components/steps/DaysSelectedInformer.js +25 -0
- package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -0
- package/dist/src/components/steps/MinimumNightStayPill.d.ts +2 -0
- package/dist/src/components/steps/MinimumNightStayPill.js +62 -0
- package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -0
- package/dist/src/components/steps/addons/AddonCard.d.ts +8 -0
- package/dist/src/components/steps/addons/AddonCard.js +194 -0
- package/dist/src/components/steps/addons/AddonCard.js.map +1 -0
- package/dist/src/components/steps/addons/AddonList.d.ts +3 -0
- package/dist/src/components/steps/addons/AddonList.js +38 -0
- package/dist/src/components/steps/addons/AddonList.js.map +1 -0
- package/dist/src/components/steps/addons/AddonsNotFound.d.ts +2 -0
- package/dist/src/components/steps/addons/AddonsNotFound.js +50 -0
- package/dist/src/components/steps/addons/AddonsNotFound.js.map +1 -0
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +7 -0
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +42 -0
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -0
- package/dist/src/components/steps/confirmation/AccountDetails.d.ts +2 -0
- package/dist/src/components/steps/confirmation/AccountDetails.js +31 -0
- package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -0
- package/dist/src/components/steps/confirmation/RoomContactDetails.d.ts +9 -0
- package/dist/src/components/steps/confirmation/RoomContactDetails.js +224 -0
- package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.d.ts +6 -0
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +33 -0
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +11 -0
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +76 -0
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +6 -0
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +25 -0
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.d.ts +10 -0
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +65 -0
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationForm.d.ts +2 -0
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +343 -0
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +7 -0
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +29 -0
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationPaymentDetails.d.ts +8 -0
- package/dist/src/components/steps/confirmation/StepConfirmationPaymentDetails.js +244 -0
- package/dist/src/components/steps/confirmation/StepConfirmationPaymentDetails.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.d.ts +2 -0
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +33 -0
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.d.ts +2 -0
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +56 -0
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -0
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.d.ts +2 -0
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +117 -0
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -0
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +8 -0
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +21 -0
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -0
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +10 -0
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +145 -0
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -0
- package/dist/src/components/steps/date/PeoplePicker.d.ts +2 -0
- package/dist/src/components/steps/date/PeoplePicker.js +69 -0
- package/dist/src/components/steps/date/PeoplePicker.js.map +1 -0
- package/dist/src/components/steps/date/PeoplePickerRow.d.ts +13 -0
- package/dist/src/components/steps/date/PeoplePickerRow.js +69 -0
- package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -0
- package/dist/src/components/steps/date/StepDatePricePerRoom.d.ts +6 -0
- package/dist/src/components/steps/date/StepDatePricePerRoom.js +68 -0
- package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -0
- package/dist/src/components/steps/date/StepOneDateRange.d.ts +2 -0
- package/dist/src/components/steps/date/StepOneDateRange.js +24 -0
- package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -0
- package/dist/src/components/steps/date/StepOneDateRangePicker.d.ts +2 -0
- package/dist/src/components/steps/date/StepOneDateRangePicker.js +25 -0
- package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -0
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.d.ts +2 -0
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +37 -0
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -0
- package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +2 -0
- package/dist/src/components/steps/date/StepOneNextStepButton.js +51 -0
- package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -0
- package/dist/src/components/steps/date/StepOneStatusPeople.d.ts +2 -0
- package/dist/src/components/steps/date/StepOneStatusPeople.js +17 -0
- package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -0
- package/dist/src/components/steps/hotel/HotelCard.d.ts +7 -0
- package/dist/src/components/steps/hotel/HotelCard.js +145 -0
- package/dist/src/components/steps/hotel/HotelCard.js.map +1 -0
- package/dist/src/components/steps/hotel/HotelCardList.d.ts +6 -0
- package/dist/src/components/steps/hotel/HotelCardList.js +13 -0
- package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -0
- package/dist/src/components/steps/hotel/HotelCardModal.d.ts +10 -0
- package/dist/src/components/steps/hotel/HotelCardModal.js +90 -0
- package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -0
- package/dist/src/components/steps/hotel/HotelSearchParameters.d.ts +3 -0
- package/dist/src/components/steps/hotel/HotelSearchParameters.js +149 -0
- package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -0
- package/dist/src/components/steps/hotel/NoHotelsAvailable.d.ts +2 -0
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js +68 -0
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -0
- package/dist/src/components/steps/room/AvailableUpgradesModal.d.ts +3 -0
- package/dist/src/components/steps/room/AvailableUpgradesModal.js +148 -0
- package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -0
- package/dist/src/components/steps/room/ImageGallerySlider.d.ts +9 -0
- package/dist/src/components/steps/room/ImageGallerySlider.js +126 -0
- package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -0
- package/dist/src/components/steps/room/InactivityWindow.d.ts +3 -0
- package/dist/src/components/steps/room/InactivityWindow.js +80 -0
- package/dist/src/components/steps/room/InactivityWindow.js.map +1 -0
- package/dist/src/components/steps/room/LargeRoomCard.d.ts +9 -0
- package/dist/src/components/steps/room/LargeRoomCard.js +82 -0
- package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -0
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.d.ts +7 -0
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +260 -0
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -0
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.types.d.ts +13 -0
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.types.js +3 -0
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.types.js.map +1 -0
- package/dist/src/components/steps/room/RatesNotFound.d.ts +2 -0
- package/dist/src/components/steps/room/RatesNotFound.js +48 -0
- package/dist/src/components/steps/room/RatesNotFound.js.map +1 -0
- package/dist/src/components/steps/room/RoomList.d.ts +2 -0
- package/dist/src/components/steps/room/RoomList.js +84 -0
- package/dist/src/components/steps/room/RoomList.js.map +1 -0
- package/dist/src/components/steps/room/RoomListCrossSellBlock.d.ts +5 -0
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js +124 -0
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -0
- package/dist/src/components/steps/room/RoomModal.d.ts +12 -0
- package/dist/src/components/steps/room/RoomModal.js +63 -0
- package/dist/src/components/steps/room/RoomModal.js.map +1 -0
- package/dist/src/components/steps/room/RoomNotFound.d.ts +3 -0
- package/dist/src/components/steps/room/RoomNotFound.js +108 -0
- package/dist/src/components/steps/room/RoomNotFound.js.map +1 -0
- package/dist/src/components/steps/room/StepRoomAlertBlocks.d.ts +2 -0
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js +27 -0
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -0
- package/dist/src/components/steps/room/StepRoomBestRateAlert.d.ts +3 -0
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js +29 -0
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -0
- package/dist/src/components/steps/room/StepRoomHotelDetails.d.ts +2 -0
- package/dist/src/components/steps/room/StepRoomHotelDetails.js +43 -0
- package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -0
- package/dist/src/components/steps/room/StepRoomNextStepButton.d.ts +2 -0
- package/dist/src/components/steps/room/StepRoomNextStepButton.js +21 -0
- package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -0
- package/dist/src/components/steps/room/StepRoomSortBy.d.ts +2 -0
- package/dist/src/components/steps/room/StepRoomSortBy.js +26 -0
- package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -0
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.d.ts +2 -0
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +40 -0
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -0
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +8 -0
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +29 -0
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -0
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +8 -0
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +28 -0
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -0
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.d.ts +2 -0
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +39 -0
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -0
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +7 -0
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +211 -0
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +7 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +151 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +7 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +34 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +7 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +33 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.d.ts +10 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +44 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +10 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +28 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.d.ts +2 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +57 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +15 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +120 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +14 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +76 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +16 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +34 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +11 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +86 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +9 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +119 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +12 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +103 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -0
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.d.ts +2 -0
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +42 -0
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -0
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +9 -0
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +106 -0
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -0
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +10 -0
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +99 -0
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -0
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +10 -0
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +65 -0
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -0
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +10 -0
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +63 -0
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -0
- package/dist/src/components/summary/BEMapWidget.d.ts +12 -0
- package/dist/src/components/summary/BEMapWidget.js +50 -0
- package/dist/src/components/summary/BEMapWidget.js.map +1 -0
- package/dist/src/components/summary/BEMobileSummary.d.ts +2 -0
- package/dist/src/components/summary/BEMobileSummary.js +55 -0
- package/dist/src/components/summary/BEMobileSummary.js.map +1 -0
- package/dist/src/components/summary/BEMobileSummaryModal.d.ts +7 -0
- package/dist/src/components/summary/BEMobileSummaryModal.js +142 -0
- package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -0
- package/dist/src/components/summary/BESummary.d.ts +7 -0
- package/dist/src/components/summary/BESummary.js +106 -0
- package/dist/src/components/summary/BESummary.js.map +1 -0
- package/dist/src/components/summary/BESummaryAddonRow.d.ts +8 -0
- package/dist/src/components/summary/BESummaryAddonRow.js +88 -0
- package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -0
- package/dist/src/components/summary/BESummaryPerkBlock.d.ts +6 -0
- package/dist/src/components/summary/BESummaryPerkBlock.js +34 -0
- package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -0
- package/dist/src/components/summary/BESummaryPrivacyPolicy.d.ts +2 -0
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js +24 -0
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -0
- package/dist/src/components/summary/BESummaryRoomRow.d.ts +10 -0
- package/dist/src/components/summary/BESummaryRoomRow.js +113 -0
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -0
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +10 -0
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +48 -0
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -0
- package/dist/src/contexts/BasketContext/BasketContext.d.ts +3 -0
- package/dist/src/contexts/BasketContext/BasketContext.js +6 -0
- package/dist/src/contexts/BasketContext/BasketContext.js.map +1 -0
- package/dist/src/contexts/BasketContext/BasketContextType.d.ts +39 -0
- package/dist/src/contexts/BasketContext/BasketContextType.js +3 -0
- package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -0
- package/dist/src/contexts/BasketContext/BasketContextWrapper.d.ts +5 -0
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +383 -0
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -0
- package/dist/src/contexts/BookingEngineContext/BookingEngineContext.d.ts +3 -0
- package/dist/src/contexts/BookingEngineContext/BookingEngineContext.js +6 -0
- package/dist/src/contexts/BookingEngineContext/BookingEngineContext.js.map +1 -0
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.d.ts +17 -0
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.js +3 -0
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.js.map +1 -0
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.d.ts +7 -0
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +46 -0
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -0
- package/dist/src/contexts/CompanyContext/CompanyContext.d.ts +3 -0
- package/dist/src/contexts/CompanyContext/CompanyContext.js +6 -0
- package/dist/src/contexts/CompanyContext/CompanyContext.js.map +1 -0
- package/dist/src/contexts/CompanyContext/CompanyContextType.type.d.ts +19 -0
- package/dist/src/contexts/CompanyContext/CompanyContextType.type.js +3 -0
- package/dist/src/contexts/CompanyContext/CompanyContextType.type.js.map +1 -0
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.d.ts +8 -0
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +270 -0
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -0
- package/dist/src/contexts/ConfirmationFormContext.d.ts +16 -0
- package/dist/src/contexts/ConfirmationFormContext.js +33 -0
- package/dist/src/contexts/ConfirmationFormContext.js.map +1 -0
- package/dist/src/contexts/DatePickerContext.d.ts +14 -0
- package/dist/src/contexts/DatePickerContext.js +23 -0
- package/dist/src/contexts/DatePickerContext.js.map +1 -0
- package/dist/src/contexts/ErrorContext.d.ts +19 -0
- package/dist/src/contexts/ErrorContext.js +43 -0
- package/dist/src/contexts/ErrorContext.js.map +1 -0
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.d.ts +3 -0
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.js +6 -0
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.js.map +1 -0
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.d.ts +19 -0
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.js +3 -0
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.js.map +1 -0
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +6 -0
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +204 -0
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -0
- package/dist/src/contexts/HotelOverridesContext.d.ts +10 -0
- package/dist/src/contexts/HotelOverridesContext.js +63 -0
- package/dist/src/contexts/HotelOverridesContext.js.map +1 -0
- package/dist/src/contexts/ModalContext.d.ts +14 -0
- package/dist/src/contexts/ModalContext.js +34 -0
- package/dist/src/contexts/ModalContext.js.map +1 -0
- package/dist/src/contexts/NotificationContext.d.ts +14 -0
- package/dist/src/contexts/NotificationContext.js +34 -0
- package/dist/src/contexts/NotificationContext.js.map +1 -0
- package/dist/src/contexts/index.d.ts +19 -0
- package/dist/src/contexts/index.js +32 -0
- package/dist/src/contexts/index.js.map +1 -0
- package/dist/src/engines/BaseEngine.d.ts +20 -0
- package/dist/src/engines/BaseEngine.js +62 -0
- package/dist/src/engines/BaseEngine.js.map +1 -0
- package/dist/src/engines/CustomEngine/CustomEngine.d.ts +4 -0
- package/dist/src/engines/CustomEngine/CustomEngine.js +23 -0
- package/dist/src/engines/CustomEngine/CustomEngine.js.map +1 -0
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.d.ts +5 -0
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +31 -0
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -0
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +8 -0
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +34 -0
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -0
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElementEvents.d.ts +3 -0
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElementEvents.js +9 -0
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElementEvents.js.map +1 -0
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.d.ts +7 -0
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js +32 -0
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js.map +1 -0
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +7 -0
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +246 -0
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -0
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.d.ts +7 -0
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js +31 -0
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -0
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +7 -0
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +112 -0
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -0
- package/dist/src/errors/GetAvailabilityError.d.ts +7 -0
- package/dist/src/errors/GetAvailabilityError.js +21 -0
- package/dist/src/errors/GetAvailabilityError.js.map +1 -0
- package/dist/src/errors/NoCompanyContextError.d.ts +4 -0
- package/dist/src/errors/NoCompanyContextError.js +11 -0
- package/dist/src/errors/NoCompanyContextError.js.map +1 -0
- package/dist/src/errors/NoHotelSelectedError.d.ts +4 -0
- package/dist/src/errors/NoHotelSelectedError.js +11 -0
- package/dist/src/errors/NoHotelSelectedError.js.map +1 -0
- package/dist/src/errors/RoomstayError.d.ts +3 -0
- package/dist/src/errors/RoomstayError.js +10 -0
- package/dist/src/errors/RoomstayError.js.map +1 -0
- package/dist/src/events/RoomstayEvent.d.ts +4 -0
- package/dist/src/events/RoomstayEvent.js +11 -0
- package/dist/src/events/RoomstayEvent.js.map +1 -0
- package/dist/src/events/RoomstayEventManager.d.ts +13 -0
- package/dist/src/events/RoomstayEventManager.js +72 -0
- package/dist/src/events/RoomstayEventManager.js.map +1 -0
- package/dist/src/events/actions/AddToCartEvent.d.ts +8 -0
- package/dist/src/events/actions/AddToCartEvent.js +16 -0
- package/dist/src/events/actions/AddToCartEvent.js.map +1 -0
- package/dist/src/events/actions/RemoveFromCartEvent.d.ts +8 -0
- package/dist/src/events/actions/RemoveFromCartEvent.js +16 -0
- package/dist/src/events/actions/RemoveFromCartEvent.js.map +1 -0
- package/dist/src/events/index.d.ts +3 -0
- package/dist/src/events/index.js +16 -0
- package/dist/src/events/index.js.map +1 -0
- package/dist/src/events/views/StepCheckoutViewEvent.d.ts +7 -0
- package/dist/src/events/views/StepCheckoutViewEvent.js +15 -0
- package/dist/src/events/views/StepCheckoutViewEvent.js.map +1 -0
- package/dist/src/handlers/BasketContextErrorHandler.d.ts +4 -0
- package/dist/src/handlers/BasketContextErrorHandler.js +5 -0
- package/dist/src/handlers/BasketContextErrorHandler.js.map +1 -0
- package/dist/src/handlers/HotelContextEventHandler.d.ts +3 -0
- package/dist/src/handlers/HotelContextEventHandler.js +9 -0
- package/dist/src/handlers/HotelContextEventHandler.js.map +1 -0
- package/dist/src/hooks/CurrentHotelHook.d.ts +4 -0
- package/dist/src/hooks/CurrentHotelHook.js +26 -0
- package/dist/src/hooks/CurrentHotelHook.js.map +1 -0
- package/dist/src/hooks/ElementSortHook.d.ts +11 -0
- package/dist/src/hooks/ElementSortHook.js +20 -0
- package/dist/src/hooks/ElementSortHook.js.map +1 -0
- package/dist/src/hooks/EventHook.d.ts +6 -0
- package/dist/src/hooks/EventHook.js +16 -0
- package/dist/src/hooks/EventHook.js.map +1 -0
- package/dist/src/hooks/ScrollFocusHook.d.ts +3 -0
- package/dist/src/hooks/ScrollFocusHook.js +14 -0
- package/dist/src/hooks/ScrollFocusHook.js.map +1 -0
- package/dist/src/hooks/ScrollLock.d.ts +1 -0
- package/dist/src/hooks/ScrollLock.js +17 -0
- package/dist/src/hooks/ScrollLock.js.map +1 -0
- package/dist/src/hooks/index.d.ts +5 -0
- package/dist/src/hooks/index.js +18 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/icons/Check.d.ts +6 -0
- package/dist/src/icons/Check.js +12 -0
- package/dist/src/icons/Check.js.map +1 -0
- package/dist/src/index.d.ts +71 -0
- package/dist/src/index.js +152 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/mockApi/AddonAPI.d.ts +7 -0
- package/dist/src/mockApi/AddonAPI.js +78 -0
- package/dist/src/mockApi/AddonAPI.js.map +1 -0
- package/dist/src/mockApi/BookingAPI.d.ts +15 -0
- package/dist/src/mockApi/BookingAPI.js +18 -0
- package/dist/src/mockApi/BookingAPI.js.map +1 -0
- package/dist/src/mockApi/ExchangeRateAPI.d.ts +5 -0
- package/dist/src/mockApi/ExchangeRateAPI.js +23 -0
- package/dist/src/mockApi/ExchangeRateAPI.js.map +1 -0
- package/dist/src/mockApi/HotelAPI.d.ts +6 -0
- package/dist/src/mockApi/HotelAPI.js +23 -0
- package/dist/src/mockApi/HotelAPI.js.map +1 -0
- package/dist/src/mockApi/MemberAPI.d.ts +4 -0
- package/dist/src/mockApi/MemberAPI.js +26 -0
- package/dist/src/mockApi/MemberAPI.js.map +1 -0
- package/dist/src/mockApi/MockAPI.d.ts +31 -0
- package/dist/src/mockApi/MockAPI.js +110 -0
- package/dist/src/mockApi/MockAPI.js.map +1 -0
- package/dist/src/mockApi/ReservationAPI.d.ts +14 -0
- package/dist/src/mockApi/ReservationAPI.js +109 -0
- package/dist/src/mockApi/ReservationAPI.js.map +1 -0
- package/dist/src/models/Addon/Addon.d.ts +131 -0
- package/dist/src/models/Addon/Addon.js +76 -0
- package/dist/src/models/Addon/Addon.js.map +1 -0
- package/dist/src/models/Api/ExchangeRateDTO.d.ts +3 -0
- package/dist/src/models/Api/ExchangeRateDTO.js +3 -0
- package/dist/src/models/Api/ExchangeRateDTO.js.map +1 -0
- package/dist/src/models/Api/HotelDTO.d.ts +68 -0
- package/dist/src/models/Api/HotelDTO.js +13 -0
- package/dist/src/models/Api/HotelDTO.js.map +1 -0
- package/dist/src/models/Api/HotelOverrideDTO.d.ts +18 -0
- package/dist/src/models/Api/HotelOverrideDTO.js +3 -0
- package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -0
- package/dist/src/models/Api/RatePlanDTO.d.ts +8 -0
- package/dist/src/models/Api/RatePlanDTO.js +3 -0
- package/dist/src/models/Api/RatePlanDTO.js.map +1 -0
- package/dist/src/models/Api/ReservationsDTO.d.ts +66 -0
- package/dist/src/models/Api/ReservationsDTO.js +3 -0
- package/dist/src/models/Api/ReservationsDTO.js.map +1 -0
- package/dist/src/models/Api/RoomNightDTO.d.ts +11 -0
- package/dist/src/models/Api/RoomNightDTO.js +3 -0
- package/dist/src/models/Api/RoomNightDTO.js.map +1 -0
- package/dist/src/models/Api/RoomNightRateDTO.d.ts +8 -0
- package/dist/src/models/Api/RoomNightRateDTO.js +3 -0
- package/dist/src/models/Api/RoomNightRateDTO.js.map +1 -0
- package/dist/src/models/Api/RoomTypeDTO.d.ts +8 -0
- package/dist/src/models/Api/RoomTypeDTO.js +3 -0
- package/dist/src/models/Api/RoomTypeDTO.js.map +1 -0
- package/dist/src/models/BasketAddonRow.d.ts +36 -0
- package/dist/src/models/BasketAddonRow.js +125 -0
- package/dist/src/models/BasketAddonRow.js.map +1 -0
- package/dist/src/models/BasketRow.d.ts +49 -0
- package/dist/src/models/BasketRow.js +155 -0
- package/dist/src/models/BasketRow.js.map +1 -0
- package/dist/src/models/BasketRowDifferences.d.ts +9 -0
- package/dist/src/models/BasketRowDifferences.js +3 -0
- package/dist/src/models/BasketRowDifferences.js.map +1 -0
- package/dist/src/models/Client/Client.d.ts +4 -0
- package/dist/src/models/Client/Client.js +7 -0
- package/dist/src/models/Client/Client.js.map +1 -0
- package/dist/src/models/Client/Hotel/ColorProfile.d.ts +12 -0
- package/dist/src/models/Client/Hotel/ColorProfile.js +3 -0
- package/dist/src/models/Client/Hotel/ColorProfile.js.map +1 -0
- package/dist/src/models/Client/Hotel/Company.d.ts +25 -0
- package/dist/src/models/Client/Hotel/Company.js +3 -0
- package/dist/src/models/Client/Hotel/Company.js.map +1 -0
- package/dist/src/models/Client/Hotel/DistanceUnitType.types.d.ts +5 -0
- package/dist/src/models/Client/Hotel/DistanceUnitType.types.js +10 -0
- package/dist/src/models/Client/Hotel/DistanceUnitType.types.js.map +1 -0
- package/dist/src/models/Client/Hotel/Hotel.d.ts +89 -0
- package/dist/src/models/Client/Hotel/Hotel.js +3 -0
- package/dist/src/models/Client/Hotel/Hotel.js.map +1 -0
- package/dist/src/models/Client/Hotel/HotelAddress.d.ts +10 -0
- package/dist/src/models/Client/Hotel/HotelAddress.js +3 -0
- package/dist/src/models/Client/Hotel/HotelAddress.js.map +1 -0
- package/dist/src/models/Client/Hotel/HotelDataSource.types.d.ts +4 -0
- package/dist/src/models/Client/Hotel/HotelDataSource.types.js +9 -0
- package/dist/src/models/Client/Hotel/HotelDataSource.types.js.map +1 -0
- package/dist/src/models/Client/Hotel/HotelPerk.d.ts +9 -0
- package/dist/src/models/Client/Hotel/HotelPerk.js +3 -0
- package/dist/src/models/Client/Hotel/HotelPerk.js.map +1 -0
- package/dist/src/models/Client/Hotel/HotelRoomOverwrite.d.ts +3 -0
- package/dist/src/models/Client/Hotel/HotelRoomOverwrite.js +3 -0
- package/dist/src/models/Client/Hotel/HotelRoomOverwrite.js.map +1 -0
- package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.d.ts +4 -0
- package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js +9 -0
- package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js.map +1 -0
- package/dist/src/models/CountryCodesAndNumbers.d.ts +8 -0
- package/dist/src/models/CountryCodesAndNumbers.js +259 -0
- package/dist/src/models/CountryCodesAndNumbers.js.map +1 -0
- package/dist/src/models/Currency.d.ts +11 -0
- package/dist/src/models/Currency.js +13 -0
- package/dist/src/models/Currency.js.map +1 -0
- package/dist/src/models/PaymentCard.d.ts +8 -0
- package/dist/src/models/PaymentCard.js +3 -0
- package/dist/src/models/PaymentCard.js.map +1 -0
- package/dist/src/models/Room/Filters/BudgetFilter.d.ts +11 -0
- package/dist/src/models/Room/Filters/BudgetFilter.js +35 -0
- package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -0
- package/dist/src/models/Room/Filters/Filter.d.ts +5 -0
- package/dist/src/models/Room/Filters/Filter.js +6 -0
- package/dist/src/models/Room/Filters/Filter.js.map +1 -0
- package/dist/src/models/Room/Filters/RateTypeFilter.d.ts +9 -0
- package/dist/src/models/Room/Filters/RateTypeFilter.js +21 -0
- package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -0
- package/dist/src/models/Room/Filters/RoomTypeFilter.d.ts +9 -0
- package/dist/src/models/Room/Filters/RoomTypeFilter.js +23 -0
- package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -0
- package/dist/src/models/Room/Room.d.ts +40 -0
- package/dist/src/models/Room/Room.js +117 -0
- package/dist/src/models/Room/Room.js.map +1 -0
- package/dist/src/models/Room/RoomRate.d.ts +72 -0
- package/dist/src/models/Room/RoomRate.js +179 -0
- package/dist/src/models/Room/RoomRate.js.map +1 -0
- package/dist/src/models/Room/RoomRateNight.d.ts +22 -0
- package/dist/src/models/Room/RoomRateNight.js +31 -0
- package/dist/src/models/Room/RoomRateNight.js.map +1 -0
- package/dist/src/models/Room/RoomRateSortable.d.ts +3 -0
- package/dist/src/models/Room/RoomRateSortable.js +3 -0
- package/dist/src/models/Room/RoomRateSortable.js.map +1 -0
- package/dist/src/models/RoomstaySession.d.ts +37 -0
- package/dist/src/models/RoomstaySession.js +5 -0
- package/dist/src/models/RoomstaySession.js.map +1 -0
- package/dist/src/models/Serializable.d.ts +4 -0
- package/dist/src/models/Serializable.js +3 -0
- package/dist/src/models/Serializable.js.map +1 -0
- package/dist/src/models/UserProfile.d.ts +20 -0
- package/dist/src/models/UserProfile.js +3 -0
- package/dist/src/models/UserProfile.js.map +1 -0
- package/dist/src/pages/findReservation/FindReservation.d.ts +2 -0
- package/dist/src/pages/findReservation/FindReservation.js +142 -0
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -0
- package/dist/src/pages/findReservation/FindReservationResults.d.ts +2 -0
- package/dist/src/pages/findReservation/FindReservationResults.js +102 -0
- package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -0
- package/dist/src/pages/findReservation/ReservationRow.d.ts +8 -0
- package/dist/src/pages/findReservation/ReservationRow.js +147 -0
- package/dist/src/pages/findReservation/ReservationRow.js.map +1 -0
- package/dist/src/pages/findReservation/ReservationRowModal.d.ts +10 -0
- package/dist/src/pages/findReservation/ReservationRowModal.js +101 -0
- package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -0
- package/dist/src/pages/hotel/HotelInfo.d.ts +2 -0
- package/dist/src/pages/hotel/HotelInfo.js +164 -0
- package/dist/src/pages/hotel/HotelInfo.js.map +1 -0
- package/dist/src/pages/hotel/HotelInfoPlaceholder.d.ts +2 -0
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js +11 -0
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -0
- package/dist/src/pages/steps/Step.d.ts +22 -0
- package/dist/src/pages/steps/Step.js +32 -0
- package/dist/src/pages/steps/Step.js.map +1 -0
- package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +15 -0
- package/dist/src/pages/steps/StepAddon/StepAddon.js +27 -0
- package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -0
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.d.ts +2 -0
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +35 -0
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -0
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.d.ts +2 -0
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +60 -0
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -0
- package/dist/src/pages/steps/StepAddon/StepAddonValidator.d.ts +5 -0
- package/dist/src/pages/steps/StepAddon/StepAddonValidator.js +10 -0
- package/dist/src/pages/steps/StepAddon/StepAddonValidator.js.map +1 -0
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.d.ts +15 -0
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js +27 -0
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -0
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.d.ts +3 -0
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +62 -0
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -0
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.d.ts +2 -0
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +81 -0
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -0
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.d.ts +5 -0
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js +14 -0
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -0
- package/dist/src/pages/steps/StepDate/StepDate.d.ts +15 -0
- package/dist/src/pages/steps/StepDate/StepDate.js +27 -0
- package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -0
- package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +3 -0
- package/dist/src/pages/steps/StepDate/StepDateComponent.js +78 -0
- package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -0
- package/dist/src/pages/steps/StepDate/StepDateValidator.d.ts +5 -0
- package/dist/src/pages/steps/StepDate/StepDateValidator.js +10 -0
- package/dist/src/pages/steps/StepDate/StepDateValidator.js.map +1 -0
- package/dist/src/pages/steps/StepGuide.d.ts +7 -0
- package/dist/src/pages/steps/StepGuide.js +35 -0
- package/dist/src/pages/steps/StepGuide.js.map +1 -0
- package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +14 -0
- package/dist/src/pages/steps/StepHotel/StepHotel.js +25 -0
- package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -0
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.d.ts +3 -0
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +128 -0
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -0
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.d.ts +2 -0
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +56 -0
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -0
- package/dist/src/pages/steps/StepHotel/StepHotelValidator.d.ts +4 -0
- package/dist/src/pages/steps/StepHotel/StepHotelValidator.js +10 -0
- package/dist/src/pages/steps/StepHotel/StepHotelValidator.js.map +1 -0
- package/dist/src/pages/steps/StepRoom/StepRoom.d.ts +15 -0
- package/dist/src/pages/steps/StepRoom/StepRoom.js +27 -0
- package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -0
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.d.ts +2 -0
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +81 -0
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -0
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.d.ts +2 -0
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +83 -0
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -0
- package/dist/src/pages/steps/StepRoom/StepRoomValidator.d.ts +5 -0
- package/dist/src/pages/steps/StepRoom/StepRoomValidator.js +13 -0
- package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -0
- package/dist/src/pages/steps/StepThanks/StepThanks.d.ts +16 -0
- package/dist/src/pages/steps/StepThanks/StepThanks.js +32 -0
- package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -0
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.d.ts +2 -0
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +92 -0
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -0
- package/dist/src/pages/steps/StepThanks/StepThanksValidator.d.ts +5 -0
- package/dist/src/pages/steps/StepThanks/StepThanksValidator.js +13 -0
- package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -0
- package/dist/src/pages/steps/StepValidator.d.ts +4 -0
- package/dist/src/pages/steps/StepValidator.js +6 -0
- package/dist/src/pages/steps/StepValidator.js.map +1 -0
- package/dist/src/providers/CurrencyProvider.d.ts +22 -0
- package/dist/src/providers/CurrencyProvider.js +180 -0
- package/dist/src/providers/CurrencyProvider.js.map +1 -0
- package/dist/src/providers/DIProvider.d.ts +3 -0
- package/dist/src/providers/DIProvider.js +20 -0
- package/dist/src/providers/DIProvider.js.map +1 -0
- package/dist/src/providers/DistanceProvider.d.ts +13 -0
- package/dist/src/providers/DistanceProvider.js +32 -0
- package/dist/src/providers/DistanceProvider.js.map +1 -0
- package/dist/src/providers/FeatureProvider.d.ts +5 -0
- package/dist/src/providers/FeatureProvider.js +36 -0
- package/dist/src/providers/FeatureProvider.js.map +1 -0
- package/dist/src/providers/FilterProvider.d.ts +8 -0
- package/dist/src/providers/FilterProvider.js +40 -0
- package/dist/src/providers/FilterProvider.js.map +1 -0
- package/dist/src/providers/ImageProvider.d.ts +31 -0
- package/dist/src/providers/ImageProvider.js +65 -0
- package/dist/src/providers/ImageProvider.js.map +1 -0
- package/dist/src/providers/LanguageProvider.d.ts +26 -0
- package/dist/src/providers/LanguageProvider.js +105 -0
- package/dist/src/providers/LanguageProvider.js.map +1 -0
- package/dist/src/providers/RatePillProvider.d.ts +33 -0
- package/dist/src/providers/RatePillProvider.js +68 -0
- package/dist/src/providers/RatePillProvider.js.map +1 -0
- package/dist/src/providers/RoomSortProvider.d.ts +9 -0
- package/dist/src/providers/RoomSortProvider.js +28 -0
- package/dist/src/providers/RoomSortProvider.js.map +1 -0
- package/dist/src/providers/RoomstayThemeEngine.d.ts +46 -0
- package/dist/src/providers/RoomstayThemeEngine.js +184 -0
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -0
- package/dist/src/providers/SessionProvider.d.ts +55 -0
- package/dist/src/providers/SessionProvider.js +245 -0
- package/dist/src/providers/SessionProvider.js.map +1 -0
- package/dist/src/providers/StaticContextProvider.d.ts +5 -0
- package/dist/src/providers/StaticContextProvider.js +11 -0
- package/dist/src/providers/StaticContextProvider.js.map +1 -0
- package/dist/src/providers/feature/ConfirmationVerifyFeature.d.ts +10 -0
- package/dist/src/providers/feature/ConfirmationVerifyFeature.js +16 -0
- package/dist/src/providers/feature/ConfirmationVerifyFeature.js.map +1 -0
- package/dist/src/providers/feature/DatePickerTypeFeature.d.ts +7 -0
- package/dist/src/providers/feature/DatePickerTypeFeature.js +18 -0
- package/dist/src/providers/feature/DatePickerTypeFeature.js.map +1 -0
- package/dist/src/providers/feature/E164PhoneNumberFieldFeature.d.ts +7 -0
- package/dist/src/providers/feature/E164PhoneNumberFieldFeature.js +13 -0
- package/dist/src/providers/feature/E164PhoneNumberFieldFeature.js.map +1 -0
- package/dist/src/providers/feature/Feature.d.ts +11 -0
- package/dist/src/providers/feature/Feature.js +26 -0
- package/dist/src/providers/feature/Feature.js.map +1 -0
- package/dist/src/providers/feature/FeaturedPromoFeature.d.ts +7 -0
- package/dist/src/providers/feature/FeaturedPromoFeature.js +14 -0
- package/dist/src/providers/feature/FeaturedPromoFeature.js.map +1 -0
- package/dist/src/providers/feature/InlineAddonStepFeature.d.ts +9 -0
- package/dist/src/providers/feature/InlineAddonStepFeature.js +26 -0
- package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -0
- package/dist/src/providers/feature/RoomUpsellFeature.d.ts +7 -0
- package/dist/src/providers/feature/RoomUpsellFeature.js +13 -0
- package/dist/src/providers/feature/RoomUpsellFeature.js.map +1 -0
- package/dist/src/providers/feature/ShowIATANumberOnCheckoutFeature.d.ts +7 -0
- package/dist/src/providers/feature/ShowIATANumberOnCheckoutFeature.js +13 -0
- package/dist/src/providers/feature/ShowIATANumberOnCheckoutFeature.js.map +1 -0
- package/dist/src/providers/storage/LocalStorageProvider.d.ts +16 -0
- package/dist/src/providers/storage/LocalStorageProvider.js +95 -0
- package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -0
- package/dist/src/providers/storage/StorageProvider.d.ts +9 -0
- package/dist/src/providers/storage/StorageProvider.js +13 -0
- package/dist/src/providers/storage/StorageProvider.js.map +1 -0
- package/dist/src/reducers/BasketReducer.d.ts +8 -0
- package/dist/src/reducers/BasketReducer.js +76 -0
- package/dist/src/reducers/BasketReducer.js.map +1 -0
- package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +7 -0
- package/dist/src/routes/NaturallyProgressedStepRoute.js +17 -0
- package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -0
- package/dist/src/translations/Translation.d.ts +301 -0
- package/dist/src/translations/Translation.js +305 -0
- package/dist/src/translations/Translation.js.map +1 -0
- package/dist/src/translations/languages/en-gb.d.ts +3 -0
- package/dist/src/translations/languages/en-gb.js +305 -0
- package/dist/src/translations/languages/en-gb.js.map +1 -0
- package/dist/src/translations/languages/es.d.ts +2 -0
- package/dist/src/translations/languages/es.js +5 -0
- package/dist/src/translations/languages/es.js.map +1 -0
- package/dist/src/translations/languages/fr.d.ts +2 -0
- package/dist/src/translations/languages/fr.js +5 -0
- package/dist/src/translations/languages/fr.js.map +1 -0
- package/dist/src/translations/languages/template.d.ts +2 -0
- package/dist/src/translations/languages/template.js +5 -0
- package/dist/src/translations/languages/template.js.map +1 -0
- package/dist/src/translations/languages/zh-cn.d.ts +2 -0
- package/dist/src/translations/languages/zh-cn.js +5 -0
- package/dist/src/translations/languages/zh-cn.js.map +1 -0
- package/dist/src/translations/languages/zh-tw.d.ts +2 -0
- package/dist/src/translations/languages/zh-tw.js +5 -0
- package/dist/src/translations/languages/zh-tw.js.map +1 -0
- package/dist/src/util/CalendarHelper.d.ts +16 -0
- package/dist/src/util/CalendarHelper.js +81 -0
- package/dist/src/util/CalendarHelper.js.map +1 -0
- package/dist/src/util/Color.d.ts +16 -0
- package/dist/src/util/Color.js +21 -0
- package/dist/src/util/Color.js.map +1 -0
- package/dist/src/util/CurrencyHelper.d.ts +3 -0
- package/dist/src/util/CurrencyHelper.js +9 -0
- package/dist/src/util/CurrencyHelper.js.map +1 -0
- package/dist/src/util/DataLayer.d.ts +65 -0
- package/dist/src/util/DataLayer.js +322 -0
- package/dist/src/util/DataLayer.js.map +1 -0
- package/dist/src/util/ScreenSize.d.ts +9 -0
- package/dist/src/util/ScreenSize.js +13 -0
- package/dist/src/util/ScreenSize.js.map +1 -0
- package/dist/src/util/StepManager.d.ts +19 -0
- package/dist/src/util/StepManager.js +67 -0
- package/dist/src/util/StepManager.js.map +1 -0
- package/dist/src/util/StringHelper.d.ts +7 -0
- package/dist/src/util/StringHelper.js +30 -0
- package/dist/src/util/StringHelper.js.map +1 -0
- package/dist/src/util/TextAlignment.d.ts +4 -0
- package/dist/src/util/TextAlignment.js +9 -0
- package/dist/src/util/TextAlignment.js.map +1 -0
- package/dist/src/util/TimeHelper.d.ts +3 -0
- package/dist/src/util/TimeHelper.js +16 -0
- package/dist/src/util/TimeHelper.js.map +1 -0
- package/dist/src/util/TotalCalculator.d.ts +9 -0
- package/dist/src/util/TotalCalculator.js +57 -0
- package/dist/src/util/TotalCalculator.js.map +1 -0
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.d.ts +1 -0
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +36 -0
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -0
- package/dist/tests/jest/events/EventManager.test.d.ts +1 -0
- package/dist/tests/jest/events/EventManager.test.js +99 -0
- package/dist/tests/jest/events/EventManager.test.js.map +1 -0
- package/dist/tests/jest/models/RoomRate.test.d.ts +1 -0
- package/dist/tests/jest/models/RoomRate.test.js +130 -0
- package/dist/tests/jest/models/RoomRate.test.js.map +1 -0
- package/dist/tests/jest/providers/LanguageProvider.test.d.ts +1 -0
- package/dist/tests/jest/providers/LanguageProvider.test.js +20 -0
- package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -0
- package/dist/tests/jest/providers/SessionProvider.test.d.ts +1 -0
- package/dist/tests/jest/providers/SessionProvider.test.js +217 -0
- package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -0
- package/dist/tests/jest/providers/storage/LocalStorageProvider.test.d.ts +1 -0
- package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js +126 -0
- package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js.map +1 -0
- package/dist/tests/jest/reducers/BasketReducer.test.d.ts +1 -0
- package/dist/tests/jest/reducers/BasketReducer.test.js +99 -0
- package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -0
- package/dist/tests/offline/RoomstayBestRateAlert.d.ts +2 -0
- package/dist/tests/offline/RoomstayBestRateAlert.js +22 -0
- package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -0
- package/dist/tests/offline/entry/RSCompany.d.ts +2 -0
- package/dist/tests/offline/entry/RSCompany.js +111 -0
- package/dist/tests/offline/entry/RSCompany.js.map +1 -0
- package/dist/tests/offline/entry/ReactWrapper.d.ts +2 -0
- package/dist/tests/offline/entry/ReactWrapper.js +59 -0
- package/dist/tests/offline/entry/ReactWrapper.js.map +1 -0
- package/dist/tests/offline/entry/allEngines.d.ts +1 -0
- package/dist/tests/offline/entry/allEngines.js +24 -0
- package/dist/tests/offline/entry/allEngines.js.map +1 -0
- package/dist/tests/offline/entry/components/TestPicker.d.ts +2 -0
- package/dist/tests/offline/entry/components/TestPicker.js +99 -0
- package/dist/tests/offline/entry/components/TestPicker.js.map +1 -0
- package/package.json +180 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PriceBreakdownFooter = void 0;
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const react_i18next_1 = require("react-i18next");
|
|
6
|
+
const contexts_1 = require("@frontend/contexts");
|
|
7
|
+
const Color_1 = require("../../../../../util/Color");
|
|
8
|
+
const StringHelper_1 = require("../../../../../util/StringHelper");
|
|
9
|
+
const Translation_1 = require("../../../../../translations/Translation");
|
|
10
|
+
const Text_1 = require("../../../../generic/Text");
|
|
11
|
+
const Headline_1 = require("../../../../generic/Headline");
|
|
12
|
+
const LineBreak_1 = require("../../../../generic/LineBreak");
|
|
13
|
+
const Currency_1 = require("../../../../generic/Currency");
|
|
14
|
+
const RoomDetailsPriceBlock_1 = require("../RoomDetailsPriceBlock");
|
|
15
|
+
const BookNowButton_1 = require("./BookNowButton");
|
|
16
|
+
const react_1 = require("react");
|
|
17
|
+
const contexts_2 = require("@frontend/contexts");
|
|
18
|
+
exports.PriceBreakdownFooter = (props) => {
|
|
19
|
+
var _a, _b, _c;
|
|
20
|
+
const { t } = react_i18next_1.useTranslation();
|
|
21
|
+
const basketContext = react_1.useContext(contexts_1.BasketContext);
|
|
22
|
+
// Just like the room list, if none are selected we select the last one. Possible refactor here & room list?
|
|
23
|
+
// TODO
|
|
24
|
+
const basketRow = (_a = basketContext.selectedBasketRow) !== null && _a !== void 0 ? _a : basketContext.currentBasketRows[basketContext.currentBasketRows.length - 1];
|
|
25
|
+
const { rate } = props;
|
|
26
|
+
const days = [];
|
|
27
|
+
const totalDays = (_c = (_b = basketRow === null || basketRow === void 0 ? void 0 : basketRow.getEndDate()) === null || _b === void 0 ? void 0 : _b.diff(basketRow === null || basketRow === void 0 ? void 0 : basketRow.getStartDate(), 'day')) !== null && _c !== void 0 ? _c : 0;
|
|
28
|
+
for (let i = 0; i <= totalDays; i++) {
|
|
29
|
+
const currentDay = basketRow === null || basketRow === void 0 ? void 0 : basketRow.getStartDate().add(i, 'day');
|
|
30
|
+
if (currentDay) {
|
|
31
|
+
days.push(currentDay.format('dddd, MMM DD, YYYY'));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const bookButtonLabel = props.getButtonLabel ? props.getButtonLabel(false, false) : t(Translation_1.Translation.Step.Room.RoomInfo.BookNow);
|
|
35
|
+
return (React.createElement("div", { className: "u-flex align-items-center" },
|
|
36
|
+
React.createElement(Text_1.default, { color: Color_1.Color.DarkGrey },
|
|
37
|
+
basketRow !== null && (React.createElement(React.Fragment, null,
|
|
38
|
+
StringHelper_1.default.pluralWithDictAndCount(basketRow === null || basketRow === void 0 ? void 0 : basketRow.getAdults(), Translation_1.Translation.Step.Date.Adult, t),
|
|
39
|
+
",\u00A0",
|
|
40
|
+
StringHelper_1.default.pluralWithDictAndCount(basketRow === null || basketRow === void 0 ? void 0 : basketRow.getChildren(), Translation_1.Translation.Step.Date.Child, t),
|
|
41
|
+
",\u00A0")),
|
|
42
|
+
StringHelper_1.default.pluralWithDictAndCount(days.length - 1, Translation_1.Translation.Misc.Night, t)),
|
|
43
|
+
React.createElement("div", { className: "u-flex align-items-center" },
|
|
44
|
+
React.createElement(BookNowButton_1.default, { isFilled: true, rate: props.rate, buttonLabel: bookButtonLabel, onAddToBasketOverride: props.onAddToBasketOverride }))));
|
|
45
|
+
};
|
|
46
|
+
function PriceBreakdownBlock(props) {
|
|
47
|
+
var _a, _b;
|
|
48
|
+
const { t } = react_i18next_1.useTranslation();
|
|
49
|
+
const ccx = react_1.useContext(contexts_2.CompanyContext);
|
|
50
|
+
const basketContext = React.useContext(contexts_1.BasketContext);
|
|
51
|
+
const selectedRow = (_a = basketContext.selectedBasketRow) !== null && _a !== void 0 ? _a : basketContext.currentBasketRows[basketContext.currentBasketRows.length - 1];
|
|
52
|
+
const { rate } = props;
|
|
53
|
+
const days = [];
|
|
54
|
+
const totalDays = (_b = selectedRow === null || selectedRow === void 0 ? void 0 : selectedRow.getEndDate().diff(selectedRow === null || selectedRow === void 0 ? void 0 : selectedRow.getStartDate(), 'day')) !== null && _b !== void 0 ? _b : 0;
|
|
55
|
+
for (let i = 0; i <= totalDays; i++) {
|
|
56
|
+
const currentDay = selectedRow === null || selectedRow === void 0 ? void 0 : selectedRow.getStartDate().add(i, 'day');
|
|
57
|
+
if (currentDay) {
|
|
58
|
+
days.push(currentDay.format('dddd, MMM DD, YYYY'));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const nightRates = Object.values(rate.nightRates);
|
|
62
|
+
let isLocked = false;
|
|
63
|
+
if (rate.isMemberOnly && !ccx.signedInUser) {
|
|
64
|
+
isLocked = true;
|
|
65
|
+
}
|
|
66
|
+
const totalFees = rate.getTotalFees();
|
|
67
|
+
const totalTax = rate.getTotalTaxes();
|
|
68
|
+
return (React.createElement(React.Fragment, null,
|
|
69
|
+
React.createElement("div", { className: "row" },
|
|
70
|
+
React.createElement("div", { className: "col-md-6" },
|
|
71
|
+
React.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.DarkGrey }, t(Translation_1.Translation.Step.Room.Filter.RoomType)),
|
|
72
|
+
React.createElement("div", { className: "u-flex" },
|
|
73
|
+
React.createElement(Headline_1.default, null,
|
|
74
|
+
React.createElement("strong", null, rate.getRoom().name)))),
|
|
75
|
+
React.createElement("div", { className: "col-md-6" },
|
|
76
|
+
React.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.DarkGrey }, t(Translation_1.Translation.Step.Room.Filter.RateType)),
|
|
77
|
+
React.createElement("div", { className: "u-flex" },
|
|
78
|
+
React.createElement(Headline_1.default, null,
|
|
79
|
+
React.createElement("strong", null, rate.name))))),
|
|
80
|
+
React.createElement(LineBreak_1.default, null),
|
|
81
|
+
days.map((day, index) => {
|
|
82
|
+
const isLastDay = index === days.length - 1;
|
|
83
|
+
const nightRate = nightRates[index];
|
|
84
|
+
if (!nightRate && !isLastDay) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
return (React.createElement("div", { className: "u-flex u-marg-bottom", key: index },
|
|
88
|
+
React.createElement(Text_1.default, null, day),
|
|
89
|
+
isLastDay ? (React.createElement(Text_1.default, { color: Color_1.Color.Success }, t(Translation_1.Translation.Misc.CheckOut))) : (React.createElement(Text_1.default, { color: Color_1.Color.DarkGrey, className: "u-pos-rel" },
|
|
90
|
+
Number(nightRate.discount) > 0 && (React.createElement("span", { style: {
|
|
91
|
+
textDecoration: 'line-through',
|
|
92
|
+
fontSize: '14px',
|
|
93
|
+
height: '1.1em',
|
|
94
|
+
position: 'absolute',
|
|
95
|
+
top: '0',
|
|
96
|
+
right: '0',
|
|
97
|
+
transform: 'translateY(-100%)',
|
|
98
|
+
}, className: "u-cross-out" },
|
|
99
|
+
React.createElement(Currency_1.default, null, nightRate.cost + nightRate.discount))),
|
|
100
|
+
React.createElement("span", { className: "u-primary u-bold" },
|
|
101
|
+
React.createElement(Currency_1.default, null, nightRate.cost))))));
|
|
102
|
+
}),
|
|
103
|
+
!!totalFees && (React.createElement("div", { className: "u-flex u-marg-bottom" },
|
|
104
|
+
React.createElement(Text_1.default, null, t(Translation_1.Translation.Step.Room.Summary.Fees)),
|
|
105
|
+
React.createElement(Text_1.default, { color: Color_1.Color.DarkGrey },
|
|
106
|
+
React.createElement(Currency_1.default, null, totalFees)))),
|
|
107
|
+
!!totalTax && (React.createElement("div", { className: "u-flex u-marg-bottom" },
|
|
108
|
+
React.createElement(Text_1.default, null, t(Translation_1.Translation.Step.Room.Summary.Taxes)),
|
|
109
|
+
React.createElement(Text_1.default, { color: Color_1.Color.DarkGrey },
|
|
110
|
+
React.createElement(Currency_1.default, null, totalTax)))),
|
|
111
|
+
React.createElement("div", { className: "u-marg-top-bottom--heavy u-flex flex-column align-items-end" },
|
|
112
|
+
React.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.Navy }, t(Translation_1.Translation.Misc.Total)),
|
|
113
|
+
React.createElement(RoomDetailsPriceBlock_1.default, { isLocked: isLocked, averagePreDiscount: rate.getTotalPriceBeforeDiscount(), averagePrice: rate.getTotalPrice(), isMemberOnly: props.rate.isMemberOnly, hidePerNight: true }),
|
|
114
|
+
React.createElement("div", { className: "u-marg-bottom" },
|
|
115
|
+
React.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.DarkGrey, inline: true },
|
|
116
|
+
t(Translation_1.Translation.Step.Room.RoomInfo.IncludesTaxes),
|
|
117
|
+
".")))));
|
|
118
|
+
}
|
|
119
|
+
exports.default = PriceBreakdownBlock;
|
|
120
|
+
//# sourceMappingURL=PriceBreakdownBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PriceBreakdownBlock.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,iDAA+C;AAC/C,iDAAmD;AACnD,qDAAkD;AAClD,mEAA4D;AAC5D,yEAAsE;AACtE,mDAA0D;AAC1D,2DAAoD;AACpD,6DAAsD;AACtD,2DAAoD;AACpD,oEAA6D;AAC7D,mDAA4C;AAC5C,iCAAmC;AACnC,iDAAoD;AAcvC,QAAA,oBAAoB,GAAG,CAAC,KAAgC,EAAE,EAAE;;IACrE,MAAM,EAAE,CAAC,EAAE,GAAG,8BAAc,EAAE,CAAC;IAE/B,MAAM,aAAa,GAAG,kBAAU,CAAC,wBAAa,CAAC,CAAC;IAChD,4GAA4G;IAC5G,OAAO;IACP,MAAM,SAAS,SAAG,aAAa,CAAC,iBAAiB,mCAAI,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEjI,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEvB,MAAM,IAAI,GAAQ,EAAE,CAAC;IACrB,MAAM,SAAS,eAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,4CAAI,IAAI,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,IAAI,KAAK,oCAAK,CAAC,CAAC;IAEvF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,UAAU,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;SACtD;KACJ;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE9H,OAAO,CACH,6BAAK,SAAS,EAAC,2BAA2B;QACtC,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ;YACtB,SAAS,KAAK,IAAI,IAAI,CACnB;gBACK,sBAAY,CAAC,sBAAsB,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,IAAI,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;;gBAC3F,sBAAY,CAAC,sBAAsB,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,IAAI,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;0BAC/F,CACN;YACA,sBAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,yBAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAC7E;QACP,6BAAK,SAAS,EAAC,2BAA2B;YACtC,oBAAC,uBAAa,IAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,GAAI,CACnI,CACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,SAAwB,mBAAmB,CAAC,KAAqB;;IAC7D,MAAM,EAAE,CAAC,EAAE,GAAG,8BAAc,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,kBAAU,CAAC,yBAAc,CAAC,CAAC;IAEvC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAa,CAAC,CAAC;IAEtD,MAAM,WAAW,SAAG,aAAa,CAAC,iBAAiB,mCAAI,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEnI,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEvB,MAAM,IAAI,GAAQ,EAAE,CAAC;IAErB,MAAM,SAAS,SAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,GAAG,IAAI,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,IAAI,KAAK,oCAAK,CAAC,CAAC;IAE1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,UAAU,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;SACtD;KACJ;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAElD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;QACxC,QAAQ,GAAG,IAAI,CAAC;KACnB;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAEtC,OAAO,CACH;QACI,6BAAK,SAAS,EAAC,KAAK;YAChB,6BAAK,SAAS,EAAC,UAAU;gBACrB,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,QAAQ,IAC5C,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CACtC;gBACP,6BAAK,SAAS,EAAC,QAAQ;oBACnB,oBAAC,kBAAQ;wBACL,oCAAS,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAU,CAC/B,CACT,CACJ;YACN,6BAAK,SAAS,EAAC,UAAU;gBACrB,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,QAAQ,IAC5C,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CACtC;gBACP,6BAAK,SAAS,EAAC,QAAQ;oBACnB,oBAAC,kBAAQ;wBACL,oCAAS,IAAI,CAAC,IAAI,CAAU,CACrB,CACT,CACJ,CACJ;QACN,oBAAC,mBAAS,OAAG;QACZ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,KAAa,EAAE,EAAE;YAClC,MAAM,SAAS,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAE5C,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAEpC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE;gBAC1B,OAAO;aACV;YAED,OAAO,CACH,6BAAK,SAAS,EAAC,sBAAsB,EAAC,GAAG,EAAE,KAAK;gBAC5C,oBAAC,cAAI,QAAE,GAAG,CAAQ;gBACjB,SAAS,CAAC,CAAC,CAAC,CACT,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,OAAO,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAQ,CACpE,CAAC,CAAC,CAAC,CACA,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ,EAAE,SAAS,EAAC,WAAW;oBAC7C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAC/B,8BACI,KAAK,EAAE;4BACH,cAAc,EAAE,cAAc;4BAC9B,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,OAAO;4BACf,QAAQ,EAAE,UAAU;4BACpB,GAAG,EAAE,GAAG;4BACR,KAAK,EAAE,GAAG;4BACV,SAAS,EAAE,mBAAmB;yBACjC,EACD,SAAS,EAAC,aAAa;wBAEvB,oBAAC,kBAAQ,QAAE,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAY,CACvD,CACV;oBACD,8BAAM,SAAS,EAAC,kBAAkB;wBAC9B,oBAAC,kBAAQ,QAAE,SAAS,CAAC,IAAI,CAAY,CAClC,CACJ,CACV,CACC,CACT,CAAC;QACN,CAAC,CAAC;QACD,CAAC,CAAC,SAAS,IAAI,CACZ,6BAAK,SAAS,EAAC,sBAAsB;YACjC,oBAAC,cAAI,QAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAQ;YACpD,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ;gBACvB,oBAAC,kBAAQ,QAAE,SAAS,CAAY,CAC7B,CACL,CACT;QACA,CAAC,CAAC,QAAQ,IAAI,CACX,6BAAK,SAAS,EAAC,sBAAsB;YACjC,oBAAC,cAAI,QAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAQ;YACrD,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ;gBACvB,oBAAC,kBAAQ,QAAE,QAAQ,CAAY,CAC5B,CACL,CACT;QAED,6BAAK,SAAS,EAAC,6DAA6D;YACxE,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,IAAI,IACxC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CACvB;YACP,oBAAC,+BAAqB,IAClB,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,IAAI,CAAC,2BAA2B,EAAE,EACtD,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,EAClC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,EACrC,YAAY,EAAE,IAAI,GACpB;YACF,6BAAK,SAAS,EAAC,eAAe;gBAC1B,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI;oBAC1D,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;wBAC7C,CACL,CACJ,CACP,CACN,CAAC;AACN,CAAC;AApID,sCAoIC","sourcesContent":["import * as React from 'react';\nimport { RoomRate } from '../../../../../models/Room/RoomRate';\nimport { useTranslation } from 'react-i18next';\nimport { BasketContext } from '@frontend/contexts';\nimport { Color } from '../../../../../util/Color';\nimport StringHelper from '../../../../../util/StringHelper';\nimport { Translation } from '../../../../../translations/Translation';\nimport Text, { TextType } from '../../../../generic/Text';\nimport Headline from '../../../../generic/Headline';\nimport LineBreak from '../../../../generic/LineBreak';\nimport Currency from '../../../../generic/Currency';\nimport RoomDetailsPriceBlock from '../RoomDetailsPriceBlock';\nimport BookNowButton from './BookNowButton';\nimport { useContext } from 'react';\nimport { CompanyContext } from '@frontend/contexts';\n\ninterface RoomModalProps {\n rate: RoomRate;\n onClose?: (closedByBooking: boolean) => void;\n}\ninterface PriceBreakdownFooterProps {\n rate: RoomRate;\n onClose: () => void;\n\n getButtonLabel?: (isRoomSelectedAndEditing: boolean, isThisSelectedRow: boolean) => string;\n onAddToBasketOverride?: (rate: RoomRate) => void;\n}\n\nexport const PriceBreakdownFooter = (props: PriceBreakdownFooterProps) => {\n const { t } = useTranslation();\n\n const basketContext = useContext(BasketContext);\n // Just like the room list, if none are selected we select the last one. Possible refactor here & room list?\n // TODO\n const basketRow = basketContext.selectedBasketRow ?? basketContext.currentBasketRows[basketContext.currentBasketRows.length - 1];\n\n const { rate } = props;\n\n const days: any = [];\n const totalDays = basketRow?.getEndDate()?.diff(basketRow?.getStartDate(), 'day') ?? 0;\n\n for (let i = 0; i <= totalDays; i++) {\n const currentDay = basketRow?.getStartDate().add(i, 'day');\n if (currentDay) {\n days.push(currentDay.format('dddd, MMM DD, YYYY'));\n }\n }\n\n const bookButtonLabel = props.getButtonLabel ? props.getButtonLabel(false, false) : t(Translation.Step.Room.RoomInfo.BookNow);\n\n return (\n <div className=\"u-flex align-items-center\">\n <Text color={Color.DarkGrey}>\n {basketRow !== null && (\n <>\n {StringHelper.pluralWithDictAndCount(basketRow?.getAdults(), Translation.Step.Date.Adult, t)}, \n {StringHelper.pluralWithDictAndCount(basketRow?.getChildren(), Translation.Step.Date.Child, t)}, \n </>\n )}\n {StringHelper.pluralWithDictAndCount(days.length - 1, Translation.Misc.Night, t)}\n </Text>\n <div className=\"u-flex align-items-center\">\n <BookNowButton isFilled={true} rate={props.rate} buttonLabel={bookButtonLabel} onAddToBasketOverride={props.onAddToBasketOverride} />\n </div>\n </div>\n );\n};\n\nexport default function PriceBreakdownBlock(props: RoomModalProps) {\n const { t } = useTranslation();\n const ccx = useContext(CompanyContext);\n\n const basketContext = React.useContext(BasketContext);\n\n const selectedRow = basketContext.selectedBasketRow ?? basketContext.currentBasketRows[basketContext.currentBasketRows.length - 1];\n\n const { rate } = props;\n\n const days: any = [];\n\n const totalDays = selectedRow?.getEndDate().diff(selectedRow?.getStartDate(), 'day') ?? 0;\n\n for (let i = 0; i <= totalDays; i++) {\n const currentDay = selectedRow?.getStartDate().add(i, 'day');\n if (currentDay) {\n days.push(currentDay.format('dddd, MMM DD, YYYY'));\n }\n }\n\n const nightRates = Object.values(rate.nightRates);\n\n let isLocked = false;\n if (rate.isMemberOnly && !ccx.signedInUser) {\n isLocked = true;\n }\n\n const totalFees = rate.getTotalFees();\n const totalTax = rate.getTotalTaxes();\n\n return (\n <>\n <div className=\"row\">\n <div className=\"col-md-6\">\n <Text type={TextType.Label} color={Color.DarkGrey}>\n {t(Translation.Step.Room.Filter.RoomType)}\n </Text>\n <div className=\"u-flex\">\n <Headline>\n <strong>{rate.getRoom().name}</strong>\n </Headline>\n </div>\n </div>\n <div className=\"col-md-6\">\n <Text type={TextType.Label} color={Color.DarkGrey}>\n {t(Translation.Step.Room.Filter.RateType)}\n </Text>\n <div className=\"u-flex\">\n <Headline>\n <strong>{rate.name}</strong>\n </Headline>\n </div>\n </div>\n </div>\n <LineBreak />\n {days.map((day: any, index: number) => {\n const isLastDay = index === days.length - 1;\n\n const nightRate = nightRates[index];\n\n if (!nightRate && !isLastDay) {\n return;\n }\n\n return (\n <div className=\"u-flex u-marg-bottom\" key={index}>\n <Text>{day}</Text>\n {isLastDay ? (\n <Text color={Color.Success}>{t(Translation.Misc.CheckOut)}</Text>\n ) : (\n <Text color={Color.DarkGrey} className=\"u-pos-rel\">\n {Number(nightRate.discount) > 0 && (\n <span\n style={{\n textDecoration: 'line-through',\n fontSize: '14px',\n height: '1.1em',\n position: 'absolute',\n top: '0',\n right: '0',\n transform: 'translateY(-100%)',\n }}\n className=\"u-cross-out\"\n >\n <Currency>{nightRate.cost + nightRate.discount}</Currency>\n </span>\n )}\n <span className=\"u-primary u-bold\">\n <Currency>{nightRate.cost}</Currency>\n </span>\n </Text>\n )}\n </div>\n );\n })}\n {!!totalFees && (\n <div className=\"u-flex u-marg-bottom\">\n <Text>{t(Translation.Step.Room.Summary.Fees)}</Text>\n <Text color={Color.DarkGrey}>\n <Currency>{totalFees}</Currency>\n </Text>\n </div>\n )}\n {!!totalTax && (\n <div className=\"u-flex u-marg-bottom\">\n <Text>{t(Translation.Step.Room.Summary.Taxes)}</Text>\n <Text color={Color.DarkGrey}>\n <Currency>{totalTax}</Currency>\n </Text>\n </div>\n )}\n\n <div className=\"u-marg-top-bottom--heavy u-flex flex-column align-items-end\">\n <Text type={TextType.Small} color={Color.Navy}>\n {t(Translation.Misc.Total)}\n </Text>\n <RoomDetailsPriceBlock\n isLocked={isLocked}\n averagePreDiscount={rate.getTotalPriceBeforeDiscount()}\n averagePrice={rate.getTotalPrice()}\n isMemberOnly={props.rate.isMemberOnly}\n hidePerNight={true}\n />\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Label} color={Color.DarkGrey} inline={true}>\n {t(Translation.Step.Room.RoomInfo.IncludesTaxes)}.\n </Text>\n </div>\n </div>\n </>\n );\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { RoomRate } from '../../../../../models/Room/RoomRate';
|
|
3
|
+
interface RoomRateDescriptionTabProps {
|
|
4
|
+
rate: RoomRate;
|
|
5
|
+
}
|
|
6
|
+
interface RoomRateDescriptionFooterProps {
|
|
7
|
+
rate: RoomRate;
|
|
8
|
+
onClose: () => void;
|
|
9
|
+
getButtonLabel?: (isRoomSelectedAndEditing: boolean, isThisSelectedRow: boolean) => string;
|
|
10
|
+
onAddToBasketOverride?: (rate: RoomRate) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const RoomRateDescriptionFooter: (props: RoomRateDescriptionFooterProps) => JSX.Element;
|
|
13
|
+
export default function RoomRateDescriptionTab(props: RoomRateDescriptionTabProps): JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RoomRateDescriptionFooter = void 0;
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const Headline_1 = require("../../../../generic/Headline");
|
|
6
|
+
const LineBreak_1 = require("../../../../generic/LineBreak");
|
|
7
|
+
const Text_1 = require("../../../../generic/Text");
|
|
8
|
+
const react_i18next_1 = require("react-i18next");
|
|
9
|
+
const Translation_1 = require("../../../../../translations/Translation");
|
|
10
|
+
const Color_1 = require("../../../../../util/Color");
|
|
11
|
+
const TextAlignment_1 = require("../../../../../util/TextAlignment");
|
|
12
|
+
const BEButton_1 = require("../../../../generic/BEButton");
|
|
13
|
+
const react_1 = require("react");
|
|
14
|
+
const RoomDetailsPriceBlock_1 = require("../RoomDetailsPriceBlock");
|
|
15
|
+
const DataLayer_1 = require("../../../../../util/DataLayer");
|
|
16
|
+
const BookNowButton_1 = require("./BookNowButton");
|
|
17
|
+
const contexts_1 = require("@frontend/contexts");
|
|
18
|
+
exports.RoomRateDescriptionFooter = (props) => {
|
|
19
|
+
const { t } = react_i18next_1.useTranslation();
|
|
20
|
+
const ccx = react_1.useContext(contexts_1.CompanyContext);
|
|
21
|
+
const { rate } = props;
|
|
22
|
+
let isLocked = false;
|
|
23
|
+
if (rate.isMemberOnly && !ccx.signedInUser) {
|
|
24
|
+
isLocked = true;
|
|
25
|
+
}
|
|
26
|
+
const bookButtonLabel = props.getButtonLabel ? props.getButtonLabel(false, false) : t(Translation_1.Translation.Step.Room.RoomInfo.BookNow);
|
|
27
|
+
const openSignupModalOnClick = () => {
|
|
28
|
+
DataLayer_1.default.instance.sendInteraction('Member Signup Modal', DataLayer_1.InteractionType.LINK, DataLayer_1.InteractionStep.ROOMS);
|
|
29
|
+
ccx.openMemberSignupModal();
|
|
30
|
+
};
|
|
31
|
+
const bookNowButton = isLocked ? (React.createElement(BEButton_1.default, { filled: true, success: true, onClick: openSignupModalOnClick }, t(Translation_1.Translation.Step.Room.RoomInfo.RevealPrice))) : (React.createElement(BookNowButton_1.default, { isFilled: true, rate: props.rate, buttonLabel: bookButtonLabel, onAddToBasketOverride: props.onAddToBasketOverride }));
|
|
32
|
+
const priceBlock = React.createElement("div", { className: "u-flex flex-column align-items-start align-items-md-end justify-content-start" });
|
|
33
|
+
return (React.createElement("div", { className: "u-flex" },
|
|
34
|
+
priceBlock,
|
|
35
|
+
React.createElement("div", { className: "u-flex align-items-center" }, bookNowButton)));
|
|
36
|
+
};
|
|
37
|
+
function RoomRateDescriptionTab(props) {
|
|
38
|
+
var _a;
|
|
39
|
+
const ccx = react_1.useContext(contexts_1.CompanyContext);
|
|
40
|
+
const { t } = react_i18next_1.useTranslation();
|
|
41
|
+
const cancelPolicy = props.rate.getCancellationPolicy();
|
|
42
|
+
const guaranteePolicy = props.rate.getGuaranteePolicy();
|
|
43
|
+
let isLocked = false;
|
|
44
|
+
if (props.rate.isMemberOnly && !ccx.signedInUser) {
|
|
45
|
+
isLocked = true;
|
|
46
|
+
}
|
|
47
|
+
const rate = props.rate;
|
|
48
|
+
return (React.createElement(React.Fragment, null,
|
|
49
|
+
React.createElement("div", null,
|
|
50
|
+
React.createElement("div", { className: "u-marg-bottom--light" },
|
|
51
|
+
React.createElement(Headline_1.default, { bold: true }, props.rate.name)),
|
|
52
|
+
React.createElement("div", { className: "text-small u-pre-wrap u-clear-font-weight", dangerouslySetInnerHTML: { __html: (_a = props.rate.longDescription) !== null && _a !== void 0 ? _a : props.rate.description } }),
|
|
53
|
+
React.createElement(LineBreak_1.default, null),
|
|
54
|
+
React.createElement("div", { className: "u-marg-bottom--light" },
|
|
55
|
+
React.createElement(Text_1.default, null,
|
|
56
|
+
React.createElement("strong", null, t(Translation_1.Translation.Step.Confirmation.Policies)))),
|
|
57
|
+
React.createElement("div", { className: "u-marg-bottom--heavy" },
|
|
58
|
+
guaranteePolicy && (React.createElement("div", { className: "u-marg-bottom--heavy" },
|
|
59
|
+
React.createElement("div", { className: "u-marg-bottom--light" },
|
|
60
|
+
React.createElement(Text_1.default, { type: Text_1.TextType.Small },
|
|
61
|
+
React.createElement("strong", null, t(Translation_1.Translation.Misc.GuaranteePolicy)))),
|
|
62
|
+
React.createElement(Text_1.default, { type: Text_1.TextType.Small },
|
|
63
|
+
React.createElement("span", { className: "u-clear-font-weight", dangerouslySetInnerHTML: { __html: guaranteePolicy } })))),
|
|
64
|
+
React.createElement("div", { className: "u-marg-bottom--heavy" },
|
|
65
|
+
React.createElement("div", { className: "u-marg-bottom--light" },
|
|
66
|
+
React.createElement(Text_1.default, { type: Text_1.TextType.Small },
|
|
67
|
+
React.createElement("strong", null, t(Translation_1.Translation.Misc.CancellationPolicy)))),
|
|
68
|
+
React.createElement(Text_1.default, { type: Text_1.TextType.Small },
|
|
69
|
+
React.createElement("span", { className: "u-clear-font-weight", dangerouslySetInnerHTML: { __html: cancelPolicy } })))),
|
|
70
|
+
React.createElement("div", { className: "u-flex flex-column align-items-start align-items-md-end justify-content-end" },
|
|
71
|
+
React.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.Navy }, t(Translation_1.Translation.Misc.Total)),
|
|
72
|
+
React.createElement(RoomDetailsPriceBlock_1.default, { isLocked: isLocked, averagePreDiscount: rate.getTotalPriceBeforeDiscount(), averagePrice: rate.getTotalPrice(), isMemberOnly: props.rate.isMemberOnly, hidePerNight: true }),
|
|
73
|
+
React.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.DarkGrey, align: TextAlignment_1.TextAlign.Right }, t(Translation_1.Translation.Step.Room.RoomInfo.IncludesTaxes))))));
|
|
74
|
+
}
|
|
75
|
+
exports.default = RoomRateDescriptionTab;
|
|
76
|
+
//# sourceMappingURL=RoomRateDescriptionTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoomRateDescriptionTab.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { RoomRate } from '../../../../../models/Room/RoomRate';\nimport Headline from '../../../../generic/Headline';\nimport LineBreak from '../../../../generic/LineBreak';\nimport Text, { TextType } from '../../../../generic/Text';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from '../../../../../translations/Translation';\nimport { Color } from '../../../../../util/Color';\nimport { TextAlign } from '../../../../../util/TextAlignment';\nimport BEButton from '../../../../generic/BEButton';\nimport { useContext } from 'react';\nimport RoomDetailsPriceBlock from '../RoomDetailsPriceBlock';\nimport DataLayer, { InteractionStep, InteractionType } from '../../../../../util/DataLayer';\nimport BookNowButton from './BookNowButton';\nimport { CompanyContext } from '@frontend/contexts';\n\ninterface RoomRateDescriptionTabProps {\n rate: RoomRate;\n}\ninterface RoomRateDescriptionFooterProps {\n rate: RoomRate;\n onClose: () => void;\n\n getButtonLabel?: (isRoomSelectedAndEditing: boolean, isThisSelectedRow: boolean) => string;\n onAddToBasketOverride?: (rate: RoomRate) => void;\n}\n\nexport const RoomRateDescriptionFooter = (props: RoomRateDescriptionFooterProps) => {\n const { t } = useTranslation();\n const ccx = useContext(CompanyContext);\n\n const { rate } = props;\n\n let isLocked = false;\n\n if (rate.isMemberOnly && !ccx.signedInUser) {\n isLocked = true;\n }\n\n const bookButtonLabel = props.getButtonLabel ? props.getButtonLabel(false, false) : t(Translation.Step.Room.RoomInfo.BookNow);\n\n const openSignupModalOnClick = () => {\n DataLayer.instance.sendInteraction('Member Signup Modal', InteractionType.LINK, InteractionStep.ROOMS);\n ccx.openMemberSignupModal();\n };\n\n const bookNowButton = isLocked ? (\n <BEButton filled={true} success={true} onClick={openSignupModalOnClick}>\n {t(Translation.Step.Room.RoomInfo.RevealPrice)}\n </BEButton>\n ) : (\n <BookNowButton isFilled={true} rate={props.rate} buttonLabel={bookButtonLabel} onAddToBasketOverride={props.onAddToBasketOverride} />\n );\n\n const priceBlock = <div className=\"u-flex flex-column align-items-start align-items-md-end justify-content-start\" />;\n\n return (\n <div className=\"u-flex\">\n {priceBlock}\n <div className=\"u-flex align-items-center\">{bookNowButton}</div>\n </div>\n );\n};\n\nexport default function RoomRateDescriptionTab(props: RoomRateDescriptionTabProps) {\n const ccx = useContext(CompanyContext);\n\n const { t } = useTranslation();\n const cancelPolicy = props.rate.getCancellationPolicy();\n const guaranteePolicy = props.rate.getGuaranteePolicy();\n\n let isLocked = false;\n if (props.rate.isMemberOnly && !ccx.signedInUser) {\n isLocked = true;\n }\n\n const rate = props.rate;\n\n return (\n <>\n <div>\n <div className=\"u-marg-bottom--light\">\n <Headline bold={true}>{props.rate.name}</Headline>\n </div>\n\n <div className=\"text-small u-pre-wrap u-clear-font-weight\" dangerouslySetInnerHTML={{ __html: props.rate.longDescription ?? props.rate.description }} />\n\n <LineBreak />\n <div className=\"u-marg-bottom--light\">\n <Text>\n <strong>{t(Translation.Step.Confirmation.Policies)}</strong>\n </Text>\n </div>\n <div className=\"u-marg-bottom--heavy\">\n {guaranteePolicy && (\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Misc.GuaranteePolicy)}</strong>\n </Text>\n </div>\n <Text type={TextType.Small}>\n <span className=\"u-clear-font-weight\" dangerouslySetInnerHTML={{ __html: guaranteePolicy }} />\n </Text>\n </div>\n )}\n {\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Misc.CancellationPolicy)}</strong>\n </Text>\n </div>\n <Text type={TextType.Small}>\n <span className=\"u-clear-font-weight\" dangerouslySetInnerHTML={{ __html: cancelPolicy }} />\n </Text>\n </div>\n }\n </div>\n\n <div className=\"u-flex flex-column align-items-start align-items-md-end justify-content-end\">\n <Text type={TextType.Small} color={Color.Navy}>\n {t(Translation.Misc.Total)}\n </Text>\n <RoomDetailsPriceBlock\n isLocked={isLocked}\n averagePreDiscount={rate.getTotalPriceBeforeDiscount()}\n averagePrice={rate.getTotalPrice()}\n isMemberOnly={props.rate.isMemberOnly}\n hidePerNight={true}\n />\n <Text type={TextType.Label} color={Color.DarkGrey} align={TextAlign.Right}>\n {t(Translation.Step.Room.RoomInfo.IncludesTaxes)}\n </Text>\n </div>\n </div>\n </>\n );\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { RoomRate } from '../../../../../models/Room/RoomRate';
|
|
3
|
+
export declare enum RoomRateDetailsAndPriceBreakdownModalTabs {
|
|
4
|
+
PriceBreakdown = "Price Breakdown",
|
|
5
|
+
RoomDetails = "Room Details"
|
|
6
|
+
}
|
|
7
|
+
interface RoomRateDetailsAndPriceBreakdownModalProps {
|
|
8
|
+
isOpen: boolean;
|
|
9
|
+
currentTab: RoomRateDetailsAndPriceBreakdownModalTabs;
|
|
10
|
+
rate: RoomRate;
|
|
11
|
+
getButtonLabel?: (isRoomSelectedAndEditing: boolean, isThisSelectedRow: boolean) => string;
|
|
12
|
+
onAddToBasketOverride?: (rate: RoomRate) => void;
|
|
13
|
+
onClose: () => void;
|
|
14
|
+
}
|
|
15
|
+
export default function RoomRateDetailsAndPriceBreakdownModal(props: RoomRateDetailsAndPriceBreakdownModalProps): JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RoomRateDetailsAndPriceBreakdownModalTabs = void 0;
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const TabbedModal_1 = require("../../../../generic/modal/TabbedModal");
|
|
6
|
+
const PriceBreakdownBlock_1 = require("./PriceBreakdownBlock");
|
|
7
|
+
const RoomRateDescriptionTab_1 = require("./RoomRateDescriptionTab");
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const contexts_1 = require("@frontend/contexts");
|
|
10
|
+
var RoomRateDetailsAndPriceBreakdownModalTabs;
|
|
11
|
+
(function (RoomRateDetailsAndPriceBreakdownModalTabs) {
|
|
12
|
+
RoomRateDetailsAndPriceBreakdownModalTabs["PriceBreakdown"] = "Price Breakdown";
|
|
13
|
+
RoomRateDetailsAndPriceBreakdownModalTabs["RoomDetails"] = "Room Details";
|
|
14
|
+
})(RoomRateDetailsAndPriceBreakdownModalTabs = exports.RoomRateDetailsAndPriceBreakdownModalTabs || (exports.RoomRateDetailsAndPriceBreakdownModalTabs = {}));
|
|
15
|
+
function RoomRateDetailsAndPriceBreakdownModal(props) {
|
|
16
|
+
const ccx = react_1.useContext(contexts_1.CompanyContext);
|
|
17
|
+
const tabs = {
|
|
18
|
+
[RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails]: {
|
|
19
|
+
content: React.createElement(RoomRateDescriptionTab_1.default, { rate: props.rate }),
|
|
20
|
+
footer: (React.createElement(RoomRateDescriptionTab_1.RoomRateDescriptionFooter, { rate: props.rate, onClose: props.onClose, getButtonLabel: props.getButtonLabel, onAddToBasketOverride: props.onAddToBasketOverride })),
|
|
21
|
+
title: 'Room Rate Details',
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
if ((props.rate.isMemberOnly && ccx.signedInUser) || !props.rate.isMemberOnly) {
|
|
25
|
+
tabs[RoomRateDetailsAndPriceBreakdownModalTabs.PriceBreakdown] = {
|
|
26
|
+
content: React.createElement(PriceBreakdownBlock_1.default, { rate: props.rate }),
|
|
27
|
+
footer: React.createElement(PriceBreakdownBlock_1.PriceBreakdownFooter, { rate: props.rate, onClose: props.onClose, getButtonLabel: props.getButtonLabel, onAddToBasketOverride: props.onAddToBasketOverride }),
|
|
28
|
+
title: 'Price Breakdown',
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return React.createElement(TabbedModal_1.default, { isOpen: props.isOpen, onClose: props.onClose, tabs: tabs, openTab: props.currentTab });
|
|
32
|
+
}
|
|
33
|
+
exports.default = RoomRateDetailsAndPriceBreakdownModal;
|
|
34
|
+
//# sourceMappingURL=RoomRateDetailsAndPriceBreakdownModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoomRateDetailsAndPriceBreakdownModal.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,uEAAoF;AACpF,+DAAkF;AAElF,qEAA6F;AAC7F,iCAAmC;AACnC,iDAAoD;AAEpD,IAAY,yCAGX;AAHD,WAAY,yCAAyC;IACjD,+EAAkC,CAAA;IAClC,yEAA4B,CAAA;AAChC,CAAC,EAHW,yCAAyC,GAAzC,iDAAyC,KAAzC,iDAAyC,QAGpD;AAcD,SAAwB,qCAAqC,CAAC,KAAiD;IAC3G,MAAM,GAAG,GAAG,kBAAU,CAAC,yBAAc,CAAC,CAAC;IAEvC,MAAM,IAAI,GAAuC;QAC7C,CAAC,yCAAyC,CAAC,WAAW,CAAC,EAAE;YACrD,OAAO,EAAE,oBAAC,gCAAsB,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI;YACrD,MAAM,EAAE,CACJ,oBAAC,kDAAyB,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,GAAI,CACpK;YACD,KAAK,EAAE,mBAAmB;SAC7B;KACJ,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE;QAC3E,IAAI,CAAC,yCAAyC,CAAC,cAAc,CAAC,GAAG;YAC7D,OAAO,EAAE,oBAAC,6BAAmB,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI;YAClD,MAAM,EAAE,oBAAC,0CAAoB,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,GAAI;YACpK,KAAK,EAAE,iBAAiB;SAC3B,CAAC;KACL;IAED,OAAO,oBAAC,qBAAW,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,GAAI,CAAC;AAChH,CAAC;AAtBD,wDAsBC","sourcesContent":["import * as React from 'react';\nimport TabbedModal, { TabbedModalTab } from '../../../../generic/modal/TabbedModal';\nimport PriceBreakdownBlock, { PriceBreakdownFooter } from './PriceBreakdownBlock';\nimport { RoomRate } from '../../../../../models/Room/RoomRate';\nimport RoomRateDescriptionTab, { RoomRateDescriptionFooter } from './RoomRateDescriptionTab';\nimport { useContext } from 'react';\nimport { CompanyContext } from '@frontend/contexts';\n\nexport enum RoomRateDetailsAndPriceBreakdownModalTabs {\n PriceBreakdown = 'Price Breakdown',\n RoomDetails = 'Room Details',\n}\n\ninterface RoomRateDetailsAndPriceBreakdownModalProps {\n isOpen: boolean;\n currentTab: RoomRateDetailsAndPriceBreakdownModalTabs;\n\n rate: RoomRate;\n\n getButtonLabel?: (isRoomSelectedAndEditing: boolean, isThisSelectedRow: boolean) => string;\n onAddToBasketOverride?: (rate: RoomRate) => void;\n\n onClose: () => void;\n}\n\nexport default function RoomRateDetailsAndPriceBreakdownModal(props: RoomRateDetailsAndPriceBreakdownModalProps) {\n const ccx = useContext(CompanyContext);\n\n const tabs: { [name: string]: TabbedModalTab } = {\n [RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails]: {\n content: <RoomRateDescriptionTab rate={props.rate} />,\n footer: (\n <RoomRateDescriptionFooter rate={props.rate} onClose={props.onClose} getButtonLabel={props.getButtonLabel} onAddToBasketOverride={props.onAddToBasketOverride} />\n ),\n title: 'Room Rate Details',\n },\n };\n\n if ((props.rate.isMemberOnly && ccx.signedInUser) || !props.rate.isMemberOnly) {\n tabs[RoomRateDetailsAndPriceBreakdownModalTabs.PriceBreakdown] = {\n content: <PriceBreakdownBlock rate={props.rate} />,\n footer: <PriceBreakdownFooter rate={props.rate} onClose={props.onClose} getButtonLabel={props.getButtonLabel} onAddToBasketOverride={props.onAddToBasketOverride} />,\n title: 'Price Breakdown',\n };\n }\n\n return <TabbedModal isOpen={props.isOpen} onClose={props.onClose} tabs={tabs} openTab={props.currentTab} />;\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Room } from '../../../../../models/Room/Room';
|
|
3
|
+
import { RoomRate } from '../../../../../models/Room/RoomRate';
|
|
4
|
+
interface RoomRatePillsProps {
|
|
5
|
+
room?: Room;
|
|
6
|
+
rate?: RoomRate;
|
|
7
|
+
limit?: number;
|
|
8
|
+
showMore?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export default function RoomRatePills(props: RoomRatePillsProps): JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const React = require("react");
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const react_i18next_1 = require("react-i18next");
|
|
6
|
+
const RatePillProvider_1 = require("../../../../../providers/RatePillProvider");
|
|
7
|
+
const Pill_1 = require("../../../../generic/Pill");
|
|
8
|
+
const Icon_1 = require("../../../../generic/Icon");
|
|
9
|
+
const hooks_1 = require("@frontend/hooks");
|
|
10
|
+
const Translation_1 = require("../../../../../translations/Translation");
|
|
11
|
+
const contexts_1 = require("@frontend/contexts");
|
|
12
|
+
const RoomstayThemeEngine_1 = require("../../../../../providers/RoomstayThemeEngine");
|
|
13
|
+
const contexts_2 = require("@frontend/contexts");
|
|
14
|
+
const FeaturedPromoFeature_1 = require("../../../../../providers/feature/FeaturedPromoFeature");
|
|
15
|
+
function RoomRatePills(props) {
|
|
16
|
+
const [pills, setPills] = react_1.useState([]);
|
|
17
|
+
const currentHotel = hooks_1.useCurrentHotel();
|
|
18
|
+
const ccx = react_1.useContext(contexts_1.CompanyContext);
|
|
19
|
+
const basketContext = react_1.useContext(contexts_2.BasketContext);
|
|
20
|
+
const { t } = react_i18next_1.useTranslation();
|
|
21
|
+
react_1.useEffect(() => {
|
|
22
|
+
let pillsToDisplay = [];
|
|
23
|
+
RatePillProvider_1.default.registerRatePill({ icon: Icon_1.IconType.Breakfast, title: 'Breakfast Included' }, ({ rate, hotel }) => {
|
|
24
|
+
var _a;
|
|
25
|
+
return hotel.showMealPill && ((_a = rate.mealsIncluded) === null || _a === void 0 ? void 0 : _a.breakfast);
|
|
26
|
+
}, true);
|
|
27
|
+
RatePillProvider_1.default.registerRatePill({
|
|
28
|
+
translation: Translation_1.Translation.Step.Room.RoomInfo.PromoCode.MemberDeal,
|
|
29
|
+
translationProps: {
|
|
30
|
+
companyShort: ccx.name,
|
|
31
|
+
},
|
|
32
|
+
icon: Icon_1.IconType.Check,
|
|
33
|
+
}, ({ rate, hotel }) => {
|
|
34
|
+
var _a;
|
|
35
|
+
return rate.promoCode && ((_a = rate === null || rate === void 0 ? void 0 : rate.promoCode) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === (hotel === null || hotel === void 0 ? void 0 : hotel.memberOnlyPromoCode);
|
|
36
|
+
}, true);
|
|
37
|
+
RatePillProvider_1.default.registerRatePill({
|
|
38
|
+
translation: Translation_1.Translation.Step.Room.RoomInfo.PromoCode.Standard,
|
|
39
|
+
icon: Icon_1.IconType.Check,
|
|
40
|
+
}, ({ rate, hotel }) => {
|
|
41
|
+
var _a;
|
|
42
|
+
return rate.promoCode && !(((_a = rate === null || rate === void 0 ? void 0 : rate.promoCode) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === (hotel === null || hotel === void 0 ? void 0 : hotel.memberOnlyPromoCode));
|
|
43
|
+
}, true);
|
|
44
|
+
/** Registering Room Pills */
|
|
45
|
+
RatePillProvider_1.default.registerRoomPill({
|
|
46
|
+
translation: Translation_1.Translation.Misc.Pills.PeopleBookedShort,
|
|
47
|
+
translationProps: {
|
|
48
|
+
people: Math.floor(Math.random() * 8 + 7),
|
|
49
|
+
},
|
|
50
|
+
icon: Icon_1.IconType.People,
|
|
51
|
+
}, () => {
|
|
52
|
+
return RoomstayThemeEngine_1.default.canSee(RoomstayThemeEngine_1.ModulePermission.NumberOfPeopleBookedPill);
|
|
53
|
+
});
|
|
54
|
+
RatePillProvider_1.default.registerRoomPill({ icon: Icon_1.IconType.Check, title: 'Promo code is applied' }, (match) => {
|
|
55
|
+
var _a, _b, _c, _d;
|
|
56
|
+
if (FeaturedPromoFeature_1.default.isActive() && ((_a = match.room) === null || _a === void 0 ? void 0 : _a.getRates())) {
|
|
57
|
+
for (const rate of match.room.getRates()) {
|
|
58
|
+
if (((_b = rate === null || rate === void 0 ? void 0 : rate.promoCode) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === ((_d = (_c = basketContext === null || basketContext === void 0 ? void 0 : basketContext.selectedBasketRow) === null || _c === void 0 ? void 0 : _c.getPromoCode()) === null || _d === void 0 ? void 0 : _d.toLowerCase())) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
64
|
+
});
|
|
65
|
+
if (props.room) {
|
|
66
|
+
pillsToDisplay = RatePillProvider_1.default.getPillsForRoom({ room: props.room, hotel: currentHotel.hotel });
|
|
67
|
+
}
|
|
68
|
+
else if (props.rate) {
|
|
69
|
+
pillsToDisplay = RatePillProvider_1.default.getPillsForRate({ rate: props.rate, hotel: currentHotel.hotel });
|
|
70
|
+
}
|
|
71
|
+
if (props.limit) {
|
|
72
|
+
setPills(pillsToDisplay.splice(0, props.limit));
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
setPills(pillsToDisplay);
|
|
76
|
+
}
|
|
77
|
+
}, [props.room, props.rate, props.limit]);
|
|
78
|
+
return (React.createElement("div", { className: "c-pill-list u-marg-bottom--light" }, pills.map((pill, index) => {
|
|
79
|
+
var _a;
|
|
80
|
+
// TODO: Add tooltip support in Pill
|
|
81
|
+
return (React.createElement("div", { className: "u-inline u-marg-left--light u-marg-bottom--light", key: index },
|
|
82
|
+
React.createElement(Pill_1.default, { type: (_a = pill.type) !== null && _a !== void 0 ? _a : Pill_1.PillType.Primary, icon: pill.icon }, pill.translation ? t(pill.translation, pill.translationProps) : pill.title)));
|
|
83
|
+
})));
|
|
84
|
+
}
|
|
85
|
+
exports.default = RoomRatePills;
|
|
86
|
+
//# sourceMappingURL=RoomRatePills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoomRatePills.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/RoomRatePills.tsx"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,iCAAwD;AACxD,iDAA+C;AAG/C,gFAAuF;AACvF,mDAA0D;AAC1D,mDAAoD;AACpD,2CAAkD;AAClD,yEAAsE;AACtE,iDAAoD;AACpD,sFAAqG;AACrG,iDAAmD;AACnD,gGAAyF;AAWzF,SAAwB,aAAa,CAAC,KAAyB;IAC3D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,gBAAQ,CAAa,EAAE,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,uBAAe,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,kBAAU,CAAC,yBAAc,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,kBAAU,CAAC,wBAAa,CAAC,CAAC;IAEhD,MAAM,EAAE,CAAC,EAAE,GAAG,8BAAc,EAAE,CAAC;IAE/B,iBAAS,CAAC,GAAG,EAAE;QACX,IAAI,cAAc,GAAe,EAAE,CAAC;QAEpC,0BAAgB,CAAC,gBAAgB,CAC7B,EAAE,IAAI,EAAE,eAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,oBAAoB,EAAE,EACzD,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;;YAChB,OAAO,KAAK,CAAC,YAAY,WAAI,IAAI,CAAC,aAAa,0CAAE,SAAS,CAAA,CAAC;QAC/D,CAAC,EACD,IAAI,CACP,CAAC;QAEF,0BAAgB,CAAC,gBAAgB,CAC7B;YACI,WAAW,EAAE,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU;YAChE,gBAAgB,EAAE;gBACd,YAAY,EAAE,GAAG,CAAC,IAAI;aACzB;YACD,IAAI,EAAE,eAAQ,CAAC,KAAK;SACvB,EACD,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;;YAChB,OAAO,IAAI,CAAC,SAAS,IAAI,OAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,0CAAE,WAAW,SAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,mBAAmB,CAAA,CAAC;QAC3F,CAAC,EACD,IAAI,CACP,CAAC;QAEF,0BAAgB,CAAC,gBAAgB,CAC7B;YACI,WAAW,EAAE,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ;YAC9D,IAAI,EAAE,eAAQ,CAAC,KAAK;SACvB,EACD,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;;YAChB,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,OAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,0CAAE,WAAW,SAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,mBAAmB,CAAA,CAAC,CAAC;QAC9F,CAAC,EACD,IAAI,CACP,CAAC;QAEF,6BAA6B;QAC7B,0BAAgB,CAAC,gBAAgB,CAC7B;YACI,WAAW,EAAE,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB;YACrD,gBAAgB,EAAE;gBACd,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;aAC5C;YACD,IAAI,EAAE,eAAQ,CAAC,MAAM;SACxB,EACD,GAAG,EAAE;YACD,OAAO,6BAAmB,CAAC,MAAM,CAAC,sCAAgB,CAAC,wBAAwB,CAAC,CAAC;QACjF,CAAC,CACJ,CAAC;QAEF,0BAAgB,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;;YAClG,IAAI,8BAAoB,CAAC,QAAQ,EAAE,WAAI,KAAK,CAAC,IAAI,0CAAE,QAAQ,GAAE,EAAE;gBAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;oBACtC,IAAI,OAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,0CAAE,WAAW,qBAAO,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,iBAAiB,0CAAE,YAAY,4CAAI,WAAW,GAAE,EAAE;wBACpG,OAAO,IAAI,CAAC;qBACf;iBACJ;aACJ;YAED,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,IAAI,EAAE;YACZ,cAAc,GAAG,0BAAgB,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;SACtG;aAAM,IAAI,KAAK,CAAC,IAAI,EAAE;YACnB,cAAc,GAAG,0BAAgB,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;SACtG;QAED,IAAI,KAAK,CAAC,KAAK,EAAE;YACb,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SACnD;aAAM;YACH,QAAQ,CAAC,cAAc,CAAC,CAAC;SAC5B;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAE1C,OAAO,CACH,6BAAK,SAAS,EAAC,kCAAkC,IAC5C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;;QACvB,oCAAoC;QACpC,OAAO,CACH,6BAAK,SAAS,EAAC,kDAAkD,EAAC,GAAG,EAAE,KAAK;YACxE,oBAAC,cAAI,IAAC,IAAI,QAAE,IAAI,CAAC,IAAI,mCAAI,eAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IACrD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CACxE,CACL,CACT,CAAC;IACN,CAAC,CAAC,CACA,CACT,CAAC;AACN,CAAC;AAjGD,gCAiGC","sourcesContent":["import * as React from 'react';\nimport { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Room } from '../../../../../models/Room/Room';\nimport { RoomRate } from '../../../../../models/Room/RoomRate';\nimport RatePillProvider, { RatePill } from '../../../../../providers/RatePillProvider';\nimport Pill, { PillType } from '../../../../generic/Pill';\nimport { IconType } from '../../../../generic/Icon';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { Translation } from '../../../../../translations/Translation';\nimport { CompanyContext } from '@frontend/contexts';\nimport RoomstayThemeEngine, { ModulePermission } from '../../../../../providers/RoomstayThemeEngine';\nimport { BasketContext } from '@frontend/contexts';\nimport FeaturedPromoFeature from '../../../../../providers/feature/FeaturedPromoFeature';\n\ninterface RoomRatePillsProps {\n room?: Room;\n rate?: RoomRate;\n\n limit?: number;\n // TODO: In future, we'll have a tooltip / modal to show more pills\n showMore?: boolean;\n}\n\nexport default function RoomRatePills(props: RoomRatePillsProps) {\n const [pills, setPills] = useState<RatePill[]>([]);\n const currentHotel = useCurrentHotel();\n const ccx = useContext(CompanyContext);\n const basketContext = useContext(BasketContext);\n\n const { t } = useTranslation();\n\n useEffect(() => {\n let pillsToDisplay: RatePill[] = [];\n\n RatePillProvider.registerRatePill(\n { icon: IconType.Breakfast, title: 'Breakfast Included' },\n ({ rate, hotel }) => {\n return hotel.showMealPill && rate.mealsIncluded?.breakfast;\n },\n true\n );\n\n RatePillProvider.registerRatePill(\n {\n translation: Translation.Step.Room.RoomInfo.PromoCode.MemberDeal,\n translationProps: {\n companyShort: ccx.name,\n },\n icon: IconType.Check,\n },\n ({ rate, hotel }) => {\n return rate.promoCode && rate?.promoCode?.toUpperCase() === hotel?.memberOnlyPromoCode;\n },\n true\n );\n\n RatePillProvider.registerRatePill(\n {\n translation: Translation.Step.Room.RoomInfo.PromoCode.Standard,\n icon: IconType.Check,\n },\n ({ rate, hotel }) => {\n return rate.promoCode && !(rate?.promoCode?.toUpperCase() === hotel?.memberOnlyPromoCode);\n },\n true\n );\n\n /** Registering Room Pills */\n RatePillProvider.registerRoomPill(\n {\n translation: Translation.Misc.Pills.PeopleBookedShort,\n translationProps: {\n people: Math.floor(Math.random() * 8 + 7),\n },\n icon: IconType.People,\n },\n () => {\n return RoomstayThemeEngine.canSee(ModulePermission.NumberOfPeopleBookedPill);\n }\n );\n\n RatePillProvider.registerRoomPill({ icon: IconType.Check, title: 'Promo code is applied' }, (match) => {\n if (FeaturedPromoFeature.isActive() && match.room?.getRates()) {\n for (const rate of match.room.getRates()) {\n if (rate?.promoCode?.toLowerCase() === basketContext?.selectedBasketRow?.getPromoCode()?.toLowerCase()) {\n return true;\n }\n }\n }\n\n return false;\n });\n\n if (props.room) {\n pillsToDisplay = RatePillProvider.getPillsForRoom({ room: props.room, hotel: currentHotel.hotel });\n } else if (props.rate) {\n pillsToDisplay = RatePillProvider.getPillsForRate({ rate: props.rate, hotel: currentHotel.hotel });\n }\n\n if (props.limit) {\n setPills(pillsToDisplay.splice(0, props.limit));\n } else {\n setPills(pillsToDisplay);\n }\n }, [props.room, props.rate, props.limit]);\n\n return (\n <div className=\"c-pill-list u-marg-bottom--light\">\n {pills.map((pill, index) => {\n // TODO: Add tooltip support in Pill\n return (\n <div className=\"u-inline u-marg-left--light u-marg-bottom--light\" key={index}>\n <Pill type={pill.type ?? PillType.Primary} icon={pill.icon}>\n {pill.translation ? t(pill.translation, pill.translationProps) : pill.title}\n </Pill>\n </div>\n );\n })}\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { RoomRate } from '../../../../../models/Room/RoomRate';
|
|
3
|
+
export interface RoomRateRowProps {
|
|
4
|
+
rate: RoomRate;
|
|
5
|
+
getButtonLabel?: (isRoomSelectedAndEditing: boolean, isThisSelectedRow: boolean) => string;
|
|
6
|
+
onAddToBasketOverride?: (rate: RoomRate) => void;
|
|
7
|
+
isPromoRate?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export default function RoomRateRow(props: RoomRateRowProps): JSX.Element;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const React = require("react");
|
|
4
|
+
const Text_1 = require("../../../../generic/Text");
|
|
5
|
+
const Color_1 = require("../../../../../util/Color");
|
|
6
|
+
const TextAlignment_1 = require("../../../../../util/TextAlignment");
|
|
7
|
+
const BEButton_1 = require("../../../../generic/BEButton");
|
|
8
|
+
const Translation_1 = require("../../../../../translations/Translation");
|
|
9
|
+
const react_i18next_1 = require("react-i18next");
|
|
10
|
+
const classNames = require("classnames");
|
|
11
|
+
const Icon_1 = require("../../../../generic/Icon");
|
|
12
|
+
const Pill_1 = require("../../../../generic/Pill");
|
|
13
|
+
const contexts_1 = require("@frontend/contexts");
|
|
14
|
+
const react_1 = require("react");
|
|
15
|
+
const DataLayer_1 = require("../../../../../util/DataLayer");
|
|
16
|
+
const RoomDetailsPriceBlock_1 = require("../RoomDetailsPriceBlock");
|
|
17
|
+
const RoomRate_1 = require("../../../../../models/Room/RoomRate");
|
|
18
|
+
const RoomRateDetailsAndPriceBreakdownModal_1 = require("./RoomRateDetailsAndPriceBreakdownModal");
|
|
19
|
+
const BookNowButton_1 = require("./BookNowButton");
|
|
20
|
+
const FeatureProvider_1 = require("../../../../../providers/FeatureProvider");
|
|
21
|
+
const contexts_2 = require("@frontend/contexts");
|
|
22
|
+
const hooks_1 = require("@frontend/hooks");
|
|
23
|
+
const RoomRatePills_1 = require("./RoomRatePills");
|
|
24
|
+
function RoomRateRow(props) {
|
|
25
|
+
var _a, _b, _c;
|
|
26
|
+
const ccx = react_1.useContext(contexts_2.CompanyContext);
|
|
27
|
+
const basketContext = react_1.useContext(contexts_1.BasketContext);
|
|
28
|
+
const [viewingModal, setViewingModal] = react_1.useState({ open: false, currentTab: RoomRateDetailsAndPriceBreakdownModal_1.RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails });
|
|
29
|
+
const { t } = react_i18next_1.useTranslation();
|
|
30
|
+
const { hotel } = hooks_1.useCurrentHotel();
|
|
31
|
+
const { rate } = props;
|
|
32
|
+
const selectedRow = basketContext.selectedBasketRow;
|
|
33
|
+
const isRoomSelectedAndEditing = selectedRow === null || selectedRow === void 0 ? void 0 : selectedRow.isValid();
|
|
34
|
+
const isThisSelectedRow = selectedRow && rate.name === ((_a = selectedRow.getRate()) === null || _a === void 0 ? void 0 : _a.name) && ((_b = rate.getRoom()) === null || _b === void 0 ? void 0 : _b.name) === ((_c = selectedRow.getRoom()) === null || _c === void 0 ? void 0 : _c.name);
|
|
35
|
+
const currentRow = react_1.useRef(null);
|
|
36
|
+
const classes = classNames('room-info', {
|
|
37
|
+
'--default': !rate.isMemberOnly,
|
|
38
|
+
'--locked': rate.isMemberOnly,
|
|
39
|
+
'--current': isThisSelectedRow && isRoomSelectedAndEditing,
|
|
40
|
+
'--is-promo': props.isPromoRate,
|
|
41
|
+
});
|
|
42
|
+
let isLocked = false;
|
|
43
|
+
if (rate.isMemberOnly && !ccx.signedInUser) {
|
|
44
|
+
isLocked = true;
|
|
45
|
+
}
|
|
46
|
+
FeatureProvider_1.default.load('AvailableUpgradesFeature');
|
|
47
|
+
react_1.useEffect(() => {
|
|
48
|
+
if (isThisSelectedRow) {
|
|
49
|
+
setTimeout(() => {
|
|
50
|
+
var _a;
|
|
51
|
+
(_a = currentRow === null || currentRow === void 0 ? void 0 : currentRow.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth' });
|
|
52
|
+
}, 250);
|
|
53
|
+
}
|
|
54
|
+
if (!isLocked) {
|
|
55
|
+
DataLayer_1.default.instance.addRoomRateImpression(rate.getRoom(), rate);
|
|
56
|
+
}
|
|
57
|
+
}, [isThisSelectedRow]);
|
|
58
|
+
const openTab = (tab) => {
|
|
59
|
+
setViewingModal({ open: true, currentTab: tab });
|
|
60
|
+
};
|
|
61
|
+
let bookNowLabel = '';
|
|
62
|
+
if (props.getButtonLabel) {
|
|
63
|
+
bookNowLabel = props.getButtonLabel(isRoomSelectedAndEditing, isThisSelectedRow);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
if (isRoomSelectedAndEditing) {
|
|
67
|
+
bookNowLabel = isThisSelectedRow ? t(Translation_1.Translation.Step.Room.RoomInfo.Selected) : (bookNowLabel = t(Translation_1.Translation.Step.Room.RoomInfo.Update));
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
bookNowLabel = t(Translation_1.Translation.Step.Room.RoomInfo.BookNow);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const openMemberSignupModalOnClick = () => {
|
|
74
|
+
DataLayer_1.default.instance.sendInteraction('Member Signup Modal', DataLayer_1.InteractionType.LINK, DataLayer_1.InteractionStep.ROOMS);
|
|
75
|
+
ccx.openMemberSignupModal();
|
|
76
|
+
};
|
|
77
|
+
const rateDetailsOnClick = () => {
|
|
78
|
+
DataLayer_1.default.instance.sendInteraction('More Rate Details', DataLayer_1.InteractionType.LINK, DataLayer_1.InteractionStep.ROOMS);
|
|
79
|
+
openTab(RoomRateDetailsAndPriceBreakdownModal_1.RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails);
|
|
80
|
+
};
|
|
81
|
+
const updateModalOnClose = () => {
|
|
82
|
+
setViewingModal((old) => {
|
|
83
|
+
old.open = false;
|
|
84
|
+
return Object.assign({}, old);
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
const openTabOnClick = () => {
|
|
88
|
+
DataLayer_1.default.instance.sendInteraction('Rate Breakdown', DataLayer_1.InteractionType.LINK, DataLayer_1.InteractionStep.ROOMS);
|
|
89
|
+
openTab(RoomRateDetailsAndPriceBreakdownModal_1.RoomRateDetailsAndPriceBreakdownModalTabs.PriceBreakdown);
|
|
90
|
+
};
|
|
91
|
+
return (React.createElement("div", { className: classes, ref: currentRow },
|
|
92
|
+
React.createElement("div", { className: "row" },
|
|
93
|
+
React.createElement("div", { className: "col-lg-8" },
|
|
94
|
+
React.createElement("div", { className: "u-flex flex-column h-100" },
|
|
95
|
+
React.createElement("div", null,
|
|
96
|
+
React.createElement("div", { className: "u-marg-bottom-half" }, isLocked ? (React.createElement(Text_1.default, { type: Text_1.TextType.Body, color: Color_1.Color.Success },
|
|
97
|
+
React.createElement("strong", null, t(Translation_1.Translation.Step.Room.RoomInfo.MemberOnlyDeal)))) : (React.createElement(Text_1.default, { type: Text_1.TextType.Body },
|
|
98
|
+
React.createElement("strong", null, rate.name)))),
|
|
99
|
+
React.createElement("div", { className: "u-marg-bottom u-h-ml-5 text-small u-clear-font-weight rdcaf" },
|
|
100
|
+
React.createElement("div", { dangerouslySetInnerHTML: { __html: isLocked ? t(Translation_1.Translation.Step.Room.RoomInfo.DealForMemberOnly) : rate.description } })),
|
|
101
|
+
isLocked && (React.createElement("div", { className: "u-marg" },
|
|
102
|
+
React.createElement("span", { onClick: openMemberSignupModalOnClick },
|
|
103
|
+
React.createElement(Pill_1.default, { icon: Icon_1.IconType.Money, type: Pill_1.PillType.Success }, t(Translation_1.Translation.Step.Room.RoomInfo.SignUpToSee))))),
|
|
104
|
+
React.createElement(RoomRatePills_1.default, { rate: props.rate })),
|
|
105
|
+
React.createElement("div", { className: "u-flex justify-content-start u-marg-top-bottom@l-" },
|
|
106
|
+
React.createElement("div", { className: "u-marg-right u-inline-flex" },
|
|
107
|
+
React.createElement(BEButton_1.default, { icon: Icon_1.IconType.ArrowRight2, isText: true, primary: true, size: "small", iconPosition: "right", onClick: rateDetailsOnClick }, t(Translation_1.Translation.Step.Room.ReadMore))),
|
|
108
|
+
React.createElement(BEButton_1.default, { icon: Icon_1.IconType.ArrowRight2, isText: true, textColor: Color_1.Color.Navy, size: "small", iconPosition: "right", onClick: openTabOnClick, disabled: isLocked }, t(Translation_1.Translation.Step.Room.RoomInfo.ViewPriceBreakdown))))),
|
|
109
|
+
React.createElement("div", { className: "col-lg-4 u-flex flex-column align-items-start align-items-md-start align-items-lg-end justify-content-start" },
|
|
110
|
+
React.createElement("div", { className: "u-flex flex-column align-items-start align-items-lg-end" },
|
|
111
|
+
React.createElement(RoomDetailsPriceBlock_1.default, { isLocked: isLocked, averagePreDiscount: rate.getAveragePriceBeforeDiscount(true), averagePrice: rate.getAveragePrice(true), isMemberOnly: props.rate.isMemberOnly }),
|
|
112
|
+
React.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.DarkGrey, align: TextAlignment_1.TextAlign.Right }, rate.getPriceType() === RoomRate_1.RoomRatePriceInclusion.IncludingFeesAndTaxes
|
|
113
|
+
? t(Translation_1.Translation.Step.Room.RoomInfo.IncludesTaxes)
|
|
114
|
+
: t(Translation_1.Translation.Step.Room.ExcludingTaxes))),
|
|
115
|
+
React.createElement("div", { className: "u-marg-top u-w-100@l-" }, isLocked ? (React.createElement(BEButton_1.default, { filled: true, success: true, wide: true, onClick: openMemberSignupModalOnClick }, t(Translation_1.Translation.Step.Room.RoomInfo.RevealPrice))) : (React.createElement(BookNowButton_1.default, { rate: rate, buttonLabel: bookNowLabel, onAddToBasketOverride: props.onAddToBasketOverride, isFilled: !isThisSelectedRow }))))),
|
|
116
|
+
React.createElement(RoomRateDetailsAndPriceBreakdownModal_1.default, { isOpen: viewingModal.open, currentTab: viewingModal.currentTab, rate: props.rate, getButtonLabel: props.getButtonLabel, onAddToBasketOverride: props.onAddToBasketOverride, onClose: updateModalOnClose })));
|
|
117
|
+
}
|
|
118
|
+
exports.default = RoomRateRow;
|
|
119
|
+
//# sourceMappingURL=RoomRateRow.js.map
|