@roomstay/frontend 2.1.33 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/201.bundle.js +1 -1
- package/dist/213.bundle.js +1 -0
- package/dist/279.bundle.js +1 -1
- package/dist/370.bundle.js +1 -1
- package/dist/423.bundle.js +1 -1
- package/dist/449.bundle.js +1 -1
- package/dist/535.bundle.js +1 -1
- package/dist/548.bundle.js +1 -0
- package/dist/686.bundle.js +1 -0
- package/dist/855.bundle.js +1 -1
- package/dist/873.bundle.js +1 -1
- package/dist/882.bundle.js +1 -1
- package/dist/93.bundle.js +1 -0
- package/dist/972.bundle.js +1 -1
- package/dist/main.bundle.js +1 -2
- package/dist/src/api/HotelAPI.d.ts +1 -1
- package/dist/src/api/HotelAPI.js.map +1 -1
- package/dist/src/api/ReservationAPI.d.ts +0 -6
- package/dist/src/api/ReservationAPI.js.map +1 -1
- package/dist/src/api/events-service/EventsServiceAPI.d.ts +3 -0
- package/dist/src/api/events-service/EventsServiceAPI.js +62 -0
- package/dist/src/api/events-service/EventsServiceAPI.js.map +1 -0
- package/dist/src/components/Event/EventCarouselContainer.d.ts +8 -0
- package/dist/src/components/Event/EventCarouselContainer.js +97 -0
- package/dist/src/components/Event/EventCarouselContainer.js.map +1 -0
- package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +1 -0
- package/dist/src/components/User/Forms/ForgotPasswordForm.js +38 -24
- package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignInForm.d.ts +4 -3
- package/dist/src/components/User/Forms/SignInForm.js +32 -14
- package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignUpForm.d.ts +1 -0
- package/dist/src/components/User/Forms/SignUpForm.js +30 -26
- package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizard.js +5 -2
- package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +6 -3
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +8 -5
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +15 -9
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +4 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
- package/dist/src/components/generic/Currency.js +5 -5
- package/dist/src/components/generic/Currency.js.map +1 -1
- package/dist/src/components/generic/Event/EventCard.d.ts +8 -0
- package/dist/src/components/generic/Event/EventCard.js +70 -0
- package/dist/src/components/generic/Event/EventCard.js.map +1 -0
- package/dist/src/components/generic/Event/EventCarousel.d.ts +9 -0
- package/dist/src/components/generic/Event/EventCarousel.js +72 -0
- package/dist/src/components/generic/Event/EventCarousel.js.map +1 -0
- package/dist/src/components/generic/Headline.d.ts +2 -2
- package/dist/src/components/generic/Headline.js +8 -4
- package/dist/src/components/generic/Headline.js.map +1 -1
- package/dist/src/components/generic/Icon/Icon.d.ts +5 -1
- package/dist/src/components/generic/Icon/Icon.js +4 -0
- package/dist/src/components/generic/Icon/Icon.js.map +1 -1
- package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -1
- package/dist/src/components/generic/Overlay/Overlay.js +50 -7
- package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
- package/dist/src/components/generic/PasswordBox/PasswordBox.js +2 -2
- package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/InlinePaymentCard.d.ts +8 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js +16 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js.map +1 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentOption.d.ts +8 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +61 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -0
- package/dist/src/components/generic/PaymentCard/PaymentCard.js +6 -3
- package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +2 -3
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +34 -28
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
- package/dist/src/components/generic/PromoCodeInput.js +15 -18
- package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.d.ts +5 -4
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +33 -10
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.d.ts +14 -11
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +69 -11
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/dist/src/components/generic/RatioImage/RatioImage.d.ts +11 -0
- package/dist/src/components/generic/RatioImage/RatioImage.js +12 -0
- package/dist/src/components/generic/RatioImage/RatioImage.js.map +1 -0
- package/dist/src/components/generic/RecentSearchesCard.js +6 -5
- package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabLink.js +28 -3
- package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
- package/dist/src/components/generic/TextBox.js +1 -1
- package/dist/src/components/generic/TextBox.js.map +1 -1
- package/dist/src/components/generic/badging/SSLSecureBadge.js +4 -1
- package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
- package/dist/src/components/generic/buttons/NextStepButton.d.ts +0 -3
- package/dist/src/components/generic/buttons/NextStepButton.js +4 -1
- package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
- package/dist/src/components/generic/loader/LargeLoader.js +31 -6
- package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
- package/dist/src/components/generic/modal/ConfirmationModal.js +6 -3
- package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.d.ts +14 -2
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +34 -26
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.d.ts +7 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js +14 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js.map +1 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.d.ts +8 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js +25 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js.map +1 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.d.ts +7 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +49 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -0
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +5 -2
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +30 -39
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/print/NoPrint.d.ts +3 -0
- package/dist/src/components/generic/print/NoPrint.js +11 -0
- package/dist/src/components/generic/print/NoPrint.js.map +1 -0
- package/dist/src/components/generic/print/PrintOnly.d.ts +3 -0
- package/dist/src/components/generic/print/PrintOnly.js +11 -0
- package/dist/src/components/generic/print/PrintOnly.js.map +1 -0
- package/dist/src/components/graphics/AddCard.d.ts +7 -0
- package/dist/src/components/graphics/AddCard.js +28 -0
- package/dist/src/components/graphics/AddCard.js.map +1 -0
- package/dist/src/components/graphics/HomeEmptyCard.d.ts +7 -0
- package/dist/src/components/graphics/HomeEmptyCard.js +53 -0
- package/dist/src/components/graphics/HomeEmptyCard.js.map +1 -0
- package/dist/src/components/graphics/HomeEmptyReservation.d.ts +7 -0
- package/dist/src/components/graphics/HomeEmptyReservation.js +136 -0
- package/dist/src/components/graphics/HomeEmptyReservation.js.map +1 -0
- package/dist/src/components/iconComponents/CreditCardOff.d.ts +6 -0
- package/dist/src/components/iconComponents/CreditCardOff.js +16 -0
- package/dist/src/components/iconComponents/CreditCardOff.js.map +1 -0
- package/dist/src/components/members/EditMyProfile.js +19 -21
- package/dist/src/components/members/EditMyProfile.js.map +1 -1
- package/dist/src/components/navigation/Header.js +29 -9
- package/dist/src/components/navigation/Header.js.map +1 -1
- package/dist/src/components/navigation/StepSelector.js +2 -1
- package/dist/src/components/navigation/StepSelector.js.map +1 -1
- package/dist/src/components/pages/Account/Card/MemberCardItem.js +5 -2
- package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
- package/dist/src/components/reservation/EmptyReservation.js +3 -3
- package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
- package/dist/src/components/reservation/ReservationItem.d.ts +4 -3
- package/dist/src/components/reservation/ReservationItem.js +45 -33
- package/dist/src/components/reservation/ReservationItem.js.map +1 -1
- package/dist/src/components/reservation/ReservationList.d.ts +2 -2
- package/dist/src/components/reservation/ReservationList.js +1 -1
- package/dist/src/components/reservation/ReservationList.js.map +1 -1
- package/dist/src/components/steps/DaysSelectedInformer.js +15 -10
- package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
- package/dist/src/components/steps/addons/AddonCard.js +10 -12
- package/dist/src/components/steps/addons/AddonCard.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 +26 -7
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.d.ts +1 -2
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +36 -44
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentInformation.d.ts +7 -0
- package/dist/src/components/steps/confirmation/PaymentInformation.js +119 -0
- package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +12 -10
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +43 -80
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +7 -5
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +10 -12
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +8 -2
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePicker.js +9 -9
- package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +1 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.js +2 -4
- package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCard.js +5 -11
- package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardModal.js +5 -6
- package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelSearchParameters.js +8 -8
- package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
- package/dist/src/components/steps/room/AvailableUpgradesModal.js +8 -9
- package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
- package/dist/src/components/steps/room/InactivityWindow.js +3 -5
- package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
- package/dist/src/components/steps/room/LargeRoomCard.js +5 -4
- package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +42 -40
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js +7 -9
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
- package/dist/src/components/steps/room/RatesNotFound.js +6 -3
- package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js +3 -3
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.d.ts +2 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.js +3 -3
- package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +2 -6
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +1 -0
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +16 -18
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +2 -2
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +6 -3
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +3 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +7 -8
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +4 -6
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +4 -5
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +7 -5
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +4 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +5 -2
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +11 -10
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +1 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +7 -8
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
- package/dist/src/components/summary/BESummaryPerkBlock.js +4 -1
- package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js +5 -10
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js +4 -6
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +5 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextType.d.ts +1 -0
- package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +36 -13
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +26 -2
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationFormContext.d.ts +0 -2
- package/dist/src/contexts/ConfirmationFormContext.js +0 -3
- package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +13 -8
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +1 -6
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +24 -18
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/HotelOverridesContext.js +4 -0
- package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +10 -6
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +76 -26
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +8 -5
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.js.map +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +35 -4
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
- package/dist/src/engines/BaseEngine.d.ts +2 -1
- package/dist/src/engines/BaseEngine.js +1 -1
- package/dist/src/engines/BaseEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +24 -25
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.d.ts +22 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js +33 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +6 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +116 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -0
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +11 -10
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
- package/dist/src/errors/GetAvailabilityError.d.ts +2 -1
- package/dist/src/errors/GetAvailabilityError.js +10 -3
- package/dist/src/errors/GetAvailabilityError.js.map +1 -1
- package/dist/src/hooks/HistoryConsistentPush.d.ts +1 -0
- package/dist/src/hooks/HistoryConsistentPush.js +12 -0
- package/dist/src/hooks/HistoryConsistentPush.js.map +1 -0
- package/dist/src/hooks/LoggedInUserHook.d.ts +3 -3
- package/dist/src/hooks/Query.js +2 -6
- package/dist/src/hooks/Query.js.map +1 -1
- package/dist/src/hooks/UpdateQueryParameters.d.ts +1 -0
- package/dist/src/hooks/UpdateQueryParameters.js +16 -0
- package/dist/src/hooks/UpdateQueryParameters.js.map +1 -0
- package/dist/src/hooks/VGSHooks.d.ts +11 -1
- package/dist/src/hooks/VGSHooks.js +26 -11
- package/dist/src/hooks/VGSHooks.js.map +1 -1
- package/dist/src/index.d.ts +2 -3
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mockApi/HotelAPI.d.ts +1 -1
- package/dist/src/mockApi/HotelAPI.js.map +1 -1
- package/dist/src/models/Api/HotelDTO.d.ts +11 -3
- package/dist/src/models/Api/HotelDTO.js +17 -8
- package/dist/src/models/Api/HotelDTO.js.map +1 -1
- package/dist/src/models/Api/HotelOverrideDTO.d.ts +1 -0
- package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
- package/dist/src/models/Api/ReservationsDTO.d.ts +2 -0
- package/dist/src/models/Api/ReservationsDTO.js.map +1 -1
- package/dist/src/models/AppQueryParameters.d.ts +14 -0
- package/dist/src/models/AppQueryParameters.js +19 -0
- package/dist/src/models/AppQueryParameters.js.map +1 -0
- package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +2 -2
- package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -1
- package/dist/src/models/Client/Hotel/ColorProfile.d.ts +3 -0
- package/dist/src/models/Client/Hotel/ColorProfile.js.map +1 -1
- package/dist/src/models/Client/Hotel/Company.d.ts +2 -2
- package/dist/src/models/Client/Hotel/Company.js.map +1 -1
- package/dist/src/models/Client/Hotel/Hotel.d.ts +15 -5
- package/dist/src/models/Client/Hotel/Hotel.js +3 -1
- package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
- package/dist/src/models/Confirmation.d.ts +1 -1
- package/dist/src/models/Confirmation.js.map +1 -1
- package/dist/src/models/Room/Filters/Filter.d.ts +2 -1
- package/dist/src/models/Room/Filters/Filter.js.map +1 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.d.ts +2 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.js +3 -2
- package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.d.ts +2 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.js +3 -2
- package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
- package/dist/src/pages/account/AccountHome/AccountHomePage.js +9 -10
- package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
- package/dist/src/pages/account/AccountRouter.js +7 -9
- package/dist/src/pages/account/AccountRouter.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +19 -32
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +9 -7
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +25 -38
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
- package/dist/src/pages/account/Help/AccountHelpPage.js +16 -25
- package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +68 -52
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservation.js +40 -23
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRow.js +10 -9
- package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRowModal.js +3 -3
- package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfo.js +6 -6
- package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
- package/dist/src/pages/steps/Step.d.ts +2 -2
- package/dist/src/pages/steps/Step.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +2 -2
- package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.d.ts +2 -2
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDate.d.ts +2 -2
- package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.js +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +2 -2
- package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +10 -7
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoom.d.ts +2 -2
- package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanks.d.ts +2 -2
- package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +5 -0
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
- package/dist/src/providers/FeatureProvider.js +2 -0
- package/dist/src/providers/FeatureProvider.js.map +1 -1
- package/dist/src/providers/RoomstayThemeEngine.d.ts +3 -3
- package/dist/src/providers/RoomstayThemeEngine.js +4 -18
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
- package/dist/src/providers/feature/ModifyBookingFeature.d.ts +6 -0
- package/dist/src/providers/feature/ModifyBookingFeature.js +10 -0
- package/dist/src/providers/feature/ModifyBookingFeature.js.map +1 -0
- package/dist/src/stories/EventCarousel.stories.d.ts +6 -0
- package/dist/src/stories/EventCarousel.stories.js +236 -0
- package/dist/src/stories/EventCarousel.stories.js.map +1 -0
- package/dist/src/stories/RadioButton.stories.d.ts +3 -3
- package/dist/src/stories/RadioButtonGroup.stories.d.ts +4 -1
- package/dist/src/stories/RadioButtonGroup.stories.js +73 -1
- package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
- package/dist/src/translations/Translation.d.ts +196 -8
- package/dist/src/translations/Translation.js +198 -10
- package/dist/src/translations/Translation.js.map +1 -1
- package/dist/src/translations/languages/en-gb.js +198 -10
- package/dist/src/translations/languages/en-gb.js.map +1 -1
- package/dist/src/util/Color.d.ts +3 -0
- package/dist/src/util/Color.js +21 -1
- package/dist/src/util/Color.js.map +1 -1
- package/dist/src/util/CurrencyHelper.d.ts +11 -3
- package/dist/src/util/CurrencyHelper.js +306 -5
- package/dist/src/util/CurrencyHelper.js.map +1 -1
- package/dist/src/util/EventsHelper.d.ts +11 -0
- package/dist/src/util/EventsHelper.js +43 -0
- package/dist/src/util/EventsHelper.js.map +1 -0
- package/dist/src/util/StringHelper.d.ts +2 -2
- package/dist/src/util/StringHelper.js +5 -4
- package/dist/src/util/StringHelper.js.map +1 -1
- package/dist/src/util/TextAlignment.d.ts +2 -1
- package/dist/src/util/TextAlignment.js +1 -0
- package/dist/src/util/TextAlignment.js.map +1 -1
- package/dist/src/util/Validation.d.ts +17 -13
- package/dist/src/util/Validation.js +34 -18
- package/dist/src/util/Validation.js.map +1 -1
- package/dist/test.bundle.js +1 -2
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.d.ts +1 -0
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +41 -0
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -0
- package/dist/tests/jest/events/EventManager.test.d.ts +1 -0
- package/dist/tests/jest/events/EventManager.test.js +101 -0
- package/dist/tests/jest/events/EventManager.test.js.map +1 -0
- package/dist/tests/jest/helpers/ObjectHelper.test.d.ts +1 -0
- package/dist/tests/jest/helpers/ObjectHelper.test.js +72 -0
- package/dist/tests/jest/helpers/ObjectHelper.test.js.map +1 -0
- package/dist/tests/jest/models/RoomRate.test.d.ts +1 -0
- package/dist/tests/jest/models/RoomRate.test.js +133 -0
- package/dist/tests/jest/models/RoomRate.test.js.map +1 -0
- package/dist/tests/jest/providers/LanguageProvider.test.d.ts +1 -0
- package/dist/tests/jest/providers/LanguageProvider.test.js +32 -0
- package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -0
- package/dist/tests/jest/providers/SessionProvider.test.d.ts +1 -0
- package/dist/tests/jest/providers/SessionProvider.test.js +230 -0
- package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -0
- package/dist/tests/jest/providers/storage/LocalStorageProvider.test.d.ts +1 -0
- package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js +126 -0
- package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js.map +1 -0
- package/dist/tests/jest/reducers/BasketReducer.test.d.ts +1 -0
- package/dist/tests/jest/reducers/BasketReducer.test.js +103 -0
- package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -0
- package/dist/tests/offline/RoomstayBestRateAlert.d.ts +1 -0
- package/dist/tests/offline/RoomstayBestRateAlert.js +48 -0
- package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -0
- package/dist/tests/offline/entry/RSCompany.js +7 -2
- package/dist/tests/offline/entry/RSCompany.js.map +1 -1
- package/dist/tests/offline/entry/ReactWrapper.d.ts +1 -0
- package/dist/tests/offline/entry/ReactWrapper.js +140 -0
- package/dist/tests/offline/entry/ReactWrapper.js.map +1 -0
- package/dist/tests/offline/entry/allEngines.d.ts +1 -0
- package/dist/tests/offline/entry/allEngines.js +50 -0
- package/dist/tests/offline/entry/allEngines.js.map +1 -0
- package/dist/tests/offline/entry/components/TestPicker.d.ts +1 -0
- package/dist/tests/offline/entry/components/TestPicker.js +214 -0
- package/dist/tests/offline/entry/components/TestPicker.js.map +1 -0
- package/dist/tests/offline/entry/context/EngineContext.d.ts +9 -0
- package/dist/tests/offline/entry/context/EngineContext.js +37 -0
- package/dist/tests/offline/entry/context/EngineContext.js.map +1 -0
- package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.d.ts +1 -0
- package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js +68 -0
- package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js.map +1 -0
- package/dist/tests/setupTests.d.ts +0 -0
- package/dist/tests/setupTests.js +12 -0
- package/dist/tests/setupTests.js.map +1 -0
- package/dist/vendors.bundle.js +1 -1
- package/package.json +3 -3
- package/dist/14.bundle.js +0 -1
- package/dist/559.bundle.js +0 -1
- package/dist/848.bundle.js +0 -1
- package/dist/962.bundle.js +0 -1
- package/dist/main.bundle.js.LICENSE.txt +0 -5
- package/dist/src/components/temp/Login.d.ts +0 -2
- package/dist/src/components/temp/Login.js +0 -79
- package/dist/src/components/temp/Login.js.map +0 -1
- package/dist/test.bundle.js.LICENSE.txt +0 -5
|
@@ -36,8 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
38
|
exports.PaymentCardInput = void 0;
|
|
39
|
-
const react_1 =
|
|
40
|
-
const react_2 = require("react");
|
|
39
|
+
const react_1 = __importStar(require("react"));
|
|
41
40
|
const PaymentCardInput_module_scss_1 = __importDefault(require("./PaymentCardInput.module.scss"));
|
|
42
41
|
const Text_1 = __importStar(require("../Text"));
|
|
43
42
|
const Color_1 = require("../../../util/Color");
|
|
@@ -52,13 +51,16 @@ const VGSHooks_1 = require("../../../hooks/VGSHooks");
|
|
|
52
51
|
const LoggedInUserHook_1 = require("../../../hooks/LoggedInUserHook");
|
|
53
52
|
const Fade_1 = __importDefault(require("../../../animations/Fade"));
|
|
54
53
|
const AsyncAuth_1 = require("../../../util/AsyncAuth");
|
|
54
|
+
const react_i18next_1 = require("react-i18next");
|
|
55
|
+
const Translation_1 = require("../../../translations/Translation");
|
|
55
56
|
const PaymentCardInput = ({ card, onSubmit, onDeleteClicked, onMarkedAsDefaultClicked }) => {
|
|
56
57
|
const { user, fullName } = (0, LoggedInUserHook_1.useMember)();
|
|
57
|
-
const
|
|
58
|
-
const [
|
|
59
|
-
const [
|
|
60
|
-
const [
|
|
61
|
-
const [
|
|
58
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
59
|
+
const [errors, setErrors] = (0, react_1.useState)({});
|
|
60
|
+
const [cardType, setCardType] = (0, react_1.useState)(null);
|
|
61
|
+
const [isSavingVGSDetails, setIsSavingVGSDetails] = (0, react_1.useState)(false);
|
|
62
|
+
const [isDeletingCard, setIsDeletingCard] = (0, react_1.useState)(false);
|
|
63
|
+
const [isMarkingAsDefault, setIsMarkingAsDefault] = (0, react_1.useState)(false);
|
|
62
64
|
const isCardDefault = (user === null || user === void 0 ? void 0 : user.defaultCard) === (card === null || card === void 0 ? void 0 : card.cardId);
|
|
63
65
|
const inputsDisabled = !!(card === null || card === void 0 ? void 0 : card.cardId);
|
|
64
66
|
const css = {
|
|
@@ -72,7 +74,7 @@ const PaymentCardInput = ({ card, onSubmit, onDeleteClicked, onMarkedAsDefaultCl
|
|
|
72
74
|
const { fields: [cardNumber, cardHolder, expiryDate, securityCode], triggerFieldUpdate, vgsForm, } = (0, VGSHooks_1.useVgsCollect)([
|
|
73
75
|
{
|
|
74
76
|
name: 'credit-card',
|
|
75
|
-
label:
|
|
77
|
+
label: t(Translation_1.Translation.Step.Confirmation.Inputs.CardNumber),
|
|
76
78
|
type: 'card-number',
|
|
77
79
|
vgsProps: {
|
|
78
80
|
validations: ['required', 'validCardNumber'],
|
|
@@ -87,13 +89,13 @@ const PaymentCardInput = ({ card, onSubmit, onDeleteClicked, onMarkedAsDefaultCl
|
|
|
87
89
|
},
|
|
88
90
|
{
|
|
89
91
|
name: 'card-name',
|
|
90
|
-
label:
|
|
92
|
+
label: t(Translation_1.Translation.Step.Confirmation.Inputs.NameOnCard),
|
|
91
93
|
type: 'text',
|
|
92
94
|
vgsProps: { validations: ['required'], css, disabled: inputsDisabled, placeholder: fullName },
|
|
93
95
|
},
|
|
94
96
|
{
|
|
95
97
|
name: 'expiration-date',
|
|
96
|
-
label:
|
|
98
|
+
label: t(Translation_1.Translation.Step.Confirmation.Inputs.CardExpiry),
|
|
97
99
|
type: 'card-expiration-date',
|
|
98
100
|
vgsProps: {
|
|
99
101
|
validations: ['required', 'validCardExpirationDate'],
|
|
@@ -104,7 +106,7 @@ const PaymentCardInput = ({ card, onSubmit, onDeleteClicked, onMarkedAsDefaultCl
|
|
|
104
106
|
},
|
|
105
107
|
{
|
|
106
108
|
name: 'security-code',
|
|
107
|
-
label:
|
|
109
|
+
label: t(Translation_1.Translation.Step.Confirmation.Inputs.SecurityCode),
|
|
108
110
|
type: 'card-security-code',
|
|
109
111
|
vgsProps: {
|
|
110
112
|
validations: ['required', 'validCardSecurityCode'],
|
|
@@ -113,11 +115,11 @@ const PaymentCardInput = ({ card, onSubmit, onDeleteClicked, onMarkedAsDefaultCl
|
|
|
113
115
|
placeholder: '552',
|
|
114
116
|
},
|
|
115
117
|
},
|
|
116
|
-
]);
|
|
117
|
-
(0,
|
|
118
|
+
], 'members');
|
|
119
|
+
(0, react_1.useEffect)(() => {
|
|
118
120
|
triggerFieldUpdate();
|
|
119
121
|
}, [card]);
|
|
120
|
-
(0,
|
|
122
|
+
(0, react_1.useEffect)(() => {
|
|
121
123
|
if (cardNumber === null || cardNumber === void 0 ? void 0 : cardNumber.state.cardType) {
|
|
122
124
|
setCardType(cardNumber.state.cardType);
|
|
123
125
|
}
|
|
@@ -129,16 +131,16 @@ const PaymentCardInput = ({ card, onSubmit, onDeleteClicked, onMarkedAsDefaultCl
|
|
|
129
131
|
let name = '';
|
|
130
132
|
switch (input) {
|
|
131
133
|
case 'credit-card':
|
|
132
|
-
name =
|
|
134
|
+
name = t(Translation_1.Translation.Step.Confirmation.Inputs.CardNumber);
|
|
133
135
|
break;
|
|
134
136
|
case 'expiration-date':
|
|
135
|
-
name =
|
|
137
|
+
name = t(Translation_1.Translation.Step.Confirmation.Inputs.CardExpiry);
|
|
136
138
|
break;
|
|
137
139
|
case 'security-code':
|
|
138
|
-
name =
|
|
140
|
+
name = t(Translation_1.Translation.Step.Confirmation.Inputs.SecurityCode);
|
|
139
141
|
break;
|
|
140
142
|
default:
|
|
141
|
-
name =
|
|
143
|
+
name = t(Translation_1.Translation.Step.Confirmation.Inputs.NameOnCard);
|
|
142
144
|
break;
|
|
143
145
|
}
|
|
144
146
|
newErrors[input] = name + ' ' + faults[input].errorMessages[faults[input].errorMessages.length - 1];
|
|
@@ -162,7 +164,7 @@ const PaymentCardInput = ({ card, onSubmit, onDeleteClicked, onMarkedAsDefaultCl
|
|
|
162
164
|
if (!expMatch || expMatch[1].length > 2 || (expMatch[2].length !== 4 && expMatch[2].length !== 2)) {
|
|
163
165
|
setErrorsOnFaults({
|
|
164
166
|
'expiration-date': {
|
|
165
|
-
errorMessages: [
|
|
167
|
+
errorMessages: [t(Translation_1.Translation.Step.Confirmation.InputErrors.CardExpiry.Invalid)],
|
|
166
168
|
},
|
|
167
169
|
});
|
|
168
170
|
return;
|
|
@@ -177,7 +179,8 @@ const PaymentCardInput = ({ card, onSubmit, onDeleteClicked, onMarkedAsDefaultCl
|
|
|
177
179
|
cardNumber: cardData['credit-card'],
|
|
178
180
|
type: cardType,
|
|
179
181
|
};
|
|
180
|
-
yield (onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(newCard));
|
|
182
|
+
const newAddedCard = yield (onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(newCard));
|
|
183
|
+
onMarkAsDefault(newAddedCard);
|
|
181
184
|
vgsForm.reset();
|
|
182
185
|
setIsSavingVGSDetails(false);
|
|
183
186
|
}), (error) => {
|
|
@@ -196,12 +199,15 @@ const PaymentCardInput = ({ card, onSubmit, onDeleteClicked, onMarkedAsDefaultCl
|
|
|
196
199
|
setIsDeletingCard(false);
|
|
197
200
|
});
|
|
198
201
|
};
|
|
199
|
-
const onMarkAsDefault = () => {
|
|
202
|
+
const onMarkAsDefault = (newCard) => {
|
|
200
203
|
setIsMarkingAsDefault(true);
|
|
201
|
-
onMarkedAsDefaultClicked === null || onMarkedAsDefaultClicked === void 0 ? void 0 : onMarkedAsDefaultClicked(
|
|
204
|
+
onMarkedAsDefaultClicked === null || onMarkedAsDefaultClicked === void 0 ? void 0 : onMarkedAsDefaultClicked(newCard).finally(() => {
|
|
202
205
|
setIsMarkingAsDefault(false);
|
|
203
206
|
});
|
|
204
207
|
};
|
|
208
|
+
const onMarkAsDefaultClicked = () => {
|
|
209
|
+
onMarkAsDefault(card);
|
|
210
|
+
};
|
|
205
211
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
206
212
|
react_1.default.createElement("div", { className: PaymentCardInput_module_scss_1.default['card-inputs'] },
|
|
207
213
|
react_1.default.createElement("div", { className: "u-marg-bottom--medium u-marg-top--heavy@l-" },
|
|
@@ -215,28 +221,28 @@ const PaymentCardInput = ({ card, onSubmit, onDeleteClicked, onMarkedAsDefaultCl
|
|
|
215
221
|
})),
|
|
216
222
|
react_1.default.createElement("div", { className: "u-marg-bottom" },
|
|
217
223
|
react_1.default.createElement("div", { className: "u-marg-bottom--light" },
|
|
218
|
-
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true },
|
|
224
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true }, t(Translation_1.Translation.Step.Confirmation.Inputs.CardNumber))),
|
|
219
225
|
react_1.default.createElement("div", { className: cardNumber.getClasses(), ref: cardNumber.ref })),
|
|
220
226
|
react_1.default.createElement("div", { className: "u-marg-bottom" },
|
|
221
227
|
react_1.default.createElement(InputGroup_1.default, { dimensions: "2/2" },
|
|
222
228
|
react_1.default.createElement(react_1.default.Fragment, null,
|
|
223
229
|
react_1.default.createElement("div", { className: "u-marg-bottom--light" },
|
|
224
|
-
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true },
|
|
230
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true }, t(Translation_1.Translation.Step.Confirmation.Inputs.CardExpiry))),
|
|
225
231
|
react_1.default.createElement("div", { className: expiryDate.getClasses(), ref: expiryDate.ref })),
|
|
226
232
|
react_1.default.createElement(react_1.default.Fragment, null,
|
|
227
233
|
react_1.default.createElement("div", { className: "u-marg-bottom--light" },
|
|
228
|
-
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true },
|
|
234
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true }, t(Translation_1.Translation.Step.Confirmation.Inputs.SecurityCode))),
|
|
229
235
|
react_1.default.createElement("div", { className: securityCode.getClasses(), ref: securityCode.ref })))),
|
|
230
236
|
react_1.default.createElement("div", { className: "u-marg-bottom" },
|
|
231
237
|
react_1.default.createElement("div", { className: "u-marg-bottom--light" },
|
|
232
|
-
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true },
|
|
238
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true }, t(Translation_1.Translation.Step.Confirmation.Inputs.NameOnCard))),
|
|
233
239
|
react_1.default.createElement("div", { className: cardHolder.getClasses(), ref: cardHolder.ref })),
|
|
234
|
-
react_1.default.createElement("div", { className: "u-marg-bottom" }, (card === null || card === void 0 ? void 0 : card.cardId) ? (react_1.default.createElement(BEButton_1.default, { className: "u-marg-top--heavier@l u-marg-top--heavy@l- u-flex u-flex-justify-center", isLoading: isDeletingCard, textColor: Color_1.Color.Danger, isText: true, icon: Icon_1.IconType.Delete, onClick: onDeleteCardClicked, stopIconAnimation: true },
|
|
240
|
+
react_1.default.createElement("div", { className: "u-marg-bottom" }, (card === null || card === void 0 ? void 0 : card.cardId) ? (react_1.default.createElement(BEButton_1.default, { className: "u-marg-top--heavier@l u-marg-top--heavy@l- u-flex u-flex-justify-center", isLoading: isDeletingCard, textColor: Color_1.Color.Danger, isText: true, icon: Icon_1.IconType.Delete, onClick: onDeleteCardClicked, stopIconAnimation: true }, t(Translation_1.Translation.UserPortal.PaymentInformationScreen.DeleteCard))) : (react_1.default.createElement(BEButton_1.default, { className: "u-marg-top--heavier@l u-marg-top--heavy@l- u-flex u-flex-justify-center", isLoading: isSavingVGSDetails, rounded: true, primary: true, filled: true, mobileWidth: true, onClick: onChangeSubmit }, t(Translation_1.Translation.UserPortal.PaymentInformationScreen.SaveCard))))),
|
|
235
241
|
react_1.default.createElement(Fade_1.default, { open: !!(card === null || card === void 0 ? void 0 : card.cardId) },
|
|
236
242
|
react_1.default.createElement("div", { className: PaymentCardInput_module_scss_1.default['card-large'] },
|
|
237
243
|
react_1.default.createElement(PaymentCard_1.PaymentCard, { card: card }),
|
|
238
244
|
react_1.default.createElement("div", { className: "u-marg-top u-marg-top--heavy@l-" },
|
|
239
|
-
react_1.default.createElement(BEButton_1.default, { onClick:
|
|
245
|
+
react_1.default.createElement(BEButton_1.default, { onClick: onMarkAsDefaultClicked, isLoading: isMarkingAsDefault, disabled: isCardDefault, filled: true, primary: true, size: "small" }, "Mark as Default"))))));
|
|
240
246
|
};
|
|
241
247
|
exports.PaymentCardInput = PaymentCardInput;
|
|
242
248
|
//# sourceMappingURL=PaymentCardInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentCardInput.js","sourceRoot":"/","sources":["src/components/generic/PaymentCard/PaymentCardInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useRef } from 'react';\nimport { FC, useEffect, useState } from 'react';\nimport styles from './PaymentCardInput.module.scss';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { Color } from '@/util/Color';\nimport InputGroup from '@/components/generic/InputGroup/InputGroup';\nimport { ECardType } from '@/models/PaymentCard';\nimport { PaymentCard as GenericPaymentCard } from '@/components/generic/PaymentCard/PaymentCard';\nimport { CardTypeSelect } from '@/components/generic/PaymentCard/CardTypeSelect';\n\nimport BEButton from '../BEButton';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport { IRoomstayMemberCards } from '@roomstay/core';\nimport { useVgsCollect } from '@/hooks/VGSHooks';\nimport { useMember } from '@/hooks/LoggedInUserHook';\nimport FadeAnimation from '../../../animations/Fade';\nimport { IRoomstayMemberCardFormInput } from '@/models/RoomstayMembers/IRoomstayMemberCard';\nimport { getAuth } from '@/util/AsyncAuth';\n\nexport interface PaymentCardInputProps {\n card: IRoomstayMemberCardFormInput;\n onSubmit?: (card: IRoomstayMemberCards) => Promise<void>;\n onDeleteClicked: (card: IRoomstayMemberCards) => Promise<void>;\n onMarkedAsDefaultClicked: (card: IRoomstayMemberCards) => Promise<void>;\n}\n\nexport const PaymentCardInput: FC<PaymentCardInputProps> = ({ card, onSubmit, onDeleteClicked, onMarkedAsDefaultClicked }) => {\n const { user, fullName } = useMember();\n\n const [errors, setErrors] = useState<{ [x: string]: string }>({});\n const [cardType, setCardType] = useState<ECardType | null>(null);\n\n const [isSavingVGSDetails, setIsSavingVGSDetails] = useState(false);\n const [isDeletingCard, setIsDeletingCard] = useState(false);\n const [isMarkingAsDefault, setIsMarkingAsDefault] = useState(false);\n\n const isCardDefault = user?.defaultCard === card?.cardId;\n\n const inputsDisabled = !!card?.cardId;\n\n const css = {\n fontSize: '13px',\n lineHeight: '18px',\n '&::placeholder': {\n color: '#8B8F9A',\n opacity: 1,\n },\n };\n\n const {\n fields: [cardNumber, cardHolder, expiryDate, securityCode],\n triggerFieldUpdate,\n vgsForm,\n } = useVgsCollect([\n {\n name: 'credit-card',\n label: 'Credit Card',\n type: 'card-number',\n vgsProps: {\n validations: ['required', 'validCardNumber'],\n css,\n autoComplete: ['cc-number'],\n successColor: '#4F8A10',\n errorColor: '#D8000C',\n showCardIcon: false,\n placeholder: '5913 2207 9578 4291',\n disabled: inputsDisabled,\n },\n },\n {\n name: 'card-name',\n label: 'Card Name',\n type: 'text',\n vgsProps: { validations: ['required'], css, disabled: inputsDisabled, placeholder: fullName },\n },\n {\n name: 'expiration-date',\n label: 'Expiration Date',\n type: 'card-expiration-date',\n vgsProps: {\n validations: ['required', 'validCardExpirationDate'],\n css,\n disabled: inputsDisabled,\n placeholder: '12/27',\n },\n },\n {\n name: 'security-code',\n label: 'Security Code',\n type: 'card-security-code',\n vgsProps: {\n validations: ['required', 'validCardSecurityCode'],\n css,\n disabled: inputsDisabled,\n placeholder: '552',\n },\n },\n ]);\n\n useEffect(() => {\n triggerFieldUpdate();\n }, [card]);\n\n useEffect(() => {\n if (cardNumber?.state.cardType) {\n setCardType(cardNumber.state.cardType);\n }\n }, [cardNumber]);\n\n const inputNames = ['credit-card', 'card-name', 'expiration-date', 'security-code'];\n const setErrorsOnFaults = (faults: any) => {\n const newErrors: { [x: string]: string } = {};\n\n Object.keys(faults).forEach((input) => {\n let name = '';\n\n switch (input) {\n case 'credit-card':\n name = 'Credit Card';\n break;\n case 'expiration-date':\n name = 'Expiration Date';\n break;\n case 'security-code':\n name = 'Security Code';\n break;\n default:\n name = 'Card Name';\n break;\n }\n\n newErrors[input] = name + ' ' + faults[input].errorMessages[faults[input].errorMessages.length - 1];\n });\n\n setErrors(newErrors);\n };\n\n const onChangeSubmit = async (): Promise<void> => {\n const Auth = await getAuth();\n if (vgsForm) {\n setIsSavingVGSDetails(true);\n Auth.currentAuthenticatedUser().then((cognitoData: any) => {\n const jwtToken = cognitoData.signInUserSession.idToken.jwtToken;\n\n vgsForm.submit(\n '/members/vgs-hide',\n {\n serializer: 'deep',\n methods: 'POST',\n headers: {\n Authorization: jwtToken,\n },\n },\n async (status: any, cardData: any) => {\n const expMatch = cardData['expiration-date'].match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n if (!expMatch || expMatch[1].length > 2 || (expMatch[2].length !== 4 && expMatch[2].length !== 2)) {\n setErrorsOnFaults({\n 'expiration-date': {\n errorMessages: ['Invalid - it must be in the format MM / YY or MM / YYYY'],\n },\n });\n return;\n }\n\n const expiration = (expMatch[1].length === 1 ? '0' : '') + expMatch[1] + (expMatch[2].length === 2 ? expMatch[2] : expMatch[2].substr(2));\n const newCard: IRoomstayMemberCards = {\n username: card.username,\n cardId: card.cardId as string,\n securityCode: cardData['security-code'],\n expiry: expiration,\n name: cardData['card-name'],\n\n cardNumber: cardData['credit-card'],\n type: cardType as ECardType,\n };\n\n await onSubmit?.(newCard);\n vgsForm.reset();\n setIsSavingVGSDetails(false);\n },\n (error: any) => {\n setErrorsOnFaults(error);\n setIsSavingVGSDetails(false);\n }\n );\n });\n } else {\n console.error('VGS not on element, problem has occurred');\n }\n };\n\n const onDeleteCardClicked = () => {\n setIsDeletingCard(true);\n\n onDeleteClicked?.(card as IRoomstayMemberCards).finally(() => {\n setIsDeletingCard(false);\n });\n };\n\n const onMarkAsDefault = () => {\n setIsMarkingAsDefault(true);\n\n onMarkedAsDefaultClicked?.(card as IRoomstayMemberCards).finally(() => {\n setIsMarkingAsDefault(false);\n });\n };\n\n return (\n <>\n <div className={styles['card-inputs']}>\n <div className=\"u-marg-bottom--medium u-marg-top--heavy@l-\">\n <CardTypeSelect value={cardType || undefined} />\n </div>\n <div className=\"u-margin-bottom\">\n {inputNames.map((name) => {\n const errorMessage = errors[name];\n return (\n <AutoAutoHeight open={!!errorMessage} key={name}>\n <div className=\"u-flex\">\n <Alert type={AlertType.Danger} icon={IconType.Error}>\n <Text type={TextType.Small}>{errorMessage}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n );\n })}\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n Card Number\n </Text>\n </div>\n <div className={cardNumber.getClasses()} ref={cardNumber.ref} />\n </div>\n <div className=\"u-marg-bottom\">\n <InputGroup dimensions=\"2/2\">\n <>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n Expiry Month / Year\n </Text>\n </div>\n <div className={expiryDate.getClasses()} ref={expiryDate.ref} />\n </>\n <>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n Security code\n </Text>\n </div>\n <div className={securityCode.getClasses()} ref={securityCode.ref} />\n </>\n </InputGroup>\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n Name on Credit Card\n </Text>\n </div>\n <div className={cardHolder.getClasses()} ref={cardHolder.ref} />\n </div>\n <div className=\"u-marg-bottom\">\n {card?.cardId ? (\n <BEButton\n className=\"u-marg-top--heavier@l u-marg-top--heavy@l- u-flex u-flex-justify-center\"\n isLoading={isDeletingCard}\n textColor={Color.Danger}\n isText\n icon={IconType.Delete}\n onClick={onDeleteCardClicked}\n stopIconAnimation\n >\n Delete Card\n </BEButton>\n ) : (\n <BEButton\n className=\"u-marg-top--heavier@l u-marg-top--heavy@l- u-flex u-flex-justify-center\"\n isLoading={isSavingVGSDetails}\n rounded\n primary\n filled\n mobileWidth\n onClick={onChangeSubmit}\n >\n Save Card\n </BEButton>\n )}\n </div>\n </div>\n <FadeAnimation open={!!card?.cardId}>\n <div className={styles['card-large']}>\n <GenericPaymentCard card={card} />\n <div className=\"u-marg-top u-marg-top--heavy@l-\">\n <BEButton onClick={onMarkAsDefault} isLoading={isMarkingAsDefault} disabled={isCardDefault} filled primary size=\"small\">\n Mark as Default\n </BEButton>\n </div>\n </div>\n </FadeAnimation>\n </>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"PaymentCardInput.js","sourceRoot":"/","sources":["src/components/generic/PaymentCard/PaymentCardInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { FC, useEffect, useState } from 'react';\nimport styles from './PaymentCardInput.module.scss';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { Color } from '@/util/Color';\nimport InputGroup from '@/components/generic/InputGroup/InputGroup';\nimport { ECardType } from '@/models/PaymentCard';\nimport { PaymentCard as GenericPaymentCard } from '@/components/generic/PaymentCard/PaymentCard';\nimport { CardTypeSelect } from '@/components/generic/PaymentCard/CardTypeSelect';\n\nimport BEButton from '../BEButton';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport { IRoomstayMemberCards } from '@roomstay/core';\nimport { useVgsCollect } from '@/hooks/VGSHooks';\nimport { useMember } from '@/hooks/LoggedInUserHook';\nimport FadeAnimation from '../../../animations/Fade';\nimport { getAuth } from '@/util/AsyncAuth';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from '@/translations/Translation';\n\nexport interface PaymentCardInputProps {\n card: IRoomstayMemberCards;\n onSubmit?: (card: IRoomstayMemberCards) => Promise<IRoomstayMemberCards>;\n onDeleteClicked: (card: IRoomstayMemberCards) => Promise<void>;\n onMarkedAsDefaultClicked: (card: IRoomstayMemberCards) => Promise<void>;\n}\n\nexport const PaymentCardInput: FC<PaymentCardInputProps> = ({ card, onSubmit, onDeleteClicked, onMarkedAsDefaultClicked }) => {\n const { user, fullName } = useMember();\n const { t } = useTranslation();\n\n const [errors, setErrors] = useState<{ [x: string]: string }>({});\n const [cardType, setCardType] = useState<ECardType | null>(null);\n\n const [isSavingVGSDetails, setIsSavingVGSDetails] = useState(false);\n const [isDeletingCard, setIsDeletingCard] = useState(false);\n const [isMarkingAsDefault, setIsMarkingAsDefault] = useState(false);\n\n const isCardDefault = user?.defaultCard === card?.cardId;\n\n const inputsDisabled = !!card?.cardId;\n\n const css = {\n fontSize: '13px',\n lineHeight: '18px',\n '&::placeholder': {\n color: '#8B8F9A',\n opacity: 1,\n },\n };\n\n const {\n fields: [cardNumber, cardHolder, expiryDate, securityCode],\n triggerFieldUpdate,\n vgsForm,\n } = useVgsCollect(\n [\n {\n name: 'credit-card',\n label: t(Translation.Step.Confirmation.Inputs.CardNumber),\n type: 'card-number',\n vgsProps: {\n validations: ['required', 'validCardNumber'],\n css,\n autoComplete: ['cc-number'],\n successColor: '#4F8A10',\n errorColor: '#D8000C',\n showCardIcon: false,\n placeholder: '5913 2207 9578 4291',\n disabled: inputsDisabled,\n },\n },\n {\n name: 'card-name',\n label: t(Translation.Step.Confirmation.Inputs.NameOnCard),\n type: 'text',\n vgsProps: { validations: ['required'], css, disabled: inputsDisabled, placeholder: fullName },\n },\n {\n name: 'expiration-date',\n label: t(Translation.Step.Confirmation.Inputs.CardExpiry),\n type: 'card-expiration-date',\n vgsProps: {\n validations: ['required', 'validCardExpirationDate'],\n css,\n disabled: inputsDisabled,\n placeholder: '12/27',\n },\n },\n {\n name: 'security-code',\n label: t(Translation.Step.Confirmation.Inputs.SecurityCode),\n type: 'card-security-code',\n vgsProps: {\n validations: ['required', 'validCardSecurityCode'],\n css,\n disabled: inputsDisabled,\n placeholder: '552',\n },\n },\n ],\n 'members'\n );\n\n useEffect(() => {\n triggerFieldUpdate();\n }, [card]);\n\n useEffect(() => {\n if (cardNumber?.state.cardType) {\n setCardType(cardNumber.state.cardType);\n }\n }, [cardNumber]);\n\n const inputNames = ['credit-card', 'card-name', 'expiration-date', 'security-code'];\n const setErrorsOnFaults = (faults: any) => {\n const newErrors: { [x: string]: string } = {};\n\n Object.keys(faults).forEach((input) => {\n let name = '';\n\n switch (input) {\n case 'credit-card':\n name = t(Translation.Step.Confirmation.Inputs.CardNumber);\n break;\n case 'expiration-date':\n name = t(Translation.Step.Confirmation.Inputs.CardExpiry);\n break;\n case 'security-code':\n name = t(Translation.Step.Confirmation.Inputs.SecurityCode);\n break;\n default:\n name = t(Translation.Step.Confirmation.Inputs.NameOnCard);\n break;\n }\n\n newErrors[input] = name + ' ' + faults[input].errorMessages[faults[input].errorMessages.length - 1];\n });\n\n setErrors(newErrors);\n };\n\n const onChangeSubmit = async (): Promise<void> => {\n const Auth = await getAuth();\n if (vgsForm) {\n setIsSavingVGSDetails(true);\n Auth.currentAuthenticatedUser().then((cognitoData: any) => {\n const jwtToken = cognitoData.signInUserSession.idToken.jwtToken;\n\n vgsForm.submit(\n '/members/vgs-hide',\n {\n serializer: 'deep',\n methods: 'POST',\n headers: {\n Authorization: jwtToken,\n },\n },\n async (status: any, cardData: any) => {\n const expMatch = cardData['expiration-date'].match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n if (!expMatch || expMatch[1].length > 2 || (expMatch[2].length !== 4 && expMatch[2].length !== 2)) {\n setErrorsOnFaults({\n 'expiration-date': {\n errorMessages: [t(Translation.Step.Confirmation.InputErrors.CardExpiry.Invalid)],\n },\n });\n return;\n }\n\n const expiration = (expMatch[1].length === 1 ? '0' : '') + expMatch[1] + (expMatch[2].length === 2 ? expMatch[2] : expMatch[2].substr(2));\n const newCard: IRoomstayMemberCards = {\n username: card.username,\n cardId: card.cardId as string,\n securityCode: cardData['security-code'],\n expiry: expiration,\n name: cardData['card-name'],\n\n cardNumber: cardData['credit-card'],\n type: cardType as ECardType,\n };\n\n const newAddedCard = await onSubmit?.(newCard);\n onMarkAsDefault(newAddedCard as IRoomstayMemberCards);\n vgsForm.reset();\n setIsSavingVGSDetails(false);\n },\n (error: any) => {\n setErrorsOnFaults(error);\n setIsSavingVGSDetails(false);\n }\n );\n });\n } else {\n console.error('VGS not on element, problem has occurred');\n }\n };\n\n const onDeleteCardClicked = () => {\n setIsDeletingCard(true);\n\n onDeleteClicked?.(card as IRoomstayMemberCards).finally(() => {\n setIsDeletingCard(false);\n });\n };\n\n const onMarkAsDefault = (newCard: IRoomstayMemberCards) => {\n setIsMarkingAsDefault(true);\n\n onMarkedAsDefaultClicked?.(newCard as IRoomstayMemberCards).finally(() => {\n setIsMarkingAsDefault(false);\n });\n };\n\n const onMarkAsDefaultClicked = () => {\n onMarkAsDefault(card);\n };\n\n return (\n <>\n <div className={styles['card-inputs']}>\n <div className=\"u-marg-bottom--medium u-marg-top--heavy@l-\">\n <CardTypeSelect value={cardType || undefined} />\n </div>\n <div className=\"u-margin-bottom\">\n {inputNames.map((name) => {\n const errorMessage = errors[name];\n return (\n <AutoAutoHeight open={!!errorMessage} key={name}>\n <div className=\"u-flex\">\n <Alert type={AlertType.Danger} icon={IconType.Error}>\n <Text type={TextType.Small}>{errorMessage}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n );\n })}\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n {t(Translation.Step.Confirmation.Inputs.CardNumber)}\n </Text>\n </div>\n <div className={cardNumber.getClasses()} ref={cardNumber.ref} />\n </div>\n <div className=\"u-marg-bottom\">\n <InputGroup dimensions=\"2/2\">\n <>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n {t(Translation.Step.Confirmation.Inputs.CardExpiry)}\n </Text>\n </div>\n <div className={expiryDate.getClasses()} ref={expiryDate.ref} />\n </>\n <>\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n {t(Translation.Step.Confirmation.Inputs.SecurityCode)}\n </Text>\n </div>\n <div className={securityCode.getClasses()} ref={securityCode.ref} />\n </>\n </InputGroup>\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n {t(Translation.Step.Confirmation.Inputs.NameOnCard)}\n </Text>\n </div>\n <div className={cardHolder.getClasses()} ref={cardHolder.ref} />\n </div>\n <div className=\"u-marg-bottom\">\n {card?.cardId ? (\n <BEButton\n className=\"u-marg-top--heavier@l u-marg-top--heavy@l- u-flex u-flex-justify-center\"\n isLoading={isDeletingCard}\n textColor={Color.Danger}\n isText\n icon={IconType.Delete}\n onClick={onDeleteCardClicked}\n stopIconAnimation\n >\n {t(Translation.UserPortal.PaymentInformationScreen.DeleteCard)}\n </BEButton>\n ) : (\n <BEButton\n className=\"u-marg-top--heavier@l u-marg-top--heavy@l- u-flex u-flex-justify-center\"\n isLoading={isSavingVGSDetails}\n rounded\n primary\n filled\n mobileWidth\n onClick={onChangeSubmit}\n >\n {t(Translation.UserPortal.PaymentInformationScreen.SaveCard)}\n </BEButton>\n )}\n </div>\n </div>\n <FadeAnimation open={!!card?.cardId}>\n <div className={styles['card-large']}>\n <GenericPaymentCard card={card} />\n <div className=\"u-marg-top u-marg-top--heavy@l-\">\n <BEButton onClick={onMarkAsDefaultClicked} isLoading={isMarkingAsDefault} disabled={isCardDefault} filled primary size=\"small\">\n Mark as Default\n </BEButton>\n </div>\n </div>\n </FadeAnimation>\n </>\n );\n};\n"]}
|
|
@@ -26,36 +26,35 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const react_1 =
|
|
29
|
+
const react_1 = __importStar(require("react"));
|
|
30
30
|
const TextBox_1 = __importDefault(require("./TextBox"));
|
|
31
31
|
const Translation_1 = require("translations/Translation");
|
|
32
32
|
const Tooltip_1 = __importDefault(require("./Tooltip/Tooltip"));
|
|
33
33
|
const Icon_1 = __importStar(require("./Icon/Icon"));
|
|
34
34
|
const Color_1 = require("../../util/Color");
|
|
35
35
|
const react_i18next_1 = require("react-i18next");
|
|
36
|
-
const react_2 = require("react");
|
|
37
36
|
const SmallSpinner_1 = __importDefault(require("./loader/SmallSpinner"));
|
|
38
37
|
const Text_1 = __importStar(require("./Text"));
|
|
39
38
|
function PromoCodeInput(props) {
|
|
40
39
|
var _a;
|
|
41
40
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
42
|
-
const [promoCode, setPromoCode] = (0,
|
|
43
|
-
const [showPromoSave, setShowPromoSave] = (0,
|
|
44
|
-
const [showPromoRemove, setShowPromoRemove] = (0,
|
|
45
|
-
const [pressedChange, setPressedChange] = (0,
|
|
46
|
-
const firstUpdate = (0,
|
|
41
|
+
const [promoCode, setPromoCode] = (0, react_1.useState)((_a = props.value) !== null && _a !== void 0 ? _a : '');
|
|
42
|
+
const [showPromoSave, setShowPromoSave] = (0, react_1.useState)(false);
|
|
43
|
+
const [showPromoRemove, setShowPromoRemove] = (0, react_1.useState)(false);
|
|
44
|
+
const [pressedChange, setPressedChange] = (0, react_1.useState)(false);
|
|
45
|
+
const firstUpdate = (0, react_1.useRef)(null);
|
|
47
46
|
const promoCodeStatus = props.valid || props.valid === false ? (props.valid ? 'success' : 'error') : undefined;
|
|
48
|
-
(0,
|
|
47
|
+
(0, react_1.useEffect)(() => {
|
|
49
48
|
if (props.valid || props.valid === false) {
|
|
50
49
|
setShowPromoRemove(true);
|
|
51
50
|
}
|
|
52
51
|
}, [props.valid]);
|
|
53
|
-
(0,
|
|
52
|
+
(0, react_1.useEffect)(() => {
|
|
54
53
|
if (showPromoSave || showPromoRemove) {
|
|
55
54
|
setPressedChange(false);
|
|
56
55
|
}
|
|
57
56
|
}, [showPromoSave, showPromoRemove]);
|
|
58
|
-
(0,
|
|
57
|
+
(0, react_1.useEffect)(() => {
|
|
59
58
|
if (firstUpdate) {
|
|
60
59
|
if (promoCode) {
|
|
61
60
|
if (promoCode !== props.value) {
|
|
@@ -126,15 +125,13 @@ function PromoCodeInput(props) {
|
|
|
126
125
|
react_1.default.createElement("div", { className: "people-picker--promo-icon" },
|
|
127
126
|
react_1.default.createElement(SmallSpinner_1.default, null))))),
|
|
128
127
|
props.valid === true && (react_1.default.createElement("div", { className: "u-marg-top" },
|
|
129
|
-
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.Success },
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
"' applied"))),
|
|
128
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.Success }, t(Translation_1.Translation.Step.Date.PromoCodeValidation.Valid, {
|
|
129
|
+
value: props.value,
|
|
130
|
+
})))),
|
|
133
131
|
props.valid === false && (react_1.default.createElement("div", { className: "u-marg-top" },
|
|
134
|
-
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.Alert },
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
"' is not valid")))));
|
|
132
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.Alert }, t(Translation_1.Translation.Step.Date.PromoCodeValidation.Invalid, {
|
|
133
|
+
value: props.value,
|
|
134
|
+
}))))));
|
|
138
135
|
}
|
|
139
136
|
exports.default = PromoCodeInput;
|
|
140
137
|
//# sourceMappingURL=PromoCodeInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromoCodeInput.js","sourceRoot":"/","sources":["src/components/generic/PromoCodeInput.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"PromoCodeInput.js","sourceRoot":"/","sources":["src/components/generic/PromoCodeInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport TextBox from '@/components/generic/TextBox';\nimport { Translation } from 'translations/Translation';\nimport Tooltip from '@/components/generic/Tooltip/Tooltip';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { Color } from '@/util/Color';\nimport { useTranslation } from 'react-i18next';\nimport SmallSpinner from '@/components/generic/loader/SmallSpinner';\nimport Text, { TextType } from '@/components/generic/Text';\n\ninterface PromoCodeInputProps {\n value: string;\n onChange: (code: string) => void;\n\n valid?: boolean;\n direct?: boolean;\n className?: string;\n}\n\nexport default function PromoCodeInput(props: PromoCodeInputProps) {\n const { t } = useTranslation();\n\n const [promoCode, setPromoCode] = useState(props.value ?? '');\n const [showPromoSave, setShowPromoSave] = useState(false);\n const [showPromoRemove, setShowPromoRemove] = useState(false);\n\n const [pressedChange, setPressedChange] = useState(false);\n\n const firstUpdate = useRef<HTMLDivElement | null>(null);\n\n const promoCodeStatus: 'success' | 'error' | undefined = props.valid || props.valid === false ? (props.valid ? 'success' : 'error') : undefined;\n\n useEffect(() => {\n if (props.valid || props.valid === false) {\n setShowPromoRemove(true);\n }\n }, [props.valid]);\n\n useEffect(() => {\n if (showPromoSave || showPromoRemove) {\n setPressedChange(false);\n }\n }, [showPromoSave, showPromoRemove]);\n\n useEffect(() => {\n if (firstUpdate) {\n if (promoCode) {\n if (promoCode !== props.value) {\n if (props.direct) {\n updatePromoCode(promoCode, false);\n } else {\n setShowPromoSave(true);\n }\n } else {\n setShowPromoRemove(true);\n }\n } else {\n setShowPromoSave(false);\n setShowPromoRemove(false);\n\n if (promoCode !== '') {\n updatePromoCode('', false);\n }\n }\n } else {\n if (promoCode) {\n setShowPromoRemove(true);\n }\n }\n }, [promoCode]);\n\n const updatePromoCode = (code: string, propagate = true) => {\n if (code) {\n if (props.direct) {\n setShowPromoRemove(true);\n } else {\n setPressedChange(true);\n setShowPromoSave(false);\n }\n }\n\n if (propagate) {\n setPromoCode(code);\n }\n\n props.onChange(code);\n };\n\n const handleKeyPress = (event: any) => {\n if (event.key === 'Enter') {\n updatePromoCode(promoCode);\n }\n };\n const clearPromoCode = () => {\n return updatePromoCode('');\n };\n const setUpdatedPromoCode = () => {\n return updatePromoCode(promoCode);\n };\n const setPromoCodeOnChange = (val: React.ChangeEvent<HTMLInputElement>) => {\n setPromoCode(val.target.value);\n };\n return (\n <div ref={firstUpdate} className={props.className}>\n <div className=\"u-pos-rel\">\n <TextBox\n value={(props.direct ? props.value : promoCode).toUpperCase().replace(' ', '')}\n placeholder={t(Translation.Step.Date.PromoCode)}\n wide\n validationStatus={promoCodeStatus}\n onChange={setPromoCodeOnChange}\n onKeyPress={handleKeyPress}\n />\n {showPromoRemove && (\n <Tooltip title=\"Remove Promo code\">\n <div className=\"people-picker--promo-icon\" onClick={clearPromoCode}>\n <Icon size=\"24px\" icon={IconType.Close} color={Color.Grey} />\n </div>\n </Tooltip>\n )}\n {showPromoSave && (\n <Tooltip title=\"Apply Code\">\n <div className=\"people-picker--promo-icon --success\" onClick={setUpdatedPromoCode}>\n <Icon size=\"24px\" icon={IconType.ArrowRight2} color={Color.Success} />\n </div>\n </Tooltip>\n )}\n {pressedChange && (\n <Tooltip title=\"Promo code loading\">\n <div className=\"people-picker--promo-icon\">\n <SmallSpinner />\n </div>\n </Tooltip>\n )}\n </div>\n {props.valid === true && (\n <div className=\"u-marg-top\">\n <Text type={TextType.Small} color={Color.Success}>\n {t(Translation.Step.Date.PromoCodeValidation.Valid, {\n value: props.value,\n })}\n </Text>\n </div>\n )}\n {props.valid === false && (\n <div className=\"u-marg-top\">\n <Text type={TextType.Small} color={Color.Alert}>\n {t(Translation.Step.Date.PromoCodeValidation.Invalid, {\n value: props.value,\n })}\n </Text>\n </div>\n )}\n </div>\n );\n}\n"]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import React, { LegacyRef, ReactNode } from 'react';
|
|
2
2
|
export interface RadioButtonProps {
|
|
3
3
|
checked: boolean;
|
|
4
|
-
onChange: JSX.IntrinsicElements['
|
|
4
|
+
onChange: JSX.IntrinsicElements['div']['onChange'];
|
|
5
5
|
label?: ReactNode;
|
|
6
6
|
disabled?: boolean;
|
|
7
7
|
renderContent?: () => ReactNode;
|
|
8
8
|
className?: string;
|
|
9
|
+
headerRef?: LegacyRef<HTMLDivElement>;
|
|
9
10
|
}
|
|
10
|
-
declare const
|
|
11
|
-
export { RadioButton };
|
|
11
|
+
declare const ForwardedRefRadioButton: React.ForwardRefExoticComponent<RadioButtonProps & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export { ForwardedRefRadioButton as RadioButton };
|
|
@@ -1,24 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
29
|
exports.RadioButton = void 0;
|
|
7
|
-
const react_1 =
|
|
8
|
-
const react_2 = require("react");
|
|
30
|
+
const react_1 = __importStar(require("react"));
|
|
9
31
|
const RadioButton_module_scss_1 = __importDefault(require("./RadioButton.module.scss"));
|
|
10
32
|
const classnames_1 = __importDefault(require("classnames"));
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
return (react_1.default.createElement("
|
|
33
|
+
const AutoAutoHeight_1 = __importDefault(require("../../../animations/AutoAutoHeight"));
|
|
34
|
+
const RadioButton = ({ checked, onChange, disabled, label, renderContent, className, headerRef }, ref) => {
|
|
35
|
+
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(RadioButton_module_scss_1.default.root, className, {
|
|
14
36
|
[RadioButton_module_scss_1.default.disabled]: disabled,
|
|
15
37
|
[RadioButton_module_scss_1.default.checked]: checked,
|
|
16
|
-
}) },
|
|
17
|
-
react_1.default.createElement("div", { className: RadioButton_module_scss_1.default.header },
|
|
18
|
-
react_1.default.createElement("input", { className: RadioButton_module_scss_1.default.input, hidden: true, disabled: disabled, id: id, onChange: onChange, type: "radio", checked: checked }),
|
|
38
|
+
}), onClick: onChange, ref: ref },
|
|
39
|
+
react_1.default.createElement("div", { className: RadioButton_module_scss_1.default.header, ref: headerRef },
|
|
19
40
|
react_1.default.createElement("div", { className: RadioButton_module_scss_1.default.design }),
|
|
20
41
|
react_1.default.createElement("div", { className: RadioButton_module_scss_1.default.text }, label)),
|
|
21
|
-
|
|
42
|
+
renderContent && checked && (react_1.default.createElement(AutoAutoHeight_1.default, { open: true },
|
|
43
|
+
react_1.default.createElement("div", { className: RadioButton_module_scss_1.default.content }, renderContent())))));
|
|
22
44
|
};
|
|
23
|
-
|
|
45
|
+
const ForwardedRefRadioButton = (0, react_1.forwardRef)(RadioButton);
|
|
46
|
+
exports.RadioButton = ForwardedRefRadioButton;
|
|
24
47
|
//# sourceMappingURL=RadioButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioButton.js","sourceRoot":"/","sources":["src/components/generic/RadioButtonGroup/RadioButton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RadioButton.js","sourceRoot":"/","sources":["src/components/generic/RadioButtonGroup/RadioButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0F;AAC1F,wFAA+C;AAC/C,4DAAoC;AACpC,iFAAyD;AAYzD,MAAM,WAAW,GAA+D,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE;IACjK,OAAO,CACH,uCACI,SAAS,EAAE,IAAA,oBAAU,EAAC,iCAAM,CAAC,IAAI,EAAE,SAAS,EAAE;YAC1C,CAAC,iCAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;YAC3B,CAAC,iCAAM,CAAC,OAAO,CAAC,EAAE,OAAO;SAC5B,CAAC,EACF,OAAO,EAAE,QAAQ,EACjB,GAAG,EAAE,GAAG;QAER,uCAAK,SAAS,EAAE,iCAAM,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS;YACzC,uCAAK,SAAS,EAAE,iCAAM,CAAC,MAAM,GAAI;YACjC,uCAAK,SAAS,EAAE,iCAAM,CAAC,IAAI,IAAG,KAAK,CAAO,CACxC;QACL,aAAa,IAAI,OAAO,IAAI,CACzB,8BAAC,wBAAc,IAAC,IAAI;YAChB,uCAAK,SAAS,EAAE,iCAAM,CAAC,OAAO,IAAG,aAAa,EAAE,CAAO,CAC1C,CACpB,CACC,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;AAEpB,8CAAW","sourcesContent":["import React, { forwardRef, ForwardRefRenderFunction, LegacyRef, ReactNode } from 'react';\nimport styles from './RadioButton.module.scss';\nimport classNames from 'classnames';\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\n\nexport interface RadioButtonProps {\n checked: boolean;\n onChange: JSX.IntrinsicElements['div']['onChange'];\n label?: ReactNode;\n disabled?: boolean;\n renderContent?: () => ReactNode;\n className?: string;\n headerRef?: LegacyRef<HTMLDivElement>;\n}\n\nconst RadioButton: ForwardRefRenderFunction<HTMLDivElement, RadioButtonProps> = ({ checked, onChange, disabled, label, renderContent, className, headerRef }, ref) => {\n return (\n <div\n className={classNames(styles.root, className, {\n [styles.disabled]: disabled,\n [styles.checked]: checked,\n })}\n onClick={onChange}\n ref={ref}\n >\n <div className={styles.header} ref={headerRef}>\n <div className={styles.design} />\n <div className={styles.text}>{label}</div>\n </div>\n {renderContent && checked && (\n <AutoAutoHeight open>\n <div className={styles.content}>{renderContent()}</div>\n </AutoAutoHeight>\n )}\n </div>\n );\n};\n\nconst ForwardedRefRadioButton = forwardRef(RadioButton);\n\nexport { ForwardedRefRadioButton as RadioButton };\n"]}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { ReactElement, ReactNode } from 'react';
|
|
2
|
-
export interface
|
|
3
|
-
options: {
|
|
4
|
-
value: TValue;
|
|
5
|
-
label?: ReactNode;
|
|
6
|
-
disabled?: boolean;
|
|
7
|
-
/** Enabled a tooltip that gives more info on why the field is disabled */
|
|
8
|
-
disabledReason?: string;
|
|
9
|
-
renderContent?: () => ReactNode;
|
|
10
|
-
}[];
|
|
2
|
+
export interface IRadioButtonOption<TValue extends string = string> {
|
|
11
3
|
value: TValue;
|
|
12
|
-
|
|
4
|
+
label?: ReactNode;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
/** Enabled a tooltip that gives more info on why the field is disabled */
|
|
7
|
+
disabledReason?: string;
|
|
8
|
+
renderContent?: () => ReactNode;
|
|
9
|
+
options?: IRadioButtonOption<TValue>[];
|
|
13
10
|
}
|
|
14
|
-
|
|
11
|
+
export interface IRadioButtonGroupProps<TValue extends string = string> {
|
|
12
|
+
options?: IRadioButtonOption<TValue>[];
|
|
13
|
+
value?: TValue;
|
|
14
|
+
onChange?: (value: TValue) => void;
|
|
15
|
+
renderChildrenContent?: boolean;
|
|
16
|
+
}
|
|
17
|
+
declare const RadioButtonGroup: <TValue extends string = string>({ options, value: valueProp, onChange, renderChildrenContent, }: IRadioButtonGroupProps<TValue>) => ReactElement | null;
|
|
15
18
|
export default RadioButtonGroup;
|