@roomstay/frontend 2.1.5 → 2.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/14.bundle.js +1 -0
- package/dist/151.bundle.js +1 -0
- package/dist/201.bundle.js +1 -1
- package/dist/279.bundle.js +1 -1
- package/dist/370.bundle.js +1 -1
- package/dist/399.bundle.js +2 -0
- package/dist/399.bundle.js.LICENSE.txt +30 -0
- package/dist/449.bundle.js +1 -1
- package/dist/559.bundle.js +1 -0
- package/dist/760.bundle.js +1 -1
- package/dist/815.bundle.js +1 -0
- package/dist/855.bundle.js +1 -0
- package/dist/873.bundle.js +1 -1
- package/dist/882.bundle.js +1 -1
- package/dist/962.bundle.js +1 -0
- package/dist/972.bundle.js +1 -1
- package/dist/main.bundle.js +1 -1
- package/dist/src/animations/AutoAutoHeight.d.ts +1 -1
- package/dist/src/animations/AutoAutoHeight.js +11 -34
- package/dist/src/animations/AutoAutoHeight.js.map +1 -1
- package/dist/src/animations/Fade.d.ts +1 -1
- package/dist/src/animations/Fade.js +3 -4
- package/dist/src/animations/Fade.js.map +1 -1
- package/dist/src/api/AddonAPI.js +3 -2
- package/dist/src/api/AddonAPI.js.map +1 -1
- package/dist/src/api/AvailabilityAPI.d.ts +2 -2
- package/dist/src/api/AvailabilityAPI.js +6 -6
- package/dist/src/api/AvailabilityAPI.js.map +1 -1
- package/dist/src/api/BaseAPI.d.ts +4 -4
- package/dist/src/api/BaseAPI.js +30 -24
- package/dist/src/api/BaseAPI.js.map +1 -1
- package/dist/src/api/ExchangeRateAPI.d.ts +1 -1
- package/dist/src/api/ExchangeRateAPI.js.map +1 -1
- package/dist/src/api/HotelAPI.js +1 -1
- package/dist/src/api/HotelAPI.js.map +1 -1
- package/dist/src/api/ReservationAPI.d.ts +1 -1
- package/dist/src/api/ReservationAPI.js +2 -1
- package/dist/src/api/ReservationAPI.js.map +1 -1
- package/dist/src/api/SessionAPI.d.ts +1 -1
- package/dist/src/api/SessionAPI.js +2 -2
- package/dist/src/api/SessionAPI.js.map +1 -1
- package/dist/src/components/User/Forms/ForgotPasswordForm.js +19 -23
- package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignInForm.js +50 -52
- package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignUpForm.js +61 -62
- package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
- package/dist/src/components/generic/Alert.js +3 -26
- package/dist/src/components/generic/Alert.js.map +1 -1
- package/dist/src/components/generic/BEButton.d.ts +1 -1
- package/dist/src/components/generic/BEButton.js +8 -7
- package/dist/src/components/generic/BEButton.js.map +1 -1
- package/dist/src/components/generic/BESelect.d.ts +0 -0
- package/dist/src/components/generic/BESelect.js +2 -0
- package/dist/src/components/generic/BESelect.js.map +1 -0
- package/dist/src/components/generic/BackButton.js +2 -26
- package/dist/src/components/generic/BackButton.js.map +1 -1
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.d.ts +2 -1
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +9 -9
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +1 -3
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.js +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +6 -4
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +5 -4
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
- package/dist/src/components/generic/Card/Card/Card.js +4 -27
- package/dist/src/components/generic/Card/Card/Card.js.map +1 -1
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +1 -1
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +8 -8
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
- package/dist/src/components/generic/Checkbox/Checkbox.d.ts +1 -1
- package/dist/src/components/generic/Checkbox/Checkbox.js +8 -8
- package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
- package/dist/src/components/generic/Countdown.js +6 -29
- package/dist/src/components/generic/Countdown.js.map +1 -1
- package/dist/src/components/generic/Currency.js +10 -10
- package/dist/src/components/generic/Currency.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +3 -3
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +28 -28
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.d.ts +13 -7
- package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js +4 -39
- package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +18 -16
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +4 -27
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +10 -10
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.d.ts +3 -3
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +13 -36
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
- package/dist/src/components/generic/Distance.js +5 -28
- package/dist/src/components/generic/Distance.js.map +1 -1
- package/dist/src/components/generic/ForwardedSelect.d.ts +1 -1
- package/dist/src/components/generic/ForwardedSelect.js +9 -29
- package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
- package/dist/src/components/generic/Headline.d.ts +1 -1
- package/dist/src/components/generic/Headline.js +5 -30
- package/dist/src/components/generic/Headline.js.map +1 -1
- package/dist/src/components/generic/Icon/Icon.js +5 -28
- package/dist/src/components/generic/Icon/Icon.js.map +1 -1
- package/dist/src/components/generic/IconText/IconText.js +5 -4
- package/dist/src/components/generic/IconText/IconText.js.map +1 -1
- package/dist/src/components/generic/InputGroup/InputGroup.js +6 -29
- package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
- package/dist/src/components/generic/LineBreak.js +2 -25
- package/dist/src/components/generic/LineBreak.js.map +1 -1
- package/dist/src/components/generic/Notification.d.ts +2 -3
- package/dist/src/components/generic/Notification.js +16 -13
- package/dist/src/components/generic/Notification.js.map +1 -1
- package/dist/src/components/generic/NumberIncrement.js +10 -10
- package/dist/src/components/generic/NumberIncrement.js.map +1 -1
- package/dist/src/components/generic/Overlay/Overlay.d.ts +3 -3
- package/dist/src/components/generic/Overlay/Overlay.js +16 -40
- package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
- package/dist/src/components/generic/PasswordBox/PasswordBox.d.ts +1 -1
- package/dist/src/components/generic/PasswordBox/PasswordBox.js +8 -8
- package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.js +9 -28
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCard.js +18 -41
- package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +66 -51
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
- package/dist/src/components/generic/Pill.d.ts +1 -1
- package/dist/src/components/generic/Pill.js +4 -27
- package/dist/src/components/generic/Pill.js.map +1 -1
- package/dist/src/components/generic/Placeholder.js +4 -27
- package/dist/src/components/generic/Placeholder.js.map +1 -1
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.js +2 -25
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.js.map +1 -1
- package/dist/src/components/generic/Portal/Portal.d.ts +1 -1
- package/dist/src/components/generic/Portal/Portal.js +4 -24
- package/dist/src/components/generic/Portal/Portal.js.map +1 -1
- package/dist/src/components/generic/PromoCodeInput.js +27 -28
- package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +9 -32
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.d.ts +6 -6
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +6 -29
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/dist/src/components/generic/RecentSearchesCard.js +19 -18
- package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
- package/dist/src/components/generic/RoomstayMark.d.ts +1 -0
- package/dist/src/components/generic/RoomstayMark.js +49 -0
- package/dist/src/components/generic/RoomstayMark.js.map +1 -0
- package/dist/src/components/generic/ScrollToTop.d.ts +2 -0
- package/dist/src/components/generic/ScrollToTop.js +3 -3
- package/dist/src/components/generic/ScrollToTop.js.map +1 -1
- package/dist/src/components/generic/Select/Select.d.ts +4 -4
- package/dist/src/components/generic/Select/Select.js +16 -6
- package/dist/src/components/generic/Select/Select.js.map +1 -1
- package/dist/src/components/generic/Select.d.ts +0 -0
- package/dist/src/components/generic/Select.js +2 -0
- package/dist/src/components/generic/Select.js.map +1 -0
- package/dist/src/components/generic/Slider/Slider.d.ts +3 -3
- package/dist/src/components/generic/Slider/Slider.js +23 -45
- package/dist/src/components/generic/Slider/Slider.js.map +1 -1
- package/dist/src/components/generic/Tabs/ElementChildren.d.ts +1 -1
- package/dist/src/components/generic/Tabs/ElementChildren.js +6 -26
- package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
- package/dist/src/components/generic/Tabs/Tab.d.ts +1 -1
- package/dist/src/components/generic/Tabs/Tab.js +4 -24
- package/dist/src/components/generic/Tabs/Tab.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabContext.d.ts +5 -6
- package/dist/src/components/generic/Tabs/TabContext.js +11 -31
- package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabLink.d.ts +1 -1
- package/dist/src/components/generic/Tabs/TabLink.js +7 -30
- package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabRouteContainer.js +10 -33
- package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
- package/dist/src/components/generic/Tabs/Tabs.d.ts +2 -2
- package/dist/src/components/generic/Tabs/Tabs.js +9 -32
- package/dist/src/components/generic/Tabs/Tabs.js.map +1 -1
- package/dist/src/components/generic/Text.d.ts +1 -1
- package/dist/src/components/generic/Text.js +3 -26
- package/dist/src/components/generic/Text.js.map +1 -1
- package/dist/src/components/generic/TextArea.d.ts +1 -1
- package/dist/src/components/generic/TextArea.js +6 -26
- package/dist/src/components/generic/TextArea.js.map +1 -1
- package/dist/src/components/generic/TextBox.d.ts +2 -2
- package/dist/src/components/generic/TextBox.js +11 -34
- package/dist/src/components/generic/TextBox.js.map +1 -1
- package/dist/src/components/generic/Tooltip/Tooltip.d.ts +1 -1
- package/dist/src/components/generic/Tooltip/Tooltip.js +8 -31
- package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
- package/dist/src/components/generic/badging/SSLSecureBadge.js +3 -26
- package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
- package/dist/src/components/generic/buttons/NextStepButton.js +5 -28
- package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.d.ts +3 -4
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +23 -32
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
- package/dist/src/components/generic/date/DatePicker.js +42 -42
- package/dist/src/components/generic/date/DatePicker.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDay.js +27 -27
- package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDays.js +4 -27
- package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerMonth.js +9 -9
- package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerWeek.js +26 -26
- package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
- package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
- package/dist/src/components/generic/date/FloatingDatePicker.js +11 -11
- package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
- package/dist/src/components/generic/date/WeekViewSkeleton.js +23 -46
- package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
- package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
- package/dist/src/components/generic/loader/ImageLoader.js +8 -8
- package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
- package/dist/src/components/generic/loader/LargeLoader.js +15 -38
- package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
- package/dist/src/components/generic/loader/SmallSpinner.js +6 -3
- package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
- package/dist/src/components/generic/map/HotelLocationMap.js +3 -26
- package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
- package/dist/src/components/generic/modal/ConfirmationModal.js +8 -8
- package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
- package/dist/src/components/generic/modal/ErrorModal.d.ts +2 -2
- package/dist/src/components/generic/modal/ErrorModal.js +5 -5
- package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.d.ts +3 -2
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +16 -16
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +1 -1
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +26 -26
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SimpleModal.d.ts +2 -2
- package/dist/src/components/generic/modal/SimpleModal.js +21 -22
- package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
- package/dist/src/components/generic/modal/TabbedModal.d.ts +1 -1
- package/dist/src/components/generic/modal/TabbedModal.js +12 -12
- package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
- package/dist/src/components/generic/radio/RadioFields.js +11 -11
- package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.js +16 -36
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.js.map +1 -1
- package/dist/src/components/members/EditMyProfile.d.ts +1 -1
- package/dist/src/components/members/EditMyProfile.js +35 -59
- package/dist/src/components/members/EditMyProfile.js.map +1 -1
- package/dist/src/components/navigation/Header.js +69 -64
- package/dist/src/components/navigation/Header.js.map +1 -1
- package/dist/src/components/navigation/StepSelector.js +27 -27
- package/dist/src/components/navigation/StepSelector.js.map +1 -1
- package/dist/src/components/navigation/StepSelectorModal.js +14 -13
- package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
- package/dist/src/components/pages/Account/Card/CardList.js +10 -33
- package/dist/src/components/pages/Account/Card/CardList.js.map +1 -1
- package/dist/src/components/pages/Account/Card/MemberCardItem.js +10 -10
- package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
- package/dist/src/components/pages/PageColorComponent.js +4 -27
- package/dist/src/components/pages/PageColorComponent.js.map +1 -1
- package/dist/src/components/reservation/EmptyReservation.d.ts +6 -0
- package/dist/src/components/reservation/EmptyReservation.js +52 -0
- package/dist/src/components/reservation/EmptyReservation.js.map +1 -0
- package/dist/src/components/reservation/ReservationItem.js +56 -56
- package/dist/src/components/reservation/ReservationItem.js.map +1 -1
- package/dist/src/components/reservation/ReservationList.d.ts +3 -2
- package/dist/src/components/reservation/ReservationList.js +7 -26
- package/dist/src/components/reservation/ReservationList.js.map +1 -1
- package/dist/src/components/steps/DaysSelectedInformer.js +9 -6
- package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
- package/dist/src/components/steps/MinimumNightStayPill.d.ts +1 -1
- package/dist/src/components/steps/MinimumNightStayPill.js +8 -8
- package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
- package/dist/src/components/steps/addons/AddonCard.js +59 -58
- package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
- package/dist/src/components/steps/addons/AddonList.js +16 -39
- package/dist/src/components/steps/addons/AddonList.js.map +1 -1
- package/dist/src/components/steps/addons/AddonsNotFound.js +38 -61
- package/dist/src/components/steps/addons/AddonsNotFound.js.map +1 -1
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +1 -1
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +19 -19
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
- package/dist/src/components/steps/confirmation/AccountDetails.js +11 -34
- package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js +5 -27
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/CardPaymentDetails.js +1 -0
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +12 -32
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.d.ts +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +26 -25
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +35 -58
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
- package/dist/src/components/steps/confirmation/RoomContactDetails.js +72 -68
- package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +14 -14
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +36 -35
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +7 -30
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.d.ts +2 -2
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +29 -24
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +94 -89
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +3 -26
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +13 -13
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +16 -16
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +25 -20
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +26 -26
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +13 -9
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +61 -61
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePicker.js +11 -7
- package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePickerRow.js +18 -18
- package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
- package/dist/src/components/steps/date/StepDatePricePerRoom.js +16 -16
- package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRange.js +10 -10
- package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePicker.js +6 -6
- package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +6 -6
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.js +5 -5
- package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
- package/dist/src/components/steps/date/StepOneStatusPeople.js +4 -27
- package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCard.js +56 -56
- package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardList.js +5 -28
- package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardModal.d.ts +1 -1
- package/dist/src/components/steps/hotel/HotelCardModal.js +45 -45
- package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelSearchParameters.js +40 -40
- package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js +57 -80
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
- package/dist/src/components/steps/room/AvailableUpgradesModal.d.ts +2 -1
- package/dist/src/components/steps/room/AvailableUpgradesModal.js +40 -42
- package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
- package/dist/src/components/steps/room/ImageGallerySlider.js +21 -21
- package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
- package/dist/src/components/steps/room/InactivityWindow.js +20 -20
- package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
- package/dist/src/components/steps/room/LargeRoomCard.js +36 -35
- package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +44 -48
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js +52 -52
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
- package/dist/src/components/steps/room/RatesNotFound.js +39 -62
- package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
- package/dist/src/components/steps/room/RoomList.js +13 -36
- package/dist/src/components/steps/room/RoomList.js.map +1 -1
- package/dist/src/components/steps/room/RoomListAlert.d.ts +1 -1
- package/dist/src/components/steps/room/RoomListAlert.js +11 -34
- package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
- package/dist/src/components/steps/room/RoomListCrossSellBlock.d.ts +2 -1
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js +38 -38
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
- package/dist/src/components/steps/room/RoomModal.js +32 -32
- package/dist/src/components/steps/room/RoomModal.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js +9 -9
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js +6 -6
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomErrorForm.js +34 -34
- package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomHotelDetails.js +18 -18
- package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.js +4 -4
- package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSortBy.js +6 -6
- package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +15 -38
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +2 -25
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +2 -25
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +9 -9
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +71 -69
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +42 -39
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +18 -15
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +6 -7
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +16 -16
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.d.ts +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +37 -36
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +8 -31
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +26 -26
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +43 -43
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +34 -34
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +8 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +11 -11
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +8 -10
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +32 -32
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +16 -39
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +10 -9
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +32 -31
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +20 -21
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +17 -17
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +20 -18
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
- package/dist/src/components/summary/BEMapWidget.d.ts +1 -1
- package/dist/src/components/summary/BEMapWidget.js +29 -27
- package/dist/src/components/summary/BEMapWidget.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummary.js +22 -22
- package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js +62 -60
- package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
- package/dist/src/components/summary/BESummary.js +42 -41
- package/dist/src/components/summary/BESummary.js.map +1 -1
- package/dist/src/components/summary/BESummaryAddonRow.js +18 -18
- package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
- package/dist/src/components/summary/BESummaryPerkBlock.js +11 -11
- package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js +11 -8
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js +57 -57
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +12 -12
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
- package/dist/src/components/temp/Login.js +29 -29
- package/dist/src/components/temp/Login.js.map +1 -1
- package/dist/src/containers/PrivateRoute.js +6 -26
- package/dist/src/containers/PrivateRoute.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContext.js +1 -1
- package/dist/src/contexts/BasketContext/BasketContext.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextType.d.ts +3 -3
- package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.d.ts +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +35 -59
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContext.js +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContext.js.map +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.d.ts +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.js.map +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.d.ts +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +3 -4
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContext.js +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContext.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +24 -47
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationFormContext.d.ts +2 -2
- package/dist/src/contexts/ConfirmationFormContext.js +8 -28
- package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +10 -10
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
- package/dist/src/contexts/DatePickerContext.d.ts +12 -11
- package/dist/src/contexts/DatePickerContext.js +4 -41
- package/dist/src/contexts/DatePickerContext.js.map +1 -1
- package/dist/src/contexts/ErrorContext.d.ts +2 -2
- package/dist/src/contexts/ErrorContext.js +10 -10
- package/dist/src/contexts/ErrorContext.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.js +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +43 -49
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
- package/dist/src/contexts/HotelOverridesContext.js +14 -37
- package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +7 -7
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js +18 -6
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.d.ts +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +38 -53
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.d.ts +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +29 -49
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
- package/dist/src/contexts/ModalContext.d.ts +1 -1
- package/dist/src/contexts/ModalContext.js +4 -5
- package/dist/src/contexts/ModalContext.js.map +1 -1
- package/dist/src/contexts/NotificationContext.d.ts +1 -1
- package/dist/src/contexts/NotificationContext.js +8 -31
- package/dist/src/contexts/NotificationContext.js.map +1 -1
- package/dist/src/engines/BaseEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js +2 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +4 -27
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +15 -35
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +67 -66
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +20 -20
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
- package/dist/src/events/RoomstayEvent.d.ts +0 -1
- package/dist/src/events/RoomstayEvent.js +0 -1
- package/dist/src/events/RoomstayEvent.js.map +1 -1
- package/dist/src/events/RoomstayEventManager.d.ts +2 -2
- package/dist/src/events/RoomstayEventManager.js +1 -1
- package/dist/src/events/RoomstayEventManager.js.map +1 -1
- package/dist/src/hooks/AutoFocusOnSelect.d.ts +1 -1
- package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
- package/dist/src/hooks/BodyClickHook.d.ts +2 -4
- package/dist/src/hooks/BodyClickHook.js +3 -3
- package/dist/src/hooks/BodyClickHook.js.map +1 -1
- package/dist/src/hooks/CombineState.d.ts +1 -1
- package/dist/src/hooks/CombineState.js.map +1 -1
- package/dist/src/hooks/ConfirmationQuery.d.ts +3 -3
- package/dist/src/hooks/CurrentHotelHook.d.ts +1 -1
- package/dist/src/hooks/ElementSortHook.d.ts +1 -1
- package/dist/src/hooks/ElementSortHook.js +7 -27
- package/dist/src/hooks/ElementSortHook.js.map +1 -1
- package/dist/src/hooks/EventHook.d.ts +1 -1
- package/dist/src/hooks/EventHook.js.map +1 -1
- package/dist/src/hooks/KeyboardControlOnSelect.d.ts +3 -3
- package/dist/src/hooks/LoggedInUserHook.d.ts +6 -6
- package/dist/src/hooks/LoggedInUserHook.js.map +1 -1
- package/dist/src/hooks/Query.js +5 -25
- package/dist/src/hooks/Query.js.map +1 -1
- package/dist/src/hooks/VGSHooks.d.ts +4 -4
- package/dist/src/hooks/VGSHooks.js +16 -11
- package/dist/src/hooks/VGSHooks.js.map +1 -1
- package/dist/src/icons/Check.js +7 -27
- package/dist/src/icons/Check.js.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.js +2 -17
- package/dist/src/index.js.map +1 -1
- package/dist/src/mockApi/AddonAPI.js +2 -1
- package/dist/src/mockApi/AddonAPI.js.map +1 -1
- package/dist/src/mockApi/MockAPI.d.ts +1 -1
- package/dist/src/mockApi/ReservationAPI.d.ts +1 -1
- package/dist/src/mockApi/ReservationAPI.js +2 -1
- package/dist/src/mockApi/ReservationAPI.js.map +1 -1
- package/dist/src/models/Addon/Addon.js +1 -1
- package/dist/src/models/Addon/Addon.js.map +1 -1
- package/dist/src/models/BasketAddonRow.d.ts +2 -2
- package/dist/src/models/BasketAddonRow.js +1 -1
- package/dist/src/models/BasketAddonRow.js.map +1 -1
- package/dist/src/models/BasketRow.d.ts +6 -6
- package/dist/src/models/BasketRow.js +3 -2
- package/dist/src/models/BasketRow.js.map +1 -1
- package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +1 -1
- package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -1
- package/dist/src/models/Client/Client.js.map +1 -1
- package/dist/src/models/Currency.d.ts +1 -1
- package/dist/src/models/Currency.js.map +1 -1
- package/dist/src/models/Room/Filters/BudgetFilter.d.ts +1 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.d.ts +1 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
- package/dist/src/models/Room/Room.d.ts +10 -10
- package/dist/src/models/Room/Room.js +10 -8
- package/dist/src/models/Room/Room.js.map +1 -1
- package/dist/src/models/Room/RoomRate.d.ts +1 -1
- package/dist/src/models/Room/RoomRate.js +1 -1
- package/dist/src/models/Room/RoomRate.js.map +1 -1
- package/dist/src/models/Room/RoomRateNight.js.map +1 -1
- package/dist/src/models/RoomstaySession.d.ts +2 -2
- package/dist/src/models/RoomstaySession.js.map +1 -1
- package/dist/src/pages/account/AccountHome/AccountHomePage.js +31 -31
- package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
- package/dist/src/pages/account/AccountOutlet.d.ts +1 -1
- package/dist/src/pages/account/AccountOutlet.js +5 -25
- package/dist/src/pages/account/AccountOutlet.js.map +1 -1
- package/dist/src/pages/account/AccountRouter.js +12 -37
- package/dist/src/pages/account/AccountRouter.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +24 -28
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +8 -8
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +41 -42
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
- package/dist/src/pages/account/Help/AccountHelpPage.js +42 -44
- package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +78 -82
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js +17 -40
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservation.js +81 -76
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservationResults.js +33 -33
- package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRow.js +66 -65
- package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRowModal.js +52 -52
- package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfo.js +88 -88
- package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js +4 -27
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
- package/dist/src/pages/steps/Step.d.ts +2 -2
- package/dist/src/pages/steps/Step.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +18 -41
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +51 -51
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.d.ts +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +28 -51
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +72 -72
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDate.d.ts +14 -0
- package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +2 -0
- package/dist/src/pages/steps/StepDate/StepDateComponent.js +46 -48
- package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
- package/dist/src/pages/steps/StepGuide.d.ts +1 -1
- package/dist/src/pages/steps/StepGuide.js +3 -26
- package/dist/src/pages/steps/StepGuide.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +21 -21
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +43 -43
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoom.d.ts +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +33 -33
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +74 -74
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanks.d.ts +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +28 -29
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
- package/dist/src/providers/CurrencyProvider.d.ts +1 -1
- package/dist/src/providers/DIProvider.js +5 -25
- package/dist/src/providers/DIProvider.js.map +1 -1
- package/dist/src/providers/FilterProvider.d.ts +1 -1
- package/dist/src/providers/FilterProvider.js +3 -2
- package/dist/src/providers/FilterProvider.js.map +1 -1
- package/dist/src/providers/LanguageProvider.d.ts +1 -1
- package/dist/src/providers/LanguageProvider.js.map +1 -1
- package/dist/src/providers/PromotionProvider.d.ts +1 -1
- package/dist/src/providers/PromotionProvider.js +1 -1
- package/dist/src/providers/PromotionProvider.js.map +1 -1
- package/dist/src/providers/RoomstayThemeEngine.d.ts +2 -2
- package/dist/src/providers/RoomstayThemeEngine.js +5 -7
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
- package/dist/src/providers/SessionProvider.js +4 -4
- package/dist/src/providers/SessionProvider.js.map +1 -1
- package/dist/src/providers/feature/Feature.d.ts +1 -1
- package/dist/src/providers/feature/Feature.js +3 -0
- package/dist/src/providers/feature/Feature.js.map +1 -1
- package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
- package/dist/src/providers/feature/MemberPortalFeature.d.ts +0 -1
- package/dist/src/providers/feature/MemberPortalFeature.js +0 -1
- package/dist/src/providers/feature/MemberPortalFeature.js.map +1 -1
- package/dist/src/providers/feature/NumberOfPeopleBookedPillFeature.d.ts +0 -1
- package/dist/src/providers/feature/NumberOfPeopleBookedPillFeature.js +0 -1
- package/dist/src/providers/feature/NumberOfPeopleBookedPillFeature.js.map +1 -1
- package/dist/src/providers/storage/LocalStorageProvider.d.ts +2 -2
- package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -1
- package/dist/src/reducers/BasketReducer.js +3 -2
- package/dist/src/reducers/BasketReducer.js.map +1 -1
- package/dist/src/routes/NaturallyProgressedStepRoute.js +6 -29
- package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -1
- package/dist/src/stories/Alert.stories.d.ts +2 -2
- package/dist/src/stories/Alert.stories.js +2 -25
- package/dist/src/stories/Alert.stories.js.map +1 -1
- package/dist/src/stories/BEButton.stories.d.ts +2 -2
- package/dist/src/stories/BEButton.stories.js +2 -25
- package/dist/src/stories/BEButton.stories.js.map +1 -1
- package/dist/src/stories/BackButton.stories.d.ts +2 -2
- package/dist/src/stories/BackButton.stories.js +2 -25
- package/dist/src/stories/BackButton.stories.js.map +1 -1
- package/dist/src/stories/BookNowPayLaterInfoBlock.stories.d.ts +2 -2
- package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js +4 -24
- package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js.map +1 -1
- package/dist/src/stories/BookingWizard.stories.d.ts +5 -5
- package/dist/src/stories/BookingWizard.stories.js +25 -9
- package/dist/src/stories/BookingWizard.stories.js.map +1 -1
- package/dist/src/stories/Card.stories.d.ts +6 -3
- package/dist/src/stories/CardTypeSelect.stories.d.ts +3 -3
- package/dist/src/stories/CardTypeSelect.stories.js +4 -24
- package/dist/src/stories/CardTypeSelect.stories.js.map +1 -1
- package/dist/src/stories/Checkbox.stories.d.ts +3 -3
- package/dist/src/stories/Checkbox.stories.js +2 -25
- package/dist/src/stories/Checkbox.stories.js.map +1 -1
- package/dist/src/stories/ConfirmationModal.stories.js +6 -29
- package/dist/src/stories/ConfirmationModal.stories.js.map +1 -1
- package/dist/src/stories/Countdown.stories.d.ts +2 -2
- package/dist/src/stories/Countdown.stories.js +4 -27
- package/dist/src/stories/Countdown.stories.js.map +1 -1
- package/dist/src/stories/Currency.stories.d.ts +2 -2
- package/dist/src/stories/Currency.stories.js +2 -25
- package/dist/src/stories/Currency.stories.js.map +1 -1
- package/dist/src/stories/DateRangePicker.stories.js +25 -15
- package/dist/src/stories/DateRangePicker.stories.js.map +1 -1
- package/dist/src/stories/Distance.stories.d.ts +2 -2
- package/dist/src/stories/Distance.stories.js +2 -25
- package/dist/src/stories/Distance.stories.js.map +1 -1
- package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +5 -0
- package/dist/src/stories/EnhancedPhoneNumberField.stories.js +2 -25
- package/dist/src/stories/EnhancedPhoneNumberField.stories.js.map +1 -1
- package/dist/src/stories/ErrorModal.stories.js +7 -30
- package/dist/src/stories/ErrorModal.stories.js.map +1 -1
- package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +1 -1
- package/dist/src/stories/FloatingDateRangePicker.stories.js +15 -38
- package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -1
- package/dist/src/stories/ForwardedSelect.stories.d.ts +3 -3
- package/dist/src/stories/ForwardedSelect.stories.js +4 -27
- package/dist/src/stories/ForwardedSelect.stories.js.map +1 -1
- package/dist/src/stories/Headline.stories.d.ts +2 -2
- package/dist/src/stories/Headline.stories.js +2 -25
- package/dist/src/stories/Headline.stories.js.map +1 -1
- package/dist/src/stories/Icon.stories.d.ts +2 -2
- package/dist/src/stories/Icon.stories.js +5 -2
- package/dist/src/stories/Icon.stories.js.map +1 -1
- package/dist/src/stories/IconNavCard.stories.d.ts +18 -8
- package/dist/src/stories/IconNavCard.stories.js +5 -25
- package/dist/src/stories/IconNavCard.stories.js.map +1 -1
- package/dist/src/stories/IconText.stories.d.ts +5 -0
- package/dist/src/stories/IconText.stories.js +4 -6
- package/dist/src/stories/IconText.stories.js.map +1 -1
- package/dist/src/stories/ImageLoader.stories.d.ts +2 -2
- package/dist/src/stories/ImageLoader.stories.js +2 -25
- package/dist/src/stories/ImageLoader.stories.js.map +1 -1
- package/dist/src/stories/InputGroup.stories.d.ts +2 -2
- package/dist/src/stories/InputGroup.stories.js +3 -26
- package/dist/src/stories/InputGroup.stories.js.map +1 -1
- package/dist/src/stories/LargeLoader.stories.d.ts +2 -2
- package/dist/src/stories/LargeLoader.stories.js +2 -25
- package/dist/src/stories/LargeLoader.stories.js.map +1 -1
- package/dist/src/stories/LineBreak.stories.d.ts +2 -2
- package/dist/src/stories/LineBreak.stories.js +2 -25
- package/dist/src/stories/LineBreak.stories.js.map +1 -1
- package/dist/src/stories/Notification.stories.d.ts +2 -2
- package/dist/src/stories/Notification.stories.js +2 -25
- package/dist/src/stories/Notification.stories.js.map +1 -1
- package/dist/src/stories/NumberIncrement.stories.js +6 -28
- package/dist/src/stories/NumberIncrement.stories.js.map +1 -1
- package/dist/src/stories/PasswordBox.stories.d.ts +3 -3
- package/dist/src/stories/PasswordBox.stories.js +4 -24
- package/dist/src/stories/PasswordBox.stories.js.map +1 -1
- package/dist/src/stories/PaymentCard.stories.d.ts +2 -2
- package/dist/src/stories/PaymentCard.stories.js +4 -24
- package/dist/src/stories/PaymentCard.stories.js.map +1 -1
- package/dist/src/stories/PaymentCardInput.stories.d.ts +4 -4
- package/dist/src/stories/PaymentCardInput.stories.js +13 -25
- package/dist/src/stories/PaymentCardInput.stories.js.map +1 -1
- package/dist/src/stories/Pill.stories.d.ts +2 -2
- package/dist/src/stories/Pill.stories.js +2 -25
- package/dist/src/stories/Pill.stories.js.map +1 -1
- package/dist/src/stories/Placeholder.stories.d.ts +2 -2
- package/dist/src/stories/Placeholder.stories.js +2 -25
- package/dist/src/stories/Placeholder.stories.js.map +1 -1
- package/dist/src/stories/PlanpayButton.stories.d.ts +3 -3
- package/dist/src/stories/PlanpayButton.stories.js +4 -24
- package/dist/src/stories/PlanpayButton.stories.js.map +1 -1
- package/dist/src/stories/PromoCodeInput.stories.d.ts +2 -2
- package/dist/src/stories/PromoCodeInput.stories.js +2 -25
- package/dist/src/stories/PromoCodeInput.stories.js.map +1 -1
- package/dist/src/stories/RadioButton.stories.d.ts +4 -4
- package/dist/src/stories/RadioButton.stories.js +4 -24
- package/dist/src/stories/RadioButton.stories.js.map +1 -1
- package/dist/src/stories/RadioButtonGroup.stories.d.ts +2 -2
- package/dist/src/stories/RadioButtonGroup.stories.js +4 -27
- package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
- package/dist/src/stories/RadioFields.stories.d.ts +2 -2
- package/dist/src/stories/RadioFields.stories.js +2 -25
- package/dist/src/stories/RadioFields.stories.js.map +1 -1
- package/dist/src/stories/SSLSecureBadge.stories.d.ts +2 -2
- package/dist/src/stories/SSLSecureBadge.stories.js +1 -1
- package/dist/src/stories/SSLSecureBadge.stories.js.map +1 -1
- package/dist/src/stories/Select.stories.d.ts +14 -14
- package/dist/src/stories/Select.stories.js +18 -38
- package/dist/src/stories/Select.stories.js.map +1 -1
- package/dist/src/stories/SimpleModal.stories.js +11 -33
- package/dist/src/stories/SimpleModal.stories.js.map +1 -1
- package/dist/src/stories/Slider.stories.d.ts +4 -4
- package/dist/src/stories/Slider.stories.js +6 -26
- package/dist/src/stories/Slider.stories.js.map +1 -1
- package/dist/src/stories/SmallSpinner.stories.d.ts +2 -2
- package/dist/src/stories/SmallSpinner.stories.js +2 -25
- package/dist/src/stories/SmallSpinner.stories.js.map +1 -1
- package/dist/src/stories/TabbedModal.stories.js +6 -29
- package/dist/src/stories/TabbedModal.stories.js.map +1 -1
- package/dist/src/stories/Tabs.stories.d.ts +1 -1
- package/dist/src/stories/Tabs.stories.js +7 -30
- package/dist/src/stories/Tabs.stories.js.map +1 -1
- package/dist/src/stories/Text.stories.d.ts +2 -2
- package/dist/src/stories/Text.stories.js +2 -25
- package/dist/src/stories/Text.stories.js.map +1 -1
- package/dist/src/stories/TextArea.stories.d.ts +3 -3
- package/dist/src/stories/TextArea.stories.js +2 -25
- package/dist/src/stories/TextArea.stories.js.map +1 -1
- package/dist/src/stories/TextBox.stories.d.ts +3 -3
- package/dist/src/stories/TextBox.stories.js +2 -25
- package/dist/src/stories/TextBox.stories.js.map +1 -1
- package/dist/src/stories/Tooltip.stories.d.ts +2 -2
- package/dist/src/stories/Tooltip.stories.js +2 -25
- package/dist/src/stories/Tooltip.stories.js.map +1 -1
- package/dist/src/translations/Translation.d.ts +4 -0
- package/dist/src/translations/Translation.js +4 -0
- package/dist/src/translations/Translation.js.map +1 -1
- package/dist/src/translations/languages/en-gb.js +4 -0
- package/dist/src/translations/languages/en-gb.js.map +1 -1
- package/dist/src/util/AsyncAuth.d.ts +5 -0
- package/dist/src/util/AsyncAuth.js +44 -0
- package/dist/src/util/AsyncAuth.js.map +1 -0
- package/dist/src/util/DataLayer.js +3 -3
- package/dist/src/util/DataLayer.js.map +1 -1
- package/dist/src/util/EnumHelper.d.ts +1 -1
- package/dist/src/util/EnumHelper.js +1 -1
- package/dist/src/util/EnumHelper.js.map +1 -1
- package/dist/src/util/ObjectHelper.d.ts +1 -1
- package/dist/src/util/PaymentCardHelper.js +2 -1
- package/dist/src/util/PaymentCardHelper.js.map +1 -1
- package/dist/src/util/StepManager.d.ts +1 -1
- package/dist/src/util/Validation.d.ts +0 -1
- package/dist/src/util/Validation.js +3 -4
- package/dist/src/util/Validation.js.map +1 -1
- package/dist/test.bundle.js +1 -1
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +5 -3
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -1
- package/dist/tests/jest/providers/LanguageProvider.test.js +6 -4
- package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -1
- package/dist/tests/jest/providers/SessionProvider.test.js +12 -10
- package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -1
- package/dist/tests/jest/reducers/BasketReducer.test.js +2 -1
- package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -1
- package/dist/tests/offline/RoomstayBestRateAlert.js +6 -6
- package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -1
- package/dist/tests/offline/entry/ReactWrapper.js +26 -49
- package/dist/tests/offline/entry/ReactWrapper.js.map +1 -1
- package/dist/tests/offline/entry/allEngines.js +2 -2
- package/dist/tests/offline/entry/allEngines.js.map +1 -1
- package/dist/tests/offline/entry/components/TestPicker.js +42 -52
- package/dist/tests/offline/entry/components/TestPicker.js.map +1 -1
- package/dist/tests/setupTests.js +1 -0
- package/dist/tests/setupTests.js.map +1 -1
- package/dist/vendors.bundle.js +1 -1
- package/dist/vendors.bundle.js.LICENSE.txt +0 -31
- package/package.json +11 -5
- package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.d.ts +0 -1
- package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js +0 -133
- package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js.map +0 -1
- package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.d.ts +0 -2
- package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js +0 -158
- package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js.map +0 -1
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const
|
|
29
|
+
const react_1 = __importDefault(require("react"));
|
|
30
30
|
const Text_1 = __importStar(require("../../../../generic/Text"));
|
|
31
31
|
const Color_1 = require("../../../../../util/Color");
|
|
32
32
|
const TextAlignment_1 = require("../../../../../util/TextAlignment");
|
|
@@ -37,7 +37,7 @@ const classnames_1 = __importDefault(require("classnames"));
|
|
|
37
37
|
const Icon_1 = require("../../../../generic/Icon/Icon");
|
|
38
38
|
const Pill_1 = __importStar(require("../../../../generic/Pill"));
|
|
39
39
|
const contexts_1 = require("../../../../../contexts/index.js");
|
|
40
|
-
const
|
|
40
|
+
const react_2 = require("react");
|
|
41
41
|
const DataLayer_1 = __importStar(require("../../../../../util/DataLayer"));
|
|
42
42
|
const RoomDetailsPriceBlock_1 = __importDefault(require("../RoomDetailsPriceBlock"));
|
|
43
43
|
const RoomRate_1 = require("../../../../../models/Room/RoomRate");
|
|
@@ -50,17 +50,17 @@ const RoomRatePills_1 = __importDefault(require("./RoomRatePills"));
|
|
|
50
50
|
const BaseEngine_1 = require("../../../../../engines/BaseEngine");
|
|
51
51
|
function RoomRateRow(props) {
|
|
52
52
|
var _a, _b, _c;
|
|
53
|
-
const ccx = (0,
|
|
54
|
-
const basketContext = (0,
|
|
55
|
-
const { engine } = (0,
|
|
56
|
-
const [viewingModal, setViewingModal] = (0,
|
|
53
|
+
const ccx = (0, react_2.useContext)(contexts_2.CompanyContext);
|
|
54
|
+
const basketContext = (0, react_2.useContext)(contexts_1.BasketContext);
|
|
55
|
+
const { engine } = (0, react_2.useContext)(contexts_1.BookingEngineContext);
|
|
56
|
+
const [viewingModal, setViewingModal] = (0, react_2.useState)({ open: false, currentTab: RoomRateDetailsAndPriceBreakdownModal_1.RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails });
|
|
57
57
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
58
58
|
const { hotel } = (0, hooks_1.useCurrentHotel)();
|
|
59
59
|
const { rate } = props;
|
|
60
60
|
const selectedRow = basketContext.selectedBasketRow;
|
|
61
61
|
const isRoomSelectedAndEditing = selectedRow === null || selectedRow === void 0 ? void 0 : selectedRow.isValid();
|
|
62
62
|
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);
|
|
63
|
-
const currentRow = (0,
|
|
63
|
+
const currentRow = (0, react_2.useRef)(null);
|
|
64
64
|
const classes = (0, classnames_1.default)('room-info', {
|
|
65
65
|
'--default': !rate.isMemberOnly,
|
|
66
66
|
'--locked': rate.isMemberOnly,
|
|
@@ -72,7 +72,7 @@ function RoomRateRow(props) {
|
|
|
72
72
|
isLocked = true;
|
|
73
73
|
}
|
|
74
74
|
FeatureProvider_1.default.load('AvailableUpgradesFeature');
|
|
75
|
-
(0,
|
|
75
|
+
(0, react_2.useEffect)(() => {
|
|
76
76
|
if (isThisSelectedRow && (engine === null || engine === void 0 ? void 0 : engine.getSource()) !== BaseEngine_1.BookingEngineSource.Inline) {
|
|
77
77
|
setTimeout(() => {
|
|
78
78
|
var _a;
|
|
@@ -116,32 +116,32 @@ function RoomRateRow(props) {
|
|
|
116
116
|
DataLayer_1.default.instance.sendInteraction('Rate Breakdown', DataLayer_1.InteractionType.LINK, DataLayer_1.InteractionStep.ROOMS);
|
|
117
117
|
openTab(RoomRateDetailsAndPriceBreakdownModal_1.RoomRateDetailsAndPriceBreakdownModalTabs.PriceBreakdown);
|
|
118
118
|
};
|
|
119
|
-
return (
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
isLocked && (
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
119
|
+
return (react_1.default.createElement("div", { className: classes, ref: currentRow },
|
|
120
|
+
react_1.default.createElement("div", { className: "row" },
|
|
121
|
+
react_1.default.createElement("div", { className: "col-lg-8" },
|
|
122
|
+
react_1.default.createElement("div", { className: "u-flex flex-column h-100" },
|
|
123
|
+
react_1.default.createElement("div", null,
|
|
124
|
+
react_1.default.createElement("div", { className: "u-marg-bottom-half" }, isLocked ? (react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Body, color: Color_1.Color.Success },
|
|
125
|
+
react_1.default.createElement("strong", null, t(Translation_1.Translation.Step.Room.RoomInfo.MemberOnlyDeal)))) : (react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Body },
|
|
126
|
+
react_1.default.createElement("strong", null, rate.name)))),
|
|
127
|
+
react_1.default.createElement("div", { className: "u-marg-bottom u-h-ml-5 text-small u-clear-font-weight rdcaf" },
|
|
128
|
+
react_1.default.createElement("div", { dangerouslySetInnerHTML: { __html: isLocked ? t(Translation_1.Translation.Step.Room.RoomInfo.DealForMemberOnly) : rate.description } })),
|
|
129
|
+
isLocked && (react_1.default.createElement("div", { className: "u-marg" },
|
|
130
|
+
react_1.default.createElement("span", { onClick: openMemberSignupModalOnClick },
|
|
131
|
+
react_1.default.createElement(Pill_1.default, { icon: Icon_1.IconType.Money, type: Pill_1.PillType.Success }, t(Translation_1.Translation.Step.Room.RoomInfo.SignUpToSee))))),
|
|
132
|
+
react_1.default.createElement(RoomRatePills_1.default, { rate: props.rate })),
|
|
133
|
+
react_1.default.createElement("div", { className: "u-flex justify-content-start u-marg-top-bottom@l-" },
|
|
134
|
+
react_1.default.createElement("div", { className: "u-marg-right u-inline-flex" },
|
|
135
|
+
react_1.default.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))),
|
|
136
|
+
react_1.default.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))))),
|
|
137
|
+
react_1.default.createElement("div", { className: "col-lg-4 u-flex flex-column align-items-start align-items-md-start align-items-lg-end justify-content-start" },
|
|
138
|
+
react_1.default.createElement("div", { className: "u-flex flex-column align-items-start align-items-lg-end" },
|
|
139
|
+
react_1.default.createElement(RoomDetailsPriceBlock_1.default, { isLocked: isLocked, averagePreDiscount: rate.getAveragePriceBeforeDiscount(true), averagePrice: rate.getAveragePrice(true), isMemberOnly: props.rate.isMemberOnly }),
|
|
140
|
+
react_1.default.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
|
|
141
141
|
? t(Translation_1.Translation.Step.Room.RoomInfo.IncludesTaxes)
|
|
142
142
|
: t(Translation_1.Translation.Step.Room.ExcludingTaxes))),
|
|
143
|
-
|
|
144
|
-
|
|
143
|
+
react_1.default.createElement("div", { className: "u-marg-top u-w-100@l-" }, isLocked ? (react_1.default.createElement(BEButton_1.default, { filled: true, success: true, wide: true, onClick: openMemberSignupModalOnClick }, t(Translation_1.Translation.Step.Room.RoomInfo.RevealPrice))) : (react_1.default.createElement(BookNowButton_1.default, { rate: rate, buttonLabel: bookNowLabel, onAddToBasketOverride: props.onAddToBasketOverride, isFilled: !isThisSelectedRow }))))),
|
|
144
|
+
react_1.default.createElement(RoomRateDetailsAndPriceBreakdownModal_1.default, { isOpen: viewingModal.open, currentTab: viewingModal.currentTab, rate: props.rate, getButtonLabel: props.getButtonLabel, onAddToBasketOverride: props.onAddToBasketOverride, onClose: updateModalOnClose })));
|
|
145
145
|
}
|
|
146
146
|
exports.default = RoomRateRow;
|
|
147
147
|
//# sourceMappingURL=RoomRateRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomRateRow.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/RoomRateRow.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,kEAA2D;AAC3D,wCAAqC;AACrC,wDAAiD;AACjD,6EAAqD;AACrD,0DAAuD;AACvD,iDAA+C;AAE/C,4DAAoC;AAEpC,yDAA0D;AAC1D,kEAA2D;AAC3D,iDAAyE;AACzE,iCAAgE;AAChE,8DAA+E;AAC/E,sHAA8F;AAC9F,qDAA0E;AAC1E,6JAE6F;AAC7F,gHAAwF;AACxF,kFAA0D;AAC1D,iDAAoD;AACpD,2CAAkD;AAClD,gHAAwF;AACxF,qDAA2D;AAW3D,SAAwB,WAAW,CAAC,KAAuB;;IACvD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IAEpD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,iFAAyC,CAAC,WAAW,EAAE,CAAC,CAAC;IAErI,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,MAAM,WAAW,GAAG,aAAa,CAAC,iBAAiB,CAAC;IACpD,MAAM,wBAAwB,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,EAAE,CAAC;IAExD,MAAM,iBAAiB,GAAG,WAAW,IAAI,IAAI,CAAC,IAAI,MAAK,MAAA,WAAW,CAAC,OAAO,EAAE,0CAAE,IAAI,CAAA,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,EAAE,0CAAE,IAAI,OAAK,MAAA,WAAW,CAAC,OAAO,EAAE,0CAAE,IAAI,CAAA,CAAC;IAE3I,MAAM,UAAU,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,WAAW,EAAE;QACpC,WAAW,EAAE,CAAC,IAAI,CAAC,YAAY;QAC/B,UAAU,EAAE,IAAI,CAAC,YAAY;QAC7B,WAAW,EAAE,iBAAiB,IAAI,wBAAwB;QAC1D,YAAY,EAAE,KAAK,CAAC,WAAW;KAClC,CAAC,CAAC;IAEH,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;QACxC,QAAQ,GAAG,IAAI,CAAC;KACnB;IACD,yBAAe,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACjD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,iBAAiB,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,EAAE,MAAK,gCAAmB,CAAC,MAAM,EAAE;YACzE,UAAU,CAAC,GAAG,EAAE;;gBACZ,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,0CAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChE,CAAC,EAAE,GAAG,CAAC,CAAC;SACX;QAED,IAAI,CAAC,QAAQ,EAAE;YACX,mBAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;SAClE;IACL,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,OAAO,GAAG,CAAC,GAA8C,EAAE,EAAE;QAC/D,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,KAAK,CAAC,cAAc,EAAE;QACtB,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAC;KACpF;SAAM;QACH,IAAI,wBAAwB,EAAE;YAC1B,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;SAC7I;aAAM;YACH,YAAY,GAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC5D;KACJ;IAED,MAAM,4BAA4B,GAAG,GAAG,EAAE;QACtC,mBAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,2BAAe,CAAC,IAAI,EAAE,2BAAe,CAAC,KAAK,CAAC,CAAC;QACvG,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,mBAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,mBAAmB,EAAE,2BAAe,CAAC,IAAI,EAAE,2BAAe,CAAC,KAAK,CAAC,CAAC;QACrG,OAAO,CAAC,iFAAyC,CAAC,WAAW,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,eAAe,CAAC,CAAC,GAAG,EAAE,EAAE;YACpB,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC;YACjB,yBAAY,GAAG,EAAG;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,mBAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,gBAAgB,EAAE,2BAAe,CAAC,IAAI,EAAE,2BAAe,CAAC,KAAK,CAAC,CAAC;QAClG,OAAO,CAAC,iFAAyC,CAAC,cAAc,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU;QACpC,6BAAK,SAAS,EAAC,KAAK;YAChB,6BAAK,SAAS,EAAC,UAAU;gBACrB,6BAAK,SAAS,EAAC,0BAA0B;oBACrC;wBACI,6BAAK,SAAS,EAAC,oBAAoB,IAC9B,QAAQ,CAAC,CAAC,CAAC,CACR,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,aAAK,CAAC,OAAO;4BAC3C,oCAAS,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAU,CAChE,CACV,CAAC,CAAC,CAAC,CACA,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,IAAI;4BACrB,oCAAS,IAAI,CAAC,IAAI,CAAU,CACzB,CACV,CACC;wBACN,6BAAK,SAAS,EAAC,6DAA6D;4BACxE,6BAAK,uBAAuB,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAI,CAC7H;wBACL,QAAQ,IAAI,CACT,6BAAK,SAAS,EAAC,QAAQ;4BACnB,8BAAM,OAAO,EAAE,4BAA4B;gCACvC,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,eAAQ,CAAC,OAAO,IAC7C,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC3C,CACJ,CACL,CACT;wBACD,oBAAC,uBAAa,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI,CACjC;oBACN,6BAAK,SAAS,EAAC,mDAAmD;wBAC9D,6BAAK,SAAS,EAAC,4BAA4B;4BACvC,oBAAC,kBAAQ,IAAC,IAAI,EAAE,eAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAC,OAAO,EAAC,YAAY,EAAC,OAAO,EAAC,OAAO,EAAE,kBAAkB,IAC3H,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3B,CACT;wBACN,oBAAC,kBAAQ,IACL,IAAI,EAAE,eAAQ,CAAC,WAAW,EAC1B,MAAM,EAAE,IAAI,EACZ,SAAS,EAAE,aAAK,CAAC,IAAI,EACrB,IAAI,EAAC,OAAO,EACZ,YAAY,EAAC,OAAO,EACpB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,QAAQ,IAEjB,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAC9C,CACT,CACJ,CACJ;YACN,6BAAK,SAAS,EAAC,6GAA6G;gBACxH,6BAAK,SAAS,EAAC,yDAAyD;oBACpE,oBAAC,+BAAqB,IAClB,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,EAC5D,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EACxC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,GACvC;oBACF,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,yBAAS,CAAC,KAAK,IACpE,IAAI,CAAC,YAAY,EAAE,KAAK,iCAAsB,CAAC,qBAAqB;wBACjE,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;wBACjD,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAC1C,CACL;gBACN,6BAAK,SAAS,EAAC,uBAAuB,IACjC,QAAQ,CAAC,CAAC,CAAC,CACR,oBAAC,kBAAQ,IAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,IACnF,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CACvC,CACd,CAAC,CAAC,CAAC,CACA,oBAAC,uBAAa,IAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE,QAAQ,EAAE,CAAC,iBAAiB,GAAI,CAC7I,CACC,CACJ,CACJ;QAEF,oBAAC,+CAAqC,IAClC,MAAM,EAAE,YAAY,CAAC,IAAI,EACzB,UAAU,EAAE,YAAY,CAAC,UAAU,EACnC,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAClD,OAAO,EAAE,kBAAkB,GAC7B,CAEJ,CACT,CAAC;AACN,CAAC;AAxKD,8BAwKC","sourcesContent":["import * as React from 'react';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { Color } from '@/util/Color';\nimport { TextAlign } from '@/util/TextAlignment';\nimport BEButton from '@/components/generic/BEButton';\nimport { Translation } from 'translations/Translation';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport Pill, { PillType } from '@/components/generic/Pill';\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport { useContext, useState, useEffect, useRef } from 'react';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nimport RoomDetailsPriceBlock from '@/components/steps/room/roomDetails/RoomDetailsPriceBlock';\nimport { RoomRate, RoomRatePriceInclusion } from '@/models/Room/RoomRate';\nimport RoomRateDetailsAndPriceBreakdownModal, {\n RoomRateDetailsAndPriceBreakdownModalTabs,\n} from '@/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal';\nimport BookNowButton from '@/components/steps/room/roomDetails/roomRates/BookNowButton';\nimport FeatureProvider from '@/providers/FeatureProvider';\nimport { CompanyContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport RoomRatePills from '@/components/steps/room/roomDetails/roomRates/RoomRatePills';\nimport { BookingEngineSource } from '@/engines/BaseEngine';\n\nexport interface RoomRateRowProps {\n rate: RoomRate;\n\n getButtonLabel?: (isRoomSelectedAndEditing: boolean, isThisSelectedRow: boolean) => string;\n onAddToBasketOverride?: (rate: RoomRate) => void;\n\n isPromoRate?: boolean;\n}\n\nexport default function RoomRateRow(props: RoomRateRowProps) {\n const ccx = useContext(CompanyContext);\n const basketContext = useContext(BasketContext);\n const { engine } = useContext(BookingEngineContext);\n\n const [viewingModal, setViewingModal] = useState({ open: false, currentTab: RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails });\n\n const { t } = useTranslation();\n const { hotel } = useCurrentHotel();\n\n const { rate } = props;\n const selectedRow = basketContext.selectedBasketRow;\n const isRoomSelectedAndEditing = selectedRow?.isValid();\n\n const isThisSelectedRow = selectedRow && rate.name === selectedRow.getRate()?.name && rate.getRoom()?.name === selectedRow.getRoom()?.name;\n\n const currentRow = useRef(null);\n\n const classes = classNames('room-info', {\n '--default': !rate.isMemberOnly,\n '--locked': rate.isMemberOnly,\n '--current': isThisSelectedRow && isRoomSelectedAndEditing,\n '--is-promo': props.isPromoRate,\n });\n\n let isLocked = false;\n\n if (rate.isMemberOnly && !ccx.signedInUser) {\n isLocked = true;\n }\n FeatureProvider.load('AvailableUpgradesFeature');\n useEffect(() => {\n if (isThisSelectedRow && engine?.getSource() !== BookingEngineSource.Inline) {\n setTimeout(() => {\n currentRow?.current?.scrollIntoView({ behavior: 'smooth' });\n }, 250);\n }\n\n if (!isLocked) {\n DataLayer.instance.addRoomRateImpression(rate.getRoom(), rate);\n }\n }, [isThisSelectedRow]);\n\n const openTab = (tab: RoomRateDetailsAndPriceBreakdownModalTabs) => {\n setViewingModal({ open: true, currentTab: tab });\n };\n\n let bookNowLabel = '';\n if (props.getButtonLabel) {\n bookNowLabel = props.getButtonLabel(isRoomSelectedAndEditing, isThisSelectedRow);\n } else {\n if (isRoomSelectedAndEditing) {\n bookNowLabel = isThisSelectedRow ? t(Translation.Step.Room.RoomInfo.Selected) : (bookNowLabel = t(Translation.Step.Room.RoomInfo.Update));\n } else {\n bookNowLabel = t(Translation.Step.Room.RoomInfo.BookNow);\n }\n }\n\n const openMemberSignupModalOnClick = () => {\n DataLayer.instance.sendInteraction('Member Signup Modal', InteractionType.LINK, InteractionStep.ROOMS);\n ccx.openMemberSignupModal();\n };\n\n const rateDetailsOnClick = () => {\n DataLayer.instance.sendInteraction('More Rate Details', InteractionType.LINK, InteractionStep.ROOMS);\n openTab(RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails);\n };\n\n const updateModalOnClose = () => {\n setViewingModal((old) => {\n old.open = false;\n return { ...old };\n });\n };\n\n const openTabOnClick = () => {\n DataLayer.instance.sendInteraction('Rate Breakdown', InteractionType.LINK, InteractionStep.ROOMS);\n openTab(RoomRateDetailsAndPriceBreakdownModalTabs.PriceBreakdown);\n };\n\n return (\n <div className={classes} ref={currentRow}>\n <div className=\"row\">\n <div className=\"col-lg-8\">\n <div className=\"u-flex flex-column h-100\">\n <div>\n <div className=\"u-marg-bottom-half\">\n {isLocked ? (\n <Text type={TextType.Body} color={Color.Success}>\n <strong>{t(Translation.Step.Room.RoomInfo.MemberOnlyDeal)}</strong>\n </Text>\n ) : (\n <Text type={TextType.Body}>\n <strong>{rate.name}</strong>\n </Text>\n )}\n </div>\n <div className=\"u-marg-bottom u-h-ml-5 text-small u-clear-font-weight rdcaf\">\n <div dangerouslySetInnerHTML={{ __html: isLocked ? t(Translation.Step.Room.RoomInfo.DealForMemberOnly) : rate.description }} />\n </div>\n {isLocked && (\n <div className=\"u-marg\">\n <span onClick={openMemberSignupModalOnClick}>\n <Pill icon={IconType.Money} type={PillType.Success}>\n {t(Translation.Step.Room.RoomInfo.SignUpToSee)}\n </Pill>\n </span>\n </div>\n )}\n <RoomRatePills rate={props.rate} />\n </div>\n <div className=\"u-flex justify-content-start u-marg-top-bottom@l-\">\n <div className=\"u-marg-right u-inline-flex\">\n <BEButton icon={IconType.ArrowRight2} isText={true} primary={true} size=\"small\" iconPosition=\"right\" onClick={rateDetailsOnClick}>\n {t(Translation.Step.Room.ReadMore)}\n </BEButton>\n </div>\n <BEButton\n icon={IconType.ArrowRight2}\n isText={true}\n textColor={Color.Navy}\n size=\"small\"\n iconPosition=\"right\"\n onClick={openTabOnClick}\n disabled={isLocked}\n >\n {t(Translation.Step.Room.RoomInfo.ViewPriceBreakdown)}\n </BEButton>\n </div>\n </div>\n </div>\n <div className=\"col-lg-4 u-flex flex-column align-items-start align-items-md-start align-items-lg-end justify-content-start\">\n <div className=\"u-flex flex-column align-items-start align-items-lg-end\">\n <RoomDetailsPriceBlock\n isLocked={isLocked}\n averagePreDiscount={rate.getAveragePriceBeforeDiscount(true)}\n averagePrice={rate.getAveragePrice(true)}\n isMemberOnly={props.rate.isMemberOnly}\n />\n <Text type={TextType.Label} color={Color.DarkGrey} align={TextAlign.Right}>\n {rate.getPriceType() === RoomRatePriceInclusion.IncludingFeesAndTaxes\n ? t(Translation.Step.Room.RoomInfo.IncludesTaxes)\n : t(Translation.Step.Room.ExcludingTaxes)}\n </Text>\n </div>\n <div className=\"u-marg-top u-w-100@l-\">\n {isLocked ? (\n <BEButton filled={true} success={true} wide={true} onClick={openMemberSignupModalOnClick}>\n {t(Translation.Step.Room.RoomInfo.RevealPrice)}\n </BEButton>\n ) : (\n <BookNowButton rate={rate} buttonLabel={bookNowLabel} onAddToBasketOverride={props.onAddToBasketOverride} isFilled={!isThisSelectedRow} />\n )}\n </div>\n </div>\n </div>\n {\n <RoomRateDetailsAndPriceBreakdownModal\n isOpen={viewingModal.open}\n currentTab={viewingModal.currentTab}\n rate={props.rate}\n getButtonLabel={props.getButtonLabel}\n onAddToBasketOverride={props.onAddToBasketOverride}\n onClose={updateModalOnClose}\n />\n }\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RoomRateRow.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/RoomRateRow.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { Color } from '@/util/Color';\nimport { TextAlign } from '@/util/TextAlignment';\nimport BEButton from '@/components/generic/BEButton';\nimport { Translation } from 'translations/Translation';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport Pill, { PillType } from '@/components/generic/Pill';\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport { useContext, useState, useEffect, useRef } from 'react';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nimport RoomDetailsPriceBlock from '@/components/steps/room/roomDetails/RoomDetailsPriceBlock';\nimport { RoomRate, RoomRatePriceInclusion } from '@/models/Room/RoomRate';\nimport RoomRateDetailsAndPriceBreakdownModal, {\n RoomRateDetailsAndPriceBreakdownModalTabs,\n} from '@/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal';\nimport BookNowButton from '@/components/steps/room/roomDetails/roomRates/BookNowButton';\nimport FeatureProvider from '@/providers/FeatureProvider';\nimport { CompanyContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport RoomRatePills from '@/components/steps/room/roomDetails/roomRates/RoomRatePills';\nimport { BookingEngineSource } from '@/engines/BaseEngine';\n\nexport interface RoomRateRowProps {\n rate: RoomRate;\n\n getButtonLabel?: (isRoomSelectedAndEditing: boolean, isThisSelectedRow: boolean) => string;\n onAddToBasketOverride?: (rate: RoomRate) => void;\n\n isPromoRate?: boolean;\n}\n\nexport default function RoomRateRow(props: RoomRateRowProps) {\n const ccx = useContext(CompanyContext);\n const basketContext = useContext(BasketContext);\n const { engine } = useContext(BookingEngineContext);\n\n const [viewingModal, setViewingModal] = useState({ open: false, currentTab: RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails });\n\n const { t } = useTranslation();\n const { hotel } = useCurrentHotel();\n\n const { rate } = props;\n const selectedRow = basketContext.selectedBasketRow;\n const isRoomSelectedAndEditing = selectedRow?.isValid();\n\n const isThisSelectedRow = selectedRow && rate.name === selectedRow.getRate()?.name && rate.getRoom()?.name === selectedRow.getRoom()?.name;\n\n const currentRow = useRef<HTMLDivElement | null>(null);\n\n const classes = classNames('room-info', {\n '--default': !rate.isMemberOnly,\n '--locked': rate.isMemberOnly,\n '--current': isThisSelectedRow && isRoomSelectedAndEditing,\n '--is-promo': props.isPromoRate,\n });\n\n let isLocked = false;\n\n if (rate.isMemberOnly && !ccx.signedInUser) {\n isLocked = true;\n }\n FeatureProvider.load('AvailableUpgradesFeature');\n useEffect(() => {\n if (isThisSelectedRow && engine?.getSource() !== BookingEngineSource.Inline) {\n setTimeout(() => {\n currentRow?.current?.scrollIntoView({ behavior: 'smooth' });\n }, 250);\n }\n\n if (!isLocked) {\n DataLayer.instance.addRoomRateImpression(rate.getRoom(), rate);\n }\n }, [isThisSelectedRow]);\n\n const openTab = (tab: RoomRateDetailsAndPriceBreakdownModalTabs) => {\n setViewingModal({ open: true, currentTab: tab });\n };\n\n let bookNowLabel = '';\n if (props.getButtonLabel) {\n bookNowLabel = props.getButtonLabel(isRoomSelectedAndEditing, isThisSelectedRow);\n } else {\n if (isRoomSelectedAndEditing) {\n bookNowLabel = isThisSelectedRow ? t(Translation.Step.Room.RoomInfo.Selected) : (bookNowLabel = t(Translation.Step.Room.RoomInfo.Update));\n } else {\n bookNowLabel = t(Translation.Step.Room.RoomInfo.BookNow);\n }\n }\n\n const openMemberSignupModalOnClick = () => {\n DataLayer.instance.sendInteraction('Member Signup Modal', InteractionType.LINK, InteractionStep.ROOMS);\n ccx.openMemberSignupModal();\n };\n\n const rateDetailsOnClick = () => {\n DataLayer.instance.sendInteraction('More Rate Details', InteractionType.LINK, InteractionStep.ROOMS);\n openTab(RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails);\n };\n\n const updateModalOnClose = () => {\n setViewingModal((old) => {\n old.open = false;\n return { ...old };\n });\n };\n\n const openTabOnClick = () => {\n DataLayer.instance.sendInteraction('Rate Breakdown', InteractionType.LINK, InteractionStep.ROOMS);\n openTab(RoomRateDetailsAndPriceBreakdownModalTabs.PriceBreakdown);\n };\n\n return (\n <div className={classes} ref={currentRow}>\n <div className=\"row\">\n <div className=\"col-lg-8\">\n <div className=\"u-flex flex-column h-100\">\n <div>\n <div className=\"u-marg-bottom-half\">\n {isLocked ? (\n <Text type={TextType.Body} color={Color.Success}>\n <strong>{t(Translation.Step.Room.RoomInfo.MemberOnlyDeal)}</strong>\n </Text>\n ) : (\n <Text type={TextType.Body}>\n <strong>{rate.name}</strong>\n </Text>\n )}\n </div>\n <div className=\"u-marg-bottom u-h-ml-5 text-small u-clear-font-weight rdcaf\">\n <div dangerouslySetInnerHTML={{ __html: isLocked ? t(Translation.Step.Room.RoomInfo.DealForMemberOnly) : rate.description }} />\n </div>\n {isLocked && (\n <div className=\"u-marg\">\n <span onClick={openMemberSignupModalOnClick}>\n <Pill icon={IconType.Money} type={PillType.Success}>\n {t(Translation.Step.Room.RoomInfo.SignUpToSee)}\n </Pill>\n </span>\n </div>\n )}\n <RoomRatePills rate={props.rate} />\n </div>\n <div className=\"u-flex justify-content-start u-marg-top-bottom@l-\">\n <div className=\"u-marg-right u-inline-flex\">\n <BEButton icon={IconType.ArrowRight2} isText primary size=\"small\" iconPosition=\"right\" onClick={rateDetailsOnClick}>\n {t(Translation.Step.Room.ReadMore)}\n </BEButton>\n </div>\n <BEButton icon={IconType.ArrowRight2} isText textColor={Color.Navy} size=\"small\" iconPosition=\"right\" onClick={openTabOnClick} disabled={isLocked}>\n {t(Translation.Step.Room.RoomInfo.ViewPriceBreakdown)}\n </BEButton>\n </div>\n </div>\n </div>\n <div className=\"col-lg-4 u-flex flex-column align-items-start align-items-md-start align-items-lg-end justify-content-start\">\n <div className=\"u-flex flex-column align-items-start align-items-lg-end\">\n <RoomDetailsPriceBlock\n isLocked={isLocked}\n averagePreDiscount={rate.getAveragePriceBeforeDiscount(true)}\n averagePrice={rate.getAveragePrice(true)}\n isMemberOnly={props.rate.isMemberOnly}\n />\n <Text type={TextType.Label} color={Color.DarkGrey} align={TextAlign.Right}>\n {rate.getPriceType() === RoomRatePriceInclusion.IncludingFeesAndTaxes\n ? t(Translation.Step.Room.RoomInfo.IncludesTaxes)\n : t(Translation.Step.Room.ExcludingTaxes)}\n </Text>\n </div>\n <div className=\"u-marg-top u-w-100@l-\">\n {isLocked ? (\n <BEButton filled success wide onClick={openMemberSignupModalOnClick}>\n {t(Translation.Step.Room.RoomInfo.RevealPrice)}\n </BEButton>\n ) : (\n <BookNowButton rate={rate} buttonLabel={bookNowLabel} onAddToBasketOverride={props.onAddToBasketOverride} isFilled={!isThisSelectedRow} />\n )}\n </div>\n </div>\n </div>\n <RoomRateDetailsAndPriceBreakdownModal\n isOpen={viewingModal.open}\n currentTab={viewingModal.currentTab}\n rate={props.rate}\n getButtonLabel={props.getButtonLabel}\n onAddToBasketOverride={props.onAddToBasketOverride}\n onClose={updateModalOnClose}\n />\n </div>\n );\n}\n"]}
|
|
@@ -1,34 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
4
|
};
|
|
28
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
30
7
|
const RoomRateRow_1 = __importDefault(require("./RoomRateRow"));
|
|
31
|
-
const
|
|
8
|
+
const react_2 = require("react");
|
|
32
9
|
const Icon_1 = require("../../../../generic/Icon/Icon");
|
|
33
10
|
const BEButton_1 = __importDefault(require("../../../../generic/BEButton"));
|
|
34
11
|
const Color_1 = require("../../../../../util/Color");
|
|
@@ -44,24 +21,24 @@ const contexts_2 = require("../../../../../contexts/index.js");
|
|
|
44
21
|
const RoomRateListPromotion_1 = require("./RoomRateListPromotion/RoomRateListPromotion");
|
|
45
22
|
function RoomRates(props) {
|
|
46
23
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
47
|
-
const [showingMoreOpen, setShowingMoreOpen] = (0,
|
|
48
|
-
const basketContext = (0,
|
|
49
|
-
const beContext = (0,
|
|
50
|
-
const ccx = (0,
|
|
24
|
+
const [showingMoreOpen, setShowingMoreOpen] = (0, react_2.useState)(false);
|
|
25
|
+
const basketContext = (0, react_2.useContext)(contexts_1.BasketContext);
|
|
26
|
+
const beContext = (0, react_2.useContext)(contexts_1.BookingEngineContext);
|
|
27
|
+
const ccx = (0, react_2.useContext)(contexts_2.CompanyContext);
|
|
51
28
|
const { hotel } = (0, hooks_1.useCurrentHotel)();
|
|
52
29
|
const { rates } = props;
|
|
53
30
|
const numOfRatesToShowFirst = beContext.screenSize <= ScreenSize_1.default.Medium ? 2 : 3;
|
|
54
31
|
const sortBy = beContext.currentRoomSort;
|
|
55
|
-
(0,
|
|
32
|
+
(0, react_2.useEffect)(() => {
|
|
56
33
|
var _a;
|
|
57
34
|
if (((_a = basketContext.selectedBasketRow) === null || _a === void 0 ? void 0 : _a.getRoom()) && basketContext.selectedBasketRow.getRoom().code === props.roomCode) {
|
|
58
35
|
setShowingMoreOpen(true);
|
|
59
36
|
}
|
|
60
37
|
}, [basketContext.selectedBasketRow]);
|
|
61
|
-
(0,
|
|
38
|
+
(0, react_2.useEffect)(() => {
|
|
62
39
|
DataLayer_1.default.instance.sendRoomImpressions();
|
|
63
40
|
}, [showingMoreOpen]);
|
|
64
|
-
return (0,
|
|
41
|
+
return (0, react_2.useMemo)(() => {
|
|
65
42
|
var _a, _b, _c;
|
|
66
43
|
const featuredRates = (_a = props.featuredRates) === null || _a === void 0 ? void 0 : _a.filter((rate) => !!rate);
|
|
67
44
|
const hasFeaturedRates = !!featuredRates && featuredRates.length > 0;
|
|
@@ -86,7 +63,7 @@ function RoomRates(props) {
|
|
|
86
63
|
};
|
|
87
64
|
const itemsToRender = [];
|
|
88
65
|
const renderRoomRateRow = (rate, isPromo = false) => {
|
|
89
|
-
return
|
|
66
|
+
return react_1.default.createElement(RoomRateRow_1.default, { key: rate.name, rate: rate, getButtonLabel: props.getButtonLabel, onAddToBasketOverride: props.onAddToBasketOverride, isPromoRate: isPromo });
|
|
90
67
|
};
|
|
91
68
|
const maxRows = hasFeaturedRates && !showingMoreOpen ? featuredRates.length : numOfRatesToShowFirst;
|
|
92
69
|
let rowsLeftToOpen = 0;
|
|
@@ -104,11 +81,11 @@ function RoomRates(props) {
|
|
|
104
81
|
if (!props.hideMemberOnlyRow &&
|
|
105
82
|
!!(hotel === null || hotel === void 0 ? void 0 : hotel.memberOnlyPromoCode) &&
|
|
106
83
|
(!ccx.signedInUser || (hotel === null || hotel === void 0 ? void 0 : hotel.memberOnlyPromoCode) === ((_b = basketContext === null || basketContext === void 0 ? void 0 : basketContext.selectedBasketRow) === null || _b === void 0 ? void 0 : _b.getPromoCode()))) {
|
|
107
|
-
itemsToRender.push(
|
|
84
|
+
itemsToRender.push(react_1.default.createElement(MembersOnlyRow_1.default, null));
|
|
108
85
|
}
|
|
109
86
|
}
|
|
110
87
|
if (basketContext.loadedPromotion) {
|
|
111
|
-
itemsToRender.push(
|
|
88
|
+
itemsToRender.push(react_1.default.createElement(RoomRateListPromotion_1.RoomRateListPromotion, { promotion: basketContext.loadedPromotion }));
|
|
112
89
|
}
|
|
113
90
|
// Then we add the remaining rates to the render list - stop adding if we hit `maxRows`
|
|
114
91
|
sortedRates.forEach((rate) => {
|
|
@@ -119,12 +96,12 @@ function RoomRates(props) {
|
|
|
119
96
|
rowsLeftToOpen++;
|
|
120
97
|
}
|
|
121
98
|
});
|
|
122
|
-
return (
|
|
99
|
+
return (react_1.default.createElement("div", { className: (_c = props.classNames) !== null && _c !== void 0 ? _c : '' },
|
|
123
100
|
itemsToRender.map((item, index) => {
|
|
124
|
-
return
|
|
101
|
+
return react_1.default.createElement(react_1.default.Fragment, { key: index }, item);
|
|
125
102
|
}),
|
|
126
|
-
rowsLeftToOpen > 0 && (
|
|
127
|
-
|
|
103
|
+
rowsLeftToOpen > 0 && (react_1.default.createElement("div", { className: "room-show-more" },
|
|
104
|
+
react_1.default.createElement(BEButton_1.default, { icon: Icon_1.IconType.ArrowDown2, iconPosition: "right", stopIconAnimation: true, isText: true, textColor: Color_1.Color.Navy, onClick: showMoreOnClick },
|
|
128
105
|
t(Translation_1.Translation.Step.Room.RoomInfo.Show),
|
|
129
106
|
" ",
|
|
130
107
|
rowsLeftToOpen,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomRates.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/RoomRates.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RoomRates.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/RoomRates.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport RoomRateRow from '@/components/steps/room/roomDetails/roomRates/RoomRateRow';\nimport { RoomRate } from '@/models/Room/RoomRate';\nimport { useState, useEffect, useContext, useMemo } from 'react';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport BEButton from '@/components/generic/BEButton';\nimport { Color } from '@/util/Color';\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport RoomSortProvider from '@/providers/RoomSortProvider';\n\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport DataLayer from '@/util/DataLayer';\nimport MembersOnlyRow from '@/components/steps/room/roomDetails/roomRates/MembersOnlyRow';\nimport ScreenSize from '@/util/ScreenSize';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { CompanyContext } from '@frontend/contexts';\nimport { RoomRateListPromotion } from './RoomRateListPromotion/RoomRateListPromotion';\nexport interface RoomRatesProps {\n roomCode: string;\n rates: RoomRate[];\n\n featuredRates?: RoomRate[];\n\n classNames?: string;\n\n hideMemberOnlyRow?: boolean;\n\n // Inline Booking Widget overrides\n getButtonLabel?: (isRoomSelectedAndEditing: boolean, isThisSelectedRow: boolean) => string;\n onAddToBasketOverride?: (rate: RoomRate) => void;\n}\n\nexport default function RoomRates(props: RoomRatesProps) {\n const { t } = useTranslation();\n const [showingMoreOpen, setShowingMoreOpen] = useState(false);\n\n const basketContext = useContext(BasketContext);\n const beContext = useContext(BookingEngineContext);\n\n const ccx = useContext(CompanyContext);\n\n const { hotel } = useCurrentHotel();\n\n const { rates } = props;\n\n const numOfRatesToShowFirst = beContext.screenSize <= ScreenSize.Medium ? 2 : 3;\n\n const sortBy = beContext.currentRoomSort;\n\n useEffect(() => {\n if (basketContext.selectedBasketRow?.getRoom() && basketContext.selectedBasketRow.getRoom().code === props.roomCode) {\n setShowingMoreOpen(true);\n }\n }, [basketContext.selectedBasketRow]);\n\n useEffect(() => {\n DataLayer.instance.sendRoomImpressions();\n }, [showingMoreOpen]);\n\n return useMemo(() => {\n const featuredRates = props.featuredRates?.filter((rate) => !!rate);\n const hasFeaturedRates = !!featuredRates && featuredRates.length > 0;\n\n let sortedRates: RoomRate[];\n\n if (rates.length !== 0) {\n sortedRates = rates.sort(RoomSortProvider.getSortByFunction(sortBy));\n }\n\n // Need two sorts because of MOD\n sortedRates = rates.sort((a, b) => {\n if (a.isMemberOnly) {\n return -1;\n } else if (b.isMemberOnly) {\n return 1;\n } else {\n return 0;\n }\n });\n\n const showMoreOnClick = () => {\n setShowingMoreOpen(true);\n };\n\n const itemsToRender = [];\n\n const renderRoomRateRow = (rate: RoomRate, isPromo = false) => {\n return <RoomRateRow key={rate.name} rate={rate} getButtonLabel={props.getButtonLabel} onAddToBasketOverride={props.onAddToBasketOverride} isPromoRate={isPromo} />;\n };\n\n const maxRows = hasFeaturedRates && !showingMoreOpen ? featuredRates.length : numOfRatesToShowFirst;\n let rowsLeftToOpen = 0;\n\n if (featuredRates && featuredRates.length) {\n featuredRates.sort(RoomSortProvider.getSortByFunction(sortBy));\n // First we add Featured Rates to the top of the list - no limits there\n featuredRates.forEach((row) => {\n if (row) {\n itemsToRender.push(renderRoomRateRow(row, true));\n }\n });\n }\n\n // Then we do a tricky check to see if MOD intent should be displayed\n if (!hasFeaturedRates || showingMoreOpen) {\n if (\n !props.hideMemberOnlyRow &&\n !!hotel?.memberOnlyPromoCode &&\n (!ccx.signedInUser || hotel?.memberOnlyPromoCode === basketContext?.selectedBasketRow?.getPromoCode())\n ) {\n itemsToRender.push(<MembersOnlyRow />);\n }\n }\n\n if (basketContext.loadedPromotion) {\n itemsToRender.push(<RoomRateListPromotion promotion={basketContext.loadedPromotion} />);\n }\n\n // Then we add the remaining rates to the render list - stop adding if we hit `maxRows`\n sortedRates.forEach((rate: RoomRate) => {\n if (itemsToRender.length < maxRows || showingMoreOpen) {\n itemsToRender.push(renderRoomRateRow(rate));\n } else {\n rowsLeftToOpen++;\n }\n });\n\n return (\n <div className={props.classNames ?? ''}>\n {itemsToRender.map((item: any, index: number) => {\n return <React.Fragment key={index}>{item}</React.Fragment>;\n })}\n {rowsLeftToOpen > 0 && (\n <div className=\"room-show-more\">\n <BEButton icon={IconType.ArrowDown2} iconPosition=\"right\" stopIconAnimation isText textColor={Color.Navy} onClick={showMoreOnClick}>\n {t(Translation.Step.Room.RoomInfo.Show)} {rowsLeftToOpen} {t(Translation.Step.Room.RoomInfo.MoreRates)}\n </BEButton>\n </div>\n )}\n </div>\n );\n }, [props.featuredRates, rates, beContext.currentRoomSort, showingMoreOpen, basketContext?.loadedPromotion]);\n}\n"]}
|
|
@@ -26,8 +26,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const
|
|
30
|
-
const
|
|
29
|
+
const react_1 = __importDefault(require("react"));
|
|
30
|
+
const react_2 = require("react");
|
|
31
31
|
const Filter_1 = __importDefault(require("../../../../models/Room/Filters/Filter"));
|
|
32
32
|
const Pill_1 = __importStar(require("../../../generic/Pill"));
|
|
33
33
|
const Icon_1 = require("../../../generic/Icon/Icon");
|
|
@@ -36,13 +36,13 @@ const Translation_1 = require("translations/Translation");
|
|
|
36
36
|
const react_i18next_1 = require("react-i18next");
|
|
37
37
|
const contexts_1 = require("../../../../contexts/index.js");
|
|
38
38
|
function AppliedFiltersBlock() {
|
|
39
|
-
const context = (0,
|
|
39
|
+
const context = (0, react_2.useContext)(contexts_1.BookingEngineContext);
|
|
40
40
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
41
41
|
const filtersByKey = Object.keys(context.currentFilters).filter((current) => {
|
|
42
42
|
return current && context.currentFilters[current] instanceof Filter_1.default;
|
|
43
43
|
});
|
|
44
44
|
if (!filtersByKey.length) {
|
|
45
|
-
return
|
|
45
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
46
46
|
}
|
|
47
47
|
const onClickIconPill = () => {
|
|
48
48
|
context.setCurrentFilters({});
|
|
@@ -50,19 +50,20 @@ function AppliedFiltersBlock() {
|
|
|
50
50
|
const setFiltersOnClick = () => {
|
|
51
51
|
context.setCurrentFilters({});
|
|
52
52
|
};
|
|
53
|
-
return (
|
|
54
|
-
|
|
53
|
+
return (react_1.default.createElement("div", { className: "u-flex w-100" },
|
|
54
|
+
react_1.default.createElement("div", { className: "filter-height" }, filtersByKey &&
|
|
55
55
|
(filtersByKey.length <= 2 ? (filtersByKey.map((filter) => {
|
|
56
|
+
var _a;
|
|
56
57
|
if (filter && context.currentFilters[filter] instanceof Filter_1.default) {
|
|
57
58
|
const onClickIconHandler = () => {
|
|
58
59
|
context.setCurrentFilters(Object.assign(Object.assign({}, context.currentFilters), { [filter]: null }));
|
|
59
60
|
};
|
|
60
|
-
return (
|
|
61
|
+
return (react_1.default.createElement(Pill_1.default, { key: filter, onClickIcon: onClickIconHandler, type: Pill_1.PillType.Secondary, icon: Icon_1.IconType.Close, iconPosition: "right" }, (_a = context.currentFilters[filter]) === null || _a === void 0 ? void 0 : _a.getLabel()));
|
|
61
62
|
}
|
|
62
|
-
})) : (
|
|
63
|
+
})) : (react_1.default.createElement(Pill_1.default, { onClickIcon: onClickIconPill, type: Pill_1.PillType.Secondary, icon: Icon_1.IconType.Close, iconPosition: "right" },
|
|
63
64
|
filtersByKey.length,
|
|
64
65
|
" Filters Applied")))),
|
|
65
|
-
!!Object.values(context.currentFilters).filter((it) => !!it).length && (
|
|
66
|
+
!!Object.values(context.currentFilters).filter((it) => !!it).length && (react_1.default.createElement(BEButton_1.default, { isText: true, size: "tiny", onClick: setFiltersOnClick }, t(Translation_1.Translation.Misc.ClearAll)))));
|
|
66
67
|
}
|
|
67
68
|
exports.default = AppliedFiltersBlock;
|
|
68
69
|
//# sourceMappingURL=AppliedFiltersBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppliedFiltersBlock.js","sourceRoot":"/","sources":["src/components/steps/room/roomFilter/AppliedFiltersBlock.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"AppliedFiltersBlock.js","sourceRoot":"/","sources":["src/components/steps/room/roomFilter/AppliedFiltersBlock.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iCAAmC;AACnC,0EAAkD;AAClD,kEAA2D;AAC3D,yDAA0D;AAC1D,6EAAqD;AACrD,0DAAuD;AACvD,iDAA+C;AAC/C,iDAA0D;AAE1D,SAAwB,mBAAmB;IACvC,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QACxE,OAAO,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,gBAAM,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACtB,OAAO,6DAAK,CAAC;KAChB;IACD,MAAM,eAAe,GAAG,GAAG,EAAE;QACzB,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC3B,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,OAAO,CACH,uCAAK,SAAS,EAAC,cAAc;QACzB,uCAAK,SAAS,EAAC,eAAe,IACzB,YAAY;YACT,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CACxB,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;gBACxB,IAAI,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,gBAAM,EAAE;oBAC5D,MAAM,kBAAkB,GAAG,GAAG,EAAE;wBAC5B,OAAO,CAAC,iBAAiB,iCAClB,OAAO,CAAC,cAAc,KACzB,CAAC,MAAM,CAAC,EAAE,IAAI,IAChB,CAAC;oBACP,CAAC,CAAC;oBACF,OAAO,CACH,8BAAC,cAAI,IAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,YAAY,EAAC,OAAO,IACnH,MAAA,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,0CAAE,QAAQ,EAAE,CACxC,CACV,CAAC;iBACL;YACL,CAAC,CAAC,CACL,CAAC,CAAC,CAAC,CACA,8BAAC,cAAI,IAAC,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,eAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,YAAY,EAAC,OAAO;gBACnG,YAAY,CAAC,MAAM;mCACjB,CACV,CAAC,CACJ;QACL,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CACpE,8BAAC,kBAAQ,IAAC,MAAM,QAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,iBAAiB,IAClD,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CACtB,CACd,CACC,CACT,CAAC;AACN,CAAC;AAlDD,sCAkDC","sourcesContent":["import React from 'react';\nimport { useContext } from 'react';\nimport Filter from '@/models/Room/Filters/Filter';\nimport Pill, { PillType } from '@/components/generic/Pill';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport BEButton from '@/components/generic/BEButton';\nimport { Translation } from 'translations/Translation';\nimport { useTranslation } from 'react-i18next';\nimport { BookingEngineContext } from '@frontend/contexts';\n\nexport default function AppliedFiltersBlock() {\n const context = useContext(BookingEngineContext);\n const { t } = useTranslation();\n\n const filtersByKey = Object.keys(context.currentFilters).filter((current) => {\n return current && context.currentFilters[current] instanceof Filter;\n });\n\n if (!filtersByKey.length) {\n return <></>;\n }\n const onClickIconPill = () => {\n context.setCurrentFilters({});\n };\n const setFiltersOnClick = () => {\n context.setCurrentFilters({});\n };\n return (\n <div className=\"u-flex w-100\">\n <div className=\"filter-height\">\n {filtersByKey &&\n (filtersByKey.length <= 2 ? (\n filtersByKey.map((filter) => {\n if (filter && context.currentFilters[filter] instanceof Filter) {\n const onClickIconHandler = () => {\n context.setCurrentFilters({\n ...context.currentFilters,\n [filter]: null,\n });\n };\n return (\n <Pill key={filter} onClickIcon={onClickIconHandler} type={PillType.Secondary} icon={IconType.Close} iconPosition=\"right\">\n {context.currentFilters[filter]?.getLabel()}\n </Pill>\n );\n }\n })\n ) : (\n <Pill onClickIcon={onClickIconPill} type={PillType.Secondary} icon={IconType.Close} iconPosition=\"right\">\n {filtersByKey.length} Filters Applied\n </Pill>\n ))}\n </div>\n {!!Object.values(context.currentFilters).filter((it) => !!it).length && (\n <BEButton isText size=\"tiny\" onClick={setFiltersOnClick}>\n {t(Translation.Misc.ClearAll)}\n </BEButton>\n )}\n </div>\n );\n}\n"]}
|
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const
|
|
29
|
+
const react_1 = __importDefault(require("react"));
|
|
30
30
|
const Headline_1 = __importDefault(require("../../../generic/Headline"));
|
|
31
31
|
const Text_1 = __importDefault(require("../../../generic/Text"));
|
|
32
32
|
const BEButton_1 = __importDefault(require("../../../generic/BEButton"));
|
|
@@ -36,7 +36,7 @@ const react_i18next_1 = require("react-i18next");
|
|
|
36
36
|
const Translation_1 = require("translations/Translation");
|
|
37
37
|
const ScreenSize_1 = __importDefault(require("../../../../util/ScreenSize"));
|
|
38
38
|
const SimpleModal_1 = __importDefault(require("../../../generic/modal/SimpleModal"));
|
|
39
|
-
const
|
|
39
|
+
const react_2 = require("react");
|
|
40
40
|
const RoomFilterPriceSlider_1 = __importDefault(require("./RoomFilterPriceSlider"));
|
|
41
41
|
const contexts_1 = require("../../../../contexts/index.js");
|
|
42
42
|
const FilterProvider_1 = __importDefault(require("../../../../providers/FilterProvider"));
|
|
@@ -46,35 +46,36 @@ const DataLayer_1 = __importStar(require("../../../../util/DataLayer"));
|
|
|
46
46
|
const hooks_1 = require("../../../../hooks/index.js");
|
|
47
47
|
const Overlay_1 = require("../../../generic/Overlay/Overlay");
|
|
48
48
|
function RoomFilterOverlay(props) {
|
|
49
|
-
const context = (0,
|
|
50
|
-
const basketContext = (0,
|
|
49
|
+
const context = (0, react_2.useContext)(contexts_1.BookingEngineContext);
|
|
50
|
+
const basketContext = (0, react_2.useContext)(contexts_1.BasketContext);
|
|
51
51
|
const { hotel } = (0, hooks_1.useCurrentHotel)();
|
|
52
52
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
53
|
-
const [filters, setFilters] = (0,
|
|
54
|
-
const [roomList, setRoomList] = (0,
|
|
55
|
-
(0,
|
|
53
|
+
const [filters, setFilters] = (0, react_2.useState)(context.currentFilters);
|
|
54
|
+
const [roomList, setRoomList] = (0, react_2.useState)([]);
|
|
55
|
+
(0, react_2.useEffect)(() => {
|
|
56
56
|
var _a;
|
|
57
57
|
setFilters(Object.assign({}, context.currentFilters));
|
|
58
58
|
if (props.open) {
|
|
59
59
|
const allRows = basketContext.getAllValidRows();
|
|
60
|
-
FilterProvider_1.default.getUnfilteredRoomList((_a = basketContext.selectedBasketRow) !== null && _a !== void 0 ? _a : allRows[allRows.length - 1], hotel.hotelID).then((rooms) => {
|
|
60
|
+
FilterProvider_1.default.getUnfilteredRoomList((_a = basketContext.selectedBasketRow) !== null && _a !== void 0 ? _a : allRows[allRows.length - 1], hotel === null || hotel === void 0 ? void 0 : hotel.hotelID).then((rooms) => {
|
|
61
61
|
setRoomList(rooms);
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
}, [props.open]);
|
|
65
65
|
const applyChangesOnClickHandler = () => {
|
|
66
|
+
var _a;
|
|
66
67
|
DataLayer_1.default.instance.sendInteraction('Apply Filters', DataLayer_1.InteractionType.BUTTON, DataLayer_1.InteractionStep.ROOMS);
|
|
67
68
|
context.setCurrentFilters(filters);
|
|
68
|
-
props.onClose();
|
|
69
|
+
(_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
69
70
|
};
|
|
70
|
-
const stickyFooter = (
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
const stickyFooter = (react_1.default.createElement("div", { className: "u-flex align-items-center justify-content-between justify-content-md-end" },
|
|
72
|
+
react_1.default.createElement("div", { className: "u-marg-right--heavy" },
|
|
73
|
+
react_1.default.createElement(Text_1.default, { color: Color_1.Color.Accent },
|
|
74
|
+
react_1.default.createElement("strong", null,
|
|
74
75
|
FilterProvider_1.default.filterRooms(roomList, Object.values(filters)).length,
|
|
75
76
|
" ",
|
|
76
77
|
t(Translation_1.Translation.Step.Room.Filter.MatchingRoomsRates)))),
|
|
77
|
-
|
|
78
|
+
react_1.default.createElement(BEButton_1.default, { primary: true, filled: true, onClick: applyChangesOnClickHandler }, t(Translation_1.Translation.Misc.ApplyChanges))));
|
|
78
79
|
const updateFilters = (name, filter) => {
|
|
79
80
|
setFilters((oldFilters) => (Object.assign(Object.assign({}, oldFilters), { [name]: filter })));
|
|
80
81
|
};
|
|
@@ -87,28 +88,28 @@ function RoomFilterOverlay(props) {
|
|
|
87
88
|
const onFilterRateChangeHandler = (filter) => {
|
|
88
89
|
return updateFilters('RateType', filter);
|
|
89
90
|
};
|
|
90
|
-
const filterInside = (
|
|
91
|
-
|
|
92
|
-
context.screenSize > ScreenSize_1.default.Medium && (
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
91
|
+
const filterInside = (react_1.default.createElement("div", { className: "room-filter" },
|
|
92
|
+
react_1.default.createElement("div", { className: "u-pad--heavy u-pad-bottom--none" },
|
|
93
|
+
context.screenSize > ScreenSize_1.default.Medium && (react_1.default.createElement("div", { className: "u-marg-bottom" },
|
|
94
|
+
react_1.default.createElement(Headline_1.default, { bold: true }, t(Translation_1.Translation.Step.Room.FilterBy)))),
|
|
95
|
+
react_1.default.createElement("div", { className: "row" },
|
|
96
|
+
react_1.default.createElement("div", { className: "col-md-6" },
|
|
97
|
+
react_1.default.createElement(RoomFilterPriceSlider_1.default, { filter: filters.Budget, onChange: onPriceSliderChangeHandler, roomList: roomList }),
|
|
98
|
+
react_1.default.createElement("div", { className: "u-marg-bottom--heavy" },
|
|
99
|
+
react_1.default.createElement(RoomFilterRoomType_1.default, { roomList: roomList, filter: filters.RoomType, onChange: onFilterTypeChangeHandler }))),
|
|
100
|
+
react_1.default.createElement("div", { className: "col-md-6" },
|
|
101
|
+
react_1.default.createElement("div", { className: "u-marg-bottom--heavy" },
|
|
102
|
+
react_1.default.createElement(RoomFilterRateType_1.default, { roomList: roomList, filter: filters.RateType, onChange: onFilterRateChangeHandler })))))));
|
|
102
103
|
if (context.screenSize > ScreenSize_1.default.Medium) {
|
|
103
|
-
return (
|
|
104
|
-
|
|
104
|
+
return (react_1.default.createElement(Overlay_1.Overlay, { followElement: props.anchorEl, onClose: props.onClose, open: props.open, placement: "bottom-start" },
|
|
105
|
+
react_1.default.createElement(react_1.default.Fragment, null,
|
|
105
106
|
filterInside,
|
|
106
|
-
|
|
107
|
-
|
|
107
|
+
react_1.default.createElement("div", { className: "u-pad--heavy u-pad-top--none" },
|
|
108
|
+
react_1.default.createElement(LineBreak_1.default, null),
|
|
108
109
|
stickyFooter))));
|
|
109
110
|
}
|
|
110
111
|
else {
|
|
111
|
-
return (
|
|
112
|
+
return (react_1.default.createElement(SimpleModal_1.default, { open: props.open, onClose: props.onClose, title: "Filter", mobileFooter: stickyFooter }, filterInside));
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
exports.default = RoomFilterOverlay;
|