@roomstay/frontend 2.6.84 → 2.6.86-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/177.bundle.js +1 -1
- package/dist/288.bundle.js +1 -1
- package/dist/370.bundle.js +1 -1
- package/dist/380.bundle.js +1 -0
- package/dist/430.bundle.js +1 -1
- package/dist/449.bundle.js +1 -1
- package/dist/456.bundle.js +1 -0
- package/dist/535.bundle.js +1 -1
- package/dist/537.bundle.js +1 -1
- package/dist/978.bundle.js +1 -1
- package/dist/e2e/canChangeCurrency.spec.js +1 -1
- package/dist/e2e/canChangeCurrency.spec.js.map +1 -1
- package/dist/e2e/canCheckout.spec.js +3 -3
- package/dist/e2e/canCheckout.spec.js.map +1 -1
- package/dist/e2e/canViewFindReservationsPage.spec.js +1 -1
- package/dist/e2e/canViewFindReservationsPage.spec.js.map +1 -1
- package/dist/e2e/canViewHotelnfoPage.spec.js +1 -1
- package/dist/e2e/canViewHotelnfoPage.spec.js.map +1 -1
- package/dist/e2e/goBackAndCheckoutAgain.spec.js +1 -1
- package/dist/e2e/goBackAndCheckoutAgain.spec.js.map +1 -1
- package/dist/e2e/helpers/checkoutHelpers.js +9 -8
- package/dist/e2e/helpers/checkoutHelpers.js.map +1 -1
- package/dist/e2e/helpers/playwrightHelpers.js +2 -1
- package/dist/e2e/helpers/playwrightHelpers.js.map +1 -1
- package/dist/e2e/price.spec.js +3 -3
- package/dist/e2e/price.spec.js.map +1 -1
- package/dist/main.bundle.js +1 -1
- package/dist/src/animations/AutoAutoHeight.js +8 -18
- package/dist/src/animations/AutoAutoHeight.js.map +1 -1
- package/dist/src/animations/Fade.js +7 -17
- package/dist/src/animations/Fade.js.map +1 -1
- package/dist/src/api/AddonAPI.js +7 -17
- package/dist/src/api/AddonAPI.js.map +1 -1
- package/dist/src/api/AvailabilityAPI.d.ts +6 -13
- package/dist/src/api/AvailabilityAPI.js +105 -148
- package/dist/src/api/AvailabilityAPI.js.map +1 -1
- package/dist/src/api/BaseAPI.js +6 -6
- package/dist/src/api/BaseAPI.js.map +1 -1
- package/dist/src/api/ErrorAPI.js.map +1 -1
- package/dist/src/api/ExchangeRateAPI.js.map +1 -1
- package/dist/src/api/HotelAPI.d.ts +1 -1
- package/dist/src/api/HotelAPI.js.map +1 -1
- package/dist/src/api/MemberAPI.js +7 -17
- package/dist/src/api/MemberAPI.js.map +1 -1
- package/dist/src/api/ReservationAPI.d.ts +3 -2
- package/dist/src/api/ReservationAPI.js +10 -21
- package/dist/src/api/ReservationAPI.js.map +1 -1
- package/dist/src/api/SessionAPI.js +7 -17
- package/dist/src/api/SessionAPI.js.map +1 -1
- package/dist/src/api/TrueRewardsAPI.js.map +1 -1
- package/dist/src/api/events-service/EventsServiceAPI.js.map +1 -1
- package/dist/src/api/members-service/MembersServiceAPI.d.ts +1 -1
- package/dist/src/components/Event/EventCarouselContainer.js +7 -17
- package/dist/src/components/Event/EventCarouselContainer.js.map +1 -1
- package/dist/src/components/User/Forms/ForgotPasswordForm.js +7 -17
- package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignInForm.js +7 -17
- package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignUpForm.js +7 -17
- package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
- package/dist/src/components/User/Forms/VerifyEmailForm.js +7 -17
- package/dist/src/components/User/Forms/VerifyEmailForm.js.map +1 -1
- package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js +7 -17
- package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js.map +1 -1
- package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js +7 -17
- package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js.map +1 -1
- package/dist/src/components/generic/Alert.js +3 -3
- package/dist/src/components/generic/Alert.js.map +1 -1
- package/dist/src/components/generic/BEButton.d.ts +0 -1
- package/dist/src/components/generic/BEButton.js +9 -20
- package/dist/src/components/generic/BEButton.js.map +1 -1
- package/dist/src/components/generic/BackButton.js +1 -1
- package/dist/src/components/generic/BackButton.js.map +1 -1
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +9 -18
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +2 -1
- package/dist/src/components/generic/BookingWizard/BookingWizard.js +46 -28
- package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +6 -4
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +43 -21
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +9 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +2 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +9 -19
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +2 -5
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +10 -20
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +11 -21
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js +7 -17
- package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.d.ts +15 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js +135 -0
- package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js.map +1 -0
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +7 -17
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
- package/dist/src/components/generic/Checkbox/Checkbox.js +7 -17
- package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
- package/dist/src/components/generic/Countdown.js +8 -18
- package/dist/src/components/generic/Countdown.js.map +1 -1
- package/dist/src/components/generic/Currency.js +8 -18
- package/dist/src/components/generic/Currency.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +8 -18
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +9 -19
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +8 -18
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +8 -18
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +7 -17
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
- package/dist/src/components/generic/Distance.js +8 -18
- package/dist/src/components/generic/Distance.js.map +1 -1
- package/dist/src/components/generic/Event/EventCard.js +7 -17
- package/dist/src/components/generic/Event/EventCard.js.map +1 -1
- package/dist/src/components/generic/Event/EventCarousel.js +7 -17
- package/dist/src/components/generic/Event/EventCarousel.js.map +1 -1
- package/dist/src/components/generic/ForwardedSelect.js +7 -17
- package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
- package/dist/src/components/generic/GroupedCheckInOutTimes/GroupedCheckInOutTimes.js.map +1 -1
- package/dist/src/components/generic/Headline.js +1 -1
- package/dist/src/components/generic/Headline.js.map +1 -1
- package/dist/src/components/generic/HtmlContentViewer.js +7 -17
- package/dist/src/components/generic/HtmlContentViewer.js.map +1 -1
- package/dist/src/components/generic/IconText/IconText.js +9 -19
- package/dist/src/components/generic/IconText/IconText.js.map +1 -1
- package/dist/src/components/generic/InputGroup/InputGroup.js +1 -1
- package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
- package/dist/src/components/generic/LineBreak.js +1 -1
- package/dist/src/components/generic/LineBreak.js.map +1 -1
- package/dist/src/components/generic/Notification.js +8 -18
- package/dist/src/components/generic/Notification.js.map +1 -1
- package/dist/src/components/generic/NumberIncrement.js +8 -18
- package/dist/src/components/generic/NumberIncrement.js.map +1 -1
- package/dist/src/components/generic/Overlay/Overlay.js +7 -17
- package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
- package/dist/src/components/generic/PageTitle/index.js.map +1 -1
- package/dist/src/components/generic/PasswordBox/PasswordBox.js +7 -17
- package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +9 -19
- package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +7 -17
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
- package/dist/src/components/generic/Pill.js +3 -3
- package/dist/src/components/generic/Pill.js.map +1 -1
- package/dist/src/components/generic/Placeholder.js +1 -1
- package/dist/src/components/generic/Placeholder.js.map +1 -1
- package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js +7 -17
- package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js.map +1 -1
- package/dist/src/components/generic/PromoCodeInput.d.ts +0 -2
- package/dist/src/components/generic/PromoCodeInput.js +12 -20
- package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +7 -17
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +7 -17
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/dist/src/components/generic/RecentSearchesCard.js +7 -17
- package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
- package/dist/src/components/generic/RoomstayMark.js +7 -17
- package/dist/src/components/generic/RoomstayMark.js.map +1 -1
- package/dist/src/components/generic/ScrollToTop.js.map +1 -1
- package/dist/src/components/generic/Select/InputSelect.js +8 -18
- package/dist/src/components/generic/Select/InputSelect.js.map +1 -1
- package/dist/src/components/generic/Select/Select.d.ts +1 -1
- package/dist/src/components/generic/Select/Select.js +7 -17
- package/dist/src/components/generic/Select/Select.js.map +1 -1
- package/dist/src/components/generic/Slider/Slider.js +7 -17
- package/dist/src/components/generic/Slider/Slider.js.map +1 -1
- package/dist/src/components/generic/Tabs/ElementChildren.js +3 -2
- package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabContext.js +7 -17
- package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabLink.js +7 -17
- package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabRouteContainer.js +9 -18
- package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
- package/dist/src/components/generic/Text.js +9 -19
- package/dist/src/components/generic/Text.js.map +1 -1
- package/dist/src/components/generic/TextArea.js +7 -17
- package/dist/src/components/generic/TextArea.js.map +1 -1
- package/dist/src/components/generic/TextBox.js +7 -17
- package/dist/src/components/generic/TextBox.js.map +1 -1
- package/dist/src/components/generic/Tooltip/Tooltip.js +8 -18
- package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
- package/dist/src/components/generic/badging/SSLSecureBadge.js +1 -1
- package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
- package/dist/src/components/generic/buttons/NextStepButton.js +8 -18
- package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +7 -17
- 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 +9 -19
- package/dist/src/components/generic/date/DatePicker.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDay.js +9 -19
- package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDays.js +8 -18
- package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerMonth.js +8 -18
- package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerWeek.js +11 -21
- package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
- package/dist/src/components/generic/date/FloatingDatePicker.js +9 -19
- package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
- package/dist/src/components/generic/date/WeekViewSkeleton.js +7 -17
- package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
- package/dist/src/components/generic/loader/ImageLoader.js +8 -18
- package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
- package/dist/src/components/generic/loader/LargeLoader.js +1 -1
- package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
- package/dist/src/components/generic/loader/SmallSpinner.js +8 -18
- package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
- package/dist/src/components/generic/map/HotelLocationMap.js +1 -1
- package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
- package/dist/src/components/generic/modal/ConfirmationModal.js +8 -18
- package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
- package/dist/src/components/generic/modal/ErrorModal.js +8 -18
- package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +7 -17
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +7 -17
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +8 -18
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SimpleModal.js +9 -19
- package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
- package/dist/src/components/generic/modal/TabbedModal.js +8 -18
- package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
- package/dist/src/components/generic/radio/RadioFields.js +8 -18
- package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
- package/dist/src/components/graphics/TravelerNotfound.js +1 -1
- package/dist/src/components/graphics/TravelerNotfound.js.map +1 -1
- package/dist/src/components/members/EditMyProfile.js +7 -17
- package/dist/src/components/members/EditMyProfile.js.map +1 -1
- package/dist/src/components/members/InlineSignUpSection.d.ts +1 -1
- package/dist/src/components/members/InlineSignUpSection.js +7 -17
- package/dist/src/components/members/InlineSignUpSection.js.map +1 -1
- package/dist/src/components/members/SignInModal/ExternalMemberModal.js +7 -17
- package/dist/src/components/members/SignInModal/ExternalMemberModal.js.map +1 -1
- package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js +9 -19
- package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js.map +1 -1
- package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js +8 -18
- package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js.map +1 -1
- package/dist/src/components/members/SignInModal/MemberSignInModal.js +7 -17
- package/dist/src/components/members/SignInModal/MemberSignInModal.js.map +1 -1
- package/dist/src/components/navigation/Header.js +8 -18
- package/dist/src/components/navigation/Header.js.map +1 -1
- package/dist/src/components/navigation/StepSelector.js +8 -18
- package/dist/src/components/navigation/StepSelector.js.map +1 -1
- package/dist/src/components/navigation/StepSelectorModal.js +8 -18
- package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
- package/dist/src/components/pages/Account/Card/MemberCardItem.js +7 -17
- package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
- package/dist/src/components/pages/PageColorComponent.js +7 -17
- package/dist/src/components/pages/PageColorComponent.js.map +1 -1
- package/dist/src/components/reservation/EmptyReservation.js +7 -17
- package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
- package/dist/src/components/reservation/ReservationItem.d.ts +0 -1
- package/dist/src/components/reservation/ReservationItem.js +10 -20
- package/dist/src/components/reservation/ReservationItem.js.map +1 -1
- package/dist/src/components/reservation/ReservationList.d.ts +0 -1
- package/dist/src/components/reservation/ReservationList.js +2 -2
- package/dist/src/components/reservation/ReservationList.js.map +1 -1
- package/dist/src/components/steps/DaysSelectedInformer.js +8 -18
- package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
- package/dist/src/components/steps/MinimumNightStayPill.js +8 -18
- package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
- package/dist/src/components/steps/addons/AddonCard.js +7 -25
- package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
- package/dist/src/components/steps/addons/AddonList.js +7 -17
- package/dist/src/components/steps/addons/AddonList.js.map +1 -1
- package/dist/src/components/steps/addons/AddonsNotFoundBlock.js +1 -1
- package/dist/src/components/steps/addons/AddonsNotFoundBlock.js.map +1 -1
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +1 -1
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +9 -19
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
- package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js +7 -17
- package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js.map +1 -1
- package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.d.ts +1 -1
- package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js +7 -17
- package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js.map +1 -1
- package/dist/src/components/steps/confirmation/AccountDetails.js +8 -18
- package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js +7 -17
- package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js.map +1 -1
- package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js +7 -17
- package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +7 -17
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +7 -17
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentInformation.js +7 -17
- package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -1
- package/dist/src/components/steps/confirmation/PlanpayLabel.js +7 -17
- package/dist/src/components/steps/confirmation/PlanpayLabel.js.map +1 -1
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +7 -17
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
- package/dist/src/components/steps/confirmation/RoomContactDetails.js +8 -18
- package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +19 -28
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +8 -18
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +2 -2
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +7 -17
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +8 -18
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +8 -18
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +8 -18
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +12 -23
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js +13 -26
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js.map +1 -1
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.d.ts +1 -5
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js +13 -35
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +8 -18
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +8 -18
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +8 -18
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
- package/dist/src/components/steps/date/OccupancyWarningBlock.js +1 -1
- package/dist/src/components/steps/date/OccupancyWarningBlock.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePicker.js +10 -20
- package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePickerRow.js +9 -19
- package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
- package/dist/src/components/steps/date/StepDatePricePerRoom.js +8 -18
- package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRange.js +8 -18
- package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePicker.js +8 -18
- package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +8 -18
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.js +8 -18
- package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
- package/dist/src/components/steps/date/StepOneStatusPeople.js +8 -18
- package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCard.js +9 -19
- package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardList.js +1 -1
- package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardModal.js +7 -17
- package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelInfoPerksRow.js +8 -18
- package/dist/src/components/steps/hotel/HotelInfoPerksRow.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelSearchParameters.js +20 -22
- package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js +1 -1
- package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
- package/dist/src/components/steps/room/AvailableUpgradesModal.js +7 -17
- package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
- package/dist/src/components/steps/room/ImageGallerySlider.js +8 -18
- package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
- package/dist/src/components/steps/room/InactivityWindow.js +7 -17
- package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
- package/dist/src/components/steps/room/LargeRoomCard.js +7 -17
- package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js +8 -18
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
- package/dist/src/components/steps/room/RatesNotFoundBlock.js +1 -1
- package/dist/src/components/steps/room/RatesNotFoundBlock.js.map +1 -1
- package/dist/src/components/steps/room/RoomList.js +8 -18
- package/dist/src/components/steps/room/RoomList.js.map +1 -1
- package/dist/src/components/steps/room/RoomListAlert.js +7 -17
- package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js +8 -18
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
- package/dist/src/components/steps/room/RoomModal.js +8 -18
- package/dist/src/components/steps/room/RoomModal.js.map +1 -1
- package/dist/src/components/steps/room/RoomModalPerkRow.js +8 -18
- package/dist/src/components/steps/room/RoomModalPerkRow.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js +8 -18
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js +8 -18
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomErrorForm.js +7 -17
- package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomHotelDetails.js +8 -18
- package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.js +8 -18
- package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSortBy.js +8 -18
- package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +8 -18
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +7 -17
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js +7 -17
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js.map +1 -1
- package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js +7 -17
- package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js.map +1 -1
- package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.d.ts +1 -1
- package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js +8 -19
- package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js.map +1 -1
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js +7 -17
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js.map +1 -1
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js +20 -20
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js.map +1 -1
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +7 -17
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +8 -18
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +23 -23
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +8 -18
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +9 -18
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +9 -18
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +8 -18
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +7 -17
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +8 -18
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +8 -18
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +10 -20
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js +8 -18
- package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +10 -20
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +9 -19
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +7 -17
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +8 -18
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +8 -18
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +8 -18
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js +12 -26
- package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +8 -18
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +8 -18
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +8 -18
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +8 -18
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +8 -18
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
- package/dist/src/components/summary/BEMapWidget.d.ts +2 -0
- package/dist/src/components/summary/BEMapWidget.js +7 -17
- package/dist/src/components/summary/BEMapWidget.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummary.js +8 -18
- package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js +18 -29
- package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
- package/dist/src/components/summary/BESummary.js +13 -23
- package/dist/src/components/summary/BESummary.js.map +1 -1
- package/dist/src/components/summary/BESummaryAddonRow.js +9 -19
- package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
- package/dist/src/components/summary/BESummaryPerkBlock.js +9 -19
- package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js +8 -18
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js +9 -19
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +8 -18
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
- package/dist/src/containers/PrivateRoute.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContext.d.ts +1 -0
- package/dist/src/contexts/BasketContext/BasketContextType.d.ts +4 -6
- package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +162 -237
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContext.d.ts +1 -0
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +9 -18
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContext.d.ts +1 -0
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +14 -22
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationFormContext.js +9 -19
- package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.d.ts +1 -0
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.d.ts +1 -2
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +23 -44
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js +7 -17
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js.map +1 -1
- package/dist/src/contexts/ErrorContext.js +9 -19
- package/dist/src/contexts/ErrorContext.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js +2 -1
- package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js +9 -18
- package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.d.ts +1 -0
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +19 -20
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/HotelOverridesContext.js +7 -17
- package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +2 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +14 -40
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +1 -0
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +7 -17
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
- package/dist/src/contexts/ModalContext.js +9 -18
- package/dist/src/contexts/ModalContext.js.map +1 -1
- package/dist/src/contexts/NotificationContext.js +9 -19
- package/dist/src/contexts/NotificationContext.js.map +1 -1
- package/dist/src/engines/BaseEngine.js +1 -1
- package/dist/src/engines/BaseEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +4 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +3 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +7 -17
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +8 -18
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +17 -19
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +34 -30
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -1
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +8 -18
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +8 -17
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
- package/dist/src/events/RoomstayEventManager.js +1 -1
- package/dist/src/events/RoomstayEventManager.js.map +1 -1
- package/dist/src/events/actions/PlacedBookingEvent.d.ts +1 -1
- package/dist/src/events/actions/PlacedBookingEvent.js.map +1 -1
- package/dist/src/events/views/CommittedBookingEvent.d.ts +1 -1
- package/dist/src/events/views/CommittedBookingEvent.js.map +1 -1
- package/dist/src/events/views/RolledBackBookingEvent.d.ts +1 -1
- package/dist/src/events/views/RolledBackBookingEvent.js.map +1 -1
- package/dist/src/handlers/BasketContextErrorHandler.d.ts +1 -1
- package/dist/src/handlers/BasketContextErrorHandler.js.map +1 -1
- package/dist/src/handlers/payment/AdyenPaymentHandler.js +7 -17
- package/dist/src/handlers/payment/AdyenPaymentHandler.js.map +1 -1
- package/dist/src/handlers/payment/PlanpayPaymentHandler.js +7 -17
- package/dist/src/handlers/payment/PlanpayPaymentHandler.js.map +1 -1
- package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js +5 -8
- package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js.map +1 -1
- package/dist/src/handlers/payment/VGSMemberPaymentHandler.js.map +1 -1
- package/dist/src/handlers/payment/VGSPaymentHandler.js +9 -19
- package/dist/src/handlers/payment/VGSPaymentHandler.js.map +1 -1
- package/dist/src/hooks/AutoFocusOnSelect.d.ts +1 -0
- package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
- package/dist/src/hooks/BodyClickHook.js.map +1 -1
- package/dist/src/hooks/CombineState.d.ts +1 -1
- package/dist/src/hooks/ConfirmationQuery.d.ts +0 -1
- package/dist/src/hooks/ConfirmationQuery.js +1 -2
- package/dist/src/hooks/ConfirmationQuery.js.map +1 -1
- package/dist/src/hooks/Currency.js.map +1 -1
- package/dist/src/hooks/CurrentHotelHook.js.map +1 -1
- package/dist/src/hooks/ElementSortHook.js +7 -17
- package/dist/src/hooks/ElementSortHook.js.map +1 -1
- package/dist/src/hooks/HistoryConsistentPush.js +2 -1
- package/dist/src/hooks/HistoryConsistentPush.js.map +1 -1
- package/dist/src/hooks/KeyboardControlOnSelect.d.ts +2 -2
- package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
- package/dist/src/hooks/LoggedInUserHook.js.map +1 -1
- package/dist/src/hooks/Planpay.d.ts +1 -1
- package/dist/src/hooks/Query.js +3 -2
- package/dist/src/hooks/Query.js.map +1 -1
- package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +1 -0
- package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
- package/dist/src/hooks/UpdateQueryParameters.js +2 -1
- package/dist/src/hooks/UpdateQueryParameters.js.map +1 -1
- package/dist/src/hooks/VGSHooks.d.ts +1 -0
- package/dist/src/hooks/VGSHooks.js.map +1 -1
- package/dist/src/hooks/useCalendarNightStay.js +3 -3
- package/dist/src/hooks/useCalendarNightStay.js.map +1 -1
- package/dist/src/hooks/useNextStepAction.js +11 -21
- package/dist/src/hooks/useNextStepAction.js.map +1 -1
- package/dist/src/hooks/usePlanpayRawPrice.js.map +1 -1
- package/dist/src/hooks/useRateDetails.js.map +1 -1
- package/dist/src/hooks/useSearchScopeHook.d.ts +1 -1
- package/dist/src/hooks/useSearchScopeHook.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/mockApi/AddonAPI.js.map +1 -1
- package/dist/src/mockApi/MemberAPI.js +7 -17
- package/dist/src/mockApi/MemberAPI.js.map +1 -1
- package/dist/src/mockApi/MockAPI.js +5 -5
- package/dist/src/mockApi/MockAPI.js.map +1 -1
- package/dist/src/mockApi/ReservationAPI.d.ts +1 -1
- package/dist/src/mockApi/ReservationAPI.js +8 -18
- package/dist/src/mockApi/ReservationAPI.js.map +1 -1
- package/dist/src/models/Addon/Addon.d.ts +24 -0
- package/dist/src/models/Addon/Addon.js.map +1 -1
- package/dist/src/models/Api/HotelDTO.d.ts +2 -1
- package/dist/src/models/Api/HotelDTO.js +1 -1
- package/dist/src/models/Api/HotelDTO.js.map +1 -1
- package/dist/src/models/Api/ReservationsDTO.d.ts +80 -0
- package/dist/src/models/Api/ReservationsDTO.js +3 -0
- package/dist/src/models/Api/ReservationsDTO.js.map +1 -0
- package/dist/src/models/AppQueryParameters.js +1 -1
- package/dist/src/models/AppQueryParameters.js.map +1 -1
- package/dist/src/models/BasketAddonRow.js +5 -3
- package/dist/src/models/BasketAddonRow.js.map +1 -1
- package/dist/src/models/BasketRow.d.ts +9 -63
- package/dist/src/models/BasketRow.js +37 -77
- package/dist/src/models/BasketRow.js.map +1 -1
- package/dist/src/models/BookingWizard/BookingWizardTypes.d.ts +4 -0
- package/dist/src/models/BookingWizard/BookingWizardTypes.js.map +1 -1
- package/dist/src/models/Client/Hotel/DistanceUnitType.types.js +1 -1
- package/dist/src/models/Client/Hotel/DistanceUnitType.types.js.map +1 -1
- package/dist/src/models/Client/Hotel/Hotel.d.ts +2 -1
- package/dist/src/models/Client/Hotel/Hotel.js +1 -1
- package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
- package/dist/src/models/Client/Hotel/HotelDataSource.types.js +1 -1
- package/dist/src/models/Client/Hotel/HotelDataSource.types.js.map +1 -1
- package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js +1 -1
- package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js.map +1 -1
- package/dist/src/models/Confirmation.js +2 -2
- package/dist/src/models/Confirmation.js.map +1 -1
- package/dist/src/models/CountryCodesAndNumbers.js +3 -3
- package/dist/src/models/CountryCodesAndNumbers.js.map +1 -1
- package/dist/src/models/Fee.d.ts +9 -1
- package/dist/src/models/Fee.js +5 -4
- package/dist/src/models/Fee.js.map +1 -1
- package/dist/src/models/PaymentCard.js +1 -1
- package/dist/src/models/PaymentCard.js.map +1 -1
- package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
- package/dist/src/models/Room/Room.js.map +1 -1
- package/dist/src/models/Room/RoomRate.d.ts +1 -8
- package/dist/src/models/Room/RoomRate.js +1 -25
- 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.map +1 -1
- package/dist/src/models/RoomstaySession.d.ts +3 -1
- package/dist/src/models/RoomstaySession.js.map +1 -1
- package/dist/src/pages/account/AccountHome/AccountHomePage.js +8 -18
- package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
- package/dist/src/pages/account/AccountRoutes.d.ts +0 -5
- package/dist/src/pages/account/AccountRoutes.js +2 -8
- package/dist/src/pages/account/AccountRoutes.js.map +1 -1
- package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js +7 -17
- package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +7 -17
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +7 -17
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +7 -17
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
- package/dist/src/pages/account/Help/AccountHelpPage.js +7 -17
- package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +13 -38
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js +7 -7
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservation.js +9 -19
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservationResults.js +10 -20
- package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRow.d.ts +1 -1
- package/dist/src/pages/findReservation/ReservationRow.js +8 -18
- package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRowModal.d.ts +1 -1
- package/dist/src/pages/findReservation/ReservationRowModal.js +8 -18
- package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfo.js +10 -20
- package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js +1 -1
- package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +8 -18
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +7 -17
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +7 -17
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +8 -18
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.js +7 -17
- package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
- package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoom.js.map +1 -1
- package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js +7 -17
- package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js.map +1 -1
- package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js +8 -18
- package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js.map +1 -1
- package/dist/src/pages/steps/StepGuide.js +8 -18
- package/dist/src/pages/steps/StepGuide.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +7 -17
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +7 -17
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +7 -17
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomFilters.js +7 -17
- package/dist/src/pages/steps/StepRoom/StepRoomFilters.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +8 -18
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +10 -20
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
- package/dist/src/providers/CurrencyProvider.js +1 -1
- package/dist/src/providers/CurrencyProvider.js.map +1 -1
- package/dist/src/providers/DIProvider.js +3 -2
- package/dist/src/providers/DIProvider.js.map +1 -1
- package/dist/src/providers/DistanceProvider.js.map +1 -1
- package/dist/src/providers/FeatureProvider.js +1 -1
- package/dist/src/providers/FeatureProvider.js.map +1 -1
- package/dist/src/providers/FilterProvider.d.ts +1 -1
- package/dist/src/providers/FilterProvider.js +3 -3
- package/dist/src/providers/FilterProvider.js.map +1 -1
- package/dist/src/providers/ImageProvider.js +1 -1
- package/dist/src/providers/ImageProvider.js.map +1 -1
- package/dist/src/providers/LanguageProvider.js +1 -1
- package/dist/src/providers/LanguageProvider.js.map +1 -1
- package/dist/src/providers/PromotionProvider.d.ts +1 -1
- package/dist/src/providers/PromotionProvider.js.map +1 -1
- package/dist/src/providers/RatePillProvider.js.map +1 -1
- package/dist/src/providers/RoomSortProvider.js +2 -2
- package/dist/src/providers/RoomSortProvider.js.map +1 -1
- package/dist/src/providers/RoomstayThemeEngine.js +8 -18
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
- package/dist/src/providers/feature/DerbysoftClickTrackingFeature.js.map +1 -1
- package/dist/src/providers/feature/Feature.d.ts +2 -0
- package/dist/src/providers/feature/Feature.js +4 -0
- package/dist/src/providers/feature/Feature.js.map +1 -1
- package/dist/src/providers/feature/GuestTitleFieldFeature.js.map +1 -1
- package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
- package/dist/src/providers/feature/MemberPortalFeature.js.map +1 -1
- package/dist/src/providers/storage/SessionProvider.js +2 -0
- package/dist/src/providers/storage/SessionProvider.js.map +1 -1
- package/dist/src/providers/storage/StorageProvider.d.ts +1 -1
- package/dist/src/providers/storage/StorageProvider.js +7 -17
- package/dist/src/providers/storage/StorageProvider.js.map +1 -1
- package/dist/src/reducers/BasketReducer.js.map +1 -1
- package/dist/src/stories/BookingWizard.stories.d.ts +2 -2
- package/dist/src/stories/Card.stories.d.ts +5 -3
- package/dist/src/stories/CardTypeSelect.stories.d.ts +1 -2
- package/dist/src/stories/Checkbox.stories.d.ts +1 -2
- package/dist/src/stories/ConfirmationModal.stories.js +7 -17
- package/dist/src/stories/ConfirmationModal.stories.js.map +1 -1
- package/dist/src/stories/DateRangePicker.stories.js +7 -17
- package/dist/src/stories/DateRangePicker.stories.js.map +1 -1
- package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +1 -2
- package/dist/src/stories/ErrorModal.stories.js +7 -17
- package/dist/src/stories/ErrorModal.stories.js.map +1 -1
- package/dist/src/stories/EventCarousel.stories.d.ts +2 -2
- package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +2 -2
- package/dist/src/stories/FloatingDateRangePicker.stories.js +7 -17
- package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -1
- package/dist/src/stories/ForwardedSelect.stories.d.ts +1 -2
- package/dist/src/stories/Icon.stories.js +7 -17
- package/dist/src/stories/Icon.stories.js.map +1 -1
- package/dist/src/stories/IconNavCard.stories.d.ts +15 -6
- package/dist/src/stories/IconText.stories.js +7 -17
- package/dist/src/stories/IconText.stories.js.map +1 -1
- package/dist/src/stories/NumberIncrement.stories.js +7 -17
- package/dist/src/stories/NumberIncrement.stories.js.map +1 -1
- package/dist/src/stories/PasswordBox.stories.d.ts +1 -2
- package/dist/src/stories/PaymentCard.stories.d.ts +1 -2
- package/dist/src/stories/PaymentCardInput.stories.d.ts +1 -2
- package/dist/src/stories/PlanpayButton.stories.d.ts +1 -2
- package/dist/src/stories/RadioButton.stories.d.ts +1 -2
- package/dist/src/stories/RadioButtonGroup.stories.d.ts +3 -2
- package/dist/src/stories/RadioButtonGroup.stories.js +7 -17
- package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
- package/dist/src/stories/Select.stories.d.ts +4 -2
- package/dist/src/stories/Select.stories.js +7 -17
- package/dist/src/stories/Select.stories.js.map +1 -1
- package/dist/src/stories/SimpleModal.stories.js +7 -17
- package/dist/src/stories/SimpleModal.stories.js.map +1 -1
- package/dist/src/stories/Slider.stories.d.ts +7 -2
- package/dist/src/stories/Slider.stories.js +7 -17
- package/dist/src/stories/Slider.stories.js.map +1 -1
- package/dist/src/stories/TabbedModal.stories.js +7 -17
- package/dist/src/stories/TabbedModal.stories.js.map +1 -1
- package/dist/src/stories/Tabs.stories.d.ts +2 -2
- package/dist/src/stories/Text.stories.d.ts +1 -2
- package/dist/src/stories/TextArea.stories.d.ts +1 -2
- package/dist/src/stories/TextBox.stories.d.ts +1 -2
- package/dist/src/translations/Translation.d.ts +10 -0
- package/dist/src/translations/Translation.js +12 -2
- package/dist/src/translations/Translation.js.map +1 -1
- package/dist/src/translations/languages/en-gb.js +10 -0
- package/dist/src/translations/languages/en-gb.js.map +1 -1
- package/dist/src/util/Analytics/Analytics.d.ts +10 -34
- package/dist/src/util/Analytics/Analytics.js +0 -26
- package/dist/src/util/Analytics/Analytics.js.map +1 -1
- package/dist/src/util/Analytics/GoogleAnalytics4.d.ts +3 -4
- package/dist/src/util/Analytics/GoogleAnalytics4.js +0 -9
- package/dist/src/util/Analytics/GoogleAnalytics4.js.map +1 -1
- package/dist/src/util/Analytics/UniversalAnalytics.d.ts +23 -5
- package/dist/src/util/Analytics/UniversalAnalytics.js +4 -23
- package/dist/src/util/Analytics/UniversalAnalytics.js.map +1 -1
- package/dist/src/util/AsyncAuth.js +7 -17
- package/dist/src/util/AsyncAuth.js.map +1 -1
- package/dist/src/util/CalendarHelper.js +1 -1
- package/dist/src/util/CalendarHelper.js.map +1 -1
- package/dist/src/util/Color.d.ts +1 -1
- package/dist/src/util/Color.js +1 -1
- package/dist/src/util/Color.js.map +1 -1
- package/dist/src/util/CurrencyHelper.js.map +1 -1
- package/dist/src/util/DataLayer.d.ts +3 -8
- package/dist/src/util/DataLayer.js +22 -51
- package/dist/src/util/DataLayer.js.map +1 -1
- package/dist/src/util/Debounce.js +3 -2
- package/dist/src/util/Debounce.js.map +1 -1
- package/dist/src/util/DefaultValueManager.js +1 -1
- package/dist/src/util/DefaultValueManager.js.map +1 -1
- package/dist/src/util/DerbysoftPixel.d.ts +1 -1
- package/dist/src/util/DerbysoftPixel.js +2 -2
- package/dist/src/util/DerbysoftPixel.js.map +1 -1
- package/dist/src/util/EventsHelper.d.ts +2 -2
- package/dist/src/util/EventsHelper.js.map +1 -1
- package/dist/src/util/HotelPerkHelper.js +7 -17
- package/dist/src/util/HotelPerkHelper.js.map +1 -1
- package/dist/src/util/ObjectHelper.d.ts +1 -1
- package/dist/src/util/ObjectHelper.js.map +1 -1
- package/dist/src/util/PaymentCardHelper.js.map +1 -1
- package/dist/src/util/RouteManager.js +1 -1
- package/dist/src/util/RouteManager.js.map +1 -1
- package/dist/src/util/StepManager.js +1 -1
- package/dist/src/util/StepManager.js.map +1 -1
- package/dist/src/util/StringHelper.js.map +1 -1
- package/dist/src/util/TextAlignment.js +1 -1
- package/dist/src/util/TextAlignment.js.map +1 -1
- package/dist/src/util/TimeHelper.js.map +1 -1
- package/dist/src/util/TotalCalculator.d.ts +24 -0
- package/dist/src/util/TotalCalculator.js +157 -0
- package/dist/src/util/TotalCalculator.js.map +1 -0
- package/dist/test.bundle.js +1 -1
- package/dist/tests/offline/entry/config/hotelSpecDefault.js +1 -0
- package/dist/tests/offline/entry/config/hotelSpecDefault.js.map +1 -1
- package/dist/vendors.bundle.js +1 -1
- package/package.json +6 -8
- package/dist/375.bundle.js +0 -1
- package/dist/984.bundle.js +0 -1
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.d.ts +0 -1
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js +0 -94
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js.map +0 -1
|
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) ||
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
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
|
+
};
|
|
35
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -64,10 +54,14 @@ const BookingWizardDateSelector_1 = require("./BookingWizardDateSelector/Booking
|
|
|
64
54
|
const BookingWizardGuestSelector_1 = require("./BookingWizardGuestSelector/BookingWizardGuestSelector");
|
|
65
55
|
const BookingWizardHotelSelector_1 = require("./BookingWizardHotelSelector/BookingWizardHotelSelector");
|
|
66
56
|
const BookingWizardPromoCode_1 = require("./BookingWizardPromoCode/BookingWizardPromoCode");
|
|
67
|
-
const
|
|
57
|
+
const BookingWizardRoomGroupSelector_1 = require("./BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector");
|
|
58
|
+
const BookingWizardContent = ({ properties, selectedProperty: defaultProperty, defaultColors, classname, maxAdults, disableChild, showInfants, disableRoom, defaultValues, dateFormat, roomGroupOptions = [], }) => {
|
|
68
59
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
69
60
|
const bwContext = (0, react_1.useContext)(BookingWizardContext_1.BookingWizardContext);
|
|
70
61
|
const beContext = (0, react_1.useContext)(contexts_1.BookingEngineContext);
|
|
62
|
+
const engineConfig = beContext.engine.getConfig();
|
|
63
|
+
const guestAgeConfig = engineConfig.guestAgeConfig;
|
|
64
|
+
const defaultRoomGroup = engineConfig.defaultRoomGroup;
|
|
71
65
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
72
66
|
const [checkInDate, setCheckInDate] = (0, react_1.useState)((defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues.checkIn) ? (0, dayjs_1.default)(defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues.checkIn) : (0, dayjs_1.default)());
|
|
73
67
|
const [checkOutDate, setCheckOutDate] = (0, react_1.useState)((defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues.checkout) ? (0, dayjs_1.default)(defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues.checkout) : (0, dayjs_1.default)().add(1, 'days'));
|
|
@@ -80,6 +74,8 @@ const BookingWizardContent = ({ properties, selectedProperty: defaultProperty, d
|
|
|
80
74
|
const [selectedProperty, setSelectedProperty] = (0, react_1.useState)(defaultProperty);
|
|
81
75
|
const [hotelContainerRef, setHotelContainerRef] = (0, react_1.useState)(null);
|
|
82
76
|
const [guestsContainerRef, setGuestContainerRef] = (0, react_1.useState)(null);
|
|
77
|
+
const [roomGroupContainerRef, setRoomGroupContainerRef] = (0, react_1.useState)(null);
|
|
78
|
+
const [selectedRoomGroup, setSelectedRoomGroup] = (0, react_1.useState)(defaultRoomGroup);
|
|
83
79
|
(0, react_1.useEffect)(() => {
|
|
84
80
|
if (selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.colors) {
|
|
85
81
|
RoomstayThemeEngine_1.default.changeTheme(selectedProperty.colors);
|
|
@@ -88,8 +84,6 @@ const BookingWizardContent = ({ properties, selectedProperty: defaultProperty, d
|
|
|
88
84
|
RoomstayThemeEngine_1.default.changeTheme(defaultColors);
|
|
89
85
|
}
|
|
90
86
|
}, [selectedProperty]);
|
|
91
|
-
const engineConfig = beContext.engine.getConfig();
|
|
92
|
-
const guestAgeConfig = engineConfig.guestAgeConfig;
|
|
93
87
|
const yearDisplayOption = (0, react_1.useMemo)(() => {
|
|
94
88
|
var _a, _b;
|
|
95
89
|
return (_b = (_a = selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.yearDisplayOption) !== null && _a !== void 0 ? _a : engineConfig.yearDisplayOption) !== null && _b !== void 0 ? _b : '';
|
|
@@ -111,8 +105,11 @@ const BookingWizardContent = ({ properties, selectedProperty: defaultProperty, d
|
|
|
111
105
|
const isValid = () => {
|
|
112
106
|
const isPropertyHidden = bwContext.stateSections[BookingWizard_1.EBookingWizardSection.Property].hidden;
|
|
113
107
|
const isGuestSelectHidden = bwContext.stateSections[BookingWizard_1.EBookingWizardSection.Guest].hidden;
|
|
108
|
+
const isRoomGroupSelectHidden = bwContext.stateSections[BookingWizard_1.EBookingWizardSection.RoomGroup].hidden;
|
|
114
109
|
if (!isPropertyHidden && !selectedProperty)
|
|
115
110
|
return false;
|
|
111
|
+
if (!isRoomGroupSelectHidden && !selectedRoomGroup)
|
|
112
|
+
return false;
|
|
116
113
|
if (!checkInDate)
|
|
117
114
|
return false;
|
|
118
115
|
if (!checkOutDate)
|
|
@@ -139,6 +136,7 @@ const BookingWizardContent = ({ properties, selectedProperty: defaultProperty, d
|
|
|
139
136
|
infants,
|
|
140
137
|
room,
|
|
141
138
|
},
|
|
139
|
+
roomGroup: selectedRoomGroup === null || selectedRoomGroup === void 0 ? void 0 : selectedRoomGroup.value,
|
|
142
140
|
});
|
|
143
141
|
};
|
|
144
142
|
const _onPromoCodeChange = (value) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -168,7 +166,10 @@ const BookingWizardContent = ({ properties, selectedProperty: defaultProperty, d
|
|
|
168
166
|
[BookingWizard_module_scss_1.default.inline]: bwContext.type === 'inline',
|
|
169
167
|
}, classname) },
|
|
170
168
|
react_1.default.createElement(BWPropertySelectorSection, { hidden: bwContext.stateSections[BookingWizard_1.EBookingWizardSection.Property].hidden, inactive: bwContext.stateSections[BookingWizard_1.EBookingWizardSection.Property].inactive, withLabel: !bwContext.isImagesThemeMobile, divider: !bwContext.isImagesThemeMobile, containerRef: hotelContainerRef, setContainerRef: setHotelContainerRef, properties: properties, selectedProperty: selectedProperty, setSelectedProperty: setSelectedProperty, classname: classname, t: t, searchConfig: engineConfig.searchConfig }),
|
|
171
|
-
react_1.default.createElement(BookingWizardDateSelector_1.BookingWizardDateSelector, { hidden: bwContext.stateSections[BookingWizard_1.EBookingWizardSection.Date].hidden, inactive: bwContext.stateSections[BookingWizard_1.EBookingWizardSection.Date].inactive, onChange: setDate, defaultStartDate: checkInDate ? (0, dayjs_1.default)(checkInDate) : undefined, defaultEndDate: checkOutDate ? (0, dayjs_1.default)(checkOutDate) : undefined, dateFormat: dateFormat, showYearOnCalendar: showYearOnCalendar, yearDisplayOption: yearDisplayOption, notes: bwContext.isImagesTheme ? (_j = engineConfig === null || engineConfig === void 0 ? void 0 : engineConfig.notes) === null || _j === void 0 ? void 0 : _j.date : undefined
|
|
169
|
+
react_1.default.createElement(BookingWizardDateSelector_1.BookingWizardDateSelector, { hidden: bwContext.stateSections[BookingWizard_1.EBookingWizardSection.Date].hidden, inactive: bwContext.stateSections[BookingWizard_1.EBookingWizardSection.Date].inactive, onChange: setDate, defaultStartDate: checkInDate ? (0, dayjs_1.default)(checkInDate) : undefined, defaultEndDate: checkOutDate ? (0, dayjs_1.default)(checkOutDate) : undefined, dateFormat: dateFormat, showYearOnCalendar: showYearOnCalendar, yearDisplayOption: yearDisplayOption, notes: bwContext.isImagesTheme ? (_j = engineConfig === null || engineConfig === void 0 ? void 0 : engineConfig.notes) === null || _j === void 0 ? void 0 : _j.date : undefined, submitConfig: {
|
|
170
|
+
onSubmit: _onSubmit,
|
|
171
|
+
disabledNext: !isValid(),
|
|
172
|
+
} }),
|
|
172
173
|
react_1.default.createElement(BWGuestSelectorSection, { hidden: bwContext.stateSections[BookingWizard_1.EBookingWizardSection.Guest].hidden, inactive: bwContext.stateSections[BookingWizard_1.EBookingWizardSection.Guest].inactive, divider: !bwContext.isImagesThemeMobile, isImagesTheme: bwContext.isImagesTheme, containerRef: guestsContainerRef, setContainerRef: setGuestContainerRef, onChange: setGuest, maxAdults: maxAdults, disableChild: disableChild, showInfants: showInfants, disableRoom: disableRoom, config: guestAgeConfig, notes: bwContext.isImagesTheme ? (_k = engineConfig === null || engineConfig === void 0 ? void 0 : engineConfig.notes) === null || _k === void 0 ? void 0 : _k.guest : undefined, defaultValue: {
|
|
173
174
|
adults: adults,
|
|
174
175
|
children: children,
|
|
@@ -192,6 +193,10 @@ const BookingWizardContent = ({ properties, selectedProperty: defaultProperty, d
|
|
|
192
193
|
disabledNext: !isValid(),
|
|
193
194
|
} }),
|
|
194
195
|
react_1.default.createElement(exports.BWPromoCodeSection, { hidden: bwContext.stateSections[BookingWizard_1.EBookingWizardSection.Promo].hidden, inactive: bwContext.stateSections[BookingWizard_1.EBookingWizardSection.Promo].inactive, isImagesTheme: bwContext.isImagesTheme, setPromoCode: setPromoCode, promoCode: promoCode, onChange: _onPromoCodeChange, valid: promoCodeValid, hideTooltip: engineConfig.hideTooltips, t: t, divider: true, withLabel: true }),
|
|
196
|
+
react_1.default.createElement(BWRoomGroupSelectorSection, { hidden: bwContext.stateSections[BookingWizard_1.EBookingWizardSection.RoomGroup].hidden, inactive: bwContext.stateSections[BookingWizard_1.EBookingWizardSection.RoomGroup].inactive, withLabel: true, divider: !bwContext.isImagesThemeMobile, containerRef: roomGroupContainerRef, setContainerRef: setRoomGroupContainerRef, options: roomGroupOptions, selectedOption: selectedRoomGroup, setSelectedOption: setSelectedRoomGroup, classname: classname, t: t, submitConfig: {
|
|
197
|
+
onSubmit: _onSubmit,
|
|
198
|
+
disabledNext: !isValid(),
|
|
199
|
+
} }),
|
|
195
200
|
bwContext.layout !== 'horizontal-condensed' && !bwContext.isImagesThemeMobile && react_1.default.createElement(SubmitButtonSection, { button: submitButton })),
|
|
196
201
|
bwContext.layout === 'horizontal-condensed' && !bwContext.isImagesThemeMobile && (react_1.default.createElement("div", { className: (0, classnames_1.default)(BookingWizard_module_scss_1.default.content, classname) },
|
|
197
202
|
react_1.default.createElement("div", { className: (0, classnames_1.default)(BookingWizard_module_scss_1.default.action, BookingWizard_module_scss_1.default.centerItems, 'u-marg-top u-marg-top--light@l-') }, submitButton)))));
|
|
@@ -273,6 +278,23 @@ const BWPromoCodeSection = ({ inactive, hidden, setPromoCode, promoCode, onChang
|
|
|
273
278
|
isImagesTheme && react_1.default.createElement(exports.BWClearButton, { show: focused, onClick: onClearHandler })))));
|
|
274
279
|
};
|
|
275
280
|
exports.BWPromoCodeSection = BWPromoCodeSection;
|
|
281
|
+
const BWRoomGroupSelectorSection = ({ inactive, hidden, containerRef, setContainerRef, options, selectedOption, setSelectedOption, classname, t, divider = true, withLabel = true, submitConfig, }) => {
|
|
282
|
+
if (hidden)
|
|
283
|
+
return null;
|
|
284
|
+
const [focused, setFocused] = react_1.default.useState(false);
|
|
285
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
286
|
+
divider ? (react_1.default.createElement("div", { className: (0, classnames_1.default)(BookingWizard_module_scss_1.default.divider, {
|
|
287
|
+
[BookingWizard_module_scss_1.default['inactive']]: inactive,
|
|
288
|
+
}) })) : null,
|
|
289
|
+
react_1.default.createElement("div", { ref: setContainerRef, className: (0, classnames_1.default)(BookingWizard_module_scss_1.default.item, BookingWizard_module_scss_1.default['item-room-group'], {
|
|
290
|
+
[BookingWizard_module_scss_1.default['inactive']]: inactive,
|
|
291
|
+
}) },
|
|
292
|
+
react_1.default.createElement("div", { className: (0, classnames_1.default)(BookingWizard_module_scss_1.default['item-ellipsis-wrapper']), onFocus: () => setFocused(true), onBlur: () => setFocused(false) },
|
|
293
|
+
withLabel && react_1.default.createElement("label", { className: BookingWizard_module_scss_1.default.label }, t(Translation_1.Translation.Misc.ChooseRoomGroup)),
|
|
294
|
+
react_1.default.createElement(BookingWizardRoomGroupSelector_1.BookingWizardRoomGroupSelector, { followElement: containerRef, onChange: (value) => {
|
|
295
|
+
setSelectedOption(value || undefined);
|
|
296
|
+
}, options: options, selectedOption: selectedOption, contentClassName: (0, classnames_1.default)(classname), submitConfig: submitConfig })))));
|
|
297
|
+
};
|
|
276
298
|
const SubmitButtonSection = ({ button }) => react_1.default.createElement("div", { className: BookingWizard_module_scss_1.default.action }, button);
|
|
277
299
|
const BWIconButton = ({ show, onClick, hasLabel = false, bottomSheet = false, hasSearchInput = false, icon, name, className }) => {
|
|
278
300
|
if (!show)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingWizardContent.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardContent.tsx"],"names":[],"mappings":"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","sourcesContent":["import 'react-spring-bottom-sheet/dist/style.css';\n\nimport { BookingEngineContext } from '@frontend/contexts';\nimport { Icon, IconType } from '@roomstay/ui';\nimport classNames from 'classnames';\nimport dayjs, { Dayjs } from 'dayjs';\nimport React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport AvailabilityAPI from '@/api/AvailabilityAPI';\nimport { BookingWizardEngineConfig } from '@/engines/BookingWizardEngine/BookingWizardEngine';\nimport { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nimport { TBookingWizardProperties } from '@/models/BookingWizard/BookingWizardTypes';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { Translation } from '@/translations/Translation';\n\nimport BEButton from '../BEButton';\nimport { EBookingWizardSection } from './BookingWizard';\nimport styles from './BookingWizard.module.scss';\nimport { BookingWizardContext, BookingWizardOnBooking } from './BookingWizardContext';\nimport { BookingWizardDateSelector } from './BookingWizardDateSelector/BookingWizardDateSelector';\nimport { BookingWizardGuestSelector, BookingWizardGuestSelectorProps } from './BookingWizardGuestSelector/BookingWizardGuestSelector';\nimport { BookingWizardHotelSelector } from './BookingWizardHotelSelector/BookingWizardHotelSelector';\nimport { BookingWizardPromoCode } from './BookingWizardPromoCode/BookingWizardPromoCode';\n\nexport interface BookingWizardContentProps {\n defaultColors: BookingWizardProperty['colors'];\n properties: TBookingWizardProperties;\n selectedProperty?: BookingWizardProperty;\n classname?: string;\n maxAdults?: number;\n disableChild?: boolean;\n showInfants?: boolean;\n disableRoom?: boolean;\n hideGuestSelect?: boolean;\n hidePromocode?: boolean;\n hideProperty?: boolean;\n defaultValues?: Partial<Omit<BookingWizardOnBooking, 'id' | 'checkIn' | 'checkout'>> & { checkIn?: string; checkout?: string };\n dateFormat?: string;\n}\n\nexport const BookingWizardContent: React.FC<BookingWizardContentProps> = ({\n properties,\n selectedProperty: defaultProperty,\n defaultColors,\n classname,\n maxAdults,\n disableChild,\n showInfants,\n disableRoom,\n defaultValues,\n dateFormat,\n}) => {\n const bwContext = useContext(BookingWizardContext);\n const beContext = useContext(BookingEngineContext);\n\n const { t } = useTranslation();\n\n const [checkInDate, setCheckInDate] = useState<Dayjs | null>(defaultValues?.checkIn ? dayjs(defaultValues?.checkIn) : dayjs());\n const [checkOutDate, setCheckOutDate] = useState<Dayjs | null>(defaultValues?.checkout ? dayjs(defaultValues?.checkout) : dayjs().add(1, 'days'));\n const [adults, setAdults] = useState<number>(defaultValues?.guests?.adults ?? 1);\n const [children, setChildren] = useState<number>(defaultValues?.guests?.children ?? 0);\n const [infants, setInfants] = useState<number>(defaultValues?.guests?.infants ?? 0);\n const [room, setRoom] = useState<number>(defaultValues?.guests?.room ?? 1);\n const [promoCode, setPromoCode] = useState<string>(defaultValues?.promoCode || '');\n const [promoCodeValid, setPromoCodeValid] = useState<boolean>();\n const [selectedProperty, setSelectedProperty] = useState<BookingWizardProperty | undefined>(defaultProperty);\n const [hotelContainerRef, setHotelContainerRef] = useState<HTMLDivElement | null>(null);\n const [guestsContainerRef, setGuestContainerRef] = useState<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (selectedProperty?.colors) {\n RoomstayThemeEngine.changeTheme(selectedProperty.colors);\n } else if (defaultColors) {\n RoomstayThemeEngine.changeTheme(defaultColors);\n }\n }, [selectedProperty]);\n\n const engineConfig = beContext.engine.getConfig() as BookingWizardEngineConfig;\n const guestAgeConfig = engineConfig.guestAgeConfig;\n\n const yearDisplayOption = useMemo(() => {\n return selectedProperty?.yearDisplayOption ?? engineConfig.yearDisplayOption ?? '';\n }, [selectedProperty]);\n\n const showYearOnCalendar = useMemo(() => {\n return !!(selectedProperty?.showYearOnCalendar ?? engineConfig.showYearOnCalendar ?? '');\n }, [selectedProperty]);\n\n const setGuest = (guests: BookingWizardOnBooking['guests']) => {\n setAdults(guests.adults);\n setChildren(guests.children);\n setInfants(guests.infants);\n setRoom(guests.room);\n };\n\n const setDate = (startDate: dayjs.Dayjs | null, endDate: dayjs.Dayjs | null) => {\n setCheckInDate(startDate);\n setCheckOutDate(endDate);\n };\n\n const isValid = () => {\n const isPropertyHidden = bwContext.stateSections[EBookingWizardSection.Property].hidden;\n const isGuestSelectHidden = bwContext.stateSections[EBookingWizardSection.Guest].hidden;\n\n if (!isPropertyHidden && !selectedProperty) return false;\n if (!checkInDate) return false;\n if (!checkOutDate) return false;\n if (!isGuestSelectHidden && adults + children <= 0) return false;\n\n return true;\n };\n\n const _onSubmit = () => {\n if (!isValid()) return false;\n\n // After passing validation, we pass the function up the chain for the engine\n // Implementor to decide where the user should be redirected to\n // This is to give the hotel team a chance to add tracking, or modify the request on their end.\n bwContext.onSubmit?.({\n id: selectedProperty?.id as string,\n checkIn: checkInDate as Dayjs,\n checkout: checkOutDate as Dayjs,\n promoCode,\n guests: {\n adults,\n children,\n infants,\n room,\n },\n });\n };\n\n const _onPromoCodeChange = async (value?: string) => {\n setPromoCode?.(value || '');\n if (!value) {\n setPromoCodeValid(undefined);\n } else if (isValid() && selectedProperty && selectedProperty?.id !== 'All' && checkInDate && checkOutDate) {\n const result = await new AvailabilityAPI().fetchAvailability({\n fromDate: checkInDate,\n toDate: checkOutDate,\n adults,\n children,\n infants,\n promoCode: value,\n hotelId: selectedProperty?.id,\n promoOnly: true,\n });\n\n const rate = Object.values(result.ratePlans).find((rate: any) => rate.promoCode === value);\n setPromoCodeValid(!!rate);\n }\n };\n\n const submitButton = (\n <BEButton disabled={!isValid()} className={styles.bookNowBtn} onClick={_onSubmit}>\n {t(Translation.Misc.BookNow)}\n </BEButton>\n );\n\n return (\n <>\n <div\n className={classNames(\n styles.content,\n styles[`--${bwContext.layout}`],\n {\n [styles['--vertical']]: bwContext.layout === 'button',\n [styles.inline]: bwContext.type === 'inline',\n },\n classname\n )}\n >\n <BWPropertySelectorSection\n hidden={bwContext.stateSections[EBookingWizardSection.Property].hidden}\n inactive={bwContext.stateSections[EBookingWizardSection.Property].inactive}\n withLabel={!bwContext.isImagesThemeMobile}\n divider={!bwContext.isImagesThemeMobile}\n containerRef={hotelContainerRef}\n setContainerRef={setHotelContainerRef}\n properties={properties}\n selectedProperty={selectedProperty}\n setSelectedProperty={setSelectedProperty}\n classname={classname}\n t={t}\n searchConfig={engineConfig.searchConfig}\n />\n\n <BookingWizardDateSelector\n hidden={bwContext.stateSections[EBookingWizardSection.Date].hidden}\n inactive={bwContext.stateSections[EBookingWizardSection.Date].inactive}\n onChange={setDate}\n defaultStartDate={checkInDate ? dayjs(checkInDate) : undefined}\n defaultEndDate={checkOutDate ? dayjs(checkOutDate) : undefined}\n dateFormat={dateFormat}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n notes={bwContext.isImagesTheme ? engineConfig?.notes?.date : undefined}\n />\n\n <BWGuestSelectorSection\n hidden={bwContext.stateSections[EBookingWizardSection.Guest].hidden}\n inactive={bwContext.stateSections[EBookingWizardSection.Guest].inactive}\n divider={!bwContext.isImagesThemeMobile}\n isImagesTheme={bwContext.isImagesTheme}\n containerRef={guestsContainerRef}\n setContainerRef={setGuestContainerRef}\n onChange={setGuest}\n maxAdults={maxAdults}\n disableChild={disableChild}\n showInfants={showInfants}\n disableRoom={disableRoom}\n config={guestAgeConfig}\n notes={bwContext.isImagesTheme ? engineConfig?.notes?.guest : undefined}\n defaultValue={{\n adults: adults,\n children: children,\n room: room,\n infants: infants,\n }}\n defaultGuestConfig={{\n adults: defaultValues?.guests?.adults,\n children: defaultValues?.guests?.children,\n room: defaultValues?.guests?.room,\n infants: defaultValues?.guests?.infants,\n }}\n promoCodeConfig={{\n divider: false,\n withLabel: true,\n promoCode,\n setPromoCode,\n onChange: _onPromoCodeChange,\n valid: promoCodeValid,\n hideTooltip: engineConfig.hideTooltips,\n }}\n submitConfig={{\n onSubmit: _onSubmit,\n disabledNext: !isValid(),\n }}\n />\n\n <BWPromoCodeSection\n hidden={bwContext.stateSections[EBookingWizardSection.Promo].hidden}\n inactive={bwContext.stateSections[EBookingWizardSection.Promo].inactive}\n isImagesTheme={bwContext.isImagesTheme}\n setPromoCode={setPromoCode}\n promoCode={promoCode}\n onChange={_onPromoCodeChange}\n valid={promoCodeValid}\n hideTooltip={engineConfig.hideTooltips}\n t={t}\n divider\n withLabel\n />\n\n {bwContext.layout !== 'horizontal-condensed' && !bwContext.isImagesThemeMobile && <SubmitButtonSection button={submitButton} />}\n </div>\n\n {bwContext.layout === 'horizontal-condensed' && !bwContext.isImagesThemeMobile && (\n <div className={classNames(styles.content, classname)}>\n <div className={classNames(styles.action, styles.centerItems, 'u-marg-top u-marg-top--light@l-')}>{submitButton}</div>\n </div>\n )}\n </>\n );\n};\n\nconst BWPropertySelectorSection = ({\n inactive,\n hidden,\n containerRef,\n setContainerRef,\n properties,\n selectedProperty,\n setSelectedProperty,\n classname,\n t,\n divider = true,\n withLabel = true,\n searchConfig,\n}: BWPropertySelectorSectionProps) => {\n if (hidden) return null;\n\n const [focused, setFocused] = React.useState<boolean>(false);\n const [searchQuery, setSearchQuery] = useState<string>('');\n\n return (\n <>\n <div\n ref={setContainerRef}\n className={classNames(styles.item, styles['item-hotel'], {\n [styles['inactive']]: inactive,\n })}\n >\n <div className={classNames(styles['item-ellipsis-wrapper'])} onFocus={() => setFocused(true)} onBlur={() => setFocused(false)}>\n {withLabel && <label className={styles.label}>{t(Translation.Misc.ChooseHotel)}</label>}\n <BookingWizardHotelSelector\n followElement={containerRef}\n onChange={(value) => {\n setSelectedProperty(value || undefined);\n }}\n properties={properties}\n selectedProperty={selectedProperty}\n contentClassName={classNames(classname)}\n searchConfig={\n searchConfig\n ? {\n ...searchConfig,\n searchQuery,\n setSearchQuery,\n focused,\n }\n : undefined\n }\n />\n </div>\n </div>\n {divider ? (\n <div\n className={classNames(styles.divider, {\n [styles['inactive']]: inactive,\n })}\n />\n ) : null}\n </>\n );\n};\n\nconst BWGuestSelectorSection = ({\n inactive,\n hidden,\n containerRef,\n setContainerRef,\n defaultValue: _defaultValue,\n onChange,\n maxAdults,\n disableChild,\n showInfants,\n disableRoom,\n config,\n notes,\n defaultGuestConfig,\n divider,\n promoCodeConfig,\n submitConfig,\n isImagesTheme,\n}: BWGuestSelectorSectionProps) => {\n if (hidden) return null;\n const { t } = useTranslation();\n const [isOverlayOpen, setIsOverlayOpen] = useState<boolean>(false);\n const [defaultValue, setDefaultValue] = useState<BookingWizardGuestSelectorProps['defaultValue']>(_defaultValue);\n\n const onOverlayOpenChange = (isOpen: boolean) => {\n setIsOverlayOpen(isOpen);\n };\n const onClearHandler = () => {\n const emptyValues: BookingWizardOnBooking['guests'] = {\n adults: 0,\n children: 0,\n room: 0,\n infants: 0,\n };\n onChange({ ...emptyValues });\n setDefaultValue({ ...emptyValues });\n };\n\n return (\n <>\n {divider ? (\n <div\n className={classNames(styles.divider, {\n [styles['inactive']]: inactive,\n })}\n />\n ) : null}\n <div\n ref={setContainerRef}\n className={classNames(styles.item, {\n [styles['inactive']]: inactive,\n })}\n >\n <div className={styles['item-with-icon']}>\n <div className={classNames(styles['item-fullwidth'], styles['item-ellipsis-wrapper'])}>\n <label className={styles.label}>{t(Translation.Misc.Guests)}</label>\n <BookingWizardGuestSelector\n defaultValue={defaultValue}\n onChange={onChange}\n maxAdults={maxAdults}\n disableChild={disableChild}\n showInfants={showInfants}\n disableRoom={disableRoom}\n followElement={containerRef}\n {...config}\n notes={isImagesTheme ? notes : undefined}\n onOverlayOpenChange={onOverlayOpenChange}\n promoCodeConfig={promoCodeConfig}\n submitConfig={submitConfig}\n />\n </div>\n {isImagesTheme && <BWClearButton show={isOverlayOpen} onClick={onClearHandler} />}\n </div>\n </div>\n </>\n );\n};\n\nexport const BWPromoCodeSection = ({\n inactive,\n hidden,\n setPromoCode,\n promoCode,\n onChange,\n valid,\n hideTooltip,\n t,\n isImagesTheme,\n divider = true,\n withLabel = true,\n}: BWPromoCodeSectionProps) => {\n if (hidden) return null;\n const onClearHandler: React.MouseEventHandler<HTMLDivElement> = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n setPromoCode('');\n event.preventDefault();\n event.stopPropagation();\n };\n const [focused, setFocused] = React.useState<boolean>(false);\n return (\n <>\n {divider ? (\n <div\n className={classNames(styles.divider, {\n [styles['inactive']]: inactive,\n })}\n />\n ) : null}\n <div\n className={classNames(styles.item, styles['item-promo-code-wrapper'], {\n [styles['inactive']]: inactive,\n })}\n onFocus={() => setFocused(true)}\n onBlur={() => setFocused(false)}\n >\n <div className={styles['item-with-icon']}>\n <div className={classNames(styles['item-fullwidth'], styles['item-ellipsis-wrapper'])}>\n {withLabel && <label className={styles.label}>{t(Translation.Misc.Promocode)}</label>}\n <BookingWizardPromoCode promoCode={promoCode} onChange={onChange} valid={valid} hideTooltip={hideTooltip} />\n </div>\n\n {isImagesTheme && <BWClearButton show={focused} onClick={onClearHandler} />}\n </div>\n </div>\n </>\n );\n};\n\nconst SubmitButtonSection = ({ button }: { button: React.ReactNode }) => <div className={styles.action}>{button}</div>;\n\ntype BWIconButtonProps = {\n show: boolean;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n hasLabel?: boolean;\n bottomSheet?: boolean;\n hasSearchInput?: boolean;\n icon: IconType;\n name: string;\n className: string;\n};\n\nconst BWIconButton = ({ show, onClick, hasLabel = false, bottomSheet = false, hasSearchInput = false, icon, name, className }: BWIconButtonProps) => {\n if (!show) return null;\n\n return (\n <div\n onMouseDown={(e) => e.preventDefault()} // Prevent blur\n onClick={onClick}\n className={classNames(className, {\n [styles['--has-label']]: hasLabel,\n [styles['--bottom-sheet']]: bottomSheet,\n [styles['--has-search-input']]: hasSearchInput,\n })}\n >\n <Icon icon={icon} name={name} />\n </div>\n );\n};\n\nexport const BWClearButton = (props: Omit<BWIconButtonProps, 'icon' | 'name' | 'className'>) => (\n <BWIconButton {...props} icon={IconType.Close} name=\"Clear\" className={styles['clear-button']} />\n);\n\nexport const BWSearchButton = (props: Omit<BWIconButtonProps, 'icon' | 'name' | 'className' | 'onClick'>) => (\n <BWIconButton {...props} icon={IconType.Search} name=\"Search\" className={styles['search-button']} />\n);\n\n// Interface\ninterface GuestValue {\n adults?: number;\n children?: number;\n infants?: number;\n room?: number;\n}\n\ninterface GuestAgeConfig {\n minAdultAge?: number;\n maxAdultAge?: number;\n ageRange?: {\n child?: { min?: number; max?: number };\n infant?: { min?: number; max?: number };\n };\n}\ninterface BWGuestSelectorSectionProps {\n hidden?: boolean;\n inactive?: boolean;\n isImagesTheme?: boolean;\n containerRef?: HTMLDivElement | null;\n setContainerRef?: React.Dispatch<React.SetStateAction<HTMLDivElement | null>>;\n onChange: (guests: BookingWizardOnBooking['guests']) => void;\n maxAdults?: number | undefined;\n disableChild?: boolean;\n showInfants?: boolean;\n disableRoom?: boolean;\n config?: GuestAgeConfig;\n notes?: React.ReactNode | undefined;\n defaultValue?: GuestValue;\n defaultGuestConfig?: GuestValue;\n divider: boolean;\n promoCodeConfig?: BookingWizardGuestSelectorProps['promoCodeConfig'];\n submitConfig?: BookingWizardGuestSelectorProps['submitConfig'];\n}\ninterface BWPromoCodeSectionProps {\n inactive: boolean;\n hidden: boolean;\n setPromoCode: React.Dispatch<React.SetStateAction<string>>;\n promoCode: string;\n onChange: (value?: string) => Promise<void>;\n valid?: boolean;\n hideTooltip?: boolean;\n t: (key: string) => string;\n isImagesTheme: boolean;\n divider: boolean;\n withLabel: boolean;\n}\ninterface BWPropertySelectorSectionProps extends Pick<BookingWizardEngineConfig, 'searchConfig'> {\n inactive?: boolean;\n hidden?: boolean;\n containerRef?: HTMLDivElement | null;\n setContainerRef?: React.Dispatch<React.SetStateAction<HTMLDivElement | null>>;\n properties: TBookingWizardProperties;\n selectedProperty?: BookingWizardProperty | undefined;\n setSelectedProperty: React.Dispatch<React.SetStateAction<BookingWizardProperty | undefined>>;\n classname?: string;\n t: (key: string) => string;\n divider?: boolean;\n withLabel?: boolean;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"BookingWizardContent.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardContent.tsx"],"names":[],"mappings":"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","sourcesContent":["import 'react-spring-bottom-sheet/dist/style.css';\n\nimport { BookingEngineContext } from '@frontend/contexts';\nimport { Icon, IconType } from '@roomstay/ui';\nimport classNames from 'classnames';\nimport dayjs, { Dayjs } from 'dayjs';\nimport React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport AvailabilityAPI from '@/api/AvailabilityAPI';\nimport { BookingWizardEngineConfig } from '@/engines/BookingWizardEngine/BookingWizardEngine';\nimport { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nimport { TBookingWizardOption, TBookingWizardProperties } from '@/models/BookingWizard/BookingWizardTypes';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { Translation } from '@/translations/Translation';\n\nimport BEButton from '../BEButton';\nimport { EBookingWizardSection } from './BookingWizard';\nimport styles from './BookingWizard.module.scss';\nimport { BookingWizardContext, BookingWizardOnBooking, BWSubmitButtonConfigProps } from './BookingWizardContext';\nimport { BookingWizardDateSelector } from './BookingWizardDateSelector/BookingWizardDateSelector';\nimport { BookingWizardGuestSelector, BookingWizardGuestSelectorProps } from './BookingWizardGuestSelector/BookingWizardGuestSelector';\nimport { BookingWizardHotelSelector } from './BookingWizardHotelSelector/BookingWizardHotelSelector';\nimport { BookingWizardPromoCode } from './BookingWizardPromoCode/BookingWizardPromoCode';\nimport { BookingWizardRoomGroupSelector } from './BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector';\n\nexport interface BookingWizardContentProps {\n defaultColors: BookingWizardProperty['colors'];\n properties: TBookingWizardProperties;\n selectedProperty?: BookingWizardProperty;\n classname?: string;\n maxAdults?: number;\n disableChild?: boolean;\n showInfants?: boolean;\n disableRoom?: boolean;\n hideProperty?: boolean;\n hideGuestSelect?: boolean;\n hidePromocode?: boolean;\n hideRoomGroup?: boolean; // Default: true\n roomGroupOptions?: TBookingWizardOption[];\n defaultValues?: Partial<Omit<BookingWizardOnBooking, 'id' | 'checkIn' | 'checkout'>> & { checkIn?: string; checkout?: string };\n dateFormat?: string;\n}\n\nexport const BookingWizardContent: React.FC<BookingWizardContentProps> = ({\n properties,\n selectedProperty: defaultProperty,\n defaultColors,\n classname,\n maxAdults,\n disableChild,\n showInfants,\n disableRoom,\n defaultValues,\n dateFormat,\n roomGroupOptions = [],\n}) => {\n const bwContext = useContext(BookingWizardContext);\n const beContext = useContext(BookingEngineContext);\n const engineConfig = beContext.engine.getConfig() as BookingWizardEngineConfig;\n const guestAgeConfig = engineConfig.guestAgeConfig;\n const defaultRoomGroup = engineConfig.defaultRoomGroup;\n\n const { t } = useTranslation();\n\n const [checkInDate, setCheckInDate] = useState<Dayjs | null>(defaultValues?.checkIn ? dayjs(defaultValues?.checkIn) : dayjs());\n const [checkOutDate, setCheckOutDate] = useState<Dayjs | null>(defaultValues?.checkout ? dayjs(defaultValues?.checkout) : dayjs().add(1, 'days'));\n const [adults, setAdults] = useState<number>(defaultValues?.guests?.adults ?? 1);\n const [children, setChildren] = useState<number>(defaultValues?.guests?.children ?? 0);\n const [infants, setInfants] = useState<number>(defaultValues?.guests?.infants ?? 0);\n const [room, setRoom] = useState<number>(defaultValues?.guests?.room ?? 1);\n const [promoCode, setPromoCode] = useState<string>(defaultValues?.promoCode || '');\n const [promoCodeValid, setPromoCodeValid] = useState<boolean>();\n const [selectedProperty, setSelectedProperty] = useState<BookingWizardProperty | undefined>(defaultProperty);\n const [hotelContainerRef, setHotelContainerRef] = useState<HTMLDivElement | null>(null);\n const [guestsContainerRef, setGuestContainerRef] = useState<HTMLDivElement | null>(null);\n const [roomGroupContainerRef, setRoomGroupContainerRef] = useState<HTMLDivElement | null>(null);\n const [selectedRoomGroup, setSelectedRoomGroup] = useState<TBookingWizardOption | undefined>(defaultRoomGroup);\n\n useEffect(() => {\n if (selectedProperty?.colors) {\n RoomstayThemeEngine.changeTheme(selectedProperty.colors);\n } else if (defaultColors) {\n RoomstayThemeEngine.changeTheme(defaultColors);\n }\n }, [selectedProperty]);\n\n const yearDisplayOption = useMemo(() => {\n return selectedProperty?.yearDisplayOption ?? engineConfig.yearDisplayOption ?? '';\n }, [selectedProperty]);\n\n const showYearOnCalendar = useMemo(() => {\n return !!(selectedProperty?.showYearOnCalendar ?? engineConfig.showYearOnCalendar ?? '');\n }, [selectedProperty]);\n\n const setGuest = (guests: BookingWizardOnBooking['guests']) => {\n setAdults(guests.adults);\n setChildren(guests.children);\n setInfants(guests.infants);\n setRoom(guests.room);\n };\n\n const setDate = (startDate: dayjs.Dayjs | null, endDate: dayjs.Dayjs | null) => {\n setCheckInDate(startDate);\n setCheckOutDate(endDate);\n };\n\n const isValid = () => {\n const isPropertyHidden = bwContext.stateSections[EBookingWizardSection.Property].hidden;\n const isGuestSelectHidden = bwContext.stateSections[EBookingWizardSection.Guest].hidden;\n const isRoomGroupSelectHidden = bwContext.stateSections[EBookingWizardSection.RoomGroup].hidden;\n\n if (!isPropertyHidden && !selectedProperty) return false;\n if (!isRoomGroupSelectHidden && !selectedRoomGroup) return false;\n if (!checkInDate) return false;\n if (!checkOutDate) return false;\n if (!isGuestSelectHidden && adults + children <= 0) return false;\n\n return true;\n };\n\n const _onSubmit = () => {\n if (!isValid()) return false;\n\n // After passing validation, we pass the function up the chain for the engine\n // Implementor to decide where the user should be redirected to\n // This is to give the hotel team a chance to add tracking, or modify the request on their end.\n bwContext.onSubmit?.({\n id: selectedProperty?.id as string,\n checkIn: checkInDate as Dayjs,\n checkout: checkOutDate as Dayjs,\n promoCode,\n guests: {\n adults,\n children,\n infants,\n room,\n },\n roomGroup: selectedRoomGroup?.value,\n });\n };\n\n const _onPromoCodeChange = async (value?: string) => {\n setPromoCode?.(value || '');\n if (!value) {\n setPromoCodeValid(undefined);\n } else if (isValid() && selectedProperty && selectedProperty?.id !== 'All' && checkInDate && checkOutDate) {\n const result = await new AvailabilityAPI().fetchAvailability({\n fromDate: checkInDate,\n toDate: checkOutDate,\n adults,\n children,\n infants,\n promoCode: value,\n hotelId: selectedProperty?.id,\n promoOnly: true,\n });\n\n const rate = Object.values(result.ratePlans).find((rate: any) => rate.promoCode === value);\n setPromoCodeValid(!!rate);\n }\n };\n\n const submitButton = (\n <BEButton disabled={!isValid()} className={styles.bookNowBtn} onClick={_onSubmit}>\n {t(Translation.Misc.BookNow)}\n </BEButton>\n );\n\n return (\n <>\n <div\n className={classNames(\n styles.content,\n styles[`--${bwContext.layout}`],\n {\n [styles['--vertical']]: bwContext.layout === 'button',\n [styles.inline]: bwContext.type === 'inline',\n },\n classname\n )}\n >\n <BWPropertySelectorSection\n hidden={bwContext.stateSections[EBookingWizardSection.Property].hidden}\n inactive={bwContext.stateSections[EBookingWizardSection.Property].inactive}\n withLabel={!bwContext.isImagesThemeMobile}\n divider={!bwContext.isImagesThemeMobile}\n containerRef={hotelContainerRef}\n setContainerRef={setHotelContainerRef}\n properties={properties}\n selectedProperty={selectedProperty}\n setSelectedProperty={setSelectedProperty}\n classname={classname}\n t={t}\n searchConfig={engineConfig.searchConfig}\n />\n\n <BookingWizardDateSelector\n hidden={bwContext.stateSections[EBookingWizardSection.Date].hidden}\n inactive={bwContext.stateSections[EBookingWizardSection.Date].inactive}\n onChange={setDate}\n defaultStartDate={checkInDate ? dayjs(checkInDate) : undefined}\n defaultEndDate={checkOutDate ? dayjs(checkOutDate) : undefined}\n dateFormat={dateFormat}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n notes={bwContext.isImagesTheme ? engineConfig?.notes?.date : undefined}\n submitConfig={{\n onSubmit: _onSubmit,\n disabledNext: !isValid(),\n }}\n />\n\n <BWGuestSelectorSection\n hidden={bwContext.stateSections[EBookingWizardSection.Guest].hidden}\n inactive={bwContext.stateSections[EBookingWizardSection.Guest].inactive}\n divider={!bwContext.isImagesThemeMobile}\n isImagesTheme={bwContext.isImagesTheme}\n containerRef={guestsContainerRef}\n setContainerRef={setGuestContainerRef}\n onChange={setGuest}\n maxAdults={maxAdults}\n disableChild={disableChild}\n showInfants={showInfants}\n disableRoom={disableRoom}\n config={guestAgeConfig}\n notes={bwContext.isImagesTheme ? engineConfig?.notes?.guest : undefined}\n defaultValue={{\n adults: adults,\n children: children,\n room: room,\n infants: infants,\n }}\n defaultGuestConfig={{\n adults: defaultValues?.guests?.adults,\n children: defaultValues?.guests?.children,\n room: defaultValues?.guests?.room,\n infants: defaultValues?.guests?.infants,\n }}\n promoCodeConfig={{\n divider: false,\n withLabel: true,\n promoCode,\n setPromoCode,\n onChange: _onPromoCodeChange,\n valid: promoCodeValid,\n hideTooltip: engineConfig.hideTooltips,\n }}\n submitConfig={{\n onSubmit: _onSubmit,\n disabledNext: !isValid(),\n }}\n />\n\n <BWPromoCodeSection\n hidden={bwContext.stateSections[EBookingWizardSection.Promo].hidden}\n inactive={bwContext.stateSections[EBookingWizardSection.Promo].inactive}\n isImagesTheme={bwContext.isImagesTheme}\n setPromoCode={setPromoCode}\n promoCode={promoCode}\n onChange={_onPromoCodeChange}\n valid={promoCodeValid}\n hideTooltip={engineConfig.hideTooltips}\n t={t}\n divider\n withLabel\n />\n\n <BWRoomGroupSelectorSection\n hidden={bwContext.stateSections[EBookingWizardSection.RoomGroup].hidden}\n inactive={bwContext.stateSections[EBookingWizardSection.RoomGroup].inactive}\n withLabel\n divider={!bwContext.isImagesThemeMobile}\n containerRef={roomGroupContainerRef}\n setContainerRef={setRoomGroupContainerRef}\n options={roomGroupOptions}\n selectedOption={selectedRoomGroup}\n setSelectedOption={setSelectedRoomGroup}\n classname={classname}\n t={t}\n submitConfig={{\n onSubmit: _onSubmit,\n disabledNext: !isValid(),\n }}\n />\n\n {bwContext.layout !== 'horizontal-condensed' && !bwContext.isImagesThemeMobile && <SubmitButtonSection button={submitButton} />}\n </div>\n\n {bwContext.layout === 'horizontal-condensed' && !bwContext.isImagesThemeMobile && (\n <div className={classNames(styles.content, classname)}>\n <div className={classNames(styles.action, styles.centerItems, 'u-marg-top u-marg-top--light@l-')}>{submitButton}</div>\n </div>\n )}\n </>\n );\n};\n\nconst BWPropertySelectorSection = ({\n inactive,\n hidden,\n containerRef,\n setContainerRef,\n properties,\n selectedProperty,\n setSelectedProperty,\n classname,\n t,\n divider = true,\n withLabel = true,\n searchConfig,\n}: BWPropertySelectorSectionProps) => {\n if (hidden) return null;\n\n const [focused, setFocused] = React.useState<boolean>(false);\n const [searchQuery, setSearchQuery] = useState<string>('');\n\n return (\n <>\n <div\n ref={setContainerRef}\n className={classNames(styles.item, styles['item-hotel'], {\n [styles['inactive']]: inactive,\n })}\n >\n <div className={classNames(styles['item-ellipsis-wrapper'])} onFocus={() => setFocused(true)} onBlur={() => setFocused(false)}>\n {withLabel && <label className={styles.label}>{t(Translation.Misc.ChooseHotel)}</label>}\n <BookingWizardHotelSelector\n followElement={containerRef}\n onChange={(value) => {\n setSelectedProperty(value || undefined);\n }}\n properties={properties}\n selectedProperty={selectedProperty}\n contentClassName={classNames(classname)}\n searchConfig={\n searchConfig\n ? {\n ...searchConfig,\n searchQuery,\n setSearchQuery,\n focused,\n }\n : undefined\n }\n />\n </div>\n </div>\n {divider ? (\n <div\n className={classNames(styles.divider, {\n [styles['inactive']]: inactive,\n })}\n />\n ) : null}\n </>\n );\n};\n\nconst BWGuestSelectorSection = ({\n inactive,\n hidden,\n containerRef,\n setContainerRef,\n defaultValue: _defaultValue,\n onChange,\n maxAdults,\n disableChild,\n showInfants,\n disableRoom,\n config,\n notes,\n defaultGuestConfig,\n divider,\n promoCodeConfig,\n submitConfig,\n isImagesTheme,\n}: BWGuestSelectorSectionProps) => {\n if (hidden) return null;\n const { t } = useTranslation();\n const [isOverlayOpen, setIsOverlayOpen] = useState<boolean>(false);\n const [defaultValue, setDefaultValue] = useState<BookingWizardGuestSelectorProps['defaultValue']>(_defaultValue);\n\n const onOverlayOpenChange = (isOpen: boolean) => {\n setIsOverlayOpen(isOpen);\n };\n const onClearHandler = () => {\n const emptyValues: BookingWizardOnBooking['guests'] = {\n adults: 0,\n children: 0,\n room: 0,\n infants: 0,\n };\n onChange({ ...emptyValues });\n setDefaultValue({ ...emptyValues });\n };\n\n return (\n <>\n {divider ? (\n <div\n className={classNames(styles.divider, {\n [styles['inactive']]: inactive,\n })}\n />\n ) : null}\n <div\n ref={setContainerRef}\n className={classNames(styles.item, {\n [styles['inactive']]: inactive,\n })}\n >\n <div className={styles['item-with-icon']}>\n <div className={classNames(styles['item-fullwidth'], styles['item-ellipsis-wrapper'])}>\n <label className={styles.label}>{t(Translation.Misc.Guests)}</label>\n <BookingWizardGuestSelector\n defaultValue={defaultValue}\n onChange={onChange}\n maxAdults={maxAdults}\n disableChild={disableChild}\n showInfants={showInfants}\n disableRoom={disableRoom}\n followElement={containerRef}\n {...config}\n notes={isImagesTheme ? notes : undefined}\n onOverlayOpenChange={onOverlayOpenChange}\n promoCodeConfig={promoCodeConfig}\n submitConfig={submitConfig}\n />\n </div>\n {isImagesTheme && <BWClearButton show={isOverlayOpen} onClick={onClearHandler} />}\n </div>\n </div>\n </>\n );\n};\n\nexport const BWPromoCodeSection = ({\n inactive,\n hidden,\n setPromoCode,\n promoCode,\n onChange,\n valid,\n hideTooltip,\n t,\n isImagesTheme,\n divider = true,\n withLabel = true,\n}: BWPromoCodeSectionProps) => {\n if (hidden) return null;\n const onClearHandler: React.MouseEventHandler<HTMLDivElement> = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n setPromoCode('');\n event.preventDefault();\n event.stopPropagation();\n };\n const [focused, setFocused] = React.useState<boolean>(false);\n return (\n <>\n {divider ? (\n <div\n className={classNames(styles.divider, {\n [styles['inactive']]: inactive,\n })}\n />\n ) : null}\n <div\n className={classNames(styles.item, styles['item-promo-code-wrapper'], {\n [styles['inactive']]: inactive,\n })}\n onFocus={() => setFocused(true)}\n onBlur={() => setFocused(false)}\n >\n <div className={styles['item-with-icon']}>\n <div className={classNames(styles['item-fullwidth'], styles['item-ellipsis-wrapper'])}>\n {withLabel && <label className={styles.label}>{t(Translation.Misc.Promocode)}</label>}\n <BookingWizardPromoCode promoCode={promoCode} onChange={onChange} valid={valid} hideTooltip={hideTooltip} />\n </div>\n\n {isImagesTheme && <BWClearButton show={focused} onClick={onClearHandler} />}\n </div>\n </div>\n </>\n );\n};\n\nconst BWRoomGroupSelectorSection = ({\n inactive,\n hidden,\n containerRef,\n setContainerRef,\n options,\n selectedOption,\n setSelectedOption,\n classname,\n t,\n divider = true,\n withLabel = true,\n submitConfig,\n}: BWRoomGroupSelectorSectionProps) => {\n if (hidden) return null;\n\n const [focused, setFocused] = React.useState<boolean>(false);\n\n return (\n <>\n {divider ? (\n <div\n className={classNames(styles.divider, {\n [styles['inactive']]: inactive,\n })}\n />\n ) : null}\n <div\n ref={setContainerRef}\n className={classNames(styles.item, styles['item-room-group'], {\n [styles['inactive']]: inactive,\n })}\n >\n <div className={classNames(styles['item-ellipsis-wrapper'])} onFocus={() => setFocused(true)} onBlur={() => setFocused(false)}>\n {withLabel && <label className={styles.label}>{t(Translation.Misc.ChooseRoomGroup)}</label>}\n <BookingWizardRoomGroupSelector\n followElement={containerRef}\n onChange={(value) => {\n setSelectedOption(value || undefined);\n }}\n options={options}\n selectedOption={selectedOption}\n contentClassName={classNames(classname)}\n submitConfig={submitConfig}\n />\n </div>\n </div>\n </>\n );\n};\n\nconst SubmitButtonSection = ({ button }: { button: React.ReactNode }) => <div className={styles.action}>{button}</div>;\n\ntype BWIconButtonProps = {\n show: boolean;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n hasLabel?: boolean;\n bottomSheet?: boolean;\n hasSearchInput?: boolean;\n icon: IconType;\n name: string;\n className: string;\n};\n\nconst BWIconButton = ({ show, onClick, hasLabel = false, bottomSheet = false, hasSearchInput = false, icon, name, className }: BWIconButtonProps) => {\n if (!show) return null;\n\n return (\n <div\n onMouseDown={(e) => e.preventDefault()} // Prevent blur\n onClick={onClick}\n className={classNames(className, {\n [styles['--has-label']]: hasLabel,\n [styles['--bottom-sheet']]: bottomSheet,\n [styles['--has-search-input']]: hasSearchInput,\n })}\n >\n <Icon icon={icon} name={name} />\n </div>\n );\n};\n\nexport const BWClearButton = (props: Omit<BWIconButtonProps, 'icon' | 'name' | 'className'>) => (\n <BWIconButton {...props} icon={IconType.Close} name=\"Clear\" className={styles['clear-button']} />\n);\n\nexport const BWSearchButton = (props: Omit<BWIconButtonProps, 'icon' | 'name' | 'className' | 'onClick'>) => (\n <BWIconButton {...props} icon={IconType.Search} name=\"Search\" className={styles['search-button']} />\n);\n\n// Interface\ninterface GuestValue {\n adults?: number;\n children?: number;\n infants?: number;\n room?: number;\n}\n\ninterface GuestAgeConfig {\n minAdultAge?: number;\n maxAdultAge?: number;\n ageRange?: {\n child?: { min?: number; max?: number };\n infant?: { min?: number; max?: number };\n };\n}\ninterface BWGuestSelectorSectionProps extends BWSubmitButtonConfigProps {\n hidden?: boolean;\n inactive?: boolean;\n isImagesTheme?: boolean;\n containerRef?: HTMLDivElement | null;\n setContainerRef?: React.Dispatch<React.SetStateAction<HTMLDivElement | null>>;\n onChange: (guests: BookingWizardOnBooking['guests']) => void;\n maxAdults?: number | undefined;\n disableChild?: boolean;\n showInfants?: boolean;\n disableRoom?: boolean;\n config?: GuestAgeConfig;\n notes?: React.ReactNode | undefined;\n defaultValue?: GuestValue;\n defaultGuestConfig?: GuestValue;\n divider: boolean;\n promoCodeConfig?: BookingWizardGuestSelectorProps['promoCodeConfig'];\n}\ninterface BWPromoCodeSectionProps {\n inactive: boolean;\n hidden: boolean;\n setPromoCode: React.Dispatch<React.SetStateAction<string>>;\n promoCode: string;\n onChange: (value?: string) => Promise<void>;\n valid?: boolean;\n hideTooltip?: boolean;\n t: (key: string) => string;\n isImagesTheme: boolean;\n divider: boolean;\n withLabel: boolean;\n}\ninterface BWPropertySelectorSectionProps extends Pick<BookingWizardEngineConfig, 'searchConfig'> {\n inactive?: boolean;\n hidden?: boolean;\n containerRef?: HTMLDivElement | null;\n setContainerRef?: React.Dispatch<React.SetStateAction<HTMLDivElement | null>>;\n properties: TBookingWizardProperties;\n selectedProperty?: BookingWizardProperty | undefined;\n setSelectedProperty: React.Dispatch<React.SetStateAction<BookingWizardProperty | undefined>>;\n classname?: string;\n t: (key: string) => string;\n divider?: boolean;\n withLabel?: boolean;\n}\n\ninterface BWRoomGroupSelectorSectionProps extends BWSubmitButtonConfigProps {\n inactive?: boolean;\n hidden?: boolean;\n containerRef?: HTMLDivElement | null;\n setContainerRef?: React.Dispatch<React.SetStateAction<HTMLDivElement | null>>;\n options: TBookingWizardOption[];\n selectedOption?: TBookingWizardOption | undefined;\n setSelectedOption: React.Dispatch<React.SetStateAction<TBookingWizardOption | undefined>>;\n classname?: string;\n t: (key: string) => string;\n divider?: boolean;\n withLabel?: boolean;\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import type { Placement } from '@popperjs/core';
|
|
2
3
|
import dayjs from 'dayjs';
|
|
3
4
|
import type ColorProfile from '../../../models/Client/Hotel/ColorProfile';
|
|
@@ -16,6 +17,13 @@ export interface BookingWizardOnBooking {
|
|
|
16
17
|
infants: number;
|
|
17
18
|
room: number;
|
|
18
19
|
};
|
|
20
|
+
roomGroup?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface BWSubmitButtonConfigProps {
|
|
23
|
+
submitConfig?: {
|
|
24
|
+
onSubmit: () => false | undefined;
|
|
25
|
+
disabledNext: boolean;
|
|
26
|
+
};
|
|
19
27
|
}
|
|
20
28
|
export interface BookingWizardContextType {
|
|
21
29
|
layout: BookingWizardLayout;
|
|
@@ -43,6 +51,7 @@ export interface BookingWizardContextType {
|
|
|
43
51
|
isFirst: boolean;
|
|
44
52
|
hidden: boolean;
|
|
45
53
|
inactive: boolean;
|
|
54
|
+
isLast: boolean;
|
|
46
55
|
}>;
|
|
47
56
|
}
|
|
48
57
|
export declare const BookingWizardContext: import("react").Context<BookingWizardContextType>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingWizardContext.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardContext.ts"],"names":[],"mappings":";;;AAEA,iCAAkD;
|
|
1
|
+
{"version":3,"file":"BookingWizardContext.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardContext.ts"],"names":[],"mappings":";;;AAEA,iCAAkD;AAkErC,QAAA,oBAAoB,GAAG,IAAA,qBAAa,EAA2B,EAA8B,CAAC,CAAC;AAErG,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,IAAA,kBAAU,EAAC,4BAAoB,CAAC,CAAC;AAA1D,QAAA,gBAAgB,oBAA0C","sourcesContent":["import type { Placement } from '@popperjs/core';\nimport dayjs from 'dayjs';\nimport { createContext, useContext } from 'react';\n\nimport type ColorProfile from '@/models/Client/Hotel/ColorProfile';\n\nimport { EBookingWizardSection, EBookingWizardTheme } from './BookingWizard';\n\nexport type BookingWizardLayout = 'vertical' | 'horizontal' | 'button' | 'horizontal-condensed' | 'booking-summary';\nexport type BookingWizardOverlayType = 'popup' | 'inline' | 'bottom-sheet' | 'top-sheet';\nexport type BookingWizardTheme = EBookingWizardTheme;\n\nexport interface BookingWizardOnBooking {\n id: string;\n checkIn: dayjs.Dayjs;\n checkout: dayjs.Dayjs;\n promoCode?: string;\n guests: {\n adults: number;\n children: number;\n infants: number;\n room: number;\n };\n roomGroup?: string;\n}\n\nexport interface BWSubmitButtonConfigProps {\n submitConfig?: {\n onSubmit: () => false | undefined;\n disabledNext: boolean;\n };\n}\n\nexport interface BookingWizardContextType {\n layout: BookingWizardLayout;\n type: BookingWizardOverlayType;\n theme: BookingWizardTheme;\n className?: string;\n style?: any;\n color?: ColorProfile;\n isMobile?: boolean;\n isSmallContainer?: boolean;\n\n onSubmit?: (result: BookingWizardOnBooking) => void;\n\n overlay?: {\n offset?: [number, number];\n placement?: Placement;\n fallbackPlacements?: Placement;\n dateOffset?: [number, number];\n };\n isImagesTheme: boolean;\n isImagesThemeMobile: boolean;\n activeSection: EBookingWizardSection | null; // Currently active section in the wizard\n onNextHandler: (currentSection: EBookingWizardSection) => void; // Called when proceeding to the next section\n onPrevHandler: (currentSection: EBookingWizardSection) => void; // Called when returning to the previous section\n stateSections: Record<\n EBookingWizardSection,\n {\n opening: boolean; // Indicates if the section is currently expanding/animating\n isFirst: boolean; // Marks the first enabled/available section in the flow\n hidden: boolean; // Whether the section is excluded (unsupported/disabled)\n inactive: boolean; // Whether the section is currently inactive (not rendered/visible),\n isLast: boolean; // Marks the last enabled/available section in the flow\n }\n >;\n}\n\nexport const BookingWizardContext = createContext<BookingWizardContextType>({} as BookingWizardContextType);\n\nexport const useBookingWizard = () => useContext(BookingWizardContext);\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import dayjs from 'dayjs';
|
|
2
2
|
import React, { ReactNode } from 'react';
|
|
3
3
|
import { ShowYearOnCalendarProps } from '../../../../models/Api/HotelOverrideDTO';
|
|
4
|
-
|
|
4
|
+
import { BWSubmitButtonConfigProps } from '../BookingWizardContext';
|
|
5
|
+
export interface BookingWizardDateSelectorProps extends ShowYearOnCalendarProps, BWSubmitButtonConfigProps {
|
|
5
6
|
open?: boolean;
|
|
6
7
|
defaultStartDate?: dayjs.Dayjs;
|
|
7
8
|
defaultEndDate?: dayjs.Dayjs;
|
|
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) ||
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
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
|
+
};
|
|
35
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
27
|
};
|
|
@@ -54,7 +44,7 @@ const BookingWizardContent_1 = require("../BookingWizardContent");
|
|
|
54
44
|
const BookingWizardContext_1 = require("../BookingWizardContext");
|
|
55
45
|
const BookingWizardDateSelector_module_scss_1 = __importDefault(require("./BookingWizardDateSelector.module.scss"));
|
|
56
46
|
const BookingWizardDateSelector = (props) => {
|
|
57
|
-
const { defaultStartDate, defaultEndDate, dateFormat = 'MMM DD', showYearOnCalendar, yearDisplayOption, divider = true, hidden, inactive } = props;
|
|
47
|
+
const { defaultStartDate, defaultEndDate, dateFormat = 'MMM DD', showYearOnCalendar, yearDisplayOption, divider = true, hidden, inactive, submitConfig } = props;
|
|
58
48
|
if (hidden)
|
|
59
49
|
return null;
|
|
60
50
|
const { overlay, theme, layout, type: overlayType, isMobile, isSmallContainer, stateSections, onPrevHandler, onNextHandler, isImagesTheme, isImagesThemeMobile, } = (0, BookingWizardContext_1.useBookingWizard)();
|
|
@@ -189,7 +179,7 @@ const BookingWizardDateSelector = (props) => {
|
|
|
189
179
|
if (!isImagesThemeMobile) {
|
|
190
180
|
setIsOpen(false);
|
|
191
181
|
}
|
|
192
|
-
}, header: react_1.default.createElement(BookingWizardBottomSheet_1.BWBottomSheetHeader, { title: t(Translation_1.Translation.Misc.ChooseDates), onClose: () => setIsOpen(false) }), footer: react_1.default.createElement(BookingWizardBottomSheet_1.BWBottomSheetFooter, { hidePrev: stateSections[BookingWizard_1.EBookingWizardSection.Date].isFirst, onPrev: () => onPrevHandler(BookingWizard_1.EBookingWizardSection.Date), onNext: () => onNextHandler(BookingWizard_1.EBookingWizardSection.Date), disabledNext: !startDate || !endDate }) },
|
|
182
|
+
}, header: react_1.default.createElement(BookingWizardBottomSheet_1.BWBottomSheetHeader, { title: t(Translation_1.Translation.Misc.ChooseDates), onClose: () => setIsOpen(false) }), footer: submitConfig ? (react_1.default.createElement(BookingWizardBottomSheet_1.BWBottomSheetFooter, { hidePrev: stateSections[BookingWizard_1.EBookingWizardSection.Date].isFirst, onPrev: () => onPrevHandler(BookingWizard_1.EBookingWizardSection.Date), onNext: () => (stateSections[BookingWizard_1.EBookingWizardSection.Date].isLast ? submitConfig.onSubmit() : onNextHandler(BookingWizard_1.EBookingWizardSection.Date)), nextLabel: stateSections[BookingWizard_1.EBookingWizardSection.Date].isLast ? t(Translation_1.Translation.Misc.BookNow) : undefined, disabledNext: !startDate || !endDate })) : null },
|
|
193
183
|
react_1.default.createElement("div", { className: BookingWizardDateSelector_module_scss_1.default['bottom-sheet-container-box'] },
|
|
194
184
|
react_1.default.createElement(DateRangePicker_1.default, { selectedStartDate: startDate, selectedEndDate: endDate, onStartDateChanged: (date) => {
|
|
195
185
|
setSelectingStartDate(date);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingWizardDateSelector.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAAoC;AACpC,kDAAqC;AACrC,+CAA8D;AAC9D,iDAA+C;AAE/C,iFAAyD;AACzD,6EAAqD;AACrD,2GAAmF;AACnF,qEAA6C;AAE7C,4DAAyD;AAEzD,4GAAuH;AACvH,oDAA8E;AAC9E,6FAA+D;AAC/D,iHAA0I;AAC1I,kEAAwD;AACxD,kEAA2D;AAC3D,oHAA6D;AActD,MAAM,yBAAyB,GAA6C,CAAC,KAAK,EAAE,EAAE;IACzF,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,GAAG,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACnJ,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,EACF,OAAO,EACP,KAAK,EACL,MAAM,EACN,IAAI,EAAE,WAAW,EACjB,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,mBAAmB,GACtB,GAAG,IAAA,uCAAgB,GAAE,CAAC;IACvB,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,qBAAqB,GAAG,eAAK,CAAC,MAAM,CAAgC,IAAI,CAAC,CAAC;IAEhF,iEAAiE;IACjE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAqB,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,eAAK,GAAE,CAAC,CAAC,CAAC;IACrH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAqB,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,eAAK,GAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9H,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAAqB,SAAS,CAAC,CAAC;IAC5F,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAqB,OAAO,CAAC,CAAC;IACtF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IACnE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,eAAK,CAAC,QAAQ,EAA2B,CAAC;IAC5F,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAS,CAAC,CAAC,CAAC;IAExD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,OAAO,GAAG,aAAa,CAAC,qCAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAClE,SAAS,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,IAAI,UAAU,GAAQ,eAAK,CAAC,QAAQ,CAAC;IACrC,MAAM,eAAe,GAAG,EAAS,CAAC;IAClC,IAAI,MAAM,KAAK,QAAQ,IAAI,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACtD,UAAU,GAAG,KAAK,CAAC;QACnB,eAAe,CAAC,SAAS,GAAG,IAAA,oBAAU,EAAC,mCAAmB,CAAC,SAAS,EAAE;YAClE,CAAC,mCAAmB,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ;SAC9C,CAAC,CAAC;QACH,eAAe,CAAC,GAAG,GAAG,CAAC,GAAQ,EAAE,EAAE;YAC/B,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtB,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,SAA6B,EAAE,OAA2B,EAAE,EAAE;;QAC3E,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,UAAU,CAAC,OAAO,CAAC,CAAC;QAEpB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvB,SAAS,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,MAAA,KAAK,CAAC,QAAQ,sDAAG,SAAS,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,UAAuB,EAAE,EAAE;;QACtD,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,sDAAG,SAAkB,EAAE,UAAU,CAAC,CAAC;QAElD,UAAU,CAAC,UAAU,CAAC,CAAC;QACvB,IAAI,UAAU,EAAE,CAAC;YACb,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACvB,SAAS,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,GAAG,EAAE;;QACjC,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,OAAO,0CAAE,MAAM,EAAE,CAAC;QACzC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,MAAe,EAAE,EAAE;QAC5C,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAwC,EAAE,EAAE;QAC5E,OAAO,aAAa,CAAC,CAAC,CAAC,8BAAC,oCAAa,IAAC,IAAI,EAAE,aAAa,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,6DAAK,CAAC;IACtG,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACjB,OAAO,CAAC,kBAA2B,EAAE,gBAAyB,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,IAAkB,EAAE,aAAuB,EAAE,EAAE;QACjE,MAAM,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACxF,OAAO,CACH,uCACI,SAAS,EAAE,IAAA,oBAAU,EAAC;gBAClB,CAAC,mCAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa;gBAC1C,CAAC,mCAAmB,CAAC,gBAAgB,CAAC,CAAC,EAAE,aAAa;aACzD,CAAC,EACF,OAAO,EAAE,uBAAuB;YAEhC,uCAAK,SAAS,EAAE,mCAAmB,CAAC,gBAAgB,CAAC;gBACjD;oBACI,yCAAO,SAAS,EAAE,mCAAmB,CAAC,KAAK,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAS;oBACjF,MAAM,KAAK,sBAAsB,CAAC,CAAC,CAAC,CACjC;wBACI,8BAAC,cAAI,IAAC,SAAS,EAAE,IAAA,oBAAU,EAAC,+CAAM,CAAC,IAAI,EAAE,+CAAM,CAAC,QAAQ,CAAC,EAAE,mCAAmB,CAAC,KAAK,CAAC,EAAE,IAAI,UACtF,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,IAAI,CAAC,KAAI,kBAAkB,CACtC;wBACP,8BAAC,cAAI,IAAC,SAAS,EAAE,IAAA,oBAAU,EAAC,+CAAM,CAAC,IAAI,EAAE,+CAAM,CAAC,QAAQ,CAAC,EAAE,mCAAmB,CAAC,KAAK,CAAC,EAAE,IAAI,UACtF,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,KAAK,CAAC,KAAI,kBAAkB,CACvC,CACR,CACN,CAAC,CAAC,CAAC,CACA,8BAAC,cAAI,IAAC,SAAS,EAAE,IAAA,oBAAU,EAAC,+CAAM,CAAC,IAAI,EAAE,mCAAmB,CAAC,KAAK,CAAC,EAAE,IAAI,UACpE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,UAAU,CAAC,KAAI,kBAAkB,CAC5C,CACV,CACC;gBACN,8BAAC,WAAW,IACR,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,GAAG,EAAE;wBACV,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC3B,CAAC,GACH,CACA,CACJ,CACT,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,IAAkB,EAAE,EAAE;QACzC,MAAM,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACzF,OAAO,CACH,uCACI,SAAS,EAAE,IAAA,oBAAU,EAAC,mCAAmB,CAAC,IAAI,EAAE;gBAC5C,CAAC,mCAAmB,CAAC,QAAQ,CAAC,CAAC,EAAE,aAAa,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO;aAC5E,CAAC,EACF,OAAO,EAAE,uBAAuB;YAEhC,uCAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,mCAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAC7D;oBACI,yCAAO,SAAS,EAAE,mCAAmB,CAAC,KAAK,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAS;oBAClF,MAAM,KAAK,sBAAsB,CAAC,CAAC,CAAC,CACjC;wBACI,8BAAC,cAAI,IAAC,SAAS,EAAE,IAAA,oBAAU,EAAC,+CAAM,CAAC,IAAI,EAAE,+CAAM,CAAC,QAAQ,CAAC,EAAE,mCAAmB,CAAC,KAAK,CAAC,EAAE,IAAI,UACtF,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,IAAI,CAAC,KAAI,kBAAkB,CACtC;wBACP,8BAAC,cAAI,IAAC,SAAS,EAAE,IAAA,oBAAU,EAAC,+CAAM,CAAC,IAAI,EAAE,+CAAM,CAAC,QAAQ,CAAC,EAAE,mCAAmB,CAAC,KAAK,CAAC,EAAE,IAAI,UACtF,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,KAAK,CAAC,KAAI,kBAAkB,CACvC,CACR,CACN,CAAC,CAAC,CAAC,CACA,8BAAC,cAAI,IAAC,SAAS,EAAE,IAAA,oBAAU,EAAC,+CAAM,CAAC,IAAI,EAAE,mCAAmB,CAAC,KAAK,CAAC,EAAE,IAAI,UACpE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,UAAU,CAAC,KAAI,kBAAkB,CAC5C,CACV,CACC;gBACN,8BAAC,WAAW,IACR,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,GAAG,EAAE;wBACV,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC7B,CAAC,GACH,CACA,CACJ,CACT,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,OAAqB,EAAE,QAAsB,EAAE,EAAE;QACpE,OAAO,CACH,uCAAK,OAAO,EAAE,uBAAuB;YACjC,yCAAO,SAAS,EAAE,mCAAmB,CAAC,KAAK,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAS;YAChF,8BAAC,cAAI,IAAC,SAAS,EAAE,+CAAM,CAAC,IAAI,EAAE,IAAI,UAAE,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,UAAU,CAAC,KAAI,EAAE,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAC,UAAU,CAAC,KAAI,EAAE,EAAE,CAAQ,CACxH,CACT,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,MAAM,KAAK,YAAY,IAAI,CAAC,QAAQ,CAAC;IAEhE,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CACH,uCAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,+CAAM,CAAC,SAAS,EAAE,EAAE,CAAC,+CAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YACxE,8BAAC,UAAU,oBAAK,eAAe;gBAC1B,YAAY,CAAC,SAAkB,CAAC;gBACjC,uCAAK,SAAS,EAAE,mCAAmB,CAAC,OAAO,GAAI;gBAC9C,aAAa,CAAC,OAAgB,CAAC,CACvB;YACb,uCAAK,SAAS,EAAE,+CAAM,CAAC,kBAAkB,CAAC;gBACtC,8BAAC,wBAAc,IAAC,IAAI,EAAE,MAAM;oBACxB,uCAAK,SAAS,EAAE,+CAAM,CAAC,YAAY,CAAC;wBAChC,8BAAC,yBAAe,IACZ,iBAAiB,EAAE,SAAkB,EACrC,eAAe,EAAE,OAAgB,EACjC,kBAAkB,EAAE,YAAY,EAChC,gBAAgB,EAAE,qBAAqB,EACvC,KAAK,EAAE,MAAM,KAAK,sBAAsB,CAAC,CAAC,CAAC,mCAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAC/E,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,GACtC,CACA,CACO,CACf,CACJ,CACT,CAAC;IACN,CAAC;IAED,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;QACjC,MAAM,qBAAqB,GAAG,GAAG,EAAE;YAC/B,IAAI,aAAa,EAAE,CAAC;gBAChB,OAAO,CACH,8BAAC,kBAAQ,IACL,iBAAiB,QACjB,OAAO,QACP,OAAO,QACP,IAAI,QACJ,OAAO,EAAE,GAAG,EAAE;wBACV,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;oBACtC,CAAC,IAEA,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAC3B,CACd,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,OAAO,CACH,8BAAC,kBAAQ,IAAC,IAAI,QAAC,OAAO,QAAC,MAAM,QAAC,OAAO,EAAE,OAAO,IACzC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CACnB,CACd,CAAC;YACN,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CACH;YACI,8BAAC,UAAU,oBAAK,eAAe,GAC1B,CAAC,QAAQ,IAAI,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CACpC,uCAAK,SAAS,EAAE,mCAAmB,CAAC,IAAI,IAAG,aAAa,CAAC,SAAkB,EAAE,OAAgB,CAAC,CAAO,CACxG,CAAC,CAAC,CAAC,CACA;gBACK,YAAY,CAAC,SAAkB,CAAC;gBACjC,uCAAK,SAAS,EAAE,mCAAmB,CAAC,OAAO,GAAI;gBAC9C,aAAa,CAAC,OAAgB,CAAC,CACjC,CACN,CACQ;YACb,8BAAC,kCAAwB,IACrB,SAAS,EAAE,IAAA,oBAAU,EAAC,+CAAM,CAAC,SAAS,EAAE,+CAAM,CAAC,wBAAwB,CAAC,EAAE;oBACtE,CAAC,+CAAM,CAAC,6BAA6B,CAAC,CAAC,EAAE,aAAa;iBACzD,CAAC,EACF,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACvB,SAAS,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC;gBACL,CAAC,EACD,MAAM,EAAE,8BAAC,8CAAmB,IAAC,KAAK,EAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAI,EACxG,MAAM,EACF,8BAAC,8CAAmB,IAChB,QAAQ,EAAE,aAAa,CAAC,qCAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,EAC3D,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,qCAAqB,CAAC,IAAI,CAAC,EACvD,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,qCAAqB,CAAC,IAAI,CAAC,EACvD,YAAY,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,GACtC;gBAGN,uCAAK,SAAS,EAAE,+CAAM,CAAC,4BAA4B,CAAC;oBAChD,8BAAC,yBAAe,IACZ,iBAAiB,EAAE,SAAkB,EACrC,eAAe,EAAE,OAAgB,EACjC,kBAAkB,EAAE,CAAC,IAAiB,EAAE,EAAE;4BACtC,qBAAqB,CAAC,IAAI,CAAC,CAAC;4BAC5B,IAAI,mBAAmB,EAAE,CAAC;gCACtB,YAAY,CAAC,IAAI,CAAC,CAAC;4BACvB,CAAC;wBACL,CAAC,EACD,gBAAgB,EAAE,CAAC,IAAiB,EAAE,EAAE;4BACpC,mBAAmB,CAAC,IAAI,CAAC,CAAC;4BAC1B,IAAI,mBAAmB,EAAE,CAAC;gCACtB,qBAAqB,CAAC,IAAI,CAAC,CAAC;4BAChC,CAAC;wBACL,CAAC,EACD,KAAK,EAAE,KAAK,EACZ,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,+CAAM,CAAC,qCAAqC,CAAC,EACxD,kBAAkB,EAAE,aAAa,EACjC,UAAU,EAAE,KAAK,KAAK,mCAAmB,CAAC,MAAM,EAChD,UAAU,EAAE,UAAU,GACxB;oBACF,8BAAC,qBAAqB,OAAG,CACvB,CACiB,CAC5B,CACN,CAAC;IACN,CAAC;IAED,IAAI,MAAM,KAAK,YAAY,IAAI,KAAK,KAAK,mCAAmB,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtG,OAAO,CACH,8BAAC,UAAU,oBAAK,eAAe;YAC3B,8BAAC,iCAAuB,IACpB,GAAG,EAAE,qBAAqB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,SAAkB,EAC7B,OAAO,EAAE,OAAgB,EACzB,mBAAmB,EAAE,OAAO,EAC5B,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAClC,SAAS,EAAE,mCAAmB,CAAC,IAAI,EACnC,KAAK,EAAE,KAAK,EACZ,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE;oBACL,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;oBAC7B,kBAAkB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;iBAClD,EACD,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,IAEnC,aAAa,CAAC,SAAkB,EAAE,OAAgB,CAAC,CAC9B,CACjB,CAChB,CAAC;IACN,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,KAAI,aAAa,CAAC,CAAC,CAAC,uCAAK,SAAS,EAAE,mCAAmB,CAAC,KAAK,IAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAClH,CAAC,CAAC;IAEF,OAAO,CACH,8BAAC,UAAU,oBAAK,eAAe;QAC3B,8BAAC,iCAAuB,IACpB,GAAG,EAAE,qBAAqB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,SAAkB,EAC7B,OAAO,EAAE,OAAgB,EACzB,mBAAmB,EAAE,OAAO,EAC5B,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAClC,KAAK,EAAE,MAAM,KAAK,sBAAsB,CAAC,CAAC,CAAC,mCAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAC/E,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,IAAA,oBAAU,EAAC,mCAAmB,CAAC,IAAI,EAAE;gBAC5C,CAAC,mCAAmB,CAAC,QAAQ,CAAC,CAAC,EAAE,aAAa,IAAI,CAAC,CAAC,OAAO;aAC9D,CAAC,EACF,OAAO,EAAE;gBACL,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;gBAC7B,kBAAkB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;aAClD,EACD,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,8BAAC,SAAS,OAAG,EACpB,mBAAmB,EAAE,mBAAmB,IAEvC,YAAY,CAAC,SAAkB,EAAE,IAAI,CAAC,CACjB;QAC1B,uCAAK,SAAS,EAAE,MAAM,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,mCAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAI;QACtF,aAAa,CAAC,OAAgB,CAAC,CACvB,CAChB,CAAC;AACN,CAAC,CAAC;AA/VW,QAAA,yBAAyB,6BA+VpC","sourcesContent":["import classNames from 'classnames';\nimport dayjs, { Dayjs } from 'dayjs';\nimport React, { ReactNode, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport BEButton from '@/components/generic/BEButton';\nimport DateRangePicker from '@/components/generic/DateRangePicker/DateRangePicker';\nimport Text from '@/components/generic/Text';\nimport { ShowYearOnCalendarProps } from '@/models/Api/HotelOverrideDTO';\nimport { Translation } from '@/translations/Translation';\n\nimport FloatingDateRangePicker, { FloatingDateRangePickerHandle } from '../../DateRangePicker/FloatingDateRangePicker';\nimport { EBookingWizardSection, EBookingWizardTheme } from '../BookingWizard';\nimport bookingWizardStyles from '../BookingWizard.module.scss';\nimport BookingWizardBottomSheet, { BWBottomSheetFooter, BWBottomSheetHeader } from '../BookingWizardBottomSheet/BookingWizardBottomSheet';\nimport { BWClearButton } from '../BookingWizardContent';\nimport { useBookingWizard } from '../BookingWizardContext';\nimport styles from './BookingWizardDateSelector.module.scss';\n\nexport interface BookingWizardDateSelectorProps extends ShowYearOnCalendarProps {\n open?: boolean;\n defaultStartDate?: dayjs.Dayjs;\n defaultEndDate?: dayjs.Dayjs;\n dateFormat?: string;\n onChange?: (startDate: dayjs.Dayjs | null, endDate: dayjs.Dayjs | null) => void;\n notes?: ReactNode;\n divider?: boolean;\n hidden?: boolean;\n inactive?: boolean;\n}\n\nexport const BookingWizardDateSelector: React.FC<BookingWizardDateSelectorProps> = (props) => {\n const { defaultStartDate, defaultEndDate, dateFormat = 'MMM DD', showYearOnCalendar, yearDisplayOption, divider = true, hidden, inactive } = props;\n if (hidden) return null;\n const {\n overlay,\n theme,\n layout,\n type: overlayType,\n isMobile,\n isSmallContainer,\n stateSections,\n onPrevHandler,\n onNextHandler,\n isImagesTheme,\n isImagesThemeMobile,\n } = useBookingWizard();\n const { t } = useTranslation();\n\n const checkOutDatePickerRef = React.useRef<FloatingDateRangePickerHandle>(null);\n\n //With isImagesTheme, default both startDate and endDate are null\n const [startDate, setStartDate] = useState<dayjs.Dayjs | null>(defaultStartDate ?? (isImagesTheme ? null : dayjs()));\n const [endDate, setEndDate] = useState<dayjs.Dayjs | null>(defaultEndDate ?? (isImagesTheme ? null : dayjs().add(1, 'days')));\n const [selectingStartDate, setSelectingStartDate] = useState<dayjs.Dayjs | null>(startDate);\n const [selectingEndDate, setSelectingEndDate] = useState<dayjs.Dayjs | null>(endDate);\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const [isOverlayOpen, setIsOverlayOpen] = useState<boolean>(false);\n const [checkInWrapperRef, setCheckInWrapperRef] = React.useState<HTMLElement | undefined>();\n const [monthCount, setMonthCount] = useState<number>(2);\n\n useEffect(() => {\n const opening = stateSections[EBookingWizardSection.Date].opening;\n setIsOpen(opening);\n }, [stateSections]);\n\n let RowWrapper: any = React.Fragment;\n const rowWrapperProps = {} as any;\n if (layout === 'button' || isMobile || isSmallContainer) {\n RowWrapper = 'div';\n rowWrapperProps.className = classNames(bookingWizardStyles.itemGroup, {\n [bookingWizardStyles['inactive']]: inactive,\n });\n rowWrapperProps.ref = (ref: any) => {\n if (layout === 'button') {\n setCheckInWrapperRef(ref);\n }\n };\n }\n\n const setDate = (startDate: dayjs.Dayjs | null, endDate: dayjs.Dayjs | null) => {\n setStartDate(startDate);\n setEndDate(endDate);\n\n if (!isImagesThemeMobile) {\n setIsOpen(false);\n }\n\n props.onChange?.(startDate, endDate);\n };\n\n const _onCheckoutDateChange = (newEndDate: dayjs.Dayjs) => {\n props?.onChange?.(startDate as Dayjs, newEndDate);\n\n setEndDate(newEndDate);\n if (newEndDate) {\n if (!isImagesThemeMobile) {\n setIsOpen(false);\n }\n }\n };\n\n const _toggleInlineDatePicker = () => {\n checkOutDatePickerRef?.current?.toggle();\n setIsOpen(!isOpen);\n };\n\n const onOverlayOpenChange = (isOpen: boolean) => {\n setIsOverlayOpen(isOpen);\n };\n\n const ClearButton = ({ date, onClick }: { date?: dayjs.Dayjs; onClick: any }) => {\n return isImagesTheme ? <BWClearButton show={isOverlayOpen && !!date} onClick={onClick} /> : <></>;\n };\n\n const onApply = () => {\n setDate(selectingStartDate as Dayjs, selectingEndDate as Dayjs);\n };\n\n const _checkInDate = (date?: dayjs.Dayjs, disabledClass?: boolean) => {\n const defaultPlaceHolder = isImagesTheme ? t(Translation.Misc.CheckInPlaceHolder) : '-';\n return (\n <div\n className={classNames({\n [bookingWizardStyles.item]: !disabledClass,\n [bookingWizardStyles['item-fullwidth']]: isImagesTheme,\n })}\n onClick={_toggleInlineDatePicker}\n >\n <div className={bookingWizardStyles['item-with-icon']}>\n <div>\n <label className={bookingWizardStyles.label}>{t(Translation.Misc.CheckIn)}</label>\n {layout === 'horizontal-condensed' ? (\n <>\n <Text className={classNames(styles.date, styles['line-1'], bookingWizardStyles.value)} bold>\n {date?.format('DD') || defaultPlaceHolder}\n </Text>\n <Text className={classNames(styles.date, styles['line-2'], bookingWizardStyles.value)} bold>\n {date?.format('MMM') || defaultPlaceHolder}\n </Text>\n </>\n ) : (\n <Text className={classNames(styles.date, bookingWizardStyles.value)} bold>\n {date?.format(dateFormat) || defaultPlaceHolder}\n </Text>\n )}\n </div>\n <ClearButton\n date={date}\n onClick={() => {\n setDate(null, endDate);\n }}\n />\n </div>\n </div>\n );\n };\n\n const _checkOutDate = (date?: dayjs.Dayjs) => {\n const defaultPlaceHolder = isImagesTheme ? t(Translation.Misc.CheckOutPlaceHolder) : '-';\n return (\n <div\n className={classNames(bookingWizardStyles.item, {\n [bookingWizardStyles['active']]: isOverlayOpen && !!startDate && !endDate,\n })}\n onClick={_toggleInlineDatePicker}\n >\n <div className={classNames(bookingWizardStyles['item-with-icon'])}>\n <div>\n <label className={bookingWizardStyles.label}>{t(Translation.Misc.CheckOut)}</label>\n {layout === 'horizontal-condensed' ? (\n <>\n <Text className={classNames(styles.date, styles['line-1'], bookingWizardStyles.value)} bold>\n {date?.format('DD') || defaultPlaceHolder}\n </Text>\n <Text className={classNames(styles.date, styles['line-2'], bookingWizardStyles.value)} bold>\n {date?.format('MMM') || defaultPlaceHolder}\n </Text>\n </>\n ) : (\n <Text className={classNames(styles.date, bookingWizardStyles.value)} bold>\n {date?.format(dateFormat) || defaultPlaceHolder}\n </Text>\n )}\n </div>\n <ClearButton\n date={date}\n onClick={() => {\n setDate(startDate, null);\n }}\n />\n </div>\n </div>\n );\n };\n\n const _combineDates = (checkIn?: dayjs.Dayjs, checkOut?: dayjs.Dayjs) => {\n return (\n <div onClick={_toggleInlineDatePicker}>\n <label className={bookingWizardStyles.label}>{t(Translation.Misc.Dates)}</label>\n <Text className={styles.date} bold>{`${checkIn?.format(dateFormat) || ''} - ${checkOut?.format(dateFormat) || ''}`}</Text>\n </div>\n );\n };\n\n const showMultipleMonths = layout === 'horizontal' && !isMobile;\n\n if (overlayType === 'inline') {\n return (\n <div className={classNames(styles.container, { [styles['--open']]: isOpen })}>\n <RowWrapper {...rowWrapperProps}>\n {_checkInDate(startDate as Dayjs)}\n <div className={bookingWizardStyles.divider} />\n {_checkOutDate(endDate as Dayjs)}\n </RowWrapper>\n <div className={styles['inline-container']}>\n <AutoAutoHeight open={isOpen}>\n <div className={styles['inline-box']}>\n <DateRangePicker\n selectedStartDate={startDate as Dayjs}\n selectedEndDate={endDate as Dayjs}\n onStartDateChanged={setStartDate}\n onEndDateChanged={_onCheckoutDateChange}\n theme={layout === 'horizontal-condensed' ? EBookingWizardTheme.Specific : theme}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n />\n </div>\n </AutoAutoHeight>\n </div>\n </div>\n );\n }\n\n if (overlayType === 'bottom-sheet') {\n const DateRangePickerFooter = () => {\n if (isImagesTheme) {\n return (\n <BEButton\n stopIconAnimation\n outline\n rounded\n wide\n onClick={() => {\n setMonthCount((prev) => prev + 4);\n }}\n >\n {t(Translation.Misc.LoadMoreDates)}\n </BEButton>\n );\n } else {\n return (\n <BEButton wide primary filled onClick={onApply}>\n {t(Translation.Misc.Apply)}\n </BEButton>\n );\n }\n };\n\n return (\n <>\n <RowWrapper {...rowWrapperProps}>\n {!isMobile && layout === 'horizontal' ? (\n <div className={bookingWizardStyles.item}>{_combineDates(startDate as Dayjs, endDate as Dayjs)}</div>\n ) : (\n <>\n {_checkInDate(startDate as Dayjs)}\n <div className={bookingWizardStyles.divider} />\n {_checkOutDate(endDate as Dayjs)}\n </>\n )}\n </RowWrapper>\n <BookingWizardBottomSheet\n className={classNames(styles.container, styles['bottom-sheet-container'], {\n [styles['custom-overlay-images-theme']]: isImagesTheme,\n })}\n open={isOpen}\n onDismiss={() => {\n if (!isImagesThemeMobile) {\n setIsOpen(false);\n }\n }}\n header={<BWBottomSheetHeader title={t(Translation.Misc.ChooseDates)} onClose={() => setIsOpen(false)} />}\n footer={\n <BWBottomSheetFooter\n hidePrev={stateSections[EBookingWizardSection.Date].isFirst}\n onPrev={() => onPrevHandler(EBookingWizardSection.Date)}\n onNext={() => onNextHandler(EBookingWizardSection.Date)}\n disabledNext={!startDate || !endDate}\n />\n }\n >\n <div className={styles['bottom-sheet-container-box']}>\n <DateRangePicker\n selectedStartDate={startDate as Dayjs}\n selectedEndDate={endDate as Dayjs}\n onStartDateChanged={(date: dayjs.Dayjs) => {\n setSelectingStartDate(date);\n if (isImagesThemeMobile) {\n setStartDate(date);\n }\n }}\n onEndDateChanged={(date: dayjs.Dayjs) => {\n setSelectingEndDate(date);\n if (isImagesThemeMobile) {\n _onCheckoutDateChange(date);\n }\n }}\n theme={theme}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n className={styles['bottom-sheet-container-box-calendar']}\n showMultipleMonths={isImagesTheme}\n showArrows={theme !== EBookingWizardTheme.Images}\n monthCount={monthCount}\n />\n <DateRangePickerFooter />\n </div>\n </BookingWizardBottomSheet>\n </>\n );\n }\n\n if (layout === 'horizontal' && theme === EBookingWizardTheme.Specific && !isMobile && !isSmallContainer) {\n return (\n <RowWrapper {...rowWrapperProps}>\n <FloatingDateRangePicker\n ref={checkOutDatePickerRef}\n container={checkInWrapperRef}\n startDate={startDate as Dayjs}\n endDate={endDate as Dayjs}\n selectedDateChanged={setDate}\n overlayOffset={overlay?.dateOffset}\n className={bookingWizardStyles.item}\n theme={theme}\n showMultipleMonths={showMultipleMonths}\n overlay={{\n placement: overlay?.placement,\n fallbackPlacements: overlay?.fallbackPlacements,\n }}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n >\n {_combineDates(startDate as Dayjs, endDate as Dayjs)}\n </FloatingDateRangePicker>\n </RowWrapper>\n );\n }\n\n const DateNotes = () => {\n return props?.notes && isImagesTheme ? <div className={bookingWizardStyles.notes}>{props?.notes}</div> : null;\n };\n\n return (\n <RowWrapper {...rowWrapperProps}>\n <FloatingDateRangePicker\n ref={checkOutDatePickerRef}\n container={checkInWrapperRef}\n startDate={startDate as Dayjs}\n endDate={endDate as Dayjs}\n selectedDateChanged={setDate}\n overlayOffset={overlay?.dateOffset}\n theme={layout === 'horizontal-condensed' ? EBookingWizardTheme.Specific : theme}\n showMultipleMonths={showMultipleMonths}\n className={classNames(bookingWizardStyles.item, {\n [bookingWizardStyles['active']]: isOverlayOpen && !!endDate,\n })}\n overlay={{\n placement: overlay?.placement,\n fallbackPlacements: overlay?.fallbackPlacements,\n }}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n notes={<DateNotes />}\n onOverlayOpenChange={onOverlayOpenChange}\n >\n {_checkInDate(startDate as Dayjs, true)}\n </FloatingDateRangePicker>\n <div className={layout !== 'button' && !isMobile ? bookingWizardStyles.divider : ''} />\n {_checkOutDate(endDate as Dayjs)}\n </RowWrapper>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"BookingWizardDateSelector.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames';\nimport dayjs, { Dayjs } from 'dayjs';\nimport React, { ReactNode, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport BEButton from '@/components/generic/BEButton';\nimport DateRangePicker from '@/components/generic/DateRangePicker/DateRangePicker';\nimport Text from '@/components/generic/Text';\nimport { ShowYearOnCalendarProps } from '@/models/Api/HotelOverrideDTO';\nimport { Translation } from '@/translations/Translation';\n\nimport FloatingDateRangePicker, { FloatingDateRangePickerHandle } from '../../DateRangePicker/FloatingDateRangePicker';\nimport { EBookingWizardSection, EBookingWizardTheme } from '../BookingWizard';\nimport bookingWizardStyles from '../BookingWizard.module.scss';\nimport BookingWizardBottomSheet, { BWBottomSheetFooter, BWBottomSheetHeader } from '../BookingWizardBottomSheet/BookingWizardBottomSheet';\nimport { BWClearButton } from '../BookingWizardContent';\nimport { BWSubmitButtonConfigProps, useBookingWizard } from '../BookingWizardContext';\nimport styles from './BookingWizardDateSelector.module.scss';\n\nexport interface BookingWizardDateSelectorProps extends ShowYearOnCalendarProps, BWSubmitButtonConfigProps {\n open?: boolean;\n defaultStartDate?: dayjs.Dayjs;\n defaultEndDate?: dayjs.Dayjs;\n dateFormat?: string;\n onChange?: (startDate: dayjs.Dayjs | null, endDate: dayjs.Dayjs | null) => void;\n notes?: ReactNode;\n divider?: boolean;\n hidden?: boolean;\n inactive?: boolean;\n}\n\nexport const BookingWizardDateSelector: React.FC<BookingWizardDateSelectorProps> = (props) => {\n const { defaultStartDate, defaultEndDate, dateFormat = 'MMM DD', showYearOnCalendar, yearDisplayOption, divider = true, hidden, inactive, submitConfig } = props;\n if (hidden) return null;\n const {\n overlay,\n theme,\n layout,\n type: overlayType,\n isMobile,\n isSmallContainer,\n stateSections,\n onPrevHandler,\n onNextHandler,\n isImagesTheme,\n isImagesThemeMobile,\n } = useBookingWizard();\n const { t } = useTranslation();\n\n const checkOutDatePickerRef = React.useRef<FloatingDateRangePickerHandle>(null);\n\n //With isImagesTheme, default both startDate and endDate are null\n const [startDate, setStartDate] = useState<dayjs.Dayjs | null>(defaultStartDate ?? (isImagesTheme ? null : dayjs()));\n const [endDate, setEndDate] = useState<dayjs.Dayjs | null>(defaultEndDate ?? (isImagesTheme ? null : dayjs().add(1, 'days')));\n const [selectingStartDate, setSelectingStartDate] = useState<dayjs.Dayjs | null>(startDate);\n const [selectingEndDate, setSelectingEndDate] = useState<dayjs.Dayjs | null>(endDate);\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const [isOverlayOpen, setIsOverlayOpen] = useState<boolean>(false);\n const [checkInWrapperRef, setCheckInWrapperRef] = React.useState<HTMLElement | undefined>();\n const [monthCount, setMonthCount] = useState<number>(2);\n\n useEffect(() => {\n const opening = stateSections[EBookingWizardSection.Date].opening;\n setIsOpen(opening);\n }, [stateSections]);\n\n let RowWrapper: any = React.Fragment;\n const rowWrapperProps = {} as any;\n if (layout === 'button' || isMobile || isSmallContainer) {\n RowWrapper = 'div';\n rowWrapperProps.className = classNames(bookingWizardStyles.itemGroup, {\n [bookingWizardStyles['inactive']]: inactive,\n });\n rowWrapperProps.ref = (ref: any) => {\n if (layout === 'button') {\n setCheckInWrapperRef(ref);\n }\n };\n }\n\n const setDate = (startDate: dayjs.Dayjs | null, endDate: dayjs.Dayjs | null) => {\n setStartDate(startDate);\n setEndDate(endDate);\n\n if (!isImagesThemeMobile) {\n setIsOpen(false);\n }\n\n props.onChange?.(startDate, endDate);\n };\n\n const _onCheckoutDateChange = (newEndDate: dayjs.Dayjs) => {\n props?.onChange?.(startDate as Dayjs, newEndDate);\n\n setEndDate(newEndDate);\n if (newEndDate) {\n if (!isImagesThemeMobile) {\n setIsOpen(false);\n }\n }\n };\n\n const _toggleInlineDatePicker = () => {\n checkOutDatePickerRef?.current?.toggle();\n setIsOpen(!isOpen);\n };\n\n const onOverlayOpenChange = (isOpen: boolean) => {\n setIsOverlayOpen(isOpen);\n };\n\n const ClearButton = ({ date, onClick }: { date?: dayjs.Dayjs; onClick: any }) => {\n return isImagesTheme ? <BWClearButton show={isOverlayOpen && !!date} onClick={onClick} /> : <></>;\n };\n\n const onApply = () => {\n setDate(selectingStartDate as Dayjs, selectingEndDate as Dayjs);\n };\n\n const _checkInDate = (date?: dayjs.Dayjs, disabledClass?: boolean) => {\n const defaultPlaceHolder = isImagesTheme ? t(Translation.Misc.CheckInPlaceHolder) : '-';\n return (\n <div\n className={classNames({\n [bookingWizardStyles.item]: !disabledClass,\n [bookingWizardStyles['item-fullwidth']]: isImagesTheme,\n })}\n onClick={_toggleInlineDatePicker}\n >\n <div className={bookingWizardStyles['item-with-icon']}>\n <div>\n <label className={bookingWizardStyles.label}>{t(Translation.Misc.CheckIn)}</label>\n {layout === 'horizontal-condensed' ? (\n <>\n <Text className={classNames(styles.date, styles['line-1'], bookingWizardStyles.value)} bold>\n {date?.format('DD') || defaultPlaceHolder}\n </Text>\n <Text className={classNames(styles.date, styles['line-2'], bookingWizardStyles.value)} bold>\n {date?.format('MMM') || defaultPlaceHolder}\n </Text>\n </>\n ) : (\n <Text className={classNames(styles.date, bookingWizardStyles.value)} bold>\n {date?.format(dateFormat) || defaultPlaceHolder}\n </Text>\n )}\n </div>\n <ClearButton\n date={date}\n onClick={() => {\n setDate(null, endDate);\n }}\n />\n </div>\n </div>\n );\n };\n\n const _checkOutDate = (date?: dayjs.Dayjs) => {\n const defaultPlaceHolder = isImagesTheme ? t(Translation.Misc.CheckOutPlaceHolder) : '-';\n return (\n <div\n className={classNames(bookingWizardStyles.item, {\n [bookingWizardStyles['active']]: isOverlayOpen && !!startDate && !endDate,\n })}\n onClick={_toggleInlineDatePicker}\n >\n <div className={classNames(bookingWizardStyles['item-with-icon'])}>\n <div>\n <label className={bookingWizardStyles.label}>{t(Translation.Misc.CheckOut)}</label>\n {layout === 'horizontal-condensed' ? (\n <>\n <Text className={classNames(styles.date, styles['line-1'], bookingWizardStyles.value)} bold>\n {date?.format('DD') || defaultPlaceHolder}\n </Text>\n <Text className={classNames(styles.date, styles['line-2'], bookingWizardStyles.value)} bold>\n {date?.format('MMM') || defaultPlaceHolder}\n </Text>\n </>\n ) : (\n <Text className={classNames(styles.date, bookingWizardStyles.value)} bold>\n {date?.format(dateFormat) || defaultPlaceHolder}\n </Text>\n )}\n </div>\n <ClearButton\n date={date}\n onClick={() => {\n setDate(startDate, null);\n }}\n />\n </div>\n </div>\n );\n };\n\n const _combineDates = (checkIn?: dayjs.Dayjs, checkOut?: dayjs.Dayjs) => {\n return (\n <div onClick={_toggleInlineDatePicker}>\n <label className={bookingWizardStyles.label}>{t(Translation.Misc.Dates)}</label>\n <Text className={styles.date} bold>{`${checkIn?.format(dateFormat) || ''} - ${checkOut?.format(dateFormat) || ''}`}</Text>\n </div>\n );\n };\n\n const showMultipleMonths = layout === 'horizontal' && !isMobile;\n\n if (overlayType === 'inline') {\n return (\n <div className={classNames(styles.container, { [styles['--open']]: isOpen })}>\n <RowWrapper {...rowWrapperProps}>\n {_checkInDate(startDate as Dayjs)}\n <div className={bookingWizardStyles.divider} />\n {_checkOutDate(endDate as Dayjs)}\n </RowWrapper>\n <div className={styles['inline-container']}>\n <AutoAutoHeight open={isOpen}>\n <div className={styles['inline-box']}>\n <DateRangePicker\n selectedStartDate={startDate as Dayjs}\n selectedEndDate={endDate as Dayjs}\n onStartDateChanged={setStartDate}\n onEndDateChanged={_onCheckoutDateChange}\n theme={layout === 'horizontal-condensed' ? EBookingWizardTheme.Specific : theme}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n />\n </div>\n </AutoAutoHeight>\n </div>\n </div>\n );\n }\n\n if (overlayType === 'bottom-sheet') {\n const DateRangePickerFooter = () => {\n if (isImagesTheme) {\n return (\n <BEButton\n stopIconAnimation\n outline\n rounded\n wide\n onClick={() => {\n setMonthCount((prev) => prev + 4);\n }}\n >\n {t(Translation.Misc.LoadMoreDates)}\n </BEButton>\n );\n } else {\n return (\n <BEButton wide primary filled onClick={onApply}>\n {t(Translation.Misc.Apply)}\n </BEButton>\n );\n }\n };\n\n return (\n <>\n <RowWrapper {...rowWrapperProps}>\n {!isMobile && layout === 'horizontal' ? (\n <div className={bookingWizardStyles.item}>{_combineDates(startDate as Dayjs, endDate as Dayjs)}</div>\n ) : (\n <>\n {_checkInDate(startDate as Dayjs)}\n <div className={bookingWizardStyles.divider} />\n {_checkOutDate(endDate as Dayjs)}\n </>\n )}\n </RowWrapper>\n <BookingWizardBottomSheet\n className={classNames(styles.container, styles['bottom-sheet-container'], {\n [styles['custom-overlay-images-theme']]: isImagesTheme,\n })}\n open={isOpen}\n onDismiss={() => {\n if (!isImagesThemeMobile) {\n setIsOpen(false);\n }\n }}\n header={<BWBottomSheetHeader title={t(Translation.Misc.ChooseDates)} onClose={() => setIsOpen(false)} />}\n footer={\n submitConfig ? (\n <BWBottomSheetFooter\n hidePrev={stateSections[EBookingWizardSection.Date].isFirst}\n onPrev={() => onPrevHandler(EBookingWizardSection.Date)}\n onNext={() => (stateSections[EBookingWizardSection.Date].isLast ? submitConfig.onSubmit() : onNextHandler(EBookingWizardSection.Date))}\n nextLabel={stateSections[EBookingWizardSection.Date].isLast ? t(Translation.Misc.BookNow) : undefined}\n disabledNext={!startDate || !endDate}\n />\n ) : null\n }\n >\n <div className={styles['bottom-sheet-container-box']}>\n <DateRangePicker\n selectedStartDate={startDate as Dayjs}\n selectedEndDate={endDate as Dayjs}\n onStartDateChanged={(date: dayjs.Dayjs) => {\n setSelectingStartDate(date);\n if (isImagesThemeMobile) {\n setStartDate(date);\n }\n }}\n onEndDateChanged={(date: dayjs.Dayjs) => {\n setSelectingEndDate(date);\n if (isImagesThemeMobile) {\n _onCheckoutDateChange(date);\n }\n }}\n theme={theme}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n className={styles['bottom-sheet-container-box-calendar']}\n showMultipleMonths={isImagesTheme}\n showArrows={theme !== EBookingWizardTheme.Images}\n monthCount={monthCount}\n />\n <DateRangePickerFooter />\n </div>\n </BookingWizardBottomSheet>\n </>\n );\n }\n\n if (layout === 'horizontal' && theme === EBookingWizardTheme.Specific && !isMobile && !isSmallContainer) {\n return (\n <RowWrapper {...rowWrapperProps}>\n <FloatingDateRangePicker\n ref={checkOutDatePickerRef}\n container={checkInWrapperRef}\n startDate={startDate as Dayjs}\n endDate={endDate as Dayjs}\n selectedDateChanged={setDate}\n overlayOffset={overlay?.dateOffset}\n className={bookingWizardStyles.item}\n theme={theme}\n showMultipleMonths={showMultipleMonths}\n overlay={{\n placement: overlay?.placement,\n fallbackPlacements: overlay?.fallbackPlacements,\n }}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n >\n {_combineDates(startDate as Dayjs, endDate as Dayjs)}\n </FloatingDateRangePicker>\n </RowWrapper>\n );\n }\n\n const DateNotes = () => {\n return props?.notes && isImagesTheme ? <div className={bookingWizardStyles.notes}>{props?.notes}</div> : null;\n };\n\n return (\n <RowWrapper {...rowWrapperProps}>\n <FloatingDateRangePicker\n ref={checkOutDatePickerRef}\n container={checkInWrapperRef}\n startDate={startDate as Dayjs}\n endDate={endDate as Dayjs}\n selectedDateChanged={setDate}\n overlayOffset={overlay?.dateOffset}\n theme={layout === 'horizontal-condensed' ? EBookingWizardTheme.Specific : theme}\n showMultipleMonths={showMultipleMonths}\n className={classNames(bookingWizardStyles.item, {\n [bookingWizardStyles['active']]: isOverlayOpen && !!endDate,\n })}\n overlay={{\n placement: overlay?.placement,\n fallbackPlacements: overlay?.fallbackPlacements,\n }}\n showYearOnCalendar={showYearOnCalendar}\n yearDisplayOption={yearDisplayOption}\n notes={<DateNotes />}\n onOverlayOpenChange={onOverlayOpenChange}\n >\n {_checkInDate(startDate as Dayjs, true)}\n </FloatingDateRangePicker>\n <div className={layout !== 'button' && !isMobile ? bookingWizardStyles.divider : ''} />\n {_checkOutDate(endDate as Dayjs)}\n </RowWrapper>\n );\n};\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { FC, ReactNode } from 'react';
|
|
2
|
-
|
|
2
|
+
import { BWSubmitButtonConfigProps } from '../BookingWizardContext';
|
|
3
|
+
export interface BookingWizardGuestSelectorProps extends BWSubmitButtonConfigProps {
|
|
3
4
|
disableChild?: boolean;
|
|
4
5
|
showInfants?: boolean;
|
|
5
6
|
minAdultAge?: number;
|
|
@@ -57,9 +58,5 @@ export interface BookingWizardGuestSelectorProps {
|
|
|
57
58
|
valid: boolean | undefined;
|
|
58
59
|
hideTooltip: boolean | undefined;
|
|
59
60
|
};
|
|
60
|
-
submitConfig?: {
|
|
61
|
-
onSubmit: () => false | undefined;
|
|
62
|
-
disabledNext: boolean;
|
|
63
|
-
};
|
|
64
61
|
}
|
|
65
62
|
export declare const BookingWizardGuestSelector: FC<BookingWizardGuestSelectorProps>;
|