@roomstay/frontend 2.0.12 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/201.bundle.js +1 -1
- package/dist/218.bundle.js +1 -1
- package/dist/423.bundle.js +1 -1
- package/dist/449.bundle.js +1 -1
- package/dist/873.bundle.js +1 -1
- package/dist/882.bundle.js +1 -1
- package/dist/main.bundle.js +1 -1
- package/dist/src/animations/AutoAutoHeight.js +28 -2
- package/dist/src/animations/AutoAutoHeight.js.map +1 -1
- package/dist/src/animations/Fade.js +24 -1
- package/dist/src/animations/Fade.js.map +1 -1
- package/dist/src/api/AddonAPI.js +29 -3
- package/dist/src/api/AddonAPI.js.map +1 -1
- package/dist/src/api/AvailabilityAPI.d.ts +1 -1
- package/dist/src/api/AvailabilityAPI.js +40 -14
- package/dist/src/api/AvailabilityAPI.js.map +1 -1
- package/dist/src/api/BaseAPI.d.ts +1 -1
- package/dist/src/api/BaseAPI.js +7 -4
- package/dist/src/api/BaseAPI.js.map +1 -1
- package/dist/src/api/BookingAPI.js +12 -9
- package/dist/src/api/BookingAPI.js.map +1 -1
- package/dist/src/api/ErrorAPI.js +4 -1
- package/dist/src/api/ErrorAPI.js.map +1 -1
- package/dist/src/api/ExchangeRateAPI.js +4 -1
- package/dist/src/api/ExchangeRateAPI.js.map +1 -1
- package/dist/src/api/HotelAPI.js +4 -1
- package/dist/src/api/HotelAPI.js.map +1 -1
- package/dist/src/api/MemberAPI.js +24 -1
- package/dist/src/api/MemberAPI.js.map +1 -1
- package/dist/src/api/ReservationAPI.js +24 -1
- package/dist/src/api/ReservationAPI.js.map +1 -1
- package/dist/src/api/SessionAPI.js +24 -1
- package/dist/src/api/SessionAPI.js.map +1 -1
- package/dist/src/api/members-service/MembersServiceAPI.js +4 -1
- package/dist/src/api/members-service/MembersServiceAPI.js.map +1 -1
- package/dist/src/components/User/Forms/ForgotPasswordForm.js +33 -7
- package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignInForm.js +33 -7
- package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignUpForm.js +36 -10
- package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
- package/dist/src/components/generic/Alert.js +30 -4
- package/dist/src/components/generic/Alert.js.map +1 -1
- package/dist/src/components/generic/BEButton.js +30 -4
- package/dist/src/components/generic/BEButton.js.map +1 -1
- package/dist/src/components/generic/BackButton.js +28 -2
- package/dist/src/components/generic/BackButton.js.map +1 -1
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +29 -3
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +19 -0
- package/dist/src/components/generic/BookingWizard/BookingWizard.js +106 -0
- package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +6 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js +28 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +10 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +113 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +35 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.js +8 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +7 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +146 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +9 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +111 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +10 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +144 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -0
- package/dist/src/components/generic/Card/Card/Card.js +30 -4
- package/dist/src/components/generic/Card/Card/Card.js.map +1 -1
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +31 -5
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
- package/dist/src/components/generic/Checkbox/Checkbox.js +30 -4
- package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
- package/dist/src/components/generic/Countdown.d.ts +1 -1
- package/dist/src/components/generic/Countdown.js +29 -3
- package/dist/src/components/generic/Countdown.js.map +1 -1
- package/dist/src/components/generic/Currency.js +29 -3
- package/dist/src/components/generic/Currency.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +14 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +155 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.d.ts +10 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js +44 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +21 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +134 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +6 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +44 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +7 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +57 -0
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -0
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.d.ts +25 -0
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +87 -0
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -0
- package/dist/src/components/generic/Distance.js +28 -2
- package/dist/src/components/generic/Distance.js.map +1 -1
- package/dist/src/components/generic/ForwardedSelect.d.ts +1 -1
- package/dist/src/components/generic/ForwardedSelect.js +24 -1
- package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
- package/dist/src/components/generic/Headline.js +29 -3
- package/dist/src/components/generic/Headline.js.map +1 -1
- package/dist/src/components/generic/Icon/Icon.js +30 -4
- package/dist/src/components/generic/Icon/Icon.js.map +1 -1
- package/dist/src/components/generic/IconText/IconText.js +31 -5
- package/dist/src/components/generic/IconText/IconText.js.map +1 -1
- package/dist/src/components/generic/InputGroup/InputGroup.js +29 -3
- package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
- package/dist/src/components/generic/LineBreak.js +29 -3
- package/dist/src/components/generic/LineBreak.js.map +1 -1
- package/dist/src/components/generic/Notification.js +25 -2
- package/dist/src/components/generic/Notification.js.map +1 -1
- package/dist/src/components/generic/NumberIncrement.js +30 -4
- package/dist/src/components/generic/NumberIncrement.js.map +1 -1
- package/dist/src/components/generic/Overlay/Overlay.d.ts +3 -2
- package/dist/src/components/generic/Overlay/Overlay.js +33 -6
- package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
- package/dist/src/components/generic/PasswordBox/PasswordBox.js +30 -4
- package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.d.ts +1 -2
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.js +30 -4
- package/dist/src/components/generic/PaymentCard/CardTypeSelect.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +2 -3
- package/dist/src/components/generic/PaymentCard/PaymentCard.js +30 -4
- package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +2 -3
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +34 -8
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
- package/dist/src/components/generic/Pill.js +30 -4
- package/dist/src/components/generic/Pill.js.map +1 -1
- package/dist/src/components/generic/Placeholder.js +29 -3
- package/dist/src/components/generic/Placeholder.js.map +1 -1
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.d.ts +1 -2
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.js +28 -2
- package/dist/src/components/generic/PlanpayButton/PlanpayButton.js.map +1 -1
- package/dist/src/components/generic/Portal/Portal.js +24 -1
- package/dist/src/components/generic/Portal/Portal.js.map +1 -1
- package/dist/src/components/generic/PromoCodeInput.js +32 -6
- package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +30 -4
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +30 -4
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/dist/src/components/generic/RecentSearchesCard.d.ts +1 -1
- package/dist/src/components/generic/RecentSearchesCard.js +35 -9
- package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
- package/dist/src/components/generic/Select/Select.d.ts +20 -6
- package/dist/src/components/generic/Select/Select.js +92 -25
- package/dist/src/components/generic/Select/Select.js.map +1 -1
- package/dist/src/components/generic/Slider/Slider.js +29 -3
- package/dist/src/components/generic/Slider/Slider.js.map +1 -1
- package/dist/src/components/generic/Tabs/ElementChildren.js +24 -1
- package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
- package/dist/src/components/generic/Tabs/Tab.js +24 -1
- package/dist/src/components/generic/Tabs/Tab.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabContext.js +24 -1
- package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabLink.js +30 -4
- package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabRouteContainer.js +28 -2
- package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
- package/dist/src/components/generic/Tabs/Tabs.js +29 -3
- package/dist/src/components/generic/Tabs/Tabs.js.map +1 -1
- package/dist/src/components/generic/Text.js +29 -3
- package/dist/src/components/generic/Text.js.map +1 -1
- package/dist/src/components/generic/TextArea.js +24 -1
- package/dist/src/components/generic/TextArea.js.map +1 -1
- package/dist/src/components/generic/TextBox.js +30 -4
- package/dist/src/components/generic/TextBox.js.map +1 -1
- package/dist/src/components/generic/Tooltip/Tooltip.js +28 -2
- package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
- package/dist/src/components/generic/badging/SSLSecureBadge.js +29 -3
- package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
- package/dist/src/components/generic/buttons/NextStepButton.js +30 -4
- package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +34 -8
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
- package/dist/src/components/generic/date/DatePicker.d.ts +1 -1
- package/dist/src/components/generic/date/DatePicker.js +42 -16
- package/dist/src/components/generic/date/DatePicker.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDay.d.ts +1 -1
- package/dist/src/components/generic/date/DatePickerDay.js +33 -7
- package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDays.d.ts +1 -1
- package/dist/src/components/generic/date/DatePickerDays.js +29 -3
- package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerMonth.d.ts +1 -1
- package/dist/src/components/generic/date/DatePickerMonth.js +30 -4
- package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerWeek.js +38 -12
- package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
- package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
- package/dist/src/components/generic/date/FloatingDatePicker.js +29 -3
- package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
- package/dist/src/components/generic/date/WeekViewSkeleton.js +31 -5
- package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
- package/dist/src/components/generic/loader/ImageLoader.js +29 -3
- package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
- package/dist/src/components/generic/loader/LargeLoader.js +28 -2
- package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
- package/dist/src/components/generic/loader/SmallSpinner.js +25 -2
- package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
- package/dist/src/components/generic/map/HotelLocationMap.js +28 -2
- package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
- package/dist/src/components/generic/modal/ConfirmationModal.d.ts +1 -2
- package/dist/src/components/generic/modal/ConfirmationModal.js +30 -4
- package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
- package/dist/src/components/generic/modal/ErrorModal.js +29 -3
- package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +32 -6
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +33 -7
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SimpleModal.d.ts +2 -0
- package/dist/src/components/generic/modal/SimpleModal.js +36 -9
- package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
- package/dist/src/components/generic/modal/TabbedModal.js +29 -3
- package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
- package/dist/src/components/generic/radio/RadioFields.js +32 -6
- package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.js +24 -1
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.js.map +1 -1
- package/dist/src/components/members/EditMyProfile.js +32 -6
- package/dist/src/components/members/EditMyProfile.js.map +1 -1
- package/dist/src/components/navigation/Header.js +40 -14
- package/dist/src/components/navigation/Header.js.map +1 -1
- package/dist/src/components/navigation/StepSelector.js +34 -8
- package/dist/src/components/navigation/StepSelector.js.map +1 -1
- package/dist/src/components/navigation/StepSelectorModal.js +33 -7
- package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
- package/dist/src/components/pages/Account/Card/CardList.js +30 -4
- package/dist/src/components/pages/Account/Card/CardList.js.map +1 -1
- package/dist/src/components/pages/Account/Card/MemberCardItem.js +34 -8
- package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
- package/dist/src/components/pages/PageColorComponent.js +28 -2
- package/dist/src/components/pages/PageColorComponent.js.map +1 -1
- package/dist/src/components/reservation/ReservationItem.js +42 -16
- package/dist/src/components/reservation/ReservationItem.js.map +1 -1
- package/dist/src/components/reservation/ReservationList.js +28 -2
- package/dist/src/components/reservation/ReservationList.js.map +1 -1
- package/dist/src/components/steps/DaysSelectedInformer.js +25 -2
- package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
- package/dist/src/components/steps/MinimumNightStayPill.js +30 -4
- package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
- package/dist/src/components/steps/addons/AddonCard.js +37 -12
- package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
- package/dist/src/components/steps/addons/AddonList.js +33 -7
- package/dist/src/components/steps/addons/AddonList.js.map +1 -1
- package/dist/src/components/steps/addons/AddonsNotFound.js +29 -3
- package/dist/src/components/steps/addons/AddonsNotFound.js.map +1 -1
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +29 -3
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
- package/dist/src/components/steps/confirmation/AccountDetails.js +29 -3
- package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js +30 -4
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +24 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +32 -6
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +28 -2
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
- package/dist/src/components/steps/confirmation/RoomContactDetails.js +41 -15
- package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +33 -7
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +37 -11
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +30 -4
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +31 -5
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +54 -28
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +28 -2
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +32 -6
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +29 -3
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +25 -2
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +36 -10
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +26 -3
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +37 -12
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePicker.js +32 -6
- package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePickerRow.js +31 -5
- package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
- package/dist/src/components/steps/date/StepDatePricePerRoom.js +32 -6
- package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRange.js +29 -3
- package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePicker.js +30 -4
- package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +29 -3
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.js +29 -3
- package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
- package/dist/src/components/steps/date/StepOneStatusPeople.js +28 -2
- package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCard.js +39 -13
- package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardList.js +29 -3
- package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardModal.js +38 -12
- package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelSearchParameters.js +47 -21
- package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js +29 -3
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
- package/dist/src/components/steps/room/AvailableUpgradesModal.js +37 -11
- package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
- package/dist/src/components/steps/room/ImageGallerySlider.js +32 -6
- package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
- package/dist/src/components/steps/room/InactivityWindow.js +37 -11
- package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
- package/dist/src/components/steps/room/LargeRoomCard.js +35 -9
- package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +38 -12
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js +35 -9
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
- package/dist/src/components/steps/room/RatesNotFound.js +29 -3
- package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
- package/dist/src/components/steps/room/RoomList.js +38 -12
- package/dist/src/components/steps/room/RoomList.js.map +1 -1
- package/dist/src/components/steps/room/RoomListAlert.js +31 -5
- package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js +34 -8
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
- package/dist/src/components/steps/room/RoomModal.js +34 -8
- package/dist/src/components/steps/room/RoomModal.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js +31 -5
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js +29 -3
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomErrorForm.js +37 -11
- package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomHotelDetails.js +29 -3
- package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.js +29 -3
- package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSortBy.js +34 -9
- package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +31 -5
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +32 -7
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +32 -7
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +31 -5
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +43 -17
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +41 -15
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +25 -2
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +31 -5
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +35 -9
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +37 -11
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +29 -3
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +35 -9
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +34 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +34 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +30 -4
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +30 -4
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +32 -6
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +38 -12
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +33 -7
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +30 -4
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +38 -12
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +33 -7
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +32 -6
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +32 -6
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
- package/dist/src/components/summary/BEMapWidget.d.ts +3 -5
- package/dist/src/components/summary/BEMapWidget.js +66 -18
- package/dist/src/components/summary/BEMapWidget.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummary.js +35 -9
- package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js +41 -15
- package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
- package/dist/src/components/summary/BESummary.js +37 -11
- package/dist/src/components/summary/BESummary.js.map +1 -1
- package/dist/src/components/summary/BESummaryAddonRow.js +34 -8
- package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
- package/dist/src/components/summary/BESummaryPerkBlock.js +30 -4
- package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js +25 -2
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js +35 -9
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +30 -4
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
- package/dist/src/components/temp/Login.js +29 -3
- package/dist/src/components/temp/Login.js.map +1 -1
- package/dist/src/containers/PrivateRoute.js +24 -1
- package/dist/src/containers/PrivateRoute.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextType.d.ts +1 -1
- package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +42 -16
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +28 -2
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +34 -8
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationFormContext.js +24 -1
- package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +30 -4
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
- package/dist/src/contexts/DatePickerContext.d.ts +1 -1
- package/dist/src/contexts/DatePickerContext.js +24 -1
- package/dist/src/contexts/DatePickerContext.js.map +1 -1
- package/dist/src/contexts/ErrorContext.js +29 -3
- package/dist/src/contexts/ErrorContext.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.d.ts +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +52 -26
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/HotelOverridesContext.js +28 -2
- package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +30 -4
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +30 -4
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
- package/dist/src/contexts/ModalContext.js +24 -1
- package/dist/src/contexts/ModalContext.js.map +1 -1
- package/dist/src/contexts/NotificationContext.js +28 -2
- package/dist/src/contexts/NotificationContext.js.map +1 -1
- package/dist/src/engines/BaseEngine.d.ts +4 -5
- package/dist/src/engines/BaseEngine.js +6 -2
- package/dist/src/engines/BaseEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +17 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js +31 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +6 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +54 -0
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -0
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.d.ts +6 -2
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +24 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +24 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.d.ts +6 -2
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js +4 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +61 -35
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.d.ts +6 -2
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js +4 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +35 -9
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
- package/dist/src/errors/GetAvailabilityError.d.ts +1 -1
- package/dist/src/errors/GetAvailabilityError.js.map +1 -1
- package/dist/src/hooks/AutoFocusOnSelect.d.ts +2 -0
- package/dist/src/hooks/AutoFocusOnSelect.js +1 -0
- package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
- package/dist/src/hooks/ConfirmationQuery.js +2 -2
- package/dist/src/hooks/ConfirmationQuery.js.map +1 -1
- package/dist/src/hooks/ElementSortHook.js +24 -1
- package/dist/src/hooks/ElementSortHook.js.map +1 -1
- package/dist/src/hooks/EventHook.js +4 -1
- package/dist/src/hooks/EventHook.js.map +1 -1
- package/dist/src/hooks/KeyboardControlOnSelect.d.ts +14 -8
- package/dist/src/hooks/KeyboardControlOnSelect.js +45 -37
- package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
- package/dist/src/hooks/Query.d.ts +1 -1
- package/dist/src/hooks/Query.js +29 -6
- package/dist/src/hooks/Query.js.map +1 -1
- package/dist/src/hooks/VGSHooks.js +6 -3
- package/dist/src/hooks/VGSHooks.js.map +1 -1
- package/dist/src/hooks/WindowSize.d.ts +9 -3
- package/dist/src/hooks/WindowSize.js +13 -2
- package/dist/src/hooks/WindowSize.js.map +1 -1
- package/dist/src/icons/Check.js +24 -1
- package/dist/src/icons/Check.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +60 -44
- package/dist/src/index.js.map +1 -1
- package/dist/src/mockApi/AddonAPI.js +5 -2
- package/dist/src/mockApi/AddonAPI.js.map +1 -1
- package/dist/src/mockApi/BookingAPI.js +9 -6
- package/dist/src/mockApi/BookingAPI.js.map +1 -1
- package/dist/src/mockApi/ExchangeRateAPI.js +4 -1
- package/dist/src/mockApi/ExchangeRateAPI.js.map +1 -1
- package/dist/src/mockApi/HotelAPI.js +4 -1
- package/dist/src/mockApi/HotelAPI.js.map +1 -1
- package/dist/src/mockApi/MemberAPI.js +24 -1
- package/dist/src/mockApi/MemberAPI.js.map +1 -1
- package/dist/src/mockApi/MockAPI.d.ts +1 -1
- package/dist/src/mockApi/MockAPI.js +6 -3
- package/dist/src/mockApi/MockAPI.js.map +1 -1
- package/dist/src/mockApi/ReservationAPI.js +24 -1
- package/dist/src/mockApi/ReservationAPI.js.map +1 -1
- package/dist/src/models/Addon/Addon.d.ts +1 -1
- package/dist/src/models/Addon/Addon.js +7 -4
- package/dist/src/models/Addon/Addon.js.map +1 -1
- package/dist/src/models/BasketRow.d.ts +1 -1
- package/dist/src/models/BasketRow.js.map +1 -1
- package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +6 -0
- package/dist/src/models/BookingWizard/BookingWizardProperty.js +3 -0
- package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -0
- package/dist/src/models/BookingWizard/BookingWizardTypes.d.ts +4 -0
- package/dist/src/models/BookingWizard/BookingWizardTypes.js +3 -0
- package/dist/src/models/BookingWizard/BookingWizardTypes.js.map +1 -0
- package/dist/src/models/Promotion/IPromotion.type.d.ts +1 -1
- package/dist/src/models/Promotion/IPromotion.type.js.map +1 -1
- package/dist/src/models/Reservation/Reservation.d.ts +1 -1
- package/dist/src/models/Reservation/Reservation.js.map +1 -1
- package/dist/src/models/Room/Filters/BudgetFilter.js +4 -1
- package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.js +4 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.js +4 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
- package/dist/src/models/Room/RoomRate.js +6 -3
- package/dist/src/models/Room/RoomRate.js.map +1 -1
- package/dist/src/models/Room/RoomRateNight.d.ts +1 -1
- package/dist/src/models/Room/RoomRateNight.js +5 -2
- package/dist/src/models/Room/RoomRateNight.js.map +1 -1
- package/dist/src/models/RoomstaySession.d.ts +1 -1
- package/dist/src/models/RoomstaySession.js.map +1 -1
- package/dist/src/pages/account/AccountHome/AccountHomePage.js +34 -8
- package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
- package/dist/src/pages/account/AccountOutlet.js +24 -1
- package/dist/src/pages/account/AccountOutlet.js.map +1 -1
- package/dist/src/pages/account/AccountRouter.js +24 -1
- package/dist/src/pages/account/AccountRouter.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +33 -7
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +32 -6
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +34 -8
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
- package/dist/src/pages/account/Help/AccountHelpPage.js +36 -10
- package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js +40 -14
- package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js +39 -13
- package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +39 -13
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js +31 -5
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservation.js +39 -13
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservationResults.js +40 -14
- package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRow.js +40 -14
- package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRowModal.js +39 -13
- package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfo.js +36 -10
- package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js +28 -2
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddon.js +6 -3
- package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +35 -9
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +29 -3
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonValidator.js +4 -1
- package/dist/src/pages/steps/StepAddon/StepAddonValidator.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js +6 -3
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +41 -15
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +29 -3
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js +4 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDate.js +6 -3
- package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.js +39 -13
- package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateValidator.js +4 -1
- package/dist/src/pages/steps/StepDate/StepDateValidator.js.map +1 -1
- package/dist/src/pages/steps/StepGuide.js +29 -3
- package/dist/src/pages/steps/StepGuide.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotel.js +6 -3
- package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +39 -13
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +31 -5
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelValidator.js +4 -1
- package/dist/src/pages/steps/StepHotel/StepHotelValidator.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoom.js +6 -3
- package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +42 -16
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +29 -3
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomValidator.js +4 -1
- package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanks.js +7 -4
- package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +39 -13
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksValidator.js +4 -1
- package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
- package/dist/src/providers/CurrencyProvider.js +4 -1
- package/dist/src/providers/CurrencyProvider.js.map +1 -1
- package/dist/src/providers/DIProvider.js +24 -1
- package/dist/src/providers/DIProvider.js.map +1 -1
- package/dist/src/providers/FeatureProvider.d.ts +2 -2
- package/dist/src/providers/FeatureProvider.js +12 -9
- package/dist/src/providers/FeatureProvider.js.map +1 -1
- package/dist/src/providers/FilterProvider.js +4 -1
- package/dist/src/providers/FilterProvider.js.map +1 -1
- package/dist/src/providers/LanguageProvider.js +6 -3
- package/dist/src/providers/LanguageProvider.js.map +1 -1
- package/dist/src/providers/PromotionProvider.js +7 -4
- package/dist/src/providers/PromotionProvider.js.map +1 -1
- package/dist/src/providers/RoomstayThemeEngine.js +35 -9
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
- package/dist/src/providers/SessionProvider.js +9 -6
- package/dist/src/providers/SessionProvider.js.map +1 -1
- package/dist/src/providers/feature/InlineAddonStepFeature.js +5 -2
- package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
- package/dist/src/providers/storage/LocalStorageProvider.js +24 -1
- package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -1
- package/dist/src/reducers/BasketReducer.js +7 -4
- package/dist/src/reducers/BasketReducer.js.map +1 -1
- package/dist/src/routes/NaturallyProgressedStepRoute.js +33 -7
- package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -1
- package/dist/src/stories/Alert.stories.d.ts +5 -0
- package/dist/src/stories/Alert.stories.js +42 -0
- package/dist/src/stories/Alert.stories.js.map +1 -0
- package/dist/src/stories/{Button.stories.d.ts → BEButton.stories.d.ts} +1 -1
- package/dist/src/stories/BEButton.stories.js +43 -0
- package/dist/src/stories/BEButton.stories.js.map +1 -0
- package/dist/src/stories/BackButton.stories.d.ts +5 -0
- package/dist/src/stories/BackButton.stories.js +40 -0
- package/dist/src/stories/BackButton.stories.js.map +1 -0
- package/dist/src/stories/BookNowPayLaterInfoBlock.stories.d.ts +5 -0
- package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js +37 -0
- package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js.map +1 -0
- package/dist/src/stories/BookingWizard.stories.d.ts +9 -0
- package/dist/src/stories/BookingWizard.stories.js +58 -0
- package/dist/src/stories/BookingWizard.stories.js.map +1 -0
- package/dist/src/stories/Card.stories.d.ts +3 -3
- package/dist/src/stories/Card.stories.js +4 -1
- package/dist/src/stories/Card.stories.js.map +1 -1
- package/dist/src/stories/CardTypeSelect.stories.d.ts +5 -0
- package/dist/src/stories/CardTypeSelect.stories.js +37 -0
- package/dist/src/stories/CardTypeSelect.stories.js.map +1 -0
- package/dist/src/stories/Checkbox.stories.js +28 -2
- package/dist/src/stories/Checkbox.stories.js.map +1 -1
- package/dist/src/stories/ConfirmationModal.stories.d.ts +5 -0
- package/dist/src/stories/ConfirmationModal.stories.js +45 -0
- package/dist/src/stories/ConfirmationModal.stories.js.map +1 -0
- package/dist/src/stories/Countdown.stories.d.ts +5 -0
- package/dist/src/stories/Countdown.stories.js +43 -0
- package/dist/src/stories/Countdown.stories.js.map +1 -0
- package/dist/src/stories/Currency.stories.d.ts +5 -0
- package/dist/src/stories/Currency.stories.js +42 -0
- package/dist/src/stories/Currency.stories.js.map +1 -0
- package/dist/src/stories/DateRangePicker.stories.d.ts +8 -0
- package/dist/src/stories/DateRangePicker.stories.js +80 -0
- package/dist/src/stories/DateRangePicker.stories.js.map +1 -0
- package/dist/src/stories/Distance.stories.d.ts +5 -0
- package/dist/src/stories/Distance.stories.js +42 -0
- package/dist/src/stories/Distance.stories.js.map +1 -0
- package/dist/src/stories/EnhancedPhoneNumberField.stories.js +28 -2
- package/dist/src/stories/EnhancedPhoneNumberField.stories.js.map +1 -1
- package/dist/src/stories/ErrorModal.stories.d.ts +5 -0
- package/dist/src/stories/ErrorModal.stories.js +46 -0
- package/dist/src/stories/ErrorModal.stories.js.map +1 -0
- package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +6 -0
- package/dist/src/stories/FloatingDateRangePicker.stories.js +75 -0
- package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -0
- package/dist/src/stories/ForwardedSelect.stories.d.ts +5 -0
- package/dist/src/stories/ForwardedSelect.stories.js +51 -0
- package/dist/src/stories/ForwardedSelect.stories.js.map +1 -0
- package/dist/src/stories/Headline.stories.d.ts +5 -0
- package/dist/src/stories/Headline.stories.js +42 -0
- package/dist/src/stories/Headline.stories.js.map +1 -0
- package/dist/src/stories/Icon.stories.js +25 -2
- package/dist/src/stories/Icon.stories.js.map +1 -1
- package/dist/src/stories/IconNavCard.stories.js +24 -1
- package/dist/src/stories/IconNavCard.stories.js.map +1 -1
- package/dist/src/stories/IconText.stories.js +28 -2
- package/dist/src/stories/IconText.stories.js.map +1 -1
- package/dist/src/stories/ImageLoader.stories.js +28 -2
- package/dist/src/stories/ImageLoader.stories.js.map +1 -1
- package/dist/src/stories/InputGroup.stories.js +28 -2
- package/dist/src/stories/InputGroup.stories.js.map +1 -1
- package/dist/src/stories/LargeLoader.stories.js +28 -2
- package/dist/src/stories/LargeLoader.stories.js.map +1 -1
- package/dist/src/stories/LineBreak.stories.d.ts +5 -0
- package/dist/src/stories/LineBreak.stories.js +40 -0
- package/dist/src/stories/LineBreak.stories.js.map +1 -0
- package/dist/src/stories/Notification.stories.d.ts +5 -0
- package/dist/src/stories/Notification.stories.js +46 -0
- package/dist/src/stories/Notification.stories.js.map +1 -0
- package/dist/src/stories/NumberIncrement.stories.d.ts +5 -0
- package/dist/src/stories/NumberIncrement.stories.js +46 -0
- package/dist/src/stories/NumberIncrement.stories.js.map +1 -0
- package/dist/src/stories/PasswordBox.stories.js +24 -1
- package/dist/src/stories/PasswordBox.stories.js.map +1 -1
- package/dist/src/stories/PaymentCard.stories.d.ts +4 -0
- package/dist/src/stories/PaymentCard.stories.js +47 -0
- package/dist/src/stories/PaymentCard.stories.js.map +1 -0
- package/dist/src/stories/PaymentCardInput.stories.d.ts +6 -0
- package/dist/src/stories/PaymentCardInput.stories.js +51 -0
- package/dist/src/stories/PaymentCardInput.stories.js.map +1 -0
- package/dist/src/stories/Pill.stories.d.ts +5 -0
- package/dist/src/stories/Pill.stories.js +42 -0
- package/dist/src/stories/Pill.stories.js.map +1 -0
- package/dist/src/stories/Placeholder.stories.d.ts +5 -0
- package/dist/src/stories/Placeholder.stories.js +45 -0
- package/dist/src/stories/Placeholder.stories.js.map +1 -0
- package/dist/src/stories/PlanpayButton.stories.d.ts +5 -0
- package/dist/src/stories/PlanpayButton.stories.js +39 -0
- package/dist/src/stories/PlanpayButton.stories.js.map +1 -0
- package/dist/src/stories/PromoCodeInput.stories.d.ts +5 -0
- package/dist/src/stories/PromoCodeInput.stories.js +40 -0
- package/dist/src/stories/PromoCodeInput.stories.js.map +1 -0
- package/dist/src/stories/RadioButton.stories.d.ts +6 -0
- package/dist/src/stories/RadioButton.stories.js +47 -0
- package/dist/src/stories/RadioButton.stories.js.map +1 -0
- package/dist/src/stories/RadioButtonGroup.stories.d.ts +5 -0
- package/dist/src/stories/RadioButtonGroup.stories.js +55 -0
- package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -0
- package/dist/src/stories/RadioFields.stories.d.ts +5 -0
- package/dist/src/stories/RadioFields.stories.js +54 -0
- package/dist/src/stories/RadioFields.stories.js.map +1 -0
- package/dist/src/stories/SSLSecureBadge.stories.js +5 -2
- package/dist/src/stories/SSLSecureBadge.stories.js.map +1 -1
- package/dist/src/stories/Select.stories.d.ts +25 -0
- package/dist/src/stories/Select.stories.js +96 -0
- package/dist/src/stories/Select.stories.js.map +1 -0
- package/dist/src/stories/SimpleModal.stories.d.ts +5 -0
- package/dist/src/stories/SimpleModal.stories.js +52 -0
- package/dist/src/stories/SimpleModal.stories.js.map +1 -0
- package/dist/src/stories/Slider.stories.d.ts +10 -0
- package/dist/src/stories/Slider.stories.js +53 -0
- package/dist/src/stories/Slider.stories.js.map +1 -0
- package/dist/src/stories/SmallSpinner.stories.js +28 -2
- package/dist/src/stories/SmallSpinner.stories.js.map +1 -1
- package/dist/src/stories/TabbedModal.stories.d.ts +5 -0
- package/dist/src/stories/TabbedModal.stories.js +61 -0
- package/dist/src/stories/TabbedModal.stories.js.map +1 -0
- package/dist/src/stories/Tabs.stories.d.ts +5 -0
- package/dist/src/stories/Tabs.stories.js +52 -0
- package/dist/src/stories/Tabs.stories.js.map +1 -0
- package/dist/src/stories/Text.stories.d.ts +5 -0
- package/dist/src/stories/Text.stories.js +42 -0
- package/dist/src/stories/Text.stories.js.map +1 -0
- package/dist/src/stories/TextArea.stories.d.ts +5 -0
- package/dist/src/stories/TextArea.stories.js +40 -0
- package/dist/src/stories/TextArea.stories.js.map +1 -0
- package/dist/src/stories/TextBox.stories.d.ts +5 -0
- package/dist/src/stories/TextBox.stories.js +40 -0
- package/dist/src/stories/TextBox.stories.js.map +1 -0
- package/dist/src/stories/Tooltip.stories.d.ts +5 -0
- package/dist/src/stories/Tooltip.stories.js +43 -0
- package/dist/src/stories/Tooltip.stories.js.map +1 -0
- package/dist/src/util/CalendarHelper.d.ts +1 -1
- package/dist/src/util/CalendarHelper.js +5 -2
- package/dist/src/util/CalendarHelper.js.map +1 -1
- package/dist/src/util/DataLayer.js +30 -4
- package/dist/src/util/DataLayer.js.map +1 -1
- package/dist/src/util/ObjectHelper.js +1 -1
- package/dist/src/util/ObjectHelper.js.map +1 -1
- package/dist/src/util/PaymentCardHelper.js +4 -1
- package/dist/src/util/PaymentCardHelper.js.map +1 -1
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +4 -1
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -1
- package/dist/tests/jest/events/EventManager.test.js +5 -2
- package/dist/tests/jest/events/EventManager.test.js.map +1 -1
- package/dist/tests/jest/models/RoomRate.test.js +5 -2
- package/dist/tests/jest/models/RoomRate.test.js.map +1 -1
- package/dist/tests/jest/providers/LanguageProvider.test.js +11 -0
- package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -1
- package/dist/tests/jest/providers/SessionProvider.test.js +26 -15
- package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -1
- package/dist/tests/jest/reducers/BasketReducer.test.js +4 -1
- package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -1
- package/dist/tests/offline/RoomstayBestRateAlert.js +29 -3
- package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -1
- package/dist/tests/offline/entry/RSCompany.js +13 -1
- package/dist/tests/offline/entry/RSCompany.js.map +1 -1
- package/dist/tests/offline/entry/ReactWrapper.js +105 -9
- package/dist/tests/offline/entry/ReactWrapper.js.map +1 -1
- package/dist/tests/offline/entry/allEngines.js +32 -6
- package/dist/tests/offline/entry/allEngines.js.map +1 -1
- package/dist/tests/offline/entry/components/TestPicker.js +79 -36
- package/dist/tests/offline/entry/components/TestPicker.js.map +1 -1
- package/dist/tests/setupTests.js +2 -0
- package/dist/tests/setupTests.js.map +1 -1
- package/dist/vendors.bundle.js +1 -1
- package/dist/vendors.bundle.js.LICENSE.txt +5 -9
- package/package.json +10 -7
- package/dist/src/components/generic/BESelect.d.ts +0 -16
- package/dist/src/components/generic/BESelect.js +0 -12
- package/dist/src/components/generic/BESelect.js.map +0 -1
- package/dist/src/components/generic/Select.d.ts +0 -11
- package/dist/src/components/generic/Select.js +0 -18
- package/dist/src/components/generic/Select.js.map +0 -1
- package/dist/src/stories/Button.stories.js +0 -17
- package/dist/src/stories/Button.stories.js.map +0 -1
- package/dist/test.bundle.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FullPageBookingEngineElement.js","sourceRoot":"/","sources":["src/engines/FullPageBookingEngine/FullPageBookingEngineElement.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FullPageBookingEngineElement.js","sourceRoot":"/","sources":["src/engines/FullPageBookingEngine/FullPageBookingEngineElement.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA+C;AAE/C,6CAA+B;AAC/B,iCAA2C;AAC3C,yCAAmC;AAEnC,uDAA8C;AAI9C,iDAAmH;AACnH,yHAAsH;AAEtH,iDAA4I;AAM5I,SAAwB,4BAA4B,CAAC,EAAE,MAAM,EAAqC;IAC9F,oDAAoD;IACpD,uEAAkC,CAAC,MAAM,GAAG,GAAG,EAAE;QAC7C,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,wEAAwE;IACxE,0CAA0C;IAC1C,YAAY;IACZ,4CAA4C;IAC5C,oBAAoB;IACpB,qDAAqD;IACrD,QAAQ;IACR,+BAA+B;IAC/B,UAAU;IAEV,oBAAoB;IACpB,eAAe;IACf,eAAe;IAEf,MAAM,CAAC,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAEvC,OAAO,CACH,oBAAC,gBAAQ,IAAC,QAAQ,EAAE,yCAAK;QACrB,oBAAC,6BAAU;YAMP,oBAAC,sCAA2B,IAAC,MAAM,EAAE,MAAM;gBACvC,oBAAC,qCAA0B;oBACvB,oBAAC,8BAAmB;wBAChB,oBAAC,gCAAqB,IAAC,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO;4BAC5D,oBAAC,uCAA4B;gCACzB,oBAAC,+BAAoB;oCACjB,oBAAC,uCAA4B,OAAG,CACb,CACI,CACX,CACN,CACG,CACH,CAErB,CACN,CACd,CAAC;AACN,CAAC;AA/CD,+CA+CC;AAEM,MAAM,mBAAmB,GAAG,CAAC,SAAkB,EAAE,MAA6B,EAAE,EAAE;IACrF,IAAA,kBAAM,EAAC,oBAAC,4BAA4B,IAAC,MAAM,EAAE,MAAM,GAAI,EAAE,SAAS,CAAC,CAAC;AACxE,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B","sourcesContent":["import '../../../assets/scss/main.global.scss';\n\nimport * as React from 'react';\nimport { Suspense, useState } from 'react';\nimport { render } from 'react-dom';\n\nimport { HashRouter } from 'react-router-dom';\n\nimport type { FullPageBookingEngine } from 'engines/FullPageBookingEngine/FullPageBookingEngine';\n\nimport { HotelOverridesContextWrapper, ErrorContextWrapper, NotificationContextWrapper } from '@frontend/contexts';\nimport { FullPageBookingEngineElementEvents } from 'engines/FullPageBookingEngine/FullPageBookingEngineElementEvents';\n\nimport { CompanyContextWrapper, BasketContextWrapper, FullPageEngineContextWrapper, BookingEngineContextWrapper } from '@frontend/contexts';\n\nexport interface FullPageBookingEngineElementProps {\n engine: FullPageBookingEngine;\n}\n\nexport default function FullPageBookingEngineElement({ engine }: FullPageBookingEngineElementProps) {\n // TODO: Refactor this to trigger via useEvents hook\n FullPageBookingEngineElementEvents.reload = () => {\n setIncrementor((one) => one + 1);\n };\n\n // const [createdSession, createdSessionSet] = useState<boolean>(false);\n // const setup = useCallback(async () => {\n // try {\n // await API.Session.startSession();\n // } catch (e) {\n // console.error('failed to create session');\n // }\n // createdSessionSet(true);\n // }, []);\n\n // useEffect(() => {\n // setup();\n // }, [setup]);\n\n const [, setIncrementor] = useState(0);\n\n return (\n <Suspense fallback={<></>}>\n <HashRouter>\n {/* {!createdSession ? (\n <div className=\"engine-body\">\n <LargeLoader />\n </div>\n ) : ( */}\n <BookingEngineContextWrapper engine={engine}>\n <NotificationContextWrapper>\n <ErrorContextWrapper>\n <CompanyContextWrapper configCompany={engine.getConfig().company}>\n <HotelOverridesContextWrapper>\n <BasketContextWrapper>\n <FullPageEngineContextWrapper />\n </BasketContextWrapper>\n </HotelOverridesContextWrapper>\n </CompanyContextWrapper>\n </ErrorContextWrapper>\n </NotificationContextWrapper>\n </BookingEngineContextWrapper>\n {/* )} */}\n </HashRouter>\n </Suspense>\n );\n}\n\nexport const renderBookingEngine = (container: Element, engine: FullPageBookingEngine) => {\n render(<FullPageBookingEngineElement engine={engine} />, container);\n};\n"]}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { BaseEngine, BaseEngineConfig } from 'engines/BaseEngine';
|
|
2
|
-
|
|
2
|
+
import { ConfigCompany } from 'models/Client/Hotel/Company';
|
|
3
|
+
export interface InlineRoomMiniEngineConfig extends BaseEngineConfig {
|
|
4
|
+
company: ConfigCompany;
|
|
5
|
+
}
|
|
6
|
+
export declare class InlineRoomMiniEngine extends BaseEngine<InlineRoomMiniEngineConfig> {
|
|
3
7
|
private roomCode;
|
|
4
|
-
constructor(bookingContainer: HTMLElement, roomCode: string, config?:
|
|
8
|
+
constructor(bookingContainer: HTMLElement, roomCode: string, config?: InlineRoomMiniEngineConfig);
|
|
5
9
|
getRoomCode(): string;
|
|
6
10
|
protected render(): Promise<void>;
|
|
7
11
|
}
|
|
@@ -8,11 +8,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.InlineRoomMiniEngine = void 0;
|
|
13
16
|
const BaseEngine_1 = require("engines/BaseEngine");
|
|
14
17
|
const InlineRoomMiniEngineElement_1 = require("engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement");
|
|
15
|
-
const RoomstayThemeEngine_1 = require("providers/RoomstayThemeEngine");
|
|
18
|
+
const RoomstayThemeEngine_1 = __importDefault(require("providers/RoomstayThemeEngine"));
|
|
16
19
|
class InlineRoomMiniEngine extends BaseEngine_1.BaseEngine {
|
|
17
20
|
constructor(bookingContainer, roomCode, config) {
|
|
18
21
|
super(bookingContainer, config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineRoomMiniEngine.js","sourceRoot":"/","sources":["src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InlineRoomMiniEngine.js","sourceRoot":"/","sources":["src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mDAAuF;AACvF,0GAA6G;AAC7G,wFAAgE;AAOhE,MAAa,oBAAqB,SAAQ,uBAAsC;IAG5E,YAAY,gBAA6B,EAAE,QAAgB,EAAE,MAAmC;QAC5F,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,gCAAmB,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEe,MAAM;;YAClB,IAAA,+DAAiC,EAAC,6BAAmB,CAAC,4BAA4B,CAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3H,CAAC;KAAA;CACJ;AAhBD,oDAgBC","sourcesContent":["import { BaseEngine, BaseEngineConfig, BookingEngineSource } from 'engines/BaseEngine';\nimport { renderInlineRoomMiniEngineElement } from 'engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement';\nimport RoomstayThemeEngine from 'providers/RoomstayThemeEngine';\nimport { ConfigCompany } from 'models/Client/Hotel/Company';\n\nexport interface InlineRoomMiniEngineConfig extends BaseEngineConfig {\n company: ConfigCompany;\n}\n\nexport class InlineRoomMiniEngine extends BaseEngine<InlineRoomMiniEngineConfig> {\n private roomCode: string;\n\n constructor(bookingContainer: HTMLElement, roomCode: string, config?: InlineRoomMiniEngineConfig) {\n super(bookingContainer, config);\n this.source = BookingEngineSource.Inline;\n this.roomCode = roomCode;\n }\n\n public getRoomCode(): string {\n return this.roomCode;\n }\n\n protected async render() {\n renderInlineRoomMiniEngineElement(RoomstayThemeEngine.createElementOrReuseExisting('div', 'inline-mini-engine'), this);\n }\n}\n"]}
|
|
@@ -1,4 +1,27 @@
|
|
|
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
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,40 +31,43 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
31
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
32
|
});
|
|
10
33
|
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
11
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
38
|
exports.renderInlineRoomMiniEngineElement = void 0;
|
|
13
|
-
const React = require("react");
|
|
39
|
+
const React = __importStar(require("react"));
|
|
40
|
+
const react_1 = require("react");
|
|
14
41
|
const react_dom_1 = require("react-dom");
|
|
15
|
-
const BookingAPI_1 = require("api/BookingAPI");
|
|
16
|
-
const
|
|
17
|
-
const BEButton_1 = require("components/generic/BEButton");
|
|
18
|
-
const FloatingDatePicker_1 = require("components/generic/date/FloatingDatePicker");
|
|
19
|
-
const Tooltip_1 = require("components/generic/Tooltip/Tooltip");
|
|
20
|
-
const StringHelper_1 = require("util/StringHelper");
|
|
42
|
+
const BookingAPI_1 = __importDefault(require("api/BookingAPI"));
|
|
43
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
44
|
+
const BEButton_1 = __importDefault(require("components/generic/BEButton"));
|
|
45
|
+
const FloatingDatePicker_1 = __importDefault(require("components/generic/date/FloatingDatePicker"));
|
|
46
|
+
const Tooltip_1 = __importDefault(require("components/generic/Tooltip/Tooltip"));
|
|
47
|
+
const StringHelper_1 = __importDefault(require("util/StringHelper"));
|
|
21
48
|
const Translation_1 = require("translations/Translation");
|
|
22
49
|
const react_i18next_1 = require("react-i18next");
|
|
23
|
-
const Icon_1 = require("components/generic/Icon/Icon");
|
|
24
|
-
const Text_1 = require("components/generic/Text");
|
|
50
|
+
const Icon_1 = __importStar(require("components/generic/Icon/Icon"));
|
|
51
|
+
const Text_1 = __importStar(require("components/generic/Text"));
|
|
25
52
|
const Color_1 = require("util/Color");
|
|
26
|
-
const DataLayer_1 = require("util/DataLayer");
|
|
27
|
-
const RoomRates_1 = require("components/steps/room/roomDetails/roomRates/RoomRates");
|
|
28
|
-
const LargeLoader_1 = require("components/generic/loader/LargeLoader");
|
|
53
|
+
const DataLayer_1 = __importStar(require("util/DataLayer"));
|
|
54
|
+
const RoomRates_1 = __importDefault(require("components/steps/room/roomDetails/roomRates/RoomRates"));
|
|
55
|
+
const LargeLoader_1 = __importDefault(require("components/generic/loader/LargeLoader"));
|
|
29
56
|
const react_router_dom_1 = require("react-router-dom");
|
|
30
57
|
const NotificationContext_1 = require("contexts/NotificationContext");
|
|
31
58
|
const ErrorContext_1 = require("contexts/ErrorContext");
|
|
32
|
-
const AutoAutoHeight_1 = require("animations/AutoAutoHeight");
|
|
33
|
-
const RoomstayThemeEngine_1 = require("providers/RoomstayThemeEngine");
|
|
34
|
-
const RatesNotFound_1 = require("components/steps/room/RatesNotFound");
|
|
35
|
-
const
|
|
36
|
-
const react_use_measure_1 = require("react-use-measure");
|
|
59
|
+
const AutoAutoHeight_1 = __importDefault(require("animations/AutoAutoHeight"));
|
|
60
|
+
const RoomstayThemeEngine_1 = __importDefault(require("providers/RoomstayThemeEngine"));
|
|
61
|
+
const RatesNotFound_1 = __importDefault(require("components/steps/room/RatesNotFound"));
|
|
62
|
+
const react_use_measure_1 = __importDefault(require("react-use-measure"));
|
|
37
63
|
const BookNowPayLaterInfoBlock_1 = require("components/generic/BookNowPayLaterInfoBlock");
|
|
38
|
-
const StepConfirmation_1 = require("pages/steps/StepConfirmation/StepConfirmation");
|
|
39
|
-
const PromoCodeInput_1 = require("components/generic/PromoCodeInput");
|
|
40
|
-
const Select_1 = require("components/generic/Select");
|
|
64
|
+
const StepConfirmation_1 = __importDefault(require("pages/steps/StepConfirmation/StepConfirmation"));
|
|
65
|
+
const PromoCodeInput_1 = __importDefault(require("components/generic/PromoCodeInput"));
|
|
66
|
+
const Select_1 = require("components/generic/Select/Select");
|
|
41
67
|
const hooks_1 = require("@frontend/hooks");
|
|
42
|
-
const BasketRow_1 = require("models/BasketRow");
|
|
68
|
+
const BasketRow_1 = __importDefault(require("models/BasketRow"));
|
|
43
69
|
const contexts_1 = require("@frontend/contexts");
|
|
44
|
-
const FeaturedPromoFeature_1 = require("providers/feature/FeaturedPromoFeature");
|
|
70
|
+
const FeaturedPromoFeature_1 = __importDefault(require("providers/feature/FeaturedPromoFeature"));
|
|
45
71
|
const RoomListSearchEvent_1 = require("events/actions/RoomListSearchEvent");
|
|
46
72
|
const Overlay_1 = require("components/generic/Overlay/Overlay");
|
|
47
73
|
function InlineRoomMiniEngineElement(props) {
|
|
@@ -187,8 +213,8 @@ function InlineRoomMiniEngineElement(props) {
|
|
|
187
213
|
};
|
|
188
214
|
if (!(row === null || row === void 0 ? void 0 : row.getArrivalDate()) && !(row === null || row === void 0 ? void 0 : row.getDepartureDate())) {
|
|
189
215
|
const today = Date.now();
|
|
190
|
-
row === null || row === void 0 ? void 0 : row.setStartDate(
|
|
191
|
-
row === null || row === void 0 ? void 0 : row.setEndDate(
|
|
216
|
+
row === null || row === void 0 ? void 0 : row.setStartDate((0, dayjs_1.default)(today));
|
|
217
|
+
row === null || row === void 0 ? void 0 : row.setEndDate((0, dayjs_1.default)(today).add(1, 'day'));
|
|
192
218
|
}
|
|
193
219
|
const isCompact = bounds.width < 1000 ? '--compact' : '';
|
|
194
220
|
const findRoomsOnClick = () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -200,10 +226,10 @@ function InlineRoomMiniEngineElement(props) {
|
|
|
200
226
|
return 'Book Now';
|
|
201
227
|
};
|
|
202
228
|
const updateNumberOfAdultsOnChange = (value) => {
|
|
203
|
-
updatePeopleValues({ adults: value });
|
|
229
|
+
updatePeopleValues({ adults: +value });
|
|
204
230
|
};
|
|
205
231
|
const updateNumberOfChildrenOnChange = (value) => {
|
|
206
|
-
updatePeopleValues({ children: value });
|
|
232
|
+
updatePeopleValues({ children: +value });
|
|
207
233
|
};
|
|
208
234
|
const updatePromoCode = (code) => {
|
|
209
235
|
DataLayer_1.default.instance.sendInteraction('Promo Code updated', DataLayer_1.InteractionType.FORM_FIELD, DataLayer_1.InteractionStep.ROOMS);
|
|
@@ -246,7 +272,7 @@ function InlineRoomMiniEngineElement(props) {
|
|
|
246
272
|
};
|
|
247
273
|
const maxOccupancy = (_a = hotel === null || hotel === void 0 ? void 0 : hotel.maxOccupancy) !== null && _a !== void 0 ? _a : 1;
|
|
248
274
|
return (0, react_1.useMemo)(() => {
|
|
249
|
-
var _a, _b, _c;
|
|
275
|
+
var _a, _b, _c, _d, _e;
|
|
250
276
|
return (React.createElement(React.Fragment, null,
|
|
251
277
|
React.createElement("div", { className: `room-builder-progress ${isCompact}` },
|
|
252
278
|
React.createElement("div", { className: `u-flex w-100 flex-wrap room-builder-progress--item --current`, ref: ref },
|
|
@@ -261,21 +287,21 @@ function InlineRoomMiniEngineElement(props) {
|
|
|
261
287
|
React.createElement("span", null, (row === null || row === void 0 ? void 0 : row.getDepartureDate()) ? row.getDepartureDate() : 'Departure Date'))))),
|
|
262
288
|
React.createElement(Tooltip_1.default, { title: "Update number of adults", wrapperClasses: 'u-w-100@xl-' },
|
|
263
289
|
React.createElement("div", { className: "room-builder-progress--value --mw-l u-flex justify-content-center" },
|
|
264
|
-
React.createElement(Select_1.
|
|
290
|
+
React.createElement(Select_1.Select, { nativeOnMobile: true, options: [...Array(maxOccupancy - ((row === null || row === void 0 ? void 0 : row.getChildren()) ? row.getChildren() : 0))].map((v, value) => {
|
|
265
291
|
value += 1;
|
|
266
292
|
return {
|
|
267
293
|
text: StringHelper_1.default.pluralWithDictAndCount(value, Translation_1.Translation.Step.Date.Adult, t),
|
|
268
|
-
value,
|
|
294
|
+
value: value.toString(),
|
|
269
295
|
};
|
|
270
|
-
}) }))),
|
|
296
|
+
}), value: (_a = row === null || row === void 0 ? void 0 : row.getAdults()) === null || _a === void 0 ? void 0 : _a.toString(), onChange: updateNumberOfAdultsOnChange, keyName: "value", labelName: "text" }))),
|
|
271
297
|
React.createElement(Tooltip_1.default, { title: "Update number of children", wrapperClasses: 'u-w-100@xl-' },
|
|
272
298
|
React.createElement("div", { className: "room-builder-progress--value --mw-l u-flex justify-content-center" },
|
|
273
|
-
React.createElement(Select_1.
|
|
299
|
+
React.createElement(Select_1.Select, { nativeOnMobile: true, options: [...Array(maxOccupancy + 1 - ((row === null || row === void 0 ? void 0 : row.getAdults()) ? row.getAdults() : 0))].map((v, value) => {
|
|
274
300
|
return {
|
|
275
301
|
text: StringHelper_1.default.pluralWithDictAndCount(value, Translation_1.Translation.Step.Date.Child, t),
|
|
276
|
-
value,
|
|
302
|
+
value: value.toString(),
|
|
277
303
|
};
|
|
278
|
-
}) }))),
|
|
304
|
+
}), value: (_b = row === null || row === void 0 ? void 0 : row.getChildren()) === null || _b === void 0 ? void 0 : _b.toString(), onChange: updateNumberOfChildrenOnChange, keyName: "value", labelName: "text" }))),
|
|
279
305
|
React.createElement(Tooltip_1.default, { title: promoCodeTooltip, wrapperClasses: 'u-w-100@xl-' },
|
|
280
306
|
React.createElement("div", { className: "room-builder-progress--value u-cursor-pointer", ref: thisElement, onClick: openPromoModalOnClick },
|
|
281
307
|
React.createElement("div", { className: "u-flex align-items-center justify-content-center u-w-100@xl-" },
|
|
@@ -284,8 +310,8 @@ function InlineRoomMiniEngineElement(props) {
|
|
|
284
310
|
React.createElement(Overlay_1.Overlay, { open: isPromoModalOpen, container: RoomstayThemeEngine_1.default.EngineContainer, followElement: thisElement.current, onClose: setPromoCodeOnClose },
|
|
285
311
|
React.createElement("div", { className: "u-pad--heavy" },
|
|
286
312
|
React.createElement("div", null,
|
|
287
|
-
React.createElement(PromoCodeInput_1.default, { value: (
|
|
288
|
-
? ((
|
|
313
|
+
React.createElement(PromoCodeInput_1.default, { value: (_c = basketContext.selectedBasketRow) === null || _c === void 0 ? void 0 : _c.getPromoCode(), onChange: changePromoCode, valid: ((_d = basketContext.selectedBasketRow) === null || _d === void 0 ? void 0 : _d.getPromoCodeStatus()) !== 'new'
|
|
314
|
+
? ((_e = basketContext.selectedBasketRow) === null || _e === void 0 ? void 0 : _e.getPromoCodeStatus()) === 'valid'
|
|
289
315
|
: null })),
|
|
290
316
|
React.createElement("div", { className: "u-flex justify-content-end align-items-center u-marg-top" },
|
|
291
317
|
React.createElement(BEButton_1.default, { isText: true, size: "small", onClick: cancelPromoPopupOnClick }, "Cancel"))))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineRoomMiniEngineElement.js","sourceRoot":"/","sources":["src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { render } from 'react-dom';\n\nimport API from 'api/BookingAPI';\nimport * as dayjs from 'dayjs';\n\nimport BEButton from 'components/generic/BEButton';\nimport FloatingDatePicker from 'components/generic/date/FloatingDatePicker';\nimport Tooltip from 'components/generic/Tooltip/Tooltip';\nimport StringHelper from 'util/StringHelper';\nimport { Translation } from 'translations/Translation';\nimport { useTranslation } from 'react-i18next';\nimport Icon, { IconType } from 'components/generic/Icon/Icon';\nimport Text, { TextType } from 'components/generic/Text';\nimport { Color } from 'util/Color';\nimport DataLayer, { InteractionType, InteractionStep } from 'util/DataLayer';\nimport RoomRates from 'components/steps/room/roomDetails/roomRates/RoomRates';\nimport LargeLoader from 'components/generic/loader/LargeLoader';\nimport { HashRouter } from 'react-router-dom';\nimport type { InlineRoomMiniEngine } from 'engines/InlineRoomMiniEngine/InlineRoomMiniEngine';\n\nimport { NotificationContextWrapper } from 'contexts/NotificationContext';\nimport { ErrorContextWrapper } from 'contexts/ErrorContext';\nimport AutoAutoHeight from 'animations/AutoAutoHeight';\nimport RoomstayThemeEngine from 'providers/RoomstayThemeEngine';\nimport RatesNotFound from 'components/steps/room/RatesNotFound';\nimport { useContext, useState, useEffect, useMemo } from 'react';\nimport useMeasure from 'react-use-measure';\nimport { RoomRate } from 'models/Room/RoomRate';\nimport { BookNowPayLaterInfoBlock } from 'components/generic/BookNowPayLaterInfoBlock';\nimport StepConfirmation from 'pages/steps/StepConfirmation/StepConfirmation';\n\nimport PromoCodeInput from 'components/generic/PromoCodeInput';\nimport Select from 'components/generic/Select';\nimport { Room } from 'models/Room/Room';\n\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\n\nimport BasketRow from 'models/BasketRow';\n\nimport { BasketContext, BasketContextWrapper, BookingEngineContextWrapper, CompanyContext, CompanyContextWrapper } from '@frontend/contexts';\nimport FeaturedPromoFeature from 'providers/feature/FeaturedPromoFeature';\nimport { SearchParameters } from 'models/SearchParameters';\nimport { RoomListSearch } from 'models/RoomListSearch';\nimport { RoomListSearchEvent } from 'events/actions/RoomListSearchEvent';\nimport { Overlay } from 'components/generic/Overlay/Overlay';\n\nexport interface InlineRoomMiniEngineElementProps {\n engine: InlineRoomMiniEngine;\n}\n\nexport default function InlineRoomMiniEngineElement(props: InlineRoomMiniEngineElementProps) {\n const { hotel } = useCurrentHotel();\n\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n\n const row = basketContext.currentBasketRows[0];\n const [isLoading, setLoading] = useState(true);\n const [ranFirstLoad, setRanFirstLoad] = useState(false);\n const [rooms, setRooms] = useState<Room[]>([]);\n\n const [isPromoModalOpen, setIsPromoModalOpen] = useState(false);\n\n const [featuredRates, setFeaturedRates] = useState<RoomRate[]>([]);\n const [standardRates, setStandardRates] = useState<RoomRate[]>([]);\n\n const [promoCode, setPromoCode] = useState(row?.getPromoCode());\n const { t } = useTranslation();\n\n const [ref, bounds] = useMeasure();\n const thisElement = React.useRef();\n\n const { raise } = useEvent();\n\n let promoCodeTooltip = '';\n\n if (row?.getPromoCodeStatus() === 'new') {\n promoCodeTooltip = row.getPromoCode() ? 'Promo Code is being checked... please wait.' : 'Set a Promo Code for a possible offer!';\n } else {\n if (row?.getPromoCodeStatus() === 'valid') {\n promoCodeTooltip = 'Successful promo code entered';\n } else {\n promoCodeTooltip = 'Error code not valid';\n }\n }\n\n useEffect(() => {\n let cancelled = false;\n\n if (!row) {\n basketContext.addBasketRow(new BasketRow());\n return;\n }\n\n if (row && row.getStartDate() && row.getEndDate() && !ranFirstLoad) {\n API.Availability.fetchAvailabilityData(row, hotel.hotelID).then((hotelRooms) => {\n if (!cancelled) {\n setRooms(hotelRooms.filter((room) => room.code === props.engine.getRoomCode()));\n setLoading(false);\n setRanFirstLoad(true);\n }\n });\n }\n\n return () => {\n cancelled = true;\n };\n }, [row]);\n\n useEffect(() => {\n if (row) {\n findRoomsOnClick();\n }\n }, [row?.getPromoCode()]);\n\n useEffect(() => {\n if (!(rooms && rooms.length > 0)) return;\n\n const room = rooms[0];\n\n let nonPromoRates: RoomRate[] = [];\n let toSetFeaturedRate: RoomRate[] = [];\n\n if (FeaturedPromoFeature.isActive()) {\n for (const currentRate of room.getRates()) {\n if (currentRate.promoCode?.toLowerCase() === basketContext.selectedBasketRow?.getPromoCode()?.toLowerCase()) {\n toSetFeaturedRate.unshift(currentRate);\n } else {\n nonPromoRates.push(currentRate);\n }\n }\n\n if (toSetFeaturedRate.length > 0) {\n setFeaturedRates(toSetFeaturedRate);\n }\n } else {\n nonPromoRates = room.getRates();\n }\n\n try {\n const search: SearchParameters = {\n checkInTime: row?.getStartDate()?.format('YYYY-M-D'),\n checkOutTime: row?.getEndDate()?.format('YYYY-M-D'),\n numAdults: row?.getAdults(),\n numChildren: row?.getChildren(),\n numRooms: 1,\n promoCode: promoCode,\n };\n\n const eventRooms: RoomListSearch[] =\n rooms?.map((room) => {\n const { name, code } = room;\n\n const foundRoom: RoomListSearch = {\n name,\n code,\n lowestPrice: room.getLowestPrice(),\n highestPrice: room.getHighestPrice(),\n currency: ccx.currentCurrency,\n\n rates:\n room.getRates()?.map((rate) => {\n const { name, code } = rate;\n return {\n name,\n code,\n\n price: {\n averagePrice: rate.getAveragePrice(),\n totalPrice: rate.getTotalPrice(),\n currency: ccx.currentCurrency,\n },\n };\n }) ?? [],\n };\n\n return foundRoom;\n }) ?? [];\n\n const event = new RoomListSearchEvent(search, eventRooms);\n raise(event);\n } catch (ex) {\n console.warn(ex);\n }\n\n setStandardRates(nonPromoRates);\n }, [rooms]);\n\n useEffect(() => {\n if (hotel?.colors) {\n // Do this manually as Guide Step manages this for Fullpage.\n RoomstayThemeEngine.changeTheme(hotel.colors);\n }\n }, [hotel, hotel?.colors]);\n\n const updatePeopleValues = ({ adults, children }: { adults?: number; children?: number; promoCode?: string }) => {\n if (adults && adults !== row.getAdults()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setAdults(adults);\n }\n\n if ((children || children === 0) && children !== row.getChildren()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setChildren(children);\n }\n\n basketContext.updateBasketRow(row);\n };\n\n const updateDateValues = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs) => {\n if (startDate && endDate) {\n row.setStartDate(startDate);\n row.setEndDate(endDate);\n\n basketContext.updateBasketRow(row, false);\n }\n };\n\n if (!row?.getArrivalDate() && !row?.getDepartureDate()) {\n const today = Date.now();\n row?.setStartDate(dayjs(today));\n row?.setEndDate(dayjs(today).add(1, 'day'));\n }\n\n const isCompact = bounds.width < 1000 ? '--compact' : '';\n\n const findRoomsOnClick = async () => {\n setLoading(true);\n setRooms((await API.Availability.fetchAvailabilityData(row, hotel.hotelID)).filter((room) => room.code === props.engine.getRoomCode()));\n setLoading(false);\n };\n const getButtonLabelHandler = () => {\n return 'Book Now';\n };\n\n const updateNumberOfAdultsOnChange = (value: any) => {\n updatePeopleValues({ adults: value });\n };\n const updateNumberOfChildrenOnChange = (value: any) => {\n updatePeopleValues({ children: value });\n };\n\n const updatePromoCode = (code: string) => {\n DataLayer.instance.sendInteraction('Promo Code updated', InteractionType.FORM_FIELD, InteractionStep.ROOMS);\n\n if (row) {\n row.setPromoCode(code);\n basketContext.updateBasketRow(row);\n\n if (code) {\n setIsPromoModalOpen(false);\n }\n }\n };\n\n const onAddToBasketOverrideHandler = (rate: RoomRate) => {\n row.setRate(rate);\n basketContext.updateBasketRow(row);\n DataLayer.instance.sendRoomRateAddToCart(rate, row.getNumberOfDays(), row.getStartDate(), row.getEndDate());\n\n const session = props.engine.getSessionProvider();\n session\n .updateSession({\n step: StepConfirmation.getName(), // TODO:\n })\n .then(() => {\n // TODO: Remove this URL coupling\n window.open(`${hotel?.checkoutUrl ?? '/checkout/'}#${StepConfirmation.getStepUrl()}?session=${session.getCurrentSessionID()}`, '_self');\n });\n };\n const openPromoModalOnClick = () => {\n setIsPromoModalOpen(true);\n };\n const setPromoCodeOnClose = () => {\n setPromoCode(row?.getPromoCode());\n setIsPromoModalOpen(false);\n };\n const cancelPromoPopupOnClick = () => {\n DataLayer.instance.sendInteraction('Cancel Promo Popup', InteractionType.BUTTON, InteractionStep.ROOMS);\n setIsPromoModalOpen(false);\n };\n\n const changePromoCode = (val: any) => {\n updatePromoCode(val);\n };\n\n const maxOccupancy = hotel?.maxOccupancy ?? 1;\n\n return useMemo(\n () => (\n <>\n <div className={`room-builder-progress ${isCompact}`}>\n <div className={`u-flex w-100 flex-wrap room-builder-progress--item --current`} ref={ref}>\n <div className=\"u-flex u-flex-align-center flex-wrap flex-row u-w-100@xl-\">\n <FloatingDatePicker\n startDate={row?.getStartDate()}\n selectedDateChanged={updateDateValues}\n className=\"u-w-100@xl- room-builder-progress--value u-marg-left--none\"\n >\n <Tooltip title=\"Select Arrival and departure dates by clicking here\" wrapperClasses={'u-w-100@xl-'}>\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer\">\n <Text color={row?.getArrivalDate() ? Color.Accent : Color.Graphite} className=\"u-mw-75 u-align-center\" bold={!!row?.getArrivalDate()}>\n <span>{row?.getArrivalDate() ? row.getArrivalDate() : 'Arrival Date'}</span>\n </Text>\n <Icon icon={IconType.ArrowRight2} />\n <Text\n color={row?.getDepartureDate() ? Color.Accent : Color.Graphite}\n className=\"u-marg-right u-mw-75 u-align-center\"\n bold={!!row?.getDepartureDate()}\n >\n <span>{row?.getDepartureDate() ? row.getDepartureDate() : 'Departure Date'}</span>\n </Text>\n </div>\n </Tooltip>\n </FloatingDatePicker>\n <Tooltip title=\"Update number of adults\" wrapperClasses={'u-w-100@xl-'}>\n <div className=\"room-builder-progress--value --mw-l u-flex justify-content-center\">\n <Select\n onChange={updateNumberOfAdultsOnChange}\n items={[...Array(maxOccupancy - (row?.getChildren() ? row.getChildren() : 0))].map((v: any, value: number) => {\n value += 1;\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Adult, t),\n value,\n };\n })}\n />\n </div>\n </Tooltip>\n <Tooltip title=\"Update number of children\" wrapperClasses={'u-w-100@xl-'}>\n <div className=\"room-builder-progress--value --mw-l u-flex justify-content-center\">\n <Select\n onChange={updateNumberOfChildrenOnChange}\n items={[...Array(maxOccupancy + 1 - (row?.getAdults() ? row.getAdults() : 0))].map((v: any, value: number) => {\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Child, t),\n value,\n };\n })}\n />\n </div>\n </Tooltip>\n <Tooltip title={promoCodeTooltip} wrapperClasses={'u-w-100@xl-'}>\n <div className=\"room-builder-progress--value u-cursor-pointer\" ref={thisElement} onClick={openPromoModalOnClick}>\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl-\">\n <Text className=\"u-pad-right--light\" type={TextType.Body} color={row?.getPromoCode() ? row?.getPromoCodeColour() : Color.Navy}>\n {row?.getPromoCode() ? row?.getPromoCode() : 'Promo Code'}\n </Text>\n <Icon icon={IconType.Dropdown} color={Color.DarkGrey} />\n </div>\n </div>\n </Tooltip>\n <Overlay open={isPromoModalOpen} container={RoomstayThemeEngine.EngineContainer} followElement={thisElement.current} onClose={setPromoCodeOnClose}>\n <div className=\"u-pad--heavy\">\n <div>\n <PromoCodeInput\n value={basketContext.selectedBasketRow?.getPromoCode()}\n onChange={changePromoCode}\n valid={\n basketContext.selectedBasketRow?.getPromoCodeStatus() !== 'new'\n ? basketContext.selectedBasketRow?.getPromoCodeStatus() === 'valid'\n : null\n }\n />\n </div>\n\n <div className=\"u-flex justify-content-end align-items-center u-marg-top\">\n <BEButton isText={true} size=\"small\" onClick={cancelPromoPopupOnClick}>\n Cancel\n </BEButton>\n </div>\n </div>\n </Overlay>\n </div>\n <div className={`u-flex flex-xl-nowrap flex-row ${isCompact ? 'w-100' : ''}`}>\n <BEButton filled={true} primary={true} isLoading={isLoading} wide={isCompact !== ''} onClick={findRoomsOnClick}>\n Check Rates\n </BEButton>\n </div>\n </div>\n <div className=\"u-border-rounded\">\n {!isLoading ? (\n <AutoAutoHeight open={!isLoading}>\n <>\n <BookNowPayLaterInfoBlock />\n {rooms.length > 0 ? (\n <RoomRates\n featuredRates={featuredRates}\n rates={standardRates}\n roomCode={rooms[0].code}\n getButtonLabel={getButtonLabelHandler}\n onAddToBasketOverride={onAddToBasketOverrideHandler}\n />\n ) : (\n <RatesNotFound />\n )}\n </>\n </AutoAutoHeight>\n ) : (\n <LargeLoader />\n )}\n </div>\n </div>\n </>\n ),\n [isCompact, isLoading, rooms, basketContext.currentBasketRows, isPromoModalOpen, hotel]\n );\n}\n\nexport const renderInlineRoomMiniEngineElement = (container: Element, engine: InlineRoomMiniEngine) => {\n render(\n <BookingEngineContextWrapper engine={engine}>\n <HashRouter>\n <NotificationContextWrapper>\n <ErrorContextWrapper>\n <CompanyContextWrapper configCompany={engine.getConfig().company}>\n <BasketContextWrapper>\n <InlineRoomMiniEngineElement engine={engine} />\n </BasketContextWrapper>\n </CompanyContextWrapper>\n </ErrorContextWrapper>\n </NotificationContextWrapper>\n </HashRouter>\n </BookingEngineContextWrapper>,\n container\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"InlineRoomMiniEngineElement.js","sourceRoot":"/","sources":["src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useContext, useEffect, useMemo, useState } from 'react';\nimport { render } from 'react-dom';\n\nimport API from 'api/BookingAPI';\nimport dayjs from 'dayjs';\n\nimport BEButton from 'components/generic/BEButton';\nimport FloatingDatePicker from 'components/generic/date/FloatingDatePicker';\nimport Tooltip from 'components/generic/Tooltip/Tooltip';\nimport StringHelper from 'util/StringHelper';\nimport { Translation } from 'translations/Translation';\nimport { useTranslation } from 'react-i18next';\nimport Icon, { IconType } from 'components/generic/Icon/Icon';\nimport Text, { TextType } from 'components/generic/Text';\nimport { Color } from 'util/Color';\nimport DataLayer, { InteractionStep, InteractionType } from 'util/DataLayer';\nimport RoomRates from 'components/steps/room/roomDetails/roomRates/RoomRates';\nimport LargeLoader from 'components/generic/loader/LargeLoader';\nimport { HashRouter } from 'react-router-dom';\nimport type { InlineRoomMiniEngine } from 'engines/InlineRoomMiniEngine/InlineRoomMiniEngine';\n\nimport { NotificationContextWrapper } from 'contexts/NotificationContext';\nimport { ErrorContextWrapper } from 'contexts/ErrorContext';\nimport AutoAutoHeight from 'animations/AutoAutoHeight';\nimport RoomstayThemeEngine from 'providers/RoomstayThemeEngine';\nimport RatesNotFound from 'components/steps/room/RatesNotFound';\nimport useMeasure from 'react-use-measure';\nimport { RoomRate } from 'models/Room/RoomRate';\nimport { BookNowPayLaterInfoBlock } from 'components/generic/BookNowPayLaterInfoBlock';\nimport StepConfirmation from 'pages/steps/StepConfirmation/StepConfirmation';\n\nimport PromoCodeInput from 'components/generic/PromoCodeInput';\nimport { IDefaultSelectOption, Select } from 'components/generic/Select/Select';\nimport { Room } from 'models/Room/Room';\n\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\n\nimport BasketRow from 'models/BasketRow';\n\nimport { BasketContext, BasketContextWrapper, BookingEngineContextWrapper, CompanyContext, CompanyContextWrapper } from '@frontend/contexts';\nimport FeaturedPromoFeature from 'providers/feature/FeaturedPromoFeature';\nimport { SearchParameters } from 'models/SearchParameters';\nimport { RoomListSearch } from 'models/RoomListSearch';\nimport { RoomListSearchEvent } from 'events/actions/RoomListSearchEvent';\nimport { Overlay } from 'components/generic/Overlay/Overlay';\n\nexport interface InlineRoomMiniEngineElementProps {\n engine: InlineRoomMiniEngine;\n}\n\nexport default function InlineRoomMiniEngineElement(props: InlineRoomMiniEngineElementProps) {\n const { hotel } = useCurrentHotel();\n\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n\n const row = basketContext.currentBasketRows[0];\n const [isLoading, setLoading] = useState(true);\n const [ranFirstLoad, setRanFirstLoad] = useState(false);\n const [rooms, setRooms] = useState<Room[]>([]);\n\n const [isPromoModalOpen, setIsPromoModalOpen] = useState(false);\n\n const [featuredRates, setFeaturedRates] = useState<RoomRate[]>([]);\n const [standardRates, setStandardRates] = useState<RoomRate[]>([]);\n\n const [promoCode, setPromoCode] = useState(row?.getPromoCode());\n const { t } = useTranslation();\n\n const [ref, bounds] = useMeasure();\n const thisElement = React.useRef();\n\n const { raise } = useEvent();\n\n let promoCodeTooltip = '';\n\n if (row?.getPromoCodeStatus() === 'new') {\n promoCodeTooltip = row.getPromoCode() ? 'Promo Code is being checked... please wait.' : 'Set a Promo Code for a possible offer!';\n } else {\n if (row?.getPromoCodeStatus() === 'valid') {\n promoCodeTooltip = 'Successful promo code entered';\n } else {\n promoCodeTooltip = 'Error code not valid';\n }\n }\n\n useEffect(() => {\n let cancelled = false;\n\n if (!row) {\n basketContext.addBasketRow(new BasketRow());\n return;\n }\n\n if (row && row.getStartDate() && row.getEndDate() && !ranFirstLoad) {\n API.Availability.fetchAvailabilityData(row, hotel.hotelID).then((hotelRooms) => {\n if (!cancelled) {\n setRooms(hotelRooms.filter((room) => room.code === props.engine.getRoomCode()));\n setLoading(false);\n setRanFirstLoad(true);\n }\n });\n }\n\n return () => {\n cancelled = true;\n };\n }, [row]);\n\n useEffect(() => {\n if (row) {\n findRoomsOnClick();\n }\n }, [row?.getPromoCode()]);\n\n useEffect(() => {\n if (!(rooms && rooms.length > 0)) return;\n\n const room = rooms[0];\n\n let nonPromoRates: RoomRate[] = [];\n let toSetFeaturedRate: RoomRate[] = [];\n\n if (FeaturedPromoFeature.isActive()) {\n for (const currentRate of room.getRates()) {\n if (currentRate.promoCode?.toLowerCase() === basketContext.selectedBasketRow?.getPromoCode()?.toLowerCase()) {\n toSetFeaturedRate.unshift(currentRate);\n } else {\n nonPromoRates.push(currentRate);\n }\n }\n\n if (toSetFeaturedRate.length > 0) {\n setFeaturedRates(toSetFeaturedRate);\n }\n } else {\n nonPromoRates = room.getRates();\n }\n\n try {\n const search: SearchParameters = {\n checkInTime: row?.getStartDate()?.format('YYYY-M-D'),\n checkOutTime: row?.getEndDate()?.format('YYYY-M-D'),\n numAdults: row?.getAdults(),\n numChildren: row?.getChildren(),\n numRooms: 1,\n promoCode: promoCode,\n };\n\n const eventRooms: RoomListSearch[] =\n rooms?.map((room) => {\n const { name, code } = room;\n\n const foundRoom: RoomListSearch = {\n name,\n code,\n lowestPrice: room.getLowestPrice(),\n highestPrice: room.getHighestPrice(),\n currency: ccx.currentCurrency,\n\n rates:\n room.getRates()?.map((rate) => {\n const { name, code } = rate;\n return {\n name,\n code,\n\n price: {\n averagePrice: rate.getAveragePrice(),\n totalPrice: rate.getTotalPrice(),\n currency: ccx.currentCurrency,\n },\n };\n }) ?? [],\n };\n\n return foundRoom;\n }) ?? [];\n\n const event = new RoomListSearchEvent(search, eventRooms);\n raise(event);\n } catch (ex) {\n console.warn(ex);\n }\n\n setStandardRates(nonPromoRates);\n }, [rooms]);\n\n useEffect(() => {\n if (hotel?.colors) {\n // Do this manually as Guide Step manages this for Fullpage.\n RoomstayThemeEngine.changeTheme(hotel.colors);\n }\n }, [hotel, hotel?.colors]);\n\n const updatePeopleValues = ({ adults, children }: { adults?: number; children?: number; promoCode?: string }) => {\n if (adults && adults !== row.getAdults()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setAdults(adults);\n }\n\n if ((children || children === 0) && children !== row.getChildren()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setChildren(children);\n }\n\n basketContext.updateBasketRow(row);\n };\n\n const updateDateValues = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs) => {\n if (startDate && endDate) {\n row.setStartDate(startDate);\n row.setEndDate(endDate);\n\n basketContext.updateBasketRow(row, false);\n }\n };\n\n if (!row?.getArrivalDate() && !row?.getDepartureDate()) {\n const today = Date.now();\n row?.setStartDate(dayjs(today));\n row?.setEndDate(dayjs(today).add(1, 'day'));\n }\n\n const isCompact = bounds.width < 1000 ? '--compact' : '';\n\n const findRoomsOnClick = async () => {\n setLoading(true);\n setRooms((await API.Availability.fetchAvailabilityData(row, hotel.hotelID)).filter((room) => room.code === props.engine.getRoomCode()));\n setLoading(false);\n };\n const getButtonLabelHandler = () => {\n return 'Book Now';\n };\n\n const updateNumberOfAdultsOnChange = (value: string) => {\n updatePeopleValues({ adults: +value });\n };\n const updateNumberOfChildrenOnChange = (value: string) => {\n updatePeopleValues({ children: +value });\n };\n\n const updatePromoCode = (code: string) => {\n DataLayer.instance.sendInteraction('Promo Code updated', InteractionType.FORM_FIELD, InteractionStep.ROOMS);\n\n if (row) {\n row.setPromoCode(code);\n basketContext.updateBasketRow(row);\n\n if (code) {\n setIsPromoModalOpen(false);\n }\n }\n };\n\n const onAddToBasketOverrideHandler = (rate: RoomRate) => {\n row.setRate(rate);\n basketContext.updateBasketRow(row);\n DataLayer.instance.sendRoomRateAddToCart(rate, row.getNumberOfDays(), row.getStartDate(), row.getEndDate());\n\n const session = props.engine.getSessionProvider();\n session\n .updateSession({\n step: StepConfirmation.getName(), // TODO:\n })\n .then(() => {\n // TODO: Remove this URL coupling\n window.open(`${hotel?.checkoutUrl ?? '/checkout/'}#${StepConfirmation.getStepUrl()}?session=${session.getCurrentSessionID()}`, '_self');\n });\n };\n const openPromoModalOnClick = () => {\n setIsPromoModalOpen(true);\n };\n const setPromoCodeOnClose = () => {\n setPromoCode(row?.getPromoCode());\n setIsPromoModalOpen(false);\n };\n const cancelPromoPopupOnClick = () => {\n DataLayer.instance.sendInteraction('Cancel Promo Popup', InteractionType.BUTTON, InteractionStep.ROOMS);\n setIsPromoModalOpen(false);\n };\n\n const changePromoCode = (val: any) => {\n updatePromoCode(val);\n };\n\n const maxOccupancy = hotel?.maxOccupancy ?? 1;\n\n return useMemo(\n () => (\n <>\n <div className={`room-builder-progress ${isCompact}`}>\n <div className={`u-flex w-100 flex-wrap room-builder-progress--item --current`} ref={ref}>\n <div className=\"u-flex u-flex-align-center flex-wrap flex-row u-w-100@xl-\">\n <FloatingDatePicker\n startDate={row?.getStartDate()}\n selectedDateChanged={updateDateValues}\n className=\"u-w-100@xl- room-builder-progress--value u-marg-left--none\"\n >\n <Tooltip title=\"Select Arrival and departure dates by clicking here\" wrapperClasses={'u-w-100@xl-'}>\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer\">\n <Text color={row?.getArrivalDate() ? Color.Accent : Color.Graphite} className=\"u-mw-75 u-align-center\" bold={!!row?.getArrivalDate()}>\n <span>{row?.getArrivalDate() ? row.getArrivalDate() : 'Arrival Date'}</span>\n </Text>\n <Icon icon={IconType.ArrowRight2} />\n <Text\n color={row?.getDepartureDate() ? Color.Accent : Color.Graphite}\n className=\"u-marg-right u-mw-75 u-align-center\"\n bold={!!row?.getDepartureDate()}\n >\n <span>{row?.getDepartureDate() ? row.getDepartureDate() : 'Departure Date'}</span>\n </Text>\n </div>\n </Tooltip>\n </FloatingDatePicker>\n <Tooltip title=\"Update number of adults\" wrapperClasses={'u-w-100@xl-'}>\n <div className=\"room-builder-progress--value --mw-l u-flex justify-content-center\">\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxOccupancy - (row?.getChildren() ? row.getChildren() : 0))].map((v: any, value: number) => {\n value += 1;\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Adult, t),\n value: value.toString(),\n };\n })}\n value={row?.getAdults()?.toString()}\n onChange={updateNumberOfAdultsOnChange}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </Tooltip>\n <Tooltip title=\"Update number of children\" wrapperClasses={'u-w-100@xl-'}>\n <div className=\"room-builder-progress--value --mw-l u-flex justify-content-center\">\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxOccupancy + 1 - (row?.getAdults() ? row.getAdults() : 0))].map((v: any, value: number) => {\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Child, t),\n value: value.toString(),\n };\n })}\n value={row?.getChildren()?.toString()}\n onChange={updateNumberOfChildrenOnChange}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </Tooltip>\n <Tooltip title={promoCodeTooltip} wrapperClasses={'u-w-100@xl-'}>\n <div className=\"room-builder-progress--value u-cursor-pointer\" ref={thisElement} onClick={openPromoModalOnClick}>\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl-\">\n <Text className=\"u-pad-right--light\" type={TextType.Body} color={row?.getPromoCode() ? row?.getPromoCodeColour() : Color.Navy}>\n {row?.getPromoCode() ? row?.getPromoCode() : 'Promo Code'}\n </Text>\n <Icon icon={IconType.Dropdown} color={Color.DarkGrey} />\n </div>\n </div>\n </Tooltip>\n <Overlay open={isPromoModalOpen} container={RoomstayThemeEngine.EngineContainer} followElement={thisElement.current} onClose={setPromoCodeOnClose}>\n <div className=\"u-pad--heavy\">\n <div>\n <PromoCodeInput\n value={basketContext.selectedBasketRow?.getPromoCode()}\n onChange={changePromoCode}\n valid={\n basketContext.selectedBasketRow?.getPromoCodeStatus() !== 'new'\n ? basketContext.selectedBasketRow?.getPromoCodeStatus() === 'valid'\n : null\n }\n />\n </div>\n\n <div className=\"u-flex justify-content-end align-items-center u-marg-top\">\n <BEButton isText={true} size=\"small\" onClick={cancelPromoPopupOnClick}>\n Cancel\n </BEButton>\n </div>\n </div>\n </Overlay>\n </div>\n <div className={`u-flex flex-xl-nowrap flex-row ${isCompact ? 'w-100' : ''}`}>\n <BEButton filled={true} primary={true} isLoading={isLoading} wide={isCompact !== ''} onClick={findRoomsOnClick}>\n Check Rates\n </BEButton>\n </div>\n </div>\n <div className=\"u-border-rounded\">\n {!isLoading ? (\n <AutoAutoHeight open={!isLoading}>\n <>\n <BookNowPayLaterInfoBlock />\n {rooms.length > 0 ? (\n <RoomRates\n featuredRates={featuredRates}\n rates={standardRates}\n roomCode={rooms[0].code}\n getButtonLabel={getButtonLabelHandler}\n onAddToBasketOverride={onAddToBasketOverrideHandler}\n />\n ) : (\n <RatesNotFound />\n )}\n </>\n </AutoAutoHeight>\n ) : (\n <LargeLoader />\n )}\n </div>\n </div>\n </>\n ),\n [isCompact, isLoading, rooms, basketContext.currentBasketRows, isPromoModalOpen, hotel]\n );\n}\n\nexport const renderInlineRoomMiniEngineElement = (container: Element, engine: InlineRoomMiniEngine) => {\n render(\n <BookingEngineContextWrapper engine={engine}>\n <HashRouter>\n <NotificationContextWrapper>\n <ErrorContextWrapper>\n <CompanyContextWrapper configCompany={engine.getConfig().company}>\n <BasketContextWrapper>\n <InlineRoomMiniEngineElement engine={engine} />\n </BasketContextWrapper>\n </CompanyContextWrapper>\n </ErrorContextWrapper>\n </NotificationContextWrapper>\n </HashRouter>\n </BookingEngineContextWrapper>,\n container\n );\n};\n"]}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { BaseEngine, BaseEngineConfig } from 'engines/BaseEngine';
|
|
2
|
-
|
|
2
|
+
import { ConfigCompany } from 'models/Client/Hotel/Company';
|
|
3
|
+
export interface RecentSearchesEngineConfig extends BaseEngineConfig {
|
|
4
|
+
company: ConfigCompany;
|
|
5
|
+
}
|
|
6
|
+
export declare class RecentSearchesEngine extends BaseEngine<RecentSearchesEngineConfig> {
|
|
3
7
|
private roomCode;
|
|
4
|
-
constructor(bookingContainer: HTMLElement, config?:
|
|
8
|
+
constructor(bookingContainer: HTMLElement, config?: RecentSearchesEngineConfig);
|
|
5
9
|
getRoomCode(): string;
|
|
6
10
|
protected render(): Promise<void>;
|
|
7
11
|
}
|
|
@@ -8,9 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.RecentSearchesEngine = void 0;
|
|
13
|
-
const RoomstayThemeEngine_1 = require("providers/RoomstayThemeEngine");
|
|
16
|
+
const RoomstayThemeEngine_1 = __importDefault(require("providers/RoomstayThemeEngine"));
|
|
14
17
|
const RecentSearchesEngineElement_1 = require("engines/RecentSearchesEngine/RecentSearchesEngineElement");
|
|
15
18
|
const BaseEngine_1 = require("engines/BaseEngine");
|
|
16
19
|
class RecentSearchesEngine extends BaseEngine_1.BaseEngine {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecentSearchesEngine.js","sourceRoot":"/","sources":["src/engines/RecentSearchesEngine/RecentSearchesEngine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RecentSearchesEngine.js","sourceRoot":"/","sources":["src/engines/RecentSearchesEngine/RecentSearchesEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wFAAgE;AAChE,0GAA6G;AAC7G,mDAAuF;AAOvF,MAAa,oBAAqB,SAAQ,uBAAsC;IAG5E,YAAY,gBAA6B,EAAE,MAAmC;QAC1E,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAEhC,IAAI,CAAC,MAAM,GAAG,gCAAmB,CAAC,cAAc,CAAC;IACrD,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEe,MAAM;;YAClB,IAAA,+DAAiC,EAAC,6BAAmB,CAAC,4BAA4B,CAAC,KAAK,EAAE,wBAAwB,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/H,CAAC;KAAA;CACJ;AAhBD,oDAgBC","sourcesContent":["import RoomstayThemeEngine from 'providers/RoomstayThemeEngine';\nimport { renderRecentSearchesEngineElement } from 'engines/RecentSearchesEngine/RecentSearchesEngineElement';\nimport { BaseEngine, BaseEngineConfig, BookingEngineSource } from 'engines/BaseEngine';\nimport { ConfigCompany } from 'models/Client/Hotel/Company';\n\nexport interface RecentSearchesEngineConfig extends BaseEngineConfig {\n company: ConfigCompany;\n}\n\nexport class RecentSearchesEngine extends BaseEngine<RecentSearchesEngineConfig> {\n private roomCode: string;\n\n constructor(bookingContainer: HTMLElement, config?: RecentSearchesEngineConfig) {\n super(bookingContainer, config);\n\n this.source = BookingEngineSource.RecentSearches;\n }\n\n public getRoomCode(): string {\n return this.roomCode;\n }\n\n protected async render() {\n renderRecentSearchesEngineElement(RoomstayThemeEngine.createElementOrReuseExisting('div', 'recent-searches-engine'), this);\n }\n}\n"]}
|
|
@@ -1,4 +1,27 @@
|
|
|
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
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,20 +31,23 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
31
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
32
|
});
|
|
10
33
|
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
11
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
38
|
exports.renderRecentSearchesEngineElement = exports.RecentSearchesEngineElement = void 0;
|
|
13
|
-
const React = require("react");
|
|
39
|
+
const React = __importStar(require("react"));
|
|
14
40
|
const react_1 = require("react");
|
|
15
41
|
const react_dom_1 = require("react-dom");
|
|
16
|
-
const RecentSearchesCard_1 = require("components/generic/RecentSearchesCard");
|
|
17
|
-
const BEButton_1 = require("components/generic/BEButton");
|
|
42
|
+
const RecentSearchesCard_1 = __importDefault(require("components/generic/RecentSearchesCard"));
|
|
43
|
+
const BEButton_1 = __importDefault(require("components/generic/BEButton"));
|
|
18
44
|
const Color_1 = require("util/Color");
|
|
19
45
|
const Icon_1 = require("components/generic/Icon/Icon");
|
|
20
|
-
const Text_1 = require("components/generic/Text");
|
|
21
|
-
const ScreenSize_1 = require("util/ScreenSize");
|
|
22
|
-
const SessionProvider_1 = require("providers/SessionProvider");
|
|
23
|
-
const StepRoom_1 = require("pages/steps/StepRoom/StepRoom");
|
|
24
|
-
const
|
|
46
|
+
const Text_1 = __importStar(require("components/generic/Text"));
|
|
47
|
+
const ScreenSize_1 = __importDefault(require("util/ScreenSize"));
|
|
48
|
+
const SessionProvider_1 = __importDefault(require("providers/SessionProvider"));
|
|
49
|
+
const StepRoom_1 = __importDefault(require("pages/steps/StepRoom/StepRoom"));
|
|
50
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
25
51
|
const hooks_1 = require("@frontend/hooks");
|
|
26
52
|
const contexts_1 = require("@frontend/contexts");
|
|
27
53
|
const RecentSearchesEngineElement = ({ engine }) => {
|
|
@@ -42,7 +68,7 @@ const RecentSearchesEngineElement = ({ engine }) => {
|
|
|
42
68
|
if (!hotel || ((hotel === null || hotel === void 0 ? void 0 : hotel.hotelID) === session.hotelID && ((_a = session.basketRows) === null || _a === void 0 ? void 0 : _a.length) > 0)) {
|
|
43
69
|
let hasValidRow = false;
|
|
44
70
|
session.basketRows.forEach((basket) => {
|
|
45
|
-
if (basket.isValid() && basket.getStartDate().isAfter(
|
|
71
|
+
if (basket.isValid() && basket.getStartDate().isAfter((0, dayjs_1.default)())) {
|
|
46
72
|
hasValidRow = true;
|
|
47
73
|
}
|
|
48
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecentSearchesEngineElement.js","sourceRoot":"/","sources":["src/engines/RecentSearchesEngine/RecentSearchesEngineElement.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useState, useEffect, useContext } from 'react';\nimport { render } from 'react-dom';\n\nimport type { RecentSearchesEngine } from 'engines/RecentSearchesEngine/RecentSearchesEngine';\nimport RecentSearchesCard from 'components/generic/RecentSearchesCard';\nimport BEButton from 'components/generic/BEButton';\nimport { Color } from 'util/Color';\nimport { IconType } from 'components/generic/Icon/Icon';\nimport Text, { TextType } from 'components/generic/Text';\nimport BasketRow from 'models/BasketRow';\nimport ScreenSize from 'util/ScreenSize';\nimport SessionProvider from 'providers/SessionProvider';\nimport { RoomstaySession } from 'models/RoomstaySession';\nimport StepRoom from 'pages/steps/StepRoom/StepRoom';\nimport * as dayjs from 'dayjs';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { BookingEngineContext, BookingEngineContextWrapper } from '@frontend/contexts';\n\nexport interface RecentSearchesEngineElementProps {\n engine: RecentSearchesEngine;\n}\n\nexport const RecentSearchesEngineElement = ({ engine }: RecentSearchesEngineElementProps) => {\n const { hotel } = useCurrentHotel();\n\n const [currentSessions, setCurrentSessions] = useState<RoomstaySession[]>([]);\n\n const beContext = useContext(BookingEngineContext);\n\n useEffect(() => {\n resetSessions();\n }, []);\n\n const resetSessions = () => {\n engine\n .getSessionProvider()\n .getAllSessions()\n .then((sessions) => {\n const sessionsToUse: RoomstaySession[] = [];\n\n sessions.forEach((session) => {\n if (!hotel || (hotel?.hotelID === session.hotelID && session.basketRows?.length > 0)) {\n let hasValidRow = false;\n session.basketRows.forEach((basket) => {\n if (basket.isValid() && basket.getStartDate().isAfter(dayjs())) {\n hasValidRow = true;\n }\n });\n\n if (hasValidRow) {\n sessionsToUse.push(session);\n }\n }\n });\n\n sessionsToUse.reverse();\n\n setCurrentSessions(sessionsToUse);\n });\n };\n\n const smallBlurb = (\n <Text color={Color.White} type={TextType.Small}>\n Lorem, ipsum dolor sit amet consectetur adipisicing elit.\n </Text>\n );\n\n const onRemoveCard = async (session: RoomstaySession) => {\n const provider = new SessionProvider();\n await provider.initialize(session.id);\n\n provider.deleteSession();\n\n resetSessions();\n };\n\n const redirectToCheckout = () => {\n window.open(hotel?.checkoutUrl);\n };\n\n return currentSessions.length ? (\n <div style={{ backgroundColor: Color.Navy }}>\n <div className=\"container\">\n <div className=\"u-pad-top-bottom--heavy\">\n <div className=\"u-marg-bottom\">\n <Text color={Color.White} bold={true}>\n Recent searches\n </Text>\n {beContext.screenSize <= ScreenSize.Medium && smallBlurb}\n </div>\n <div className=\"row u-marg-bottom\">\n {!!currentSessions?.length &&\n currentSessions.slice(0, 2).map((session: RoomstaySession) => {\n let validRow: BasketRow;\n\n for (const row of session.basketRows) {\n if (row.isValid()) {\n validRow = row;\n break;\n }\n }\n\n const removeCard = () => {\n onRemoveCard(session);\n };\n\n const onViewRates = async () => {\n const manager = new SessionProvider();\n await manager.initialize(session.id);\n\n manager\n .updateSession({\n step: StepRoom.getName(),\n })\n .then(() => {\n window.open(`${hotel?.checkoutUrl ?? '/checkout/'}#${StepRoom.getStepUrl()}?session=${session.id}`, '_self');\n });\n };\n\n return (\n <div key={validRow.getID()} className=\"col-lg-6\">\n <RecentSearchesCard basketRow={validRow} onRemove={removeCard} onViewRatesClicked={onViewRates} />\n </div>\n );\n })}\n </div>\n <div className=\"u-flex u-flex-align-center flex-column flex-md-row justify-align-content-md-center\">\n {beContext.screenSize > ScreenSize.Medium && smallBlurb}\n <BEButton icon={IconType.ArrowRight} iconPosition=\"right\" primary={true} filled={true} onClick={redirectToCheckout}>\n See all {hotel?.name} rooms\n </BEButton>\n </div>\n </div>\n </div>\n </div>\n ) : (\n <></>\n );\n};\n\nexport const renderRecentSearchesEngineElement = (container: Element, engine: RecentSearchesEngine) => {\n render(\n <BookingEngineContextWrapper engine={engine}>\n <RecentSearchesEngineElement engine={engine} />\n </BookingEngineContextWrapper>,\n container\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"RecentSearchesEngineElement.js","sourceRoot":"/","sources":["src/engines/RecentSearchesEngine/RecentSearchesEngineElement.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useState, useEffect, useContext } from 'react';\nimport { render } from 'react-dom';\n\nimport type { RecentSearchesEngine } from 'engines/RecentSearchesEngine/RecentSearchesEngine';\nimport RecentSearchesCard from 'components/generic/RecentSearchesCard';\nimport BEButton from 'components/generic/BEButton';\nimport { Color } from 'util/Color';\nimport { IconType } from 'components/generic/Icon/Icon';\nimport Text, { TextType } from 'components/generic/Text';\nimport BasketRow from 'models/BasketRow';\nimport ScreenSize from 'util/ScreenSize';\nimport SessionProvider from 'providers/SessionProvider';\nimport { RoomstaySession } from 'models/RoomstaySession';\nimport StepRoom from 'pages/steps/StepRoom/StepRoom';\nimport dayjs from 'dayjs';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { BookingEngineContext, BookingEngineContextWrapper } from '@frontend/contexts';\n\nexport interface RecentSearchesEngineElementProps {\n engine: RecentSearchesEngine;\n}\n\nexport const RecentSearchesEngineElement = ({ engine }: RecentSearchesEngineElementProps) => {\n const { hotel } = useCurrentHotel();\n\n const [currentSessions, setCurrentSessions] = useState<RoomstaySession[]>([]);\n\n const beContext = useContext(BookingEngineContext);\n\n useEffect(() => {\n resetSessions();\n }, []);\n\n const resetSessions = () => {\n engine\n .getSessionProvider()\n .getAllSessions()\n .then((sessions) => {\n const sessionsToUse: RoomstaySession[] = [];\n\n sessions.forEach((session) => {\n if (!hotel || (hotel?.hotelID === session.hotelID && session.basketRows?.length > 0)) {\n let hasValidRow = false;\n session.basketRows.forEach((basket) => {\n if (basket.isValid() && basket.getStartDate().isAfter(dayjs())) {\n hasValidRow = true;\n }\n });\n\n if (hasValidRow) {\n sessionsToUse.push(session);\n }\n }\n });\n\n sessionsToUse.reverse();\n\n setCurrentSessions(sessionsToUse);\n });\n };\n\n const smallBlurb = (\n <Text color={Color.White} type={TextType.Small}>\n Lorem, ipsum dolor sit amet consectetur adipisicing elit.\n </Text>\n );\n\n const onRemoveCard = async (session: RoomstaySession) => {\n const provider = new SessionProvider();\n await provider.initialize(session.id);\n\n provider.deleteSession();\n\n resetSessions();\n };\n\n const redirectToCheckout = () => {\n window.open(hotel?.checkoutUrl);\n };\n\n return currentSessions.length ? (\n <div style={{ backgroundColor: Color.Navy }}>\n <div className=\"container\">\n <div className=\"u-pad-top-bottom--heavy\">\n <div className=\"u-marg-bottom\">\n <Text color={Color.White} bold={true}>\n Recent searches\n </Text>\n {beContext.screenSize <= ScreenSize.Medium && smallBlurb}\n </div>\n <div className=\"row u-marg-bottom\">\n {!!currentSessions?.length &&\n currentSessions.slice(0, 2).map((session: RoomstaySession) => {\n let validRow: BasketRow;\n\n for (const row of session.basketRows) {\n if (row.isValid()) {\n validRow = row;\n break;\n }\n }\n\n const removeCard = () => {\n onRemoveCard(session);\n };\n\n const onViewRates = async () => {\n const manager = new SessionProvider();\n await manager.initialize(session.id);\n\n manager\n .updateSession({\n step: StepRoom.getName(),\n })\n .then(() => {\n window.open(`${hotel?.checkoutUrl ?? '/checkout/'}#${StepRoom.getStepUrl()}?session=${session.id}`, '_self');\n });\n };\n\n return (\n <div key={validRow.getID()} className=\"col-lg-6\">\n <RecentSearchesCard basketRow={validRow} onRemove={removeCard} onViewRatesClicked={onViewRates} />\n </div>\n );\n })}\n </div>\n <div className=\"u-flex u-flex-align-center flex-column flex-md-row justify-align-content-md-center\">\n {beContext.screenSize > ScreenSize.Medium && smallBlurb}\n <BEButton icon={IconType.ArrowRight} iconPosition=\"right\" primary={true} filled={true} onClick={redirectToCheckout}>\n See all {hotel?.name} rooms\n </BEButton>\n </div>\n </div>\n </div>\n </div>\n ) : (\n <></>\n );\n};\n\nexport const renderRecentSearchesEngineElement = (container: Element, engine: RecentSearchesEngine) => {\n render(\n <BookingEngineContextWrapper engine={engine}>\n <RecentSearchesEngineElement engine={engine} />\n </BookingEngineContextWrapper>,\n container\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetAvailabilityError.js","sourceRoot":"/","sources":["src/errors/GetAvailabilityError.ts"],"names":[],"mappings":";;AAEA,yCAA8C;AAC9C,iDAAkD;AAClD,wDAAqD;AAErD,MAAqB,oBAAqB,SAAQ,6BAAa;IAG3D,YAAmB,SAAsB,EAAE,OAAoB;QAC3D,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,yBAAe,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,yBAAe,CAAC,CAAC;QAErD,KAAK,CAAC,qCAAqC,cAAc,MAAM,YAAY,EAAE,CAAC,CAAC;QAE/E,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEM,QAAQ;QACX,uBAAY,CAAC,GAAG,CAAC;YACb,KAAK,EAAE,2BAA2B;YAClC,OAAO,EAAE,0BAA0B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB;SACzF,CAAC,CAAC;IACP,CAAC;CACJ;AAlBD,uCAkBC","sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"GetAvailabilityError.js","sourceRoot":"/","sources":["src/errors/GetAvailabilityError.ts"],"names":[],"mappings":";;AAEA,yCAA8C;AAC9C,iDAAkD;AAClD,wDAAqD;AAErD,MAAqB,oBAAqB,SAAQ,6BAAa;IAG3D,YAAmB,SAAsB,EAAE,OAAoB;QAC3D,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,yBAAe,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,yBAAe,CAAC,CAAC;QAErD,KAAK,CAAC,qCAAqC,cAAc,MAAM,YAAY,EAAE,CAAC,CAAC;QAE/E,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEM,QAAQ;QACX,uBAAY,CAAC,GAAG,CAAC;YACb,KAAK,EAAE,2BAA2B;YAClC,OAAO,EAAE,0BAA0B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB;SACzF,CAAC,CAAC;IACP,CAAC;CACJ;AAlBD,uCAkBC","sourcesContent":["import dayjs from 'dayjs';\n\nimport { API_DATE_FORMAT } from 'api/BaseAPI';\nimport { ErrorHandler } from '@frontend/contexts';\nimport { RoomstayError } from 'errors/RoomstayError';\n\nexport default class GetAvailabilityError extends RoomstayError {\n private fromMonth: dayjs.Dayjs;\n\n public constructor(fromMonth: dayjs.Dayjs, toMonth: dayjs.Dayjs) {\n const fromDatePretty = fromMonth.format(API_DATE_FORMAT);\n const toDatePretty = toMonth.format(API_DATE_FORMAT);\n\n super(`Failed to load calendar data for: ${fromDatePretty} - ${toDatePretty}`);\n\n this.fromMonth = fromMonth;\n }\n\n public toString() {\n ErrorHandler.add({\n title: 'Availability Check Failed',\n message: `Availability check for ${this.fromMonth.format('MMMM')} failed unexpectedly`,\n });\n }\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Dispatch, SetStateAction } from 'react';
|
|
1
2
|
interface UseAutoFocusOnSelectProps {
|
|
2
3
|
ref: HTMLInputElement | null;
|
|
3
4
|
onlyAutoOpenWhenInputEmpty?: boolean;
|
|
@@ -9,5 +10,6 @@ export declare const useAutoFocusOnSelect: ({ ref, onlyAutoOpenWhenInputEmpty, f
|
|
|
9
10
|
onDropdownClosed: (e: MouseEvent) => void;
|
|
10
11
|
onTriggerClicked: () => void;
|
|
11
12
|
onItemSelected: () => void;
|
|
13
|
+
setIsDropdownOpen: Dispatch<SetStateAction<boolean>>;
|
|
12
14
|
};
|
|
13
15
|
export {};
|