@roomstay/frontend 2.6.82 → 2.6.83
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/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 +8 -9
- package/dist/e2e/helpers/checkoutHelpers.js.map +1 -1
- package/dist/e2e/helpers/playwrightHelpers.js +1 -2
- 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/src/animations/AutoAutoHeight.js +18 -8
- package/dist/src/animations/AutoAutoHeight.js.map +1 -1
- package/dist/src/animations/Fade.js +17 -7
- package/dist/src/animations/Fade.js.map +1 -1
- package/dist/src/api/AddonAPI.js +17 -7
- package/dist/src/api/AddonAPI.js.map +1 -1
- package/dist/src/api/AvailabilityAPI.d.ts +6 -5
- package/dist/src/api/AvailabilityAPI.js +40 -24
- 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 +17 -7
- package/dist/src/api/MemberAPI.js.map +1 -1
- package/dist/src/api/ReservationAPI.js +19 -9
- package/dist/src/api/ReservationAPI.js.map +1 -1
- package/dist/src/api/SessionAPI.js +17 -7
- 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 +17 -7
- package/dist/src/components/Event/EventCarouselContainer.js.map +1 -1
- package/dist/src/components/User/Forms/ForgotPasswordForm.js +17 -7
- package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignInForm.js +17 -7
- package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignUpForm.js +17 -7
- package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
- package/dist/src/components/User/Forms/VerifyEmailForm.js +17 -7
- package/dist/src/components/User/Forms/VerifyEmailForm.js.map +1 -1
- package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js +17 -7
- package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js.map +1 -1
- package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js +17 -7
- 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.js +18 -8
- 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 +18 -9
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizard.js +20 -10
- package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +2 -2
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +17 -7
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +0 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +17 -7
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +17 -7
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +17 -7
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js +17 -7
- package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js.map +1 -1
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +17 -7
- package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
- package/dist/src/components/generic/Checkbox/Checkbox.js +17 -7
- package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
- package/dist/src/components/generic/Countdown.js +18 -8
- package/dist/src/components/generic/Countdown.js.map +1 -1
- package/dist/src/components/generic/Currency.js +18 -8
- package/dist/src/components/generic/Currency.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +18 -8
- package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +19 -9
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +18 -8
- package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +18 -8
- package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -1
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +17 -7
- package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
- package/dist/src/components/generic/Distance.js +18 -8
- package/dist/src/components/generic/Distance.js.map +1 -1
- package/dist/src/components/generic/Event/EventCard.js +17 -7
- package/dist/src/components/generic/Event/EventCard.js.map +1 -1
- package/dist/src/components/generic/Event/EventCarousel.js +17 -7
- package/dist/src/components/generic/Event/EventCarousel.js.map +1 -1
- package/dist/src/components/generic/ForwardedSelect.js +17 -7
- 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 +17 -7
- package/dist/src/components/generic/HtmlContentViewer.js.map +1 -1
- package/dist/src/components/generic/IconText/IconText.js +19 -9
- 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 +18 -8
- package/dist/src/components/generic/Notification.js.map +1 -1
- package/dist/src/components/generic/NumberIncrement.js +18 -8
- package/dist/src/components/generic/NumberIncrement.js.map +1 -1
- package/dist/src/components/generic/Overlay/Overlay.js +17 -7
- 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 +17 -7
- package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +17 -7
- package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +17 -7
- 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 +17 -7
- package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js.map +1 -1
- package/dist/src/components/generic/PromoCodeInput.js +18 -8
- package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +17 -7
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +17 -7
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/dist/src/components/generic/RecentSearchesCard.js +17 -7
- package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
- package/dist/src/components/generic/RoomstayMark.js +17 -7
- 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 +18 -8
- 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 +17 -7
- package/dist/src/components/generic/Select/Select.js.map +1 -1
- package/dist/src/components/generic/Slider/Slider.js +17 -7
- package/dist/src/components/generic/Slider/Slider.js.map +1 -1
- package/dist/src/components/generic/Tabs/ElementChildren.js +2 -3
- package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabContext.js +17 -7
- package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabLink.js +17 -7
- package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabRouteContainer.js +18 -9
- package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
- package/dist/src/components/generic/Text.js +19 -9
- package/dist/src/components/generic/Text.js.map +1 -1
- package/dist/src/components/generic/TextArea.js +17 -7
- package/dist/src/components/generic/TextArea.js.map +1 -1
- package/dist/src/components/generic/TextBox.js +17 -7
- package/dist/src/components/generic/TextBox.js.map +1 -1
- package/dist/src/components/generic/Tooltip/Tooltip.js +18 -8
- 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 +18 -8
- package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +17 -7
- 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 +19 -9
- package/dist/src/components/generic/date/DatePicker.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDay.js +19 -9
- package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerDays.js +18 -8
- package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerMonth.js +18 -8
- package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
- package/dist/src/components/generic/date/DatePickerWeek.js +21 -11
- package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
- package/dist/src/components/generic/date/FloatingDatePicker.js +19 -9
- package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
- package/dist/src/components/generic/date/WeekViewSkeleton.js +17 -7
- package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
- package/dist/src/components/generic/loader/ImageLoader.js +18 -8
- 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 +18 -8
- 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 +18 -8
- package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
- package/dist/src/components/generic/modal/ErrorModal.js +18 -8
- package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +17 -7
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +17 -7
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +18 -8
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SimpleModal.js +19 -9
- package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
- package/dist/src/components/generic/modal/TabbedModal.js +18 -8
- package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
- package/dist/src/components/generic/radio/RadioFields.js +18 -8
- 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 +17 -7
- package/dist/src/components/members/EditMyProfile.js.map +1 -1
- package/dist/src/components/members/InlineSignUpSection.js +17 -7
- package/dist/src/components/members/InlineSignUpSection.js.map +1 -1
- package/dist/src/components/members/SignInModal/ExternalMemberModal.js +17 -7
- package/dist/src/components/members/SignInModal/ExternalMemberModal.js.map +1 -1
- package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js +19 -9
- package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js.map +1 -1
- package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js +18 -8
- package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js.map +1 -1
- package/dist/src/components/members/SignInModal/MemberSignInModal.js +17 -7
- package/dist/src/components/members/SignInModal/MemberSignInModal.js.map +1 -1
- package/dist/src/components/navigation/Header.js +18 -8
- package/dist/src/components/navigation/Header.js.map +1 -1
- package/dist/src/components/navigation/StepSelector.js +18 -8
- package/dist/src/components/navigation/StepSelector.js.map +1 -1
- package/dist/src/components/navigation/StepSelectorModal.js +18 -8
- package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
- package/dist/src/components/pages/Account/Card/MemberCardItem.js +17 -7
- package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
- package/dist/src/components/pages/PageColorComponent.js +17 -7
- package/dist/src/components/pages/PageColorComponent.js.map +1 -1
- package/dist/src/components/reservation/EmptyReservation.js +17 -7
- package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
- package/dist/src/components/reservation/ReservationItem.js +18 -8
- package/dist/src/components/reservation/ReservationItem.js.map +1 -1
- package/dist/src/components/reservation/ReservationList.js.map +1 -1
- package/dist/src/components/steps/DaysSelectedInformer.js +18 -8
- package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
- package/dist/src/components/steps/MinimumNightStayPill.js +18 -8
- package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
- package/dist/src/components/steps/addons/AddonCard.js +17 -7
- package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
- package/dist/src/components/steps/addons/AddonList.js +17 -7
- 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.js +17 -7
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
- package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js +17 -7
- package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js.map +1 -1
- package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js +17 -7
- package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js.map +1 -1
- package/dist/src/components/steps/confirmation/AccountDetails.js +18 -8
- package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js +17 -7
- package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js.map +1 -1
- package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js +17 -7
- 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 +17 -7
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +17 -7
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentInformation.js +17 -7
- package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -1
- package/dist/src/components/steps/confirmation/PlanpayLabel.js +17 -7
- package/dist/src/components/steps/confirmation/PlanpayLabel.js.map +1 -1
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +17 -7
- package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
- package/dist/src/components/steps/confirmation/RoomContactDetails.js +18 -8
- package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +18 -8
- package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +18 -8
- 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 +17 -7
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +18 -8
- 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 +18 -8
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +18 -8
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +18 -8
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js +17 -7
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js.map +1 -1
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js +23 -9
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js.map +1 -1
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js +20 -7
- package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +18 -8
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +18 -8
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +18 -8
- 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 +18 -8
- package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePickerRow.js +19 -9
- package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
- package/dist/src/components/steps/date/StepDatePricePerRoom.js +18 -8
- package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRange.js +18 -8
- package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePicker.js +18 -8
- package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +18 -8
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.js +18 -8
- package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
- package/dist/src/components/steps/date/StepOneStatusPeople.js +18 -8
- package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCard.js +19 -9
- 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 +17 -7
- package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelInfoPerksRow.js +18 -8
- package/dist/src/components/steps/hotel/HotelInfoPerksRow.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelSearchParameters.js +17 -7
- 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 +17 -7
- package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
- package/dist/src/components/steps/room/ImageGallerySlider.js +18 -8
- package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
- package/dist/src/components/steps/room/InactivityWindow.js +17 -7
- package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
- package/dist/src/components/steps/room/LargeRoomCard.js +17 -7
- package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js +18 -8
- 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 +18 -8
- package/dist/src/components/steps/room/RoomList.js.map +1 -1
- package/dist/src/components/steps/room/RoomListAlert.js +17 -7
- package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js +18 -8
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
- package/dist/src/components/steps/room/RoomModal.js +18 -8
- package/dist/src/components/steps/room/RoomModal.js.map +1 -1
- package/dist/src/components/steps/room/RoomModalPerkRow.js +18 -8
- package/dist/src/components/steps/room/RoomModalPerkRow.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js +18 -8
- package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js +18 -8
- package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomErrorForm.js +17 -7
- package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomHotelDetails.js +18 -8
- package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.js +18 -8
- package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSortBy.js +18 -8
- package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +18 -8
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +17 -7
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js +17 -7
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js.map +1 -1
- package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js +17 -7
- package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js.map +1 -1
- package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js +17 -7
- package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js.map +1 -1
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js +17 -7
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js.map +1 -1
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js +17 -7
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js.map +1 -1
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +17 -7
- 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 +18 -8
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +18 -8
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +18 -8
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +18 -9
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +18 -9
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +18 -8
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +17 -7
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +18 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +18 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +18 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js +18 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +18 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +19 -9
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +17 -7
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +18 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +18 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +18 -8
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js +20 -10
- package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +18 -8
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +18 -8
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +18 -8
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +18 -8
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +18 -8
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
- package/dist/src/components/summary/BEMapWidget.d.ts +0 -2
- package/dist/src/components/summary/BEMapWidget.js +17 -7
- package/dist/src/components/summary/BEMapWidget.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummary.js +18 -8
- package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js +18 -8
- package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
- package/dist/src/components/summary/BESummary.js +19 -9
- package/dist/src/components/summary/BESummary.js.map +1 -1
- package/dist/src/components/summary/BESummaryAddonRow.js +18 -8
- package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
- package/dist/src/components/summary/BESummaryPerkBlock.js +19 -9
- package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js +18 -8
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js +18 -8
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +18 -8
- 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 +0 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +36 -16
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContext.d.ts +0 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +18 -9
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContext.d.ts +0 -1
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +21 -11
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationFormContext.js +19 -9
- package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.d.ts +0 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +25 -15
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js +17 -7
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js.map +1 -1
- package/dist/src/contexts/ErrorContext.js +19 -9
- package/dist/src/contexts/ErrorContext.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js +1 -2
- package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js +18 -9
- package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.d.ts +0 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +18 -9
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/HotelOverridesContext.js +17 -7
- package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +1 -2
- 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 +17 -7
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +0 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +17 -7
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
- package/dist/src/contexts/ModalContext.js +18 -9
- package/dist/src/contexts/ModalContext.js.map +1 -1
- package/dist/src/contexts/NotificationContext.js +19 -9
- 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/BookingWizardEngineElement.js +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +17 -7
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +18 -8
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +16 -16
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +20 -10
- 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 +18 -8
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +17 -7
- 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/handlers/BasketContextErrorHandler.d.ts +1 -1
- package/dist/src/handlers/BasketContextErrorHandler.js.map +1 -1
- package/dist/src/handlers/payment/AdyenPaymentHandler.js +17 -7
- package/dist/src/handlers/payment/AdyenPaymentHandler.js.map +1 -1
- package/dist/src/handlers/payment/PlanpayPaymentHandler.js +17 -7
- package/dist/src/handlers/payment/PlanpayPaymentHandler.js.map +1 -1
- package/dist/src/handlers/payment/VGSMemberPaymentHandler.js.map +1 -1
- package/dist/src/handlers/payment/VGSPaymentHandler.js +19 -9
- package/dist/src/handlers/payment/VGSPaymentHandler.js.map +1 -1
- package/dist/src/hooks/AutoFocusOnSelect.d.ts +0 -1
- 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/Currency.js.map +1 -1
- package/dist/src/hooks/CurrentHotelHook.js.map +1 -1
- package/dist/src/hooks/ElementSortHook.js +17 -7
- package/dist/src/hooks/ElementSortHook.js.map +1 -1
- package/dist/src/hooks/HistoryConsistentPush.js +1 -2
- 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 +2 -3
- package/dist/src/hooks/Query.js.map +1 -1
- package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
- package/dist/src/hooks/UpdateQueryParameters.js +1 -2
- package/dist/src/hooks/UpdateQueryParameters.js.map +1 -1
- package/dist/src/hooks/VGSHooks.d.ts +0 -1
- 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 +21 -11
- 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/mockApi/AddonAPI.js.map +1 -1
- package/dist/src/mockApi/MemberAPI.js +17 -7
- 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.js +18 -8
- package/dist/src/mockApi/ReservationAPI.js.map +1 -1
- package/dist/src/models/Addon/Addon.js.map +1 -1
- package/dist/src/models/Api/HotelDTO.js +1 -1
- package/dist/src/models/Api/HotelDTO.js.map +1 -1
- package/dist/src/models/AppQueryParameters.js +1 -1
- package/dist/src/models/AppQueryParameters.js.map +1 -1
- package/dist/src/models/BasketAddonRow.js.map +1 -1
- package/dist/src/models/BasketRow.d.ts +2 -1
- package/dist/src/models/BasketRow.js +4 -3
- package/dist/src/models/BasketRow.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.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.js +4 -5
- 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.js +1 -1
- package/dist/src/models/Room/RoomRate.js.map +1 -1
- package/dist/src/pages/account/AccountHome/AccountHomePage.js +17 -7
- package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
- package/dist/src/pages/account/AccountRoutes.js +1 -1
- package/dist/src/pages/account/AccountRoutes.js.map +1 -1
- package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js +17 -7
- package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +17 -7
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +17 -7
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +17 -7
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
- package/dist/src/pages/account/Help/AccountHelpPage.js +17 -7
- package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +17 -7
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservation.js +19 -9
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservationResults.js +18 -8
- package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRow.js +18 -8
- package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRowModal.js +18 -8
- package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfo.js +20 -10
- 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 +18 -8
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +17 -7
- 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 +17 -7
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +18 -8
- 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 +17 -7
- 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 +17 -7
- package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js.map +1 -1
- package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js +18 -8
- package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js.map +1 -1
- package/dist/src/pages/steps/StepGuide.js +18 -8
- package/dist/src/pages/steps/StepGuide.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +17 -7
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +17 -7
- 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 +17 -7
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomFilters.js +17 -7
- package/dist/src/pages/steps/StepRoom/StepRoomFilters.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +18 -8
- 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 +18 -8
- 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 +2 -3
- 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 +18 -8
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
- package/dist/src/providers/feature/DerbysoftClickTrackingFeature.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.map +1 -1
- package/dist/src/providers/storage/StorageProvider.d.ts +1 -1
- package/dist/src/providers/storage/StorageProvider.js +17 -7
- 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 +3 -5
- package/dist/src/stories/CardTypeSelect.stories.d.ts +2 -1
- package/dist/src/stories/Checkbox.stories.d.ts +2 -1
- package/dist/src/stories/ConfirmationModal.stories.js +17 -7
- package/dist/src/stories/ConfirmationModal.stories.js.map +1 -1
- package/dist/src/stories/DateRangePicker.stories.js +17 -7
- package/dist/src/stories/DateRangePicker.stories.js.map +1 -1
- package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +2 -1
- package/dist/src/stories/ErrorModal.stories.js +17 -7
- 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 +17 -7
- package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -1
- package/dist/src/stories/ForwardedSelect.stories.d.ts +2 -1
- package/dist/src/stories/Icon.stories.js +17 -7
- package/dist/src/stories/Icon.stories.js.map +1 -1
- package/dist/src/stories/IconNavCard.stories.d.ts +6 -15
- package/dist/src/stories/IconText.stories.js +17 -7
- package/dist/src/stories/IconText.stories.js.map +1 -1
- package/dist/src/stories/NumberIncrement.stories.js +17 -7
- package/dist/src/stories/NumberIncrement.stories.js.map +1 -1
- package/dist/src/stories/PasswordBox.stories.d.ts +2 -1
- package/dist/src/stories/PaymentCard.stories.d.ts +2 -1
- package/dist/src/stories/PaymentCardInput.stories.d.ts +2 -1
- package/dist/src/stories/PlanpayButton.stories.d.ts +2 -1
- package/dist/src/stories/RadioButton.stories.d.ts +2 -1
- package/dist/src/stories/RadioButtonGroup.stories.d.ts +2 -3
- package/dist/src/stories/RadioButtonGroup.stories.js +17 -7
- package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
- package/dist/src/stories/Select.stories.d.ts +2 -4
- package/dist/src/stories/Select.stories.js +17 -7
- package/dist/src/stories/Select.stories.js.map +1 -1
- package/dist/src/stories/SimpleModal.stories.js +17 -7
- package/dist/src/stories/SimpleModal.stories.js.map +1 -1
- package/dist/src/stories/Slider.stories.d.ts +2 -7
- package/dist/src/stories/Slider.stories.js +17 -7
- package/dist/src/stories/Slider.stories.js.map +1 -1
- package/dist/src/stories/TabbedModal.stories.js +17 -7
- 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 +2 -1
- package/dist/src/stories/TextArea.stories.d.ts +2 -1
- package/dist/src/stories/TextBox.stories.d.ts +2 -1
- package/dist/src/translations/Translation.d.ts +1 -0
- package/dist/src/translations/Translation.js +3 -2
- package/dist/src/translations/Translation.js.map +1 -1
- package/dist/src/translations/languages/en-gb.js +1 -0
- package/dist/src/translations/languages/en-gb.js.map +1 -1
- package/dist/src/util/Analytics/GoogleAnalytics4.js.map +1 -1
- package/dist/src/util/Analytics/UniversalAnalytics.js.map +1 -1
- package/dist/src/util/AsyncAuth.js +17 -7
- 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.js +4 -4
- package/dist/src/util/DataLayer.js.map +1 -1
- package/dist/src/util/Debounce.js +2 -3
- 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.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 +17 -7
- 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/tests/offline/entry/config/hotelSpecDefault.js.map +1 -1
- package/package.json +3 -3
- package/dist/151.bundle.js +0 -1
- package/dist/177.bundle.js +0 -1
- package/dist/279.bundle.js +0 -1
- package/dist/288.bundle.js +0 -1
- package/dist/370.bundle.js +0 -1
- package/dist/375.bundle.js +0 -1
- package/dist/430.bundle.js +0 -1
- package/dist/439.bundle.js +0 -1
- package/dist/446.bundle.js +0 -1
- package/dist/449.bundle.js +0 -1
- package/dist/535.bundle.js +0 -2
- package/dist/535.bundle.js.LICENSE.txt +0 -30
- package/dist/537.bundle.js +0 -1
- package/dist/619.bundle.js +0 -1
- package/dist/625.bundle.js +0 -1
- package/dist/686.bundle.js +0 -1
- package/dist/873.bundle.js +0 -1
- package/dist/972.bundle.js +0 -1
- package/dist/978.bundle.js +0 -1
- package/dist/984.bundle.js +0 -1
- package/dist/main.bundle.js +0 -1
- package/dist/test.bundle.js +0 -1
- package/dist/vendors.bundle.js +0 -2
- package/dist/vendors.bundle.js.LICENSE.txt +0 -114
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useUpdateQueryParameters =
|
|
3
|
+
exports.useUpdateQueryParameters = useUpdateQueryParameters;
|
|
4
4
|
const Query_1 = require("hooks/Query");
|
|
5
5
|
const react_router_dom_1 = require("react-router-dom");
|
|
6
6
|
function useUpdateQueryParameters(hashNavigation = true) {
|
|
@@ -19,5 +19,4 @@ function useUpdateQueryParameters(hashNavigation = true) {
|
|
|
19
19
|
}, { replace: true });
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
exports.useUpdateQueryParameters = useUpdateQueryParameters;
|
|
23
22
|
//# sourceMappingURL=UpdateQueryParameters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateQueryParameters.js","sourceRoot":"/","sources":["src/hooks/UpdateQueryParameters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UpdateQueryParameters.js","sourceRoot":"/","sources":["src/hooks/UpdateQueryParameters.ts"],"names":[],"mappings":";;AAGA,4DAqBC;AAxBD,uCAA2C;AAC3C,uDAA+C;AAE/C,SAAgB,wBAAwB,CAAC,cAAc,GAAG,IAAI;IAC1D,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAA,oBAAY,GAAE,CAAC;IAEjC,OAAO,CAAC,eAAuC,EAAE,EAAE;QAC/C,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAChC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,wGAAwG;QACxG,6FAA6F;QAC7F,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE/E,QAAQ,CACJ;YACI,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACvD,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE;SAC/B,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CACpB,CAAC;IACN,CAAC,CAAC;AACN,CAAC","sourcesContent":["import { useHashQuery } from 'hooks/Query';\nimport { useNavigate } from 'react-router-dom';\n\nexport function useUpdateQueryParameters(hashNavigation = true) {\n const navigate = useNavigate();\n const hashQuery = useHashQuery();\n\n return (queryParameters: Record<string, string>) => {\n for (const key in queryParameters) {\n hashQuery.set(key, queryParameters[key]);\n }\n\n // We can't rely on relative navigation because react-router will navigate relative to the path that was\n // captured when the hook first rendered. We need to explicitly navigate to the current path.\n const hashUrl = new URL(window.location.hash.slice(1), window.location.origin);\n\n navigate(\n {\n pathname: hashNavigation ? hashUrl.pathname : undefined,\n search: hashQuery.toString(),\n },\n { replace: true }\n );\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VGSHooks.js","sourceRoot":"/","sources":["src/hooks/VGSHooks.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4DAAoC;AACpC,iCAAoD;AAIpD,0FAAkE;AAClE,gDAA2C;AAE3C,yDAAqD;AAErD,IAAI,aAAa,GAAwB,IAAI,CAAC;AAC9C,IAAI,OAAY,CAAC;AAEjB,IAAI,gBAAgB,GAAwB,IAAI,CAAC;AAEjD,MAAM,cAAc,GAAG,CAAC,YAA0B,UAAU,EAAU,EAAE;;IACpE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,kCAAe,GAAE,CAAC;IAEpC,MAAM,OAAO,GAAG,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,0CAAE,UAAU,0CAAE,OAAO,mCAAI,aAAa,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,0CAAE,UAAU,0CAAE,QAAQ,mCAAI,aAAa,CAAC;IAEnE,QAAQ,SAAS,EAAE;QACf,KAAK,SAAS;YACV,OAAO,OAAO,CAAC;QACnB,KAAK,UAAU,CAAC;QAChB;YACI,OAAO,QAAQ,CAAC;KACvB;AACL,CAAC,CAAC;AAQF,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;AAY5C;;;;;;GAMG;AACI,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,EAAE;IACjD,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAE1C,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9G,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAElD,MAAM,SAAS,GAAG,IAAA,cAAM,EAAqB,IAAI,CAAC,CAAC;IAEnD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,aAAa,KAAK,IAAI,EAAE;YACxB,aAAa,GAAG,CAAC,GAAS,EAAE;gBACxB,IAAI;oBACA,MAAM,6BAAmB,CAAC,UAAU,CAAC,qDAAqD,EAAE,UAAU,CAAC,CAAC;oBAExG,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;iBACvF;gBAAC,OAAO,EAAO,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;iBAC1D;YACL,CAAC,CAAA,CAAC,EAAE,CAAC;SACR;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,GAAS,EAAE;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAO,GAAE,CAAC;QAC7B,IAAI,OAAO,KAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAA,EAAE;YAC/B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,CAAC;YAEnB,IAAI,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;gBACjD,MAAM,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAEhE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;oBAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE;wBACL,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE;qBACjC;oBACD,OAAO,EAAE;wBACL,aAAa,EAAE,QAAQ;qBAC1B;oBACD,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,kCAAkC,EAAE,aAAa,CAAC,CAAC;oBAC7F,WAAW,EAAE,MAAM;oBACnB,gBAAgB,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE;iBACpC,CAAC,CAAC;gBAEH,iCAAiC;gBACjC,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;oBAC9B,YAAY,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;oBAC3B,YAAY,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC,CAAC,CAAC;gBACH,IAAI,SAAS,CAAC,OAAO;oBAAE,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;gBACxD,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;SACN;IACL,CAAC,CAAA,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,YAAY,EAAE,CAAC;IACnB,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACpC,CAAC,CAAC;AAjEW,QAAA,UAAU,cAiErB;AA8BK,MAAM,aAAa,GAAG,CAAC,MAAyB,EAAE,YAA0B,UAAU,EAAE,EAAE;IAC7F,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAE3C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;QACzB,OAAO,IAAA,cAAM,EAAwB,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,MAAM,yBAAyB,GAAiC,GAAG,EAAE;QACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,OAAO;gBACH,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAEhB,QAAQ,EAAE,IAAI;aACjB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,MAAuB,EAAE,EAAE;QACpD,qCACI,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,IAAI,EAAE,MAAM,CAAC,IAAI,IACd,MAAM,CAAC,QAAQ,KAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,SAAS,IACjD;IACN,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,eAAwB,EAAE,EAAE;;QACpE,MAAM,KAAK,GAAyB,UAAU,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,OAAO,IAAA,oBAAU,EAAC,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE;YAC1D,YAAY,EAAE,KAAK,CAAC,SAAS;YAC7B,WAAW,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO;YACpD,SAAS,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;YACnD,YAAY,EAAE,CAAC,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAE,QAAQ,CAAA;SAC7C,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAM,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAyB,yBAAyB,EAAE,CAAC,CAAC;IAElG,gFAAgF;IAChF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,gBAAgB,KAAK,IAAI,EAAE;YAC3B,gBAAgB,GAAG,CAAC,GAAS,EAAE;gBAC3B,MAAM,6BAAmB,CAAC,UAAU,CAAC,gEAAgE,EAAE,aAAa,CAAC,CAAC;gBAEtH,IAAI,CAAC,SAAS,EAAE;oBACZ,YAAY,CAAC,IAAI,CAAC,CAAC;iBACtB;YACL,CAAC,CAAA,CAAC,EAAE,CAAC;SACR;aAAM;YACH,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC,SAAS,EAAE;oBACZ,YAAY,CAAC,IAAI,CAAC,CAAC;iBACtB;YACL,CAAC,CAAC,CAAC;SACN;QAED,OAAO,GAAG,EAAE;YACR,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACpB,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAA,EAAE;gBACf,qDAAqD;gBACrD,OAAO;aACV;SACJ;QAED,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE;YACvB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACnE,aAAa,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACvB,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;oBAE/B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;wBAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAEnC,IAAI,QAAQ,EAAE;4BACV,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;4BACrC,KAAK,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;4BAE5D,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;gCAC9B,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;6BACtC;yBACJ;qBACJ;oBAED,OAAO,QAAQ,CAAC;gBACpB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,IAAI,CAAC,CAAC;YAEjB,aAAa,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACvB,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAE9B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;iBAClF;gBAED,OAAO,QAAQ,CAAC;YACpB,CAAC,CAAC,CAAC;SACN;IACL,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/B,MAAM,kBAAkB,GAAG,GAAG,EAAE;;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACpB,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAA,EAAE;gBACf,qDAAqD;gBACrD,OAAO;aACV;SACJ;QAED,IAAI,CAAC,OAAO,EAAE;YACV,wCAAwC;YACxC,OAAO;SACV;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAE9B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAChB,MAAA,MAAA,KAAK,CAAC,QAAQ,EAAC,MAAM,mDAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;aAC7D;SACJ;IACL,CAAC,CAAC;IAEF,OAAO;QACH,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC/B,OAAO;gBACH,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;gBAChB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;gBACxB,UAAU,EAAE,CAAC,eAAwB,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC;aACxF,CAAC;QACN,CAAC,CAAC;QACF,kBAAkB;QAClB,OAAO;KACV,CAAC;AACN,CAAC,CAAC;AA3JW,QAAA,aAAa,iBA2JxB","sourcesContent":["import classNames from 'classnames';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { IVGSVaultNames } from '@/models/Client/Hotel/Hotel';\nimport { ECardType } from '@/models/PaymentCard';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { getAuth } from '@/util/AsyncAuth';\n\nimport { useCurrentHotel } from './CurrentHotelHook';\n\nlet vgsShowLoader: Promise<any> | null = null;\nlet VGSShow: any;\n\nlet vgsCollectLoader: Promise<any> | null = null;\n\nconst getVGSVaultKey = (vaultName: VGSVaultType = 'standard'): string => {\n const { hotel } = useCurrentHotel();\n\n const members = hotel?.vgs?.vaultNames?.members ?? 'tntjyo5u2pi';\n const standard = hotel?.vgs?.vaultNames?.standard ?? 'tntmupn9ras';\n\n switch (vaultName) {\n case 'members':\n return members;\n case 'standard':\n default:\n return standard;\n }\n};\n\ndeclare global {\n interface Window {\n VGSCollect: any;\n }\n}\n\nwindow.VGSCollect = window.VGSCollect || {};\n\ntype VGSVaultType = keyof IVGSVaultNames;\n\ntype UseVgsShowProps = {\n name: string;\n value?: string;\n\n styles?: Record<string, any>;\n vaultType?: VGSVaultType;\n};\n\n/**\n * TODO: This only works for the Members vault right now\n *\n * Need to:\n * - Update the serializer\n * - Handle errors better\n */\nexport const useVgsShow = (props: UseVgsShowProps) => {\n const vgsKeys = getVGSVaultKey('members');\n\n const [randomId] = useState(btoa((Math.random() * Math.random() * Date.now()).toString()).replace(/=/gi, ''));\n const [isLoading, setIsLoading] = useState(false);\n\n const targetRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (vgsShowLoader === null) {\n vgsShowLoader = (async () => {\n try {\n await RoomstayThemeEngine.loadScript('https://js.verygoodvault.com/vgs-show/2.0.2/show.js', 'vgs-show');\n\n VGSShow = window.VGSShow.create(vgsKeys, (state: any) => {}).setEnvironment('live');\n } catch (ex: any) {\n console.error('Unable to load vgs-show ' + ex.message);\n }\n })();\n }\n }, []);\n\n const handleReveal = async () => {\n const Auth = await getAuth();\n if (VGSShow && targetRef?.current) {\n targetRef.current.classList.add(randomId);\n setIsLoading(true);\n\n Auth.currentAuthenticatedUser().then((cognitoData) => {\n const jwtToken = cognitoData.signInUserSession.idToken.jwtToken;\n\n const revealer = VGSShow.request({\n name: props.name,\n method: 'POST',\n path: '/members/vgs-auth',\n payload: {\n [props.name]: `${props.value}`,\n },\n headers: {\n Authorization: jwtToken,\n },\n serializers: [VGSShow.SERIALIZERS.replace('(\\\\d{4})(\\\\d{4})(\\\\d{4})(\\\\d{4})', '$1 $2 $3 $4')],\n htmlWrapper: 'text',\n jsonPathSelector: `${props.name}`,\n });\n\n // TODO: Handle failure on reveal\n revealer.on('revealSuccess', () => {\n setIsLoading(false);\n });\n\n revealer.on('revealFail', () => {\n setIsLoading(false);\n });\n if (targetRef.current) targetRef.current.innerHTML = '';\n revealer.render(`.${randomId}`, props.styles);\n });\n }\n };\n\n useEffect(() => {\n handleReveal();\n }, [VGSShow, targetRef, props.name, props.value]);\n\n return { targetRef, isLoading };\n};\n\ntype VGSCollectProps = {\n name: string;\n type: 'card-expiration-date' | 'text' | 'card-number' | 'card-security-code';\n label: string;\n\n vgsProps: {\n validations?: ('required' | 'validCardNumber' | 'validCardExpirationDate' | 'validCardSecurityCode')[];\n disabled?: boolean;\n css: object;\n placeholder?: string;\n\n [name: string]: any;\n };\n};\n\ntype VGSCollectInputState = {\n name: string;\n label: string;\n type: string;\n\n isFocused: boolean;\n isValid: boolean;\n\n vgsInput: any;\n\n cardType?: ECardType;\n};\n\nexport const useVgsCollect = (fields: VGSCollectProps[], vaultType: VGSVaultType = 'standard') => {\n const vaultKey = getVGSVaultKey(vaultType);\n\n const refs = fields.map(() => {\n return useRef<HTMLDivElement | null>(null);\n });\n\n const getDefaultStateFromFields: () => VGSCollectInputState[] = () => {\n return fields.map((field) => {\n return {\n isFocused: false,\n isValid: false,\n\n name: field.name,\n label: field.label,\n type: field.type,\n\n vgsInput: null,\n };\n });\n };\n\n const mapInputConfigToVGS = (config: VGSCollectProps) => {\n return {\n name: config.name,\n type: config.type,\n ...config.vgsProps,\n disabled: config.vgsProps.disabled || undefined,\n };\n };\n\n const getClassesFormInput = (index: number, extendedClasses?: string) => {\n const field: VGSCollectInputState = inputState[index];\n const config = fields[index];\n\n if (!field) return '';\n\n return classNames('c-input', 'c-input--vgs', extendedClasses, {\n '--selected': field.isFocused,\n '--success': field.isValid !== null && field.isValid,\n '--error': field.isValid !== null && !field.isValid,\n '--disabled': !!config?.vgsProps?.disabled,\n });\n };\n\n const [vgsLoaded, setVgsLoaded] = useState(false);\n const [vgsForm, setVgsForm] = useState<any>(null);\n const [inputState, setInputState] = useState<VGSCollectInputState[]>(getDefaultStateFromFields());\n\n /** Loading VGS, or seeing if it's been loaded before, and binding onto that. */\n useEffect(() => {\n let cancelled = false;\n\n if (vgsCollectLoader === null) {\n vgsCollectLoader = (async () => {\n await RoomstayThemeEngine.loadScript('https://js.verygoodvault.com/vgs-collect/2.18.1/vgs-collect.js', 'vgs-collect');\n\n if (!cancelled) {\n setVgsLoaded(true);\n }\n })();\n } else {\n vgsCollectLoader.then(() => {\n if (!cancelled) {\n setVgsLoaded(true);\n }\n });\n }\n\n return () => {\n cancelled = true;\n };\n }, []);\n\n useEffect(() => {\n for (const ref of refs) {\n if (!ref?.current) {\n // Means we've still to wait for all the refs to bind\n return;\n }\n }\n\n if (vgsLoaded && !vgsForm) {\n const form = window.VGSCollect.create(vaultKey, 'live', (state: any) => {\n setInputState((oldState) => {\n const newState = [...oldState];\n\n for (const input of newState) {\n const vgsState = state[input.name];\n\n if (vgsState) {\n input.isFocused = vgsState.isFocused;\n input.isValid = !vgsState.isEmpty ? vgsState.isValid : null;\n\n if (input.type === 'card-number') {\n input.cardType = vgsState.cardType;\n }\n }\n }\n\n return newState;\n });\n });\n\n setVgsForm(form);\n\n setInputState((oldState) => {\n const newState = [...oldState];\n\n for (let i = 0; i < newState.length; i++) {\n const input = newState[i];\n const inputConfig = fields[i];\n\n input.vgsInput = form.field(refs[i].current, mapInputConfigToVGS(inputConfig));\n }\n\n return newState;\n });\n }\n }, [vgsLoaded, vgsForm, refs]);\n\n const triggerFieldUpdate = () => {\n for (const ref of refs) {\n if (!ref?.current) {\n // Means we've still to wait for all the refs to bind\n return;\n }\n }\n\n if (!vgsForm) {\n // Means VGS Collect has not loaded yet.\n return;\n }\n\n for (let i = 0; i < inputState.length; i++) {\n const input = inputState[i];\n const inputConfig = fields[i];\n\n if (input.vgsInput) {\n input.vgsInput.update?.(mapInputConfigToVGS(inputConfig));\n }\n }\n };\n\n return {\n fields: fields.map((item, index) => {\n return {\n ref: refs[index],\n state: inputState[index],\n getClasses: (extendedClasses?: string) => getClassesFormInput(index, extendedClasses),\n };\n }),\n triggerFieldUpdate,\n vgsForm,\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"VGSHooks.js","sourceRoot":"/","sources":["src/hooks/VGSHooks.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { IVGSVaultNames } from '@/models/Client/Hotel/Hotel';\nimport { ECardType } from '@/models/PaymentCard';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { getAuth } from '@/util/AsyncAuth';\n\nimport { useCurrentHotel } from './CurrentHotelHook';\n\nlet vgsShowLoader: Promise<any> | null = null;\nlet VGSShow: any;\n\nlet vgsCollectLoader: Promise<any> | null = null;\n\nconst getVGSVaultKey = (vaultName: VGSVaultType = 'standard'): string => {\n const { hotel } = useCurrentHotel();\n\n const members = hotel?.vgs?.vaultNames?.members ?? 'tntjyo5u2pi';\n const standard = hotel?.vgs?.vaultNames?.standard ?? 'tntmupn9ras';\n\n switch (vaultName) {\n case 'members':\n return members;\n case 'standard':\n default:\n return standard;\n }\n};\n\ndeclare global {\n interface Window {\n VGSCollect: any;\n }\n}\n\nwindow.VGSCollect = window.VGSCollect || {};\n\ntype VGSVaultType = keyof IVGSVaultNames;\n\ntype UseVgsShowProps = {\n name: string;\n value?: string;\n\n styles?: Record<string, any>;\n vaultType?: VGSVaultType;\n};\n\n/**\n * TODO: This only works for the Members vault right now\n *\n * Need to:\n * - Update the serializer\n * - Handle errors better\n */\nexport const useVgsShow = (props: UseVgsShowProps) => {\n const vgsKeys = getVGSVaultKey('members');\n\n const [randomId] = useState(btoa((Math.random() * Math.random() * Date.now()).toString()).replace(/=/gi, ''));\n const [isLoading, setIsLoading] = useState(false);\n\n const targetRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (vgsShowLoader === null) {\n vgsShowLoader = (async () => {\n try {\n await RoomstayThemeEngine.loadScript('https://js.verygoodvault.com/vgs-show/2.0.2/show.js', 'vgs-show');\n\n VGSShow = window.VGSShow.create(vgsKeys, (state: any) => {}).setEnvironment('live');\n } catch (ex: any) {\n console.error('Unable to load vgs-show ' + ex.message);\n }\n })();\n }\n }, []);\n\n const handleReveal = async () => {\n const Auth = await getAuth();\n if (VGSShow && targetRef?.current) {\n targetRef.current.classList.add(randomId);\n setIsLoading(true);\n\n Auth.currentAuthenticatedUser().then((cognitoData) => {\n const jwtToken = cognitoData.signInUserSession.idToken.jwtToken;\n\n const revealer = VGSShow.request({\n name: props.name,\n method: 'POST',\n path: '/members/vgs-auth',\n payload: {\n [props.name]: `${props.value}`,\n },\n headers: {\n Authorization: jwtToken,\n },\n serializers: [VGSShow.SERIALIZERS.replace('(\\\\d{4})(\\\\d{4})(\\\\d{4})(\\\\d{4})', '$1 $2 $3 $4')],\n htmlWrapper: 'text',\n jsonPathSelector: `${props.name}`,\n });\n\n // TODO: Handle failure on reveal\n revealer.on('revealSuccess', () => {\n setIsLoading(false);\n });\n\n revealer.on('revealFail', () => {\n setIsLoading(false);\n });\n if (targetRef.current) targetRef.current.innerHTML = '';\n revealer.render(`.${randomId}`, props.styles);\n });\n }\n };\n\n useEffect(() => {\n handleReveal();\n }, [VGSShow, targetRef, props.name, props.value]);\n\n return { targetRef, isLoading };\n};\n\ntype VGSCollectProps = {\n name: string;\n type: 'card-expiration-date' | 'text' | 'card-number' | 'card-security-code';\n label: string;\n\n vgsProps: {\n validations?: ('required' | 'validCardNumber' | 'validCardExpirationDate' | 'validCardSecurityCode')[];\n disabled?: boolean;\n css: object;\n placeholder?: string;\n\n [name: string]: any;\n };\n};\n\ntype VGSCollectInputState = {\n name: string;\n label: string;\n type: string;\n\n isFocused: boolean;\n isValid: boolean;\n\n vgsInput: any;\n\n cardType?: ECardType;\n};\n\nexport const useVgsCollect = (fields: VGSCollectProps[], vaultType: VGSVaultType = 'standard') => {\n const vaultKey = getVGSVaultKey(vaultType);\n\n const refs = fields.map(() => {\n return useRef<HTMLDivElement | null>(null);\n });\n\n const getDefaultStateFromFields: () => VGSCollectInputState[] = () => {\n return fields.map((field) => {\n return {\n isFocused: false,\n isValid: false,\n\n name: field.name,\n label: field.label,\n type: field.type,\n\n vgsInput: null,\n };\n });\n };\n\n const mapInputConfigToVGS = (config: VGSCollectProps) => {\n return {\n name: config.name,\n type: config.type,\n ...config.vgsProps,\n disabled: config.vgsProps.disabled || undefined,\n };\n };\n\n const getClassesFormInput = (index: number, extendedClasses?: string) => {\n const field: VGSCollectInputState = inputState[index];\n const config = fields[index];\n\n if (!field) return '';\n\n return classNames('c-input', 'c-input--vgs', extendedClasses, {\n '--selected': field.isFocused,\n '--success': field.isValid !== null && field.isValid,\n '--error': field.isValid !== null && !field.isValid,\n '--disabled': !!config?.vgsProps?.disabled,\n });\n };\n\n const [vgsLoaded, setVgsLoaded] = useState(false);\n const [vgsForm, setVgsForm] = useState<any>(null);\n const [inputState, setInputState] = useState<VGSCollectInputState[]>(getDefaultStateFromFields());\n\n /** Loading VGS, or seeing if it's been loaded before, and binding onto that. */\n useEffect(() => {\n let cancelled = false;\n\n if (vgsCollectLoader === null) {\n vgsCollectLoader = (async () => {\n await RoomstayThemeEngine.loadScript('https://js.verygoodvault.com/vgs-collect/2.18.1/vgs-collect.js', 'vgs-collect');\n\n if (!cancelled) {\n setVgsLoaded(true);\n }\n })();\n } else {\n vgsCollectLoader.then(() => {\n if (!cancelled) {\n setVgsLoaded(true);\n }\n });\n }\n\n return () => {\n cancelled = true;\n };\n }, []);\n\n useEffect(() => {\n for (const ref of refs) {\n if (!ref?.current) {\n // Means we've still to wait for all the refs to bind\n return;\n }\n }\n\n if (vgsLoaded && !vgsForm) {\n const form = window.VGSCollect.create(vaultKey, 'live', (state: any) => {\n setInputState((oldState) => {\n const newState = [...oldState];\n\n for (const input of newState) {\n const vgsState = state[input.name];\n\n if (vgsState) {\n input.isFocused = vgsState.isFocused;\n input.isValid = !vgsState.isEmpty ? vgsState.isValid : null;\n\n if (input.type === 'card-number') {\n input.cardType = vgsState.cardType;\n }\n }\n }\n\n return newState;\n });\n });\n\n setVgsForm(form);\n\n setInputState((oldState) => {\n const newState = [...oldState];\n\n for (let i = 0; i < newState.length; i++) {\n const input = newState[i];\n const inputConfig = fields[i];\n\n input.vgsInput = form.field(refs[i].current, mapInputConfigToVGS(inputConfig));\n }\n\n return newState;\n });\n }\n }, [vgsLoaded, vgsForm, refs]);\n\n const triggerFieldUpdate = () => {\n for (const ref of refs) {\n if (!ref?.current) {\n // Means we've still to wait for all the refs to bind\n return;\n }\n }\n\n if (!vgsForm) {\n // Means VGS Collect has not loaded yet.\n return;\n }\n\n for (let i = 0; i < inputState.length; i++) {\n const input = inputState[i];\n const inputConfig = fields[i];\n\n if (input.vgsInput) {\n input.vgsInput.update?.(mapInputConfigToVGS(inputConfig));\n }\n }\n };\n\n return {\n fields: fields.map((item, index) => {\n return {\n ref: refs[index],\n state: inputState[index],\n getClasses: (extendedClasses?: string) => getClassesFormInput(index, extendedClasses),\n };\n }),\n triggerFieldUpdate,\n vgsForm,\n };\n};\n"]}
|
|
@@ -86,7 +86,7 @@ const useCalendarNightStay = ({ basketContext, }) => {
|
|
|
86
86
|
});
|
|
87
87
|
}));
|
|
88
88
|
const getArrivalNightStay = (fromDate, roomCode) => new Promise((resolve) => __awaiter(void 0, void 0, void 0, function* () {
|
|
89
|
-
var
|
|
89
|
+
var _a, _b;
|
|
90
90
|
const selectedBasketRow = basketContext.selectedBasketRow;
|
|
91
91
|
const adults = selectedBasketRow ? selectedBasketRow.getAdults() : 0;
|
|
92
92
|
const children = selectedBasketRow ? selectedBasketRow.getChildren() : 0;
|
|
@@ -94,8 +94,8 @@ const useCalendarNightStay = ({ basketContext, }) => {
|
|
|
94
94
|
const promoCode = selectedBasketRow ? selectedBasketRow.getPromoCode() : '';
|
|
95
95
|
const price = yield BookingAPI_1.default.Availability.getCheapestPriceForDay(fromDate, adults, children, infants, promoCode, roomCode, hotel === null || hotel === void 0 ? void 0 : hotel.hotelID, memberNumber, false);
|
|
96
96
|
return resolve({
|
|
97
|
-
arrivalMinNightStay: (
|
|
98
|
-
arrivalMaxNightStay: (
|
|
97
|
+
arrivalMinNightStay: (_a = price === null || price === void 0 ? void 0 : price.arrivalMinNightStay) !== null && _a !== void 0 ? _a : null,
|
|
98
|
+
arrivalMaxNightStay: (_b = price === null || price === void 0 ? void 0 : price.arrivalMaxNightStay) !== null && _b !== void 0 ? _b : null,
|
|
99
99
|
});
|
|
100
100
|
}));
|
|
101
101
|
const checkAvailableNightStay = ({ arrivalNightStay, startDate, dateToCheck, }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCalendarNightStay.js","sourceRoot":"/","sources":["src/hooks/useCalendarNightStay.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContextType } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { Dayjs } from 'dayjs';\n\nimport API from '@/api/BookingAPI';\n\nimport { useSignedInMember } from './useSignedInMember';\n\ninterface UseCalendarNightStayProps {\n basketContext: BasketContextType;\n}\n\nexport interface INightStayValidation {\n init: boolean;\n arrivalMinNightStay: number | null;\n arrivalMaxNightStay: number | null;\n validationMinNightStay: number | null;\n validationMaxNightStay: number | null;\n}\nexport interface IArrivalNightStay {\n arrivalMinNightStay: number | null;\n arrivalMaxNightStay: number | null;\n}\nexport interface IAvailableNightStay {\n minDate: Dayjs | null;\n maxDate: Dayjs | null;\n available: boolean;\n}\n\nexport const useCalendarNightStay = ({\n basketContext,\n}: UseCalendarNightStayProps): {\n getLastValidDay: (\n fromDate: Dayjs,\n toDate: Dayjs,\n roomCode?: string\n ) => Promise<{\n lastValidDay: Dayjs;\n nightStayValidation: INightStayValidation;\n isValidNightStay: boolean;\n }>;\n getArrivalNightStay: (fromDate: Dayjs, roomCode: string) => Promise<IArrivalNightStay>;\n checkAvailableNightStay: ({ arrivalNightStay, startDate, dateToCheck }: { arrivalNightStay: IArrivalNightStay; startDate: Dayjs | null; dateToCheck: Dayjs | null }) => {\n minDate: Dayjs | null;\n maxDate: Dayjs | null;\n available: boolean;\n };\n} => {\n const { hotel } = useCurrentHotel();\n const { memberNumber } = useSignedInMember();\n const nightStayValidation: INightStayValidation = {\n init: false,\n arrivalMinNightStay: null,\n arrivalMaxNightStay: null,\n validationMinNightStay: null,\n validationMaxNightStay: null,\n };\n const getLastValidDay = (\n fromDate: Dayjs,\n toDate: Dayjs,\n roomCode?: string\n ): Promise<{ lastValidDay: Dayjs; nightStayValidation: INightStayValidation; isValidNightStay: boolean }> =>\n new Promise(async (resolve) => {\n const selectedBasketRow = basketContext.selectedBasketRow;\n const adults = selectedBasketRow ? selectedBasketRow.getAdults() : 0;\n const children = selectedBasketRow ? selectedBasketRow.getChildren() : 0;\n const infants = selectedBasketRow ? selectedBasketRow.getInfants() : 0;\n const promoCode = selectedBasketRow ? selectedBasketRow.getPromoCode() : '';\n\n if (!roomCode) {\n roomCode = selectedBasketRow ? selectedBasketRow.getRoomCode() : '';\n }\n\n const toDateDiff = toDate?.diff?.(fromDate, 'day');\n\n for (let i = 0; i <= toDateDiff; i++) {\n const dayToCheck = fromDate.add(i, 'day');\n const price = await API.Availability.getCheapestPriceForDay(\n dayToCheck,\n adults,\n children,\n infants,\n promoCode,\n roomCode,\n hotel?.hotelID as string,\n memberNumber,\n false\n );\n const nextMustBreak = !price?.price && hotel;\n const departureDateDiff = dayToCheck?.diff?.(fromDate, 'day');\n if (departureDateDiff == 0) {\n //Arrival date\n Object.assign(nightStayValidation, {\n init: true,\n arrivalMinNightStay: price?.arrivalMinNightStay ?? null,\n arrivalMaxNightStay: price?.arrivalMaxNightStay ?? null,\n validationMinNightStay: null,\n validationMaxNightStay: null,\n });\n }\n if (nightStayValidation.arrivalMinNightStay) {\n //Min. Departure date\n if (departureDateDiff >= nightStayValidation.arrivalMinNightStay) {\n nightStayValidation.validationMinNightStay = null;\n } else {\n nightStayValidation.validationMinNightStay = nightStayValidation.arrivalMinNightStay;\n }\n }\n if (nightStayValidation.arrivalMaxNightStay) {\n //Max. Departure date\n if (departureDateDiff <= nightStayValidation.arrivalMaxNightStay) {\n nightStayValidation.validationMaxNightStay = null;\n } else {\n nightStayValidation.validationMaxNightStay = nightStayValidation.arrivalMaxNightStay;\n }\n }\n\n if (nextMustBreak) {\n //if true, this date only available for departure (no price for checking)\n return resolve({\n lastValidDay: dayToCheck,\n nightStayValidation,\n isValidNightStay: !nightStayValidation.validationMinNightStay && !nightStayValidation.validationMaxNightStay,\n });\n }\n }\n\n return resolve({\n lastValidDay: toDate,\n nightStayValidation,\n isValidNightStay: !nightStayValidation.validationMinNightStay && !nightStayValidation.validationMaxNightStay,\n });\n });\n\n const getArrivalNightStay = (fromDate: Dayjs, roomCode: string): Promise<IArrivalNightStay> =>\n new Promise(async (resolve) => {\n const selectedBasketRow = basketContext.selectedBasketRow;\n const adults = selectedBasketRow ? selectedBasketRow.getAdults() : 0;\n const children = selectedBasketRow ? selectedBasketRow.getChildren() : 0;\n const infants = selectedBasketRow ? selectedBasketRow.getInfants() : 0;\n const promoCode = selectedBasketRow ? selectedBasketRow.getPromoCode() : '';\n\n const price = await API.Availability.getCheapestPriceForDay(fromDate, adults, children, infants, promoCode, roomCode, hotel?.hotelID as string, memberNumber, false);\n return resolve({\n arrivalMinNightStay: price?.arrivalMinNightStay ?? null,\n arrivalMaxNightStay: price?.arrivalMaxNightStay ?? null,\n });\n });\n\n const checkAvailableNightStay = ({\n arrivalNightStay,\n startDate,\n dateToCheck,\n }: {\n arrivalNightStay: IArrivalNightStay;\n startDate: Dayjs | null;\n dateToCheck: Dayjs | null;\n }): IAvailableNightStay => {\n const arrivalMinNightStay = arrivalNightStay?.arrivalMinNightStay ?? null;\n const arrivalMaxNightStay = arrivalNightStay?.arrivalMaxNightStay ?? null;\n let minDate = null;\n let maxDate = null;\n if (dateToCheck && startDate && (arrivalMinNightStay || arrivalMaxNightStay)) {\n const validation: boolean[] = [];\n if (arrivalMinNightStay) {\n minDate = startDate.clone().add(arrivalMinNightStay, 'day');\n validation.push(dateToCheck >= minDate);\n }\n if (arrivalMaxNightStay) {\n maxDate = startDate.clone().add(arrivalMaxNightStay, 'day');\n validation.push(dateToCheck <= maxDate);\n }\n return {\n minDate,\n maxDate,\n available: validation.every((v) => v === true),\n };\n }\n return {\n minDate,\n maxDate,\n available: true,\n };\n };\n\n return {\n getLastValidDay,\n getArrivalNightStay,\n checkAvailableNightStay,\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"useCalendarNightStay.js","sourceRoot":"/","sources":["src/hooks/useCalendarNightStay.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContextType } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { Dayjs } from 'dayjs';\n\nimport API from '@/api/BookingAPI';\n\nimport { useSignedInMember } from './useSignedInMember';\n\ninterface UseCalendarNightStayProps {\n basketContext: BasketContextType;\n}\n\nexport interface INightStayValidation {\n init: boolean;\n arrivalMinNightStay: number | null;\n arrivalMaxNightStay: number | null;\n validationMinNightStay: number | null;\n validationMaxNightStay: number | null;\n}\nexport interface IArrivalNightStay {\n arrivalMinNightStay: number | null;\n arrivalMaxNightStay: number | null;\n}\nexport interface IAvailableNightStay {\n minDate: Dayjs | null;\n maxDate: Dayjs | null;\n available: boolean;\n}\n\nexport const useCalendarNightStay = ({\n basketContext,\n}: UseCalendarNightStayProps): {\n getLastValidDay: (\n fromDate: Dayjs,\n toDate: Dayjs,\n roomCode?: string\n ) => Promise<{\n lastValidDay: Dayjs;\n nightStayValidation: INightStayValidation;\n isValidNightStay: boolean;\n }>;\n getArrivalNightStay: (fromDate: Dayjs, roomCode: string) => Promise<IArrivalNightStay>;\n checkAvailableNightStay: ({ arrivalNightStay, startDate, dateToCheck }: { arrivalNightStay: IArrivalNightStay; startDate: Dayjs | null; dateToCheck: Dayjs | null }) => {\n minDate: Dayjs | null;\n maxDate: Dayjs | null;\n available: boolean;\n };\n} => {\n const { hotel } = useCurrentHotel();\n const { memberNumber } = useSignedInMember();\n const nightStayValidation: INightStayValidation = {\n init: false,\n arrivalMinNightStay: null,\n arrivalMaxNightStay: null,\n validationMinNightStay: null,\n validationMaxNightStay: null,\n };\n const getLastValidDay = (\n fromDate: Dayjs,\n toDate: Dayjs,\n roomCode?: string\n ): Promise<{ lastValidDay: Dayjs; nightStayValidation: INightStayValidation; isValidNightStay: boolean }> =>\n new Promise(async (resolve) => {\n const selectedBasketRow = basketContext.selectedBasketRow;\n const adults = selectedBasketRow ? selectedBasketRow.getAdults() : 0;\n const children = selectedBasketRow ? selectedBasketRow.getChildren() : 0;\n const infants = selectedBasketRow ? selectedBasketRow.getInfants() : 0;\n const promoCode = selectedBasketRow ? selectedBasketRow.getPromoCode() : '';\n\n if (!roomCode) {\n roomCode = selectedBasketRow ? selectedBasketRow.getRoomCode() : '';\n }\n\n const toDateDiff = toDate?.diff?.(fromDate, 'day');\n\n for (let i = 0; i <= toDateDiff; i++) {\n const dayToCheck = fromDate.add(i, 'day');\n const price = await API.Availability.getCheapestPriceForDay(\n dayToCheck,\n adults,\n children,\n infants,\n promoCode,\n roomCode,\n hotel?.hotelID as string,\n memberNumber,\n false\n );\n const nextMustBreak = !price?.price && hotel;\n const departureDateDiff = dayToCheck?.diff?.(fromDate, 'day');\n if (departureDateDiff == 0) {\n //Arrival date\n Object.assign(nightStayValidation, {\n init: true,\n arrivalMinNightStay: price?.arrivalMinNightStay ?? null,\n arrivalMaxNightStay: price?.arrivalMaxNightStay ?? null,\n validationMinNightStay: null,\n validationMaxNightStay: null,\n });\n }\n if (nightStayValidation.arrivalMinNightStay) {\n //Min. Departure date\n if (departureDateDiff >= nightStayValidation.arrivalMinNightStay) {\n nightStayValidation.validationMinNightStay = null;\n } else {\n nightStayValidation.validationMinNightStay = nightStayValidation.arrivalMinNightStay;\n }\n }\n if (nightStayValidation.arrivalMaxNightStay) {\n //Max. Departure date\n if (departureDateDiff <= nightStayValidation.arrivalMaxNightStay) {\n nightStayValidation.validationMaxNightStay = null;\n } else {\n nightStayValidation.validationMaxNightStay = nightStayValidation.arrivalMaxNightStay;\n }\n }\n\n if (nextMustBreak) {\n //if true, this date only available for departure (no price for checking)\n return resolve({\n lastValidDay: dayToCheck,\n nightStayValidation,\n isValidNightStay: !nightStayValidation.validationMinNightStay && !nightStayValidation.validationMaxNightStay,\n });\n }\n }\n\n return resolve({\n lastValidDay: toDate,\n nightStayValidation,\n isValidNightStay: !nightStayValidation.validationMinNightStay && !nightStayValidation.validationMaxNightStay,\n });\n });\n\n const getArrivalNightStay = (fromDate: Dayjs, roomCode: string): Promise<IArrivalNightStay> =>\n new Promise(async (resolve) => {\n const selectedBasketRow = basketContext.selectedBasketRow;\n const adults = selectedBasketRow ? selectedBasketRow.getAdults() : 0;\n const children = selectedBasketRow ? selectedBasketRow.getChildren() : 0;\n const infants = selectedBasketRow ? selectedBasketRow.getInfants() : 0;\n const promoCode = selectedBasketRow ? selectedBasketRow.getPromoCode() : '';\n\n const price = await API.Availability.getCheapestPriceForDay(fromDate, adults, children, infants, promoCode, roomCode, hotel?.hotelID as string, memberNumber, false);\n return resolve({\n arrivalMinNightStay: price?.arrivalMinNightStay ?? null,\n arrivalMaxNightStay: price?.arrivalMaxNightStay ?? null,\n });\n });\n\n const checkAvailableNightStay = ({\n arrivalNightStay,\n startDate,\n dateToCheck,\n }: {\n arrivalNightStay: IArrivalNightStay;\n startDate: Dayjs | null;\n dateToCheck: Dayjs | null;\n }): IAvailableNightStay => {\n const arrivalMinNightStay = arrivalNightStay?.arrivalMinNightStay ?? null;\n const arrivalMaxNightStay = arrivalNightStay?.arrivalMaxNightStay ?? null;\n let minDate = null;\n let maxDate = null;\n if (dateToCheck && startDate && (arrivalMinNightStay || arrivalMaxNightStay)) {\n const validation: boolean[] = [];\n if (arrivalMinNightStay) {\n minDate = startDate.clone().add(arrivalMinNightStay, 'day');\n validation.push(dateToCheck >= minDate);\n }\n if (arrivalMaxNightStay) {\n maxDate = startDate.clone().add(arrivalMaxNightStay, 'day');\n validation.push(dateToCheck <= maxDate);\n }\n return {\n minDate,\n maxDate,\n available: validation.every((v) => v === true),\n };\n }\n return {\n minDate,\n maxDate,\n available: true,\n };\n };\n\n return {\n getLastValidDay,\n getArrivalNightStay,\n checkAvailableNightStay,\n };\n};\n"]}
|
|
@@ -15,13 +15,23 @@ 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) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
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
|
+
})();
|
|
25
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -110,20 +120,20 @@ const withNextStepConfirmationDialog = (WrappedComponent) => {
|
|
|
110
120
|
}
|
|
111
121
|
});
|
|
112
122
|
const onDiscardHandler = () => __awaiter(this, void 0, void 0, function* () {
|
|
113
|
-
var
|
|
123
|
+
var _a;
|
|
114
124
|
setShowConfirmationDialog(false);
|
|
115
125
|
const basketRowUnMatchedPrice = yield getBasketRowUnMatchedPrice();
|
|
116
126
|
for (const { basketRow } of basketRowUnMatchedPrice) {
|
|
117
127
|
basketRow.discardGuestsState();
|
|
118
128
|
updateBasketRow(basketRow, true);
|
|
119
129
|
}
|
|
120
|
-
(
|
|
130
|
+
(_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
121
131
|
});
|
|
122
132
|
const onSyncChangesHandler = () => __awaiter(this, void 0, void 0, function* () {
|
|
123
|
-
var
|
|
133
|
+
var _a;
|
|
124
134
|
setShowConfirmationDialog(false);
|
|
125
135
|
yield syncBasketRowUnMatchedPrice();
|
|
126
|
-
(
|
|
136
|
+
(_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
127
137
|
});
|
|
128
138
|
const openCloseHandler = () => {
|
|
129
139
|
setShowConfirmationDialog(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNextStepAction.js","sourceRoot":"/","sources":["src/hooks/useNextStepAction.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext } from '@frontend/contexts';\nimport React, { useContext, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport BEButton from '@/components/generic/BEButton';\nimport SimpleModal, { SimpleModalSize } from '@/components/generic/modal/SimpleModal';\nimport Text from '@/components/generic/Text';\nimport { useRoomRateAvailabilityListFromApi } from '@/hooks/RoomRateAvailabilityListFromApi';\nimport BasketRow from '@/models/BasketRow';\nimport { RoomRate } from '@/models/Room/RoomRate';\nimport { Translation } from '@/translations/Translation';\n\ninterface IValidationMatchedPrice {\n matched: boolean;\n latestRate: RoomRate | null;\n}\n\nexport const useNextStepAction = () => {\n const { getAllValidRows, updateBasketRow } = useContext(BasketContext);\n const { getRoomsByBasketRow } = useRoomRateAvailabilityListFromApi();\n\n const validateRoomRateMatchedPrice = async (basketRow: BasketRow): Promise<IValidationMatchedPrice> => {\n const roomRate = basketRow.getRate();\n const rooms = await getRoomsByBasketRow(basketRow);\n const latestRate = roomRate?.code ? rooms.find(({ code }) => code === roomRate?.getRoom()?.code)?.getRate(roomRate?.code) : null;\n return {\n matched: roomRate?.getAveragePrice(true) === latestRate?.getAveragePrice(true),\n latestRate: latestRate ?? null,\n };\n };\n\n const getBasketRowUnMatchedPrice = async (): Promise<\n {\n basketRow: BasketRow;\n validation: IValidationMatchedPrice;\n }[]\n > => {\n const allValidRows: BasketRow[] = getAllValidRows();\n const invalidRows = [];\n for (const basketRow of allValidRows) {\n const validation = await validateRoomRateMatchedPrice(basketRow);\n if (validation.matched === false) {\n invalidRows.push({\n basketRow: basketRow,\n validation: validation,\n });\n }\n }\n return invalidRows;\n };\n\n const syncBasketRowUnMatchedPrice = async (): Promise<void> => {\n const allValidRows: BasketRow[] = getAllValidRows();\n for (const basketRow of allValidRows) {\n const matchedPrice = await validateRoomRateMatchedPrice(basketRow);\n if (matchedPrice.matched === false) {\n basketRow.setRate(matchedPrice?.latestRate);\n basketRow.setPreGuestsState();\n updateBasketRow(basketRow);\n }\n }\n };\n\n return { getBasketRowUnMatchedPrice, syncBasketRowUnMatchedPrice };\n};\n\n//HOC\nexport const withNextStepConfirmationDialog = (WrappedComponent: any) => {\n return function WithConfirmationDialog(props: any) {\n const { t } = useTranslation();\n\n const { updateBasketRow } = useContext(BasketContext);\n const { getBasketRowUnMatchedPrice, syncBasketRowUnMatchedPrice } = useNextStepAction();\n const [showConfirmationDialog, setShowConfirmationDialog] = useState<boolean>(false);\n const [hasUnavailableBasket, setHasUnavailableBasket] = useState<boolean>(false);\n\n const onClickHandler = async (event: MouseEvent) => {\n const basketRowUnMatchedPrice = await getBasketRowUnMatchedPrice();\n if (basketRowUnMatchedPrice.length === 0) {\n //Pre-validation passed\n props.onClick?.();\n } else {\n //Pre-validation failed\n //Show dymanic alert here\n setHasUnavailableBasket(basketRowUnMatchedPrice.some(({ validation }) => !validation.latestRate));\n setShowConfirmationDialog(true);\n event.stopPropagation();\n event.preventDefault();\n }\n };\n\n const onDiscardHandler = async () => {\n setShowConfirmationDialog(false);\n const basketRowUnMatchedPrice = await getBasketRowUnMatchedPrice();\n for (const { basketRow } of basketRowUnMatchedPrice) {\n basketRow.discardGuestsState();\n updateBasketRow(basketRow, true);\n }\n props.onClick?.();\n };\n\n const onSyncChangesHandler = async () => {\n setShowConfirmationDialog(false);\n await syncBasketRowUnMatchedPrice();\n props.onClick?.();\n };\n\n const openCloseHandler = () => {\n setShowConfirmationDialog(false);\n };\n\n return (\n <>\n <WrappedComponent {...props} onClick={onClickHandler} />\n <SimpleModal open={showConfirmationDialog} onClose={openCloseHandler} alignCenter size={SimpleModalSize.ExtraSmall}>\n <div className=\"u-pad--heavy inactivity-window\">\n <div className=\"u-marg-bottom--heavy\">\n {hasUnavailableBasket ? (\n <>\n <Text>{t(Translation.Step.Room.UnMatchedBasketRowPrice.ConfirmUpdateAndClearAlert)}</Text>\n <Text>{t(Translation.Step.Room.UnMatchedBasketRowPrice.ConfirmUpdateAndClearAlert2)}</Text>\n </>\n ) : (\n <Text>{t(Translation.Step.Room.UnMatchedBasketRowPrice.ConfirmKeepChangesAlert)}</Text>\n )}\n </div>\n <div className=\"u-flex\">\n <div className=\"u-marg-right--light u-w-100\">\n <BEButton wide onClick={onDiscardHandler}>\n {t(Translation.Misc.No)}\n </BEButton>\n </div>\n <div className=\"u-w-100\">\n <BEButton wide filled primary onClick={onSyncChangesHandler}>\n {hasUnavailableBasket ? t(Translation.Step.Room.UnMatchedBasketRowPrice.Continue) : t(Translation.Step.Room.UnMatchedBasketRowPrice.YesUpdate)}\n </BEButton>\n </div>\n </div>\n </div>\n </SimpleModal>\n </>\n );\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"useNextStepAction.js","sourceRoot":"/","sources":["src/hooks/useNextStepAction.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext } from '@frontend/contexts';\nimport React, { useContext, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport BEButton from '@/components/generic/BEButton';\nimport SimpleModal, { SimpleModalSize } from '@/components/generic/modal/SimpleModal';\nimport Text from '@/components/generic/Text';\nimport { useRoomRateAvailabilityListFromApi } from '@/hooks/RoomRateAvailabilityListFromApi';\nimport BasketRow from '@/models/BasketRow';\nimport { RoomRate } from '@/models/Room/RoomRate';\nimport { Translation } from '@/translations/Translation';\n\ninterface IValidationMatchedPrice {\n matched: boolean;\n latestRate: RoomRate | null;\n}\n\nexport const useNextStepAction = () => {\n const { getAllValidRows, updateBasketRow } = useContext(BasketContext);\n const { getRoomsByBasketRow } = useRoomRateAvailabilityListFromApi();\n\n const validateRoomRateMatchedPrice = async (basketRow: BasketRow): Promise<IValidationMatchedPrice> => {\n const roomRate = basketRow.getRate();\n const rooms = await getRoomsByBasketRow(basketRow);\n const latestRate = roomRate?.code ? rooms.find(({ code }) => code === roomRate?.getRoom()?.code)?.getRate(roomRate?.code) : null;\n return {\n matched: roomRate?.getAveragePrice(true) === latestRate?.getAveragePrice(true),\n latestRate: latestRate ?? null,\n };\n };\n\n const getBasketRowUnMatchedPrice = async (): Promise<\n {\n basketRow: BasketRow;\n validation: IValidationMatchedPrice;\n }[]\n > => {\n const allValidRows: BasketRow[] = getAllValidRows();\n const invalidRows = [];\n for (const basketRow of allValidRows) {\n const validation = await validateRoomRateMatchedPrice(basketRow);\n if (validation.matched === false) {\n invalidRows.push({\n basketRow: basketRow,\n validation: validation,\n });\n }\n }\n return invalidRows;\n };\n\n const syncBasketRowUnMatchedPrice = async (): Promise<void> => {\n const allValidRows: BasketRow[] = getAllValidRows();\n for (const basketRow of allValidRows) {\n const matchedPrice = await validateRoomRateMatchedPrice(basketRow);\n if (matchedPrice.matched === false) {\n basketRow.setRate(matchedPrice?.latestRate);\n basketRow.setPreGuestsState();\n updateBasketRow(basketRow);\n }\n }\n };\n\n return { getBasketRowUnMatchedPrice, syncBasketRowUnMatchedPrice };\n};\n\n//HOC\nexport const withNextStepConfirmationDialog = (WrappedComponent: any) => {\n return function WithConfirmationDialog(props: any) {\n const { t } = useTranslation();\n\n const { updateBasketRow } = useContext(BasketContext);\n const { getBasketRowUnMatchedPrice, syncBasketRowUnMatchedPrice } = useNextStepAction();\n const [showConfirmationDialog, setShowConfirmationDialog] = useState<boolean>(false);\n const [hasUnavailableBasket, setHasUnavailableBasket] = useState<boolean>(false);\n\n const onClickHandler = async (event: MouseEvent) => {\n const basketRowUnMatchedPrice = await getBasketRowUnMatchedPrice();\n if (basketRowUnMatchedPrice.length === 0) {\n //Pre-validation passed\n props.onClick?.();\n } else {\n //Pre-validation failed\n //Show dymanic alert here\n setHasUnavailableBasket(basketRowUnMatchedPrice.some(({ validation }) => !validation.latestRate));\n setShowConfirmationDialog(true);\n event.stopPropagation();\n event.preventDefault();\n }\n };\n\n const onDiscardHandler = async () => {\n setShowConfirmationDialog(false);\n const basketRowUnMatchedPrice = await getBasketRowUnMatchedPrice();\n for (const { basketRow } of basketRowUnMatchedPrice) {\n basketRow.discardGuestsState();\n updateBasketRow(basketRow, true);\n }\n props.onClick?.();\n };\n\n const onSyncChangesHandler = async () => {\n setShowConfirmationDialog(false);\n await syncBasketRowUnMatchedPrice();\n props.onClick?.();\n };\n\n const openCloseHandler = () => {\n setShowConfirmationDialog(false);\n };\n\n return (\n <>\n <WrappedComponent {...props} onClick={onClickHandler} />\n <SimpleModal open={showConfirmationDialog} onClose={openCloseHandler} alignCenter size={SimpleModalSize.ExtraSmall}>\n <div className=\"u-pad--heavy inactivity-window\">\n <div className=\"u-marg-bottom--heavy\">\n {hasUnavailableBasket ? (\n <>\n <Text>{t(Translation.Step.Room.UnMatchedBasketRowPrice.ConfirmUpdateAndClearAlert)}</Text>\n <Text>{t(Translation.Step.Room.UnMatchedBasketRowPrice.ConfirmUpdateAndClearAlert2)}</Text>\n </>\n ) : (\n <Text>{t(Translation.Step.Room.UnMatchedBasketRowPrice.ConfirmKeepChangesAlert)}</Text>\n )}\n </div>\n <div className=\"u-flex\">\n <div className=\"u-marg-right--light u-w-100\">\n <BEButton wide onClick={onDiscardHandler}>\n {t(Translation.Misc.No)}\n </BEButton>\n </div>\n <div className=\"u-w-100\">\n <BEButton wide filled primary onClick={onSyncChangesHandler}>\n {hasUnavailableBasket ? t(Translation.Step.Room.UnMatchedBasketRowPrice.Continue) : t(Translation.Step.Room.UnMatchedBasketRowPrice.YesUpdate)}\n </BEButton>\n </div>\n </div>\n </div>\n </SimpleModal>\n </>\n );\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePlanpayRawPrice.js","sourceRoot":"/","sources":["src/hooks/usePlanpayRawPrice.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,iCAAwD;AAExD,yCAAuD;AACvD,gEAA2C;AAC3C,8DAAyC;AASzC,MAAM,kBAAkB,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAA2B,EAAE,EAAE;;IACvH,MAAM,aAAa,GAAG,IAAA,oBAAS,GAAE,CAAC;IAClC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAA,iBAAU,GAAE,CAAC;IAC5D,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,eAAe,CAAC;IACjD,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,EAAE,IAAI,SAAS,CAAC;IACzD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,kBAAW,EAAC;QAC1B,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,CAAC,CAAA,MAAA,aAAa,CAAC,iBAAiB,0CAAE,YAAY,EAAE,KAAI,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/H,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAA0C,SAAS,CAAC,CAAC;IAErF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,UAAU,IAAI,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"usePlanpayRawPrice.js","sourceRoot":"/","sources":["src/hooks/usePlanpayRawPrice.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,iCAAwD;AAExD,yCAAuD;AACvD,gEAA2C;AAC3C,8DAAyC;AASzC,MAAM,kBAAkB,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAA2B,EAAE,EAAE;;IACvH,MAAM,aAAa,GAAG,IAAA,oBAAS,GAAE,CAAC;IAClC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAA,iBAAU,GAAE,CAAC;IAC5D,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,eAAe,CAAC;IACjD,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,EAAE,IAAI,SAAS,CAAC;IACzD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,kBAAW,EAAC;QAC1B,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,CAAC,CAAA,MAAA,aAAa,CAAC,iBAAiB,0CAAE,YAAY,EAAE,KAAI,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/H,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAA0C,SAAS,CAAC,CAAC;IAErF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,GAAS,EAAE;gBAC3B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;oBAC1C,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAG,aAA4C,CAAC,QAAQ;oBAClE,YAAY,EAAE,QAAQ;oBACtB,cAAc,EAAE,OAAO;iBAC1B,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAA,CAAC;YACF,WAAW,EAAE,CAAC;QAClB,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC","sourcesContent":["import { PlanPayPricePreviewResponse } from '@planpay/web';\nimport { useContext, useEffect, useState } from 'react';\n\nimport { CompanyContext, useBasket } from '@/contexts';\nimport useCurrency from '@/hooks/Currency';\nimport usePlanpay from '@/hooks/Planpay';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\n\ninterface UsePlanpayRawPriceProps {\n price?: number;\n checkin?: string;\n currency?: string;\n}\n\nconst usePlanpayRawPrice = ({ price: priceProp, checkin: checkinProp, currency: currencyProp }: UsePlanpayRawPriceProps) => {\n const basketContext = useBasket();\n const { planpay, planpayConfig, hasPlanpay } = usePlanpay();\n const { currentCurrency } = useContext(CompanyContext);\n const currency = currencyProp ?? currentCurrency;\n const price = basketContext.getTotalPrice() || priceProp;\n const { value } = useCurrency({\n children: price,\n });\n const checkin = checkinProp ?? (basketContext.selectedBasketRow?.getStartDate() || basketContext.endDate).format('YYYY-MM-DD');\n const [data, setData] = useState<PlanPayPricePreviewResponse | undefined>(undefined);\n\n useEffect(() => {\n if (hasPlanpay && value) {\n const getRawPrice = async () => {\n const data = await planpay.pricePreview.fetch({\n totalCost: price,\n merchantId: (planpayConfig as Required<Hotel>['planpay']).username,\n currencyCode: currency,\n redemptionDate: checkin,\n });\n setData(data);\n };\n getRawPrice();\n }\n }, [value, hasPlanpay, currency, price]);\n return data;\n};\n\nexport default usePlanpayRawPrice;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRateDetails.js","sourceRoot":"/","sources":["src/hooks/useRateDetails.ts"],"names":[],"mappings":";;;AAAA,iDAAmD;AACnD,iCAA4C;AAC5C,iDAA+C;AAG/C,4DAAyD;AAElD,MAAM,cAAc,GAAG,CAAC,IAAc,EAAE,QAAiB,EAAE,EAAE;IAChE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAEhD,MAAM,WAAW,GAAG,aAAa,CAAC,iBAAiB,CAAC;IAEpD,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;;QACjE,IAAI,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"useRateDetails.js","sourceRoot":"/","sources":["src/hooks/useRateDetails.ts"],"names":[],"mappings":";;;AAAA,iDAAmD;AACnD,iCAA4C;AAC5C,iDAA+C;AAG/C,4DAAyD;AAElD,MAAM,cAAc,GAAG,CAAC,IAAc,EAAE,QAAiB,EAAE,EAAE;IAChE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAEhD,MAAM,WAAW,GAAG,aAAa,CAAC,iBAAiB,CAAC;IAEpD,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;;QACjE,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAChJ,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,6BAA6B,CAAC,EAAE,SAAS,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,EAAE,EAAE,OAAO,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QAEtI,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAA,UAAU,CAAC,gBAAgB,mCAAI,EAAE,EAAE,eAAe,EAAE,MAAA,UAAU,CAAC,eAAe,mCAAI,EAAE,EAAE,CAAC;IACjJ,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAElC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AAC3D,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB","sourcesContent":["import { BasketContext } from '@frontend/contexts';\nimport { useContext, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { RoomRate } from '@/models/Room/RoomRate';\nimport { Translation } from '@/translations/Translation';\n\nexport const useRateDetails = (rate: RoomRate, isLocked: boolean) => {\n const { t } = useTranslation();\n const basketContext = useContext(BasketContext);\n\n const selectedRow = basketContext.selectedBasketRow;\n\n const { rateName, shortDescription, longDescription } = useMemo(() => {\n if (isLocked) {\n return { rateName: t(Translation.Step.Room.RoomInfo.MemberOnlyDeal), rateDescription: t(Translation.Step.Room.RoomInfo.DealForMemberOnly) };\n }\n\n const overwrites = rate.getPossiblyOverwrittenDetails({ startDate: selectedRow?.getStartDate(), endDate: selectedRow?.getEndDate() });\n\n return { rateName: overwrites.name, shortDescription: overwrites.shortDescription ?? '', longDescription: overwrites.longDescription ?? '' };\n }, [rate, selectedRow, isLocked]);\n\n return { rateName, shortDescription, longDescription };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearchScopeHook.js","sourceRoot":"/","sources":["src/hooks/useSearchScopeHook.ts"],"names":[],"mappings":";;;AAAA,+DAA2D;AAEpD,MAAM,kBAAkB,GAAG,GAAG,EAAE;;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,kCAAe,GAAE,CAAC;IAEpC,MAAM,sBAAsB,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAyC,EAAU,EAAE;;QACvG,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,mCAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,mCAAI,CAAC,CAAC,CAAC;QAE/F,MAAM,aAAa,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,CAAC;QAClC,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEjE,IAAI,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"useSearchScopeHook.js","sourceRoot":"/","sources":["src/hooks/useSearchScopeHook.ts"],"names":[],"mappings":";;;AAAA,+DAA2D;AAEpD,MAAM,kBAAkB,GAAG,GAAG,EAAE;;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,kCAAe,GAAE,CAAC;IAEpC,MAAM,sBAAsB,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAyC,EAAU,EAAE;;QACvG,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,mCAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,mCAAI,CAAC,CAAC,CAAC;QAE/F,MAAM,aAAa,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,CAAC;QAClC,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEjE,IAAI,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACpC,SAAS,GAAG,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,CAAC,EAAE,MAAM,EAAsB,EAAU,EAAE;;QACxE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,mCAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,mCAAI,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7G,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,GAAW,EAAE;;QACzC,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,mCAAI,EAAE,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,0CAAE,eAAe,MAAK,KAAK,CAAC;IAE1E,OAAO;QACH,sBAAsB;QACtB,wBAAwB;QACxB,uBAAuB;QACvB,YAAY;KACf,CAAC;AACN,CAAC,CAAC;AAhCW,QAAA,kBAAkB,sBAgC7B","sourcesContent":["import { useCurrentHotel } from '@/hooks/CurrentHotelHook';\n\nexport const useSearchScopeHook = () => {\n const { hotel } = useCurrentHotel();\n\n const getMaxSelectableAdults = ({ adults, children = 0 }: { adults: number; children?: number }): number => {\n const maxOccupancy = Math.min(hotel?.maxAdults ?? +Number.MAX_VALUE, hotel?.maxOccupancy ?? 0);\n\n const selectedValue = adults ?? 1;\n let maxAdults = Math.max(maxOccupancy - children, selectedValue);\n\n if (maxAdults < 1 || isNaN(maxAdults)) {\n maxAdults = 1;\n }\n\n return maxAdults;\n };\n\n const getMaxSelectableChildren = ({ adults }: { adults: number }): number => {\n return Math.max(Math.min(hotel?.maxChildren ?? +Number.MAX_VALUE, hotel?.maxOccupancy ?? 0) - adults, 0);\n };\n\n const getMaxSelectableInfants = (): number => {\n return hotel?.maxInfants ?? 10;\n };\n\n const showChildren = hotel?.childConfiguration?.supportChildren !== false;\n\n return {\n getMaxSelectableAdults,\n getMaxSelectableChildren,\n getMaxSelectableInfants,\n showChildren,\n };\n};\n"]}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -106,7 +106,7 @@ export * from './hooks/EventHook';
|
|
|
106
106
|
/** @deprecated use `roomstay.events` instead */
|
|
107
107
|
export { default as RoomstayEventManager } from './events/RoomstayEventManager';
|
|
108
108
|
export declare const events: {
|
|
109
|
-
on: <T extends import("./events/RoomstayEvent").RoomstayEvent = import("./events/RoomstayEvent").RoomstayEvent>(eventType:
|
|
109
|
+
on: <T extends import("./events/RoomstayEvent").RoomstayEvent = import("./events/RoomstayEvent").RoomstayEvent>(eventType: import("./events/RoomstayEvent").RoomstayEvent | string, callback: import("./events/RoomstayEventManager").RoomstayEventCallback<T>, id?: string) => boolean;
|
|
110
110
|
raise: (event: import("./events/RoomstayEvent").RoomstayEvent) => Promise<void>;
|
|
111
111
|
};
|
|
112
112
|
export * from './config';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddonAPI.js","sourceRoot":"/","sources":["src/mockApi/AddonAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8DAAsC;AAEtC,gDAA6C;AAE7C,0FAAkE;AAElE,MAAqB,QAAS,SAAQ,iBAAO;IAA7C;;QACY,iBAAY,GAA2B,EAAE,CAAC;QAE3C,eAAU,GAAG,CAAC,UAAuB,EAAE,EAAE,CAC5C,IAAI,OAAO,CAAU,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;;YAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAEhC,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,OAAO,EAAE,0CAAE,IAAI,CAAC;YACvC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,6BAAmB,CAAC,YAAY,CAAC;YAElD,MAAM,OAAO,GAAG,IAAI,aAAK,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAQ;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,8DAA8D;gBAC3E,KAAK,EAAE,yDAAyD;gBAChE,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,EAAE;aACnB,CAAC;YAEF,MAAM,SAAS,GAAG,IAAI,aAAK,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAQ;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,8GAA8G;gBAC3H,KAAK,EAAE,yDAAyD;gBAChE,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,EAAE;aACnB,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,aAAK,EAAE,CAAC;YACjC,MAAM,gBAAgB,GAAQ;gBAC1B,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,2IAA2I;gBACxJ,KAAK,EAAE,yDAAyD;gBAChE,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,EAAE;aACnB,CAAC;YAEF,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;YAEjF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"AddonAPI.js","sourceRoot":"/","sources":["src/mockApi/AddonAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8DAAsC;AAEtC,gDAA6C;AAE7C,0FAAkE;AAElE,MAAqB,QAAS,SAAQ,iBAAO;IAA7C;;QACY,iBAAY,GAA2B,EAAE,CAAC;QAE3C,eAAU,GAAG,CAAC,UAAuB,EAAE,EAAE,CAC5C,IAAI,OAAO,CAAU,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;;YAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAEhC,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,OAAO,EAAE,0CAAE,IAAI,CAAC;YACvC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,6BAAmB,CAAC,YAAY,CAAC;YAElD,MAAM,OAAO,GAAG,IAAI,aAAK,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAQ;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,8DAA8D;gBAC3E,KAAK,EAAE,yDAAyD;gBAChE,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,EAAE;aACnB,CAAC;YAEF,MAAM,SAAS,GAAG,IAAI,aAAK,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAQ;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,8GAA8G;gBAC3H,KAAK,EAAE,yDAAyD;gBAChE,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,EAAE;aACnB,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,aAAK,EAAE,CAAC;YACjC,MAAM,gBAAgB,GAAQ;gBAC1B,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,2IAA2I;gBACxJ,KAAK,EAAE,yDAAyD;gBAChE,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,EAAE;aACnB,CAAC;YAEF,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;YAEjF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAE9E,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACjE,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACnE,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YAC1E,CAAC;YAED,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC/B,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACnC,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAEzC,OAAO,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QACvD,CAAC,CAAA,CAAC,CAAC;IACX,CAAC;CAAA;AArED,2BAqEC","sourcesContent":["import MockAPI from 'mockApi/MockAPI';\n\nimport { Addon } from '@/models/Addon/Addon';\nimport BasketRow from '@/models/BasketRow';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\n\nexport default class AddonAPI extends MockAPI {\n private storedAddons: { [ref: string]: any } = {};\n\n public findAddons = (basketRows: BasketRow[]) =>\n new Promise<Addon[]>(async (resolve, reject) => {\n const basketRow = basketRows[0];\n\n const rate = basketRow.getRate()?.code;\n const adults = basketRow.getAdults();\n const children = basketRow.getChildren();\n const checkInDate = basketRow.getStartDate().format('YYYY-MM-DD');\n const checkOutDate = basketRow.getEndDate().format('YYYY-MM-DD');\n const language = RoomstayThemeEngine.selectedLang;\n\n const upgrade = new Addon();\n const upgradeData: any = {\n code: 'TEST1',\n name: 'Room Upgrade',\n description: 'Upgrade your room for a more luxurious stay. Treat yourself!',\n image: 'https://unsplash.com/photos/lG1Gc-IW6f0/download?w:1920',\n pricingType: 'Per Night',\n availability: {},\n category: '',\n inclusive: false,\n ratePlanCode: '',\n };\n\n const champagne = new Addon();\n const champagneData: any = {\n code: 'TEST2',\n name: 'Champagne in Room',\n description: 'Enjoy a chilled glass of premium champagne served in an ice bucket, ready for you in your room upon arrival.',\n image: 'https://unsplash.com/photos/RhBnqwZwtbU/download?w:1920',\n pricingType: 'Per Night',\n availability: {},\n category: '',\n inclusive: false,\n ratePlanCode: '',\n };\n\n const lateCheckout = new Addon();\n const lateCheckoutData: any = {\n code: 'TEST3',\n name: 'Late Checkout',\n description: 'Planning for a late night? Why not sleep in a little longer? Book a late checkout to give you more time to relax before your flight home.',\n image: 'https://unsplash.com/photos/kHHwYNA1lnM/download?w:1920',\n pricingType: 'Per Night',\n availability: {},\n category: '',\n inclusive: false,\n ratePlanCode: '',\n };\n\n const daysBetween = basketRow.getEndDate().diff(basketRow.getStartDate(), 'day');\n\n for (let i = 0; i < daysBetween; i++) {\n const addonDate = basketRow.getStartDate().add(i, 'day').format('YYYY-MM-DD');\n\n upgradeData.availability[addonDate] = { price: 50, quantity: 1 };\n champagneData.availability[addonDate] = { price: 75, quantity: 1 };\n lateCheckoutData.availability[addonDate] = { price: 25, quantity: 1 };\n }\n\n upgrade.applyData(upgradeData);\n champagne.applyData(champagneData);\n lateCheckout.applyData(lateCheckoutData);\n\n return resolve([upgrade, champagne, lateCheckout]);\n });\n}\n"]}
|
|
@@ -15,13 +15,23 @@ 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) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
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
|
+
})();
|
|
25
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemberAPI.js","sourceRoot":"/","sources":["src/mockApi/MemberAPI.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MemberAPI.js","sourceRoot":"/","sources":["src/mockApi/MemberAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAAuD;AAEvD,MAAqB,SAAU,SAAQ,iBAAO;IAA9C;;QACW,cAAS,GAAG,CAAO,SAAiB,EAAE,QAAgB,EAAE,KAAa,EAAgB,EAAE;YAC1F,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAW,CAAC,MAAM,EAAE;gBACjC,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,KAAK;aACf,CAAC,CAAC;QACP,CAAC,CAAA,CAAC;IACN,CAAC;CAAA;AARD,4BAQC","sourcesContent":["import MockAPI, { APIEndpoint } from 'mockApi/MockAPI';\n\nexport default class MemberAPI extends MockAPI {\n public addMember = async (firstName: string, lastName: string, email: string): Promise<any> => {\n return this.post(APIEndpoint.Member, {\n FirstName: firstName,\n LastName: lastName,\n Email: email,\n });\n };\n}\n"]}
|
|
@@ -23,12 +23,12 @@ var APIEndpoint;
|
|
|
23
23
|
APIEndpoint["Reservations"] = "reservations";
|
|
24
24
|
APIEndpoint["Packages"] = "packages";
|
|
25
25
|
APIEndpoint["Member"] = "member";
|
|
26
|
-
})(APIEndpoint
|
|
26
|
+
})(APIEndpoint || (exports.APIEndpoint = APIEndpoint = {}));
|
|
27
27
|
class MockAPI {
|
|
28
28
|
constructor() {
|
|
29
|
-
this.post = (
|
|
30
|
-
this.delete = (
|
|
31
|
-
this.get = (
|
|
29
|
+
this.post = (endpoint_1, params_1, getParams_1, ...args_1) => __awaiter(this, [endpoint_1, params_1, getParams_1, ...args_1], void 0, function* (endpoint, params, getParams, extraPath = '') { return this.postOrDeleteOrUpdate('POST', endpoint, params, getParams, extraPath); });
|
|
30
|
+
this.delete = (endpoint_1, params_1, getParams_1, ...args_1) => __awaiter(this, [endpoint_1, params_1, getParams_1, ...args_1], void 0, function* (endpoint, params, getParams, extraPath = '') { return this.postOrDeleteOrUpdate('DELETE', endpoint, params, getParams, extraPath); });
|
|
31
|
+
this.get = (endpoint_1, params_1, ...args_1) => __awaiter(this, [endpoint_1, params_1, ...args_1], void 0, function* (endpoint, params, extraPath = '', hotelId) {
|
|
32
32
|
if (!params.language) {
|
|
33
33
|
params.language = RoomstayThemeEngine_1.default.selectedLang;
|
|
34
34
|
}
|
|
@@ -50,7 +50,7 @@ class MockAPI {
|
|
|
50
50
|
this.getUrl = (endpoint, hotelId) => {
|
|
51
51
|
return `${this.getApiPath()}${endpoint}/${hotelId}/`;
|
|
52
52
|
};
|
|
53
|
-
this.postOrDeleteOrUpdate = (
|
|
53
|
+
this.postOrDeleteOrUpdate = (method_1, endpoint_1, params_1, ...args_1) => __awaiter(this, [method_1, endpoint_1, params_1, ...args_1], void 0, function* (method, endpoint, params, getParams = {}, extraPath = '') {
|
|
54
54
|
if (!getParams.language) {
|
|
55
55
|
getParams.language = RoomstayThemeEngine_1.default.selectedLang;
|
|
56
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockAPI.js","sourceRoot":"/","sources":["src/mockApi/MockAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,0FAAkE;AAOrD,QAAA,eAAe,GAAG,YAAY,CAAC;AAE5C,IAAY,WAMX;AAND,WAAY,WAAW;IACnB,4CAA6B,CAAA;IAC7B,iDAAkC,CAAA;IAClC,4CAA6B,CAAA;IAC7B,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;AACrB,CAAC,EANW,WAAW,
|
|
1
|
+
{"version":3,"file":"MockAPI.js","sourceRoot":"/","sources":["src/mockApi/MockAPI.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\n\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\n\nexport interface CachedObject {\n cachedSince: dayjs.Dayjs;\n validUntil: dayjs.Dayjs;\n}\n\nexport const API_DATE_FORMAT = 'YYYY-MM-DD';\n\nexport enum APIEndpoint {\n Availability = 'availability',\n Calendar = 'availability/calendar',\n Reservations = 'reservations',\n Packages = 'packages',\n Member = 'member',\n}\n\ntype ApiGetParameters = {\n [x: string]: string | number | any;\n};\n\nexport default class MockAPI {\n /**\n * Checks if the provided cache object does not need to be reloaded\n * @param obj CacheObject\n */\n public isCacheObjectStillValid(obj: CachedObject): boolean {\n if (obj.validUntil.isAfter(dayjs())) {\n return true;\n }\n\n return false;\n }\n\n public getApiPath() {\n return RoomstayThemeEngine.isLocalhost ? 'http://localhost:3000/' : 'https://vw8wezyjie.execute-api.ap-southeast-2.amazonaws.com/production/';\n }\n\n protected post = async (endpoint: APIEndpoint, params: ApiGetParameters, getParams?: ApiGetParameters, extraPath = '') =>\n this.postOrDeleteOrUpdate('POST', endpoint, params, getParams, extraPath);\n\n protected delete = async (endpoint: APIEndpoint, params: ApiGetParameters, getParams?: ApiGetParameters, extraPath = '') =>\n this.postOrDeleteOrUpdate('DELETE', endpoint, params, getParams, extraPath);\n\n protected get = async (endpoint: APIEndpoint, params: ApiGetParameters, extraPath = '', hotelId: string) => {\n if (!params.language) {\n params.language = RoomstayThemeEngine.selectedLang;\n }\n\n const parameters = this.formatParams(params).join('&');\n\n const response = await fetch(this.getUrl(endpoint, hotelId) + extraPath + (parameters ? '?' + parameters : ''), {\n credentials: 'omit',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n const json = await response.json();\n\n if (response.ok) {\n return json;\n } else {\n throw json;\n }\n };\n\n private getUrl = (endpoint: APIEndpoint, hotelId?: string) => {\n return `${this.getApiPath()}${endpoint}/${hotelId}/`;\n };\n\n private formatParams<T extends { [x: string]: any }>(params: T, forGet = true) {\n const values: T | any = {};\n\n const getValues = Object.keys(params).map((p: any) => {\n let val = params[p];\n if (val?.format) {\n val = val.format(API_DATE_FORMAT);\n }\n\n if (val) {\n if (forGet) {\n return `${p}=${val}`;\n } else {\n values[p] = val;\n }\n }\n });\n\n if (forGet) {\n return getValues;\n } else {\n return values;\n }\n }\n\n private postOrDeleteOrUpdate = async (\n method: 'POST' | 'UPDATE' | 'DELETE',\n endpoint: APIEndpoint,\n params: ApiGetParameters,\n getParams: ApiGetParameters = {},\n extraPath = ''\n ) => {\n if (!getParams.language) {\n getParams.language = RoomstayThemeEngine.selectedLang;\n }\n\n const getParamsAsString = this.formatParams(getParams).join('&');\n const bodyParams = this.formatParams(params, false);\n\n const response = await fetch(this.getUrl(endpoint) + extraPath + (getParamsAsString ? `?${getParamsAsString}` : ''), {\n credentials: 'omit',\n headers: {\n 'Content-Type': 'application/json',\n },\n method,\n body: JSON.stringify(bodyParams),\n });\n\n if (response.ok) {\n return response.json();\n } else {\n throw await response.json();\n }\n };\n}\n"]}
|
|
@@ -15,13 +15,23 @@ 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) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
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
|
+
})();
|
|
25
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -37,7 +47,7 @@ class ReservationAPI extends MockAPI_1.default {
|
|
|
37
47
|
constructor() {
|
|
38
48
|
super(...arguments);
|
|
39
49
|
this.storedReservations = {};
|
|
40
|
-
this.bookNow = (
|
|
50
|
+
this.bookNow = (basketRows_1, profiles_1, card_1, addonRows_1, comments_1, ...args_1) => __awaiter(this, [basketRows_1, profiles_1, card_1, addonRows_1, comments_1, ...args_1], void 0, function* (basketRows, profiles, card, addonRows, comments, specialReq = undefined) {
|
|
41
51
|
const rooms = [];
|
|
42
52
|
basketRows.forEach((row) => {
|
|
43
53
|
var _a;
|