@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.
Files changed (468) hide show
  1. package/dist/201.bundle.js +1 -1
  2. package/dist/213.bundle.js +1 -0
  3. package/dist/279.bundle.js +1 -1
  4. package/dist/370.bundle.js +1 -1
  5. package/dist/423.bundle.js +1 -1
  6. package/dist/449.bundle.js +1 -1
  7. package/dist/535.bundle.js +1 -1
  8. package/dist/548.bundle.js +1 -0
  9. package/dist/686.bundle.js +1 -0
  10. package/dist/855.bundle.js +1 -1
  11. package/dist/873.bundle.js +1 -1
  12. package/dist/882.bundle.js +1 -1
  13. package/dist/93.bundle.js +1 -0
  14. package/dist/972.bundle.js +1 -1
  15. package/dist/main.bundle.js +1 -2
  16. package/dist/src/api/HotelAPI.d.ts +1 -1
  17. package/dist/src/api/HotelAPI.js.map +1 -1
  18. package/dist/src/api/ReservationAPI.d.ts +0 -6
  19. package/dist/src/api/ReservationAPI.js.map +1 -1
  20. package/dist/src/api/events-service/EventsServiceAPI.d.ts +3 -0
  21. package/dist/src/api/events-service/EventsServiceAPI.js +62 -0
  22. package/dist/src/api/events-service/EventsServiceAPI.js.map +1 -0
  23. package/dist/src/components/Event/EventCarouselContainer.d.ts +8 -0
  24. package/dist/src/components/Event/EventCarouselContainer.js +97 -0
  25. package/dist/src/components/Event/EventCarouselContainer.js.map +1 -0
  26. package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +1 -0
  27. package/dist/src/components/User/Forms/ForgotPasswordForm.js +38 -24
  28. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  29. package/dist/src/components/User/Forms/SignInForm.d.ts +4 -3
  30. package/dist/src/components/User/Forms/SignInForm.js +32 -14
  31. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  32. package/dist/src/components/User/Forms/SignUpForm.d.ts +1 -0
  33. package/dist/src/components/User/Forms/SignUpForm.js +30 -26
  34. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  35. package/dist/src/components/generic/BookingWizard/BookingWizard.js +5 -2
  36. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  37. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +6 -3
  38. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  39. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +8 -5
  40. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  41. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +15 -9
  42. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  43. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +4 -1
  44. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  45. package/dist/src/components/generic/Currency.js +5 -5
  46. package/dist/src/components/generic/Currency.js.map +1 -1
  47. package/dist/src/components/generic/Event/EventCard.d.ts +8 -0
  48. package/dist/src/components/generic/Event/EventCard.js +70 -0
  49. package/dist/src/components/generic/Event/EventCard.js.map +1 -0
  50. package/dist/src/components/generic/Event/EventCarousel.d.ts +9 -0
  51. package/dist/src/components/generic/Event/EventCarousel.js +72 -0
  52. package/dist/src/components/generic/Event/EventCarousel.js.map +1 -0
  53. package/dist/src/components/generic/Headline.d.ts +2 -2
  54. package/dist/src/components/generic/Headline.js +8 -4
  55. package/dist/src/components/generic/Headline.js.map +1 -1
  56. package/dist/src/components/generic/Icon/Icon.d.ts +5 -1
  57. package/dist/src/components/generic/Icon/Icon.js +4 -0
  58. package/dist/src/components/generic/Icon/Icon.js.map +1 -1
  59. package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -1
  60. package/dist/src/components/generic/Overlay/Overlay.js +50 -7
  61. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  62. package/dist/src/components/generic/PasswordBox/PasswordBox.js +2 -2
  63. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  64. package/dist/src/components/generic/PaymentCard/InlinePaymentCard.d.ts +8 -0
  65. package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js +16 -0
  66. package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js.map +1 -0
  67. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.d.ts +8 -0
  68. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +61 -0
  69. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -0
  70. package/dist/src/components/generic/PaymentCard/PaymentCard.js +6 -3
  71. package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
  72. package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +2 -3
  73. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +34 -28
  74. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  75. package/dist/src/components/generic/PromoCodeInput.js +15 -18
  76. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  77. package/dist/src/components/generic/RadioButtonGroup/RadioButton.d.ts +5 -4
  78. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +33 -10
  79. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  80. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.d.ts +14 -11
  81. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +69 -11
  82. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  83. package/dist/src/components/generic/RatioImage/RatioImage.d.ts +11 -0
  84. package/dist/src/components/generic/RatioImage/RatioImage.js +12 -0
  85. package/dist/src/components/generic/RatioImage/RatioImage.js.map +1 -0
  86. package/dist/src/components/generic/RecentSearchesCard.js +6 -5
  87. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  88. package/dist/src/components/generic/Tabs/TabLink.js +28 -3
  89. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  90. package/dist/src/components/generic/TextBox.js +1 -1
  91. package/dist/src/components/generic/TextBox.js.map +1 -1
  92. package/dist/src/components/generic/badging/SSLSecureBadge.js +4 -1
  93. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  94. package/dist/src/components/generic/buttons/NextStepButton.d.ts +0 -3
  95. package/dist/src/components/generic/buttons/NextStepButton.js +4 -1
  96. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  97. package/dist/src/components/generic/loader/LargeLoader.js +31 -6
  98. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  99. package/dist/src/components/generic/modal/ConfirmationModal.js +6 -3
  100. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  101. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.d.ts +14 -2
  102. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +34 -26
  103. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  104. package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.d.ts +7 -0
  105. package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js +14 -0
  106. package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js.map +1 -0
  107. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.d.ts +8 -0
  108. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js +25 -0
  109. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js.map +1 -0
  110. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.d.ts +7 -0
  111. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +49 -0
  112. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -0
  113. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +5 -2
  114. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +30 -39
  115. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  116. package/dist/src/components/generic/print/NoPrint.d.ts +3 -0
  117. package/dist/src/components/generic/print/NoPrint.js +11 -0
  118. package/dist/src/components/generic/print/NoPrint.js.map +1 -0
  119. package/dist/src/components/generic/print/PrintOnly.d.ts +3 -0
  120. package/dist/src/components/generic/print/PrintOnly.js +11 -0
  121. package/dist/src/components/generic/print/PrintOnly.js.map +1 -0
  122. package/dist/src/components/graphics/AddCard.d.ts +7 -0
  123. package/dist/src/components/graphics/AddCard.js +28 -0
  124. package/dist/src/components/graphics/AddCard.js.map +1 -0
  125. package/dist/src/components/graphics/HomeEmptyCard.d.ts +7 -0
  126. package/dist/src/components/graphics/HomeEmptyCard.js +53 -0
  127. package/dist/src/components/graphics/HomeEmptyCard.js.map +1 -0
  128. package/dist/src/components/graphics/HomeEmptyReservation.d.ts +7 -0
  129. package/dist/src/components/graphics/HomeEmptyReservation.js +136 -0
  130. package/dist/src/components/graphics/HomeEmptyReservation.js.map +1 -0
  131. package/dist/src/components/iconComponents/CreditCardOff.d.ts +6 -0
  132. package/dist/src/components/iconComponents/CreditCardOff.js +16 -0
  133. package/dist/src/components/iconComponents/CreditCardOff.js.map +1 -0
  134. package/dist/src/components/members/EditMyProfile.js +19 -21
  135. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  136. package/dist/src/components/navigation/Header.js +29 -9
  137. package/dist/src/components/navigation/Header.js.map +1 -1
  138. package/dist/src/components/navigation/StepSelector.js +2 -1
  139. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  140. package/dist/src/components/pages/Account/Card/MemberCardItem.js +5 -2
  141. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  142. package/dist/src/components/reservation/EmptyReservation.js +3 -3
  143. package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
  144. package/dist/src/components/reservation/ReservationItem.d.ts +4 -3
  145. package/dist/src/components/reservation/ReservationItem.js +45 -33
  146. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  147. package/dist/src/components/reservation/ReservationList.d.ts +2 -2
  148. package/dist/src/components/reservation/ReservationList.js +1 -1
  149. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  150. package/dist/src/components/steps/DaysSelectedInformer.js +15 -10
  151. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  152. package/dist/src/components/steps/addons/AddonCard.js +10 -12
  153. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  154. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  155. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +26 -7
  156. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  157. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.d.ts +1 -2
  158. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +36 -44
  159. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  160. package/dist/src/components/steps/confirmation/PaymentInformation.d.ts +7 -0
  161. package/dist/src/components/steps/confirmation/PaymentInformation.js +119 -0
  162. package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -0
  163. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +12 -10
  164. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  165. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +43 -80
  166. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  167. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +7 -5
  168. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  169. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +10 -12
  170. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  171. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +8 -2
  172. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  173. package/dist/src/components/steps/date/PeoplePicker.js +9 -9
  174. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  175. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  176. package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +1 -1
  177. package/dist/src/components/steps/date/StepOneNextStepButton.js +2 -4
  178. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  179. package/dist/src/components/steps/hotel/HotelCard.js +5 -11
  180. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  181. package/dist/src/components/steps/hotel/HotelCardModal.js +5 -6
  182. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  183. package/dist/src/components/steps/hotel/HotelSearchParameters.js +8 -8
  184. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  185. package/dist/src/components/steps/room/AvailableUpgradesModal.js +8 -9
  186. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  187. package/dist/src/components/steps/room/InactivityWindow.js +3 -5
  188. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  189. package/dist/src/components/steps/room/LargeRoomCard.js +5 -4
  190. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  191. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +42 -40
  192. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
  193. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +7 -9
  194. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  195. package/dist/src/components/steps/room/RatesNotFound.js +6 -3
  196. package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
  197. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +3 -3
  198. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  199. package/dist/src/components/steps/room/StepRoomNextStepButton.d.ts +2 -1
  200. package/dist/src/components/steps/room/StepRoomNextStepButton.js +3 -3
  201. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  202. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +2 -6
  203. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  204. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +1 -0
  205. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  206. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +16 -18
  207. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  208. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +2 -2
  209. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  210. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +6 -3
  211. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  212. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +3 -1
  213. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  214. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +7 -8
  215. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  216. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +4 -6
  217. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  218. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +4 -5
  219. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  220. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +7 -5
  221. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  222. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +4 -1
  223. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  224. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +5 -2
  225. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  226. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +11 -10
  227. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  228. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +1 -1
  229. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  230. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +7 -8
  231. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  232. package/dist/src/components/summary/BEMobileSummaryModal.js +1 -1
  233. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  234. package/dist/src/components/summary/BESummaryPerkBlock.js +4 -1
  235. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  236. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +5 -10
  237. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  238. package/dist/src/components/summary/BESummaryRoomRow.js +4 -6
  239. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  240. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +5 -1
  241. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  242. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +1 -0
  243. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  244. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +36 -13
  245. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  246. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +26 -2
  247. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  248. package/dist/src/contexts/ConfirmationFormContext.d.ts +0 -2
  249. package/dist/src/contexts/ConfirmationFormContext.js +0 -3
  250. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  251. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +13 -8
  252. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  253. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +1 -6
  254. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +24 -18
  255. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  256. package/dist/src/contexts/HotelOverridesContext.js +4 -0
  257. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  258. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +10 -6
  259. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
  260. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +76 -26
  261. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  262. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +8 -5
  263. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.js.map +1 -1
  264. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +35 -4
  265. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  266. package/dist/src/engines/BaseEngine.d.ts +2 -1
  267. package/dist/src/engines/BaseEngine.js +1 -1
  268. package/dist/src/engines/BaseEngine.js.map +1 -1
  269. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  270. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +24 -25
  271. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  272. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.d.ts +22 -0
  273. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js +33 -0
  274. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -0
  275. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +6 -0
  276. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +116 -0
  277. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -0
  278. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +11 -10
  279. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  280. package/dist/src/errors/GetAvailabilityError.d.ts +2 -1
  281. package/dist/src/errors/GetAvailabilityError.js +10 -3
  282. package/dist/src/errors/GetAvailabilityError.js.map +1 -1
  283. package/dist/src/hooks/HistoryConsistentPush.d.ts +1 -0
  284. package/dist/src/hooks/HistoryConsistentPush.js +12 -0
  285. package/dist/src/hooks/HistoryConsistentPush.js.map +1 -0
  286. package/dist/src/hooks/LoggedInUserHook.d.ts +3 -3
  287. package/dist/src/hooks/Query.js +2 -6
  288. package/dist/src/hooks/Query.js.map +1 -1
  289. package/dist/src/hooks/UpdateQueryParameters.d.ts +1 -0
  290. package/dist/src/hooks/UpdateQueryParameters.js +16 -0
  291. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -0
  292. package/dist/src/hooks/VGSHooks.d.ts +11 -1
  293. package/dist/src/hooks/VGSHooks.js +26 -11
  294. package/dist/src/hooks/VGSHooks.js.map +1 -1
  295. package/dist/src/index.d.ts +2 -3
  296. package/dist/src/index.js +2 -0
  297. package/dist/src/index.js.map +1 -1
  298. package/dist/src/mockApi/HotelAPI.d.ts +1 -1
  299. package/dist/src/mockApi/HotelAPI.js.map +1 -1
  300. package/dist/src/models/Api/HotelDTO.d.ts +11 -3
  301. package/dist/src/models/Api/HotelDTO.js +17 -8
  302. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  303. package/dist/src/models/Api/HotelOverrideDTO.d.ts +1 -0
  304. package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
  305. package/dist/src/models/Api/ReservationsDTO.d.ts +2 -0
  306. package/dist/src/models/Api/ReservationsDTO.js.map +1 -1
  307. package/dist/src/models/AppQueryParameters.d.ts +14 -0
  308. package/dist/src/models/AppQueryParameters.js +19 -0
  309. package/dist/src/models/AppQueryParameters.js.map +1 -0
  310. package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +2 -2
  311. package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -1
  312. package/dist/src/models/Client/Hotel/ColorProfile.d.ts +3 -0
  313. package/dist/src/models/Client/Hotel/ColorProfile.js.map +1 -1
  314. package/dist/src/models/Client/Hotel/Company.d.ts +2 -2
  315. package/dist/src/models/Client/Hotel/Company.js.map +1 -1
  316. package/dist/src/models/Client/Hotel/Hotel.d.ts +15 -5
  317. package/dist/src/models/Client/Hotel/Hotel.js +3 -1
  318. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  319. package/dist/src/models/Confirmation.d.ts +1 -1
  320. package/dist/src/models/Confirmation.js.map +1 -1
  321. package/dist/src/models/Room/Filters/Filter.d.ts +2 -1
  322. package/dist/src/models/Room/Filters/Filter.js.map +1 -1
  323. package/dist/src/models/Room/Filters/RateTypeFilter.d.ts +2 -1
  324. package/dist/src/models/Room/Filters/RateTypeFilter.js +3 -2
  325. package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
  326. package/dist/src/models/Room/Filters/RoomTypeFilter.d.ts +2 -1
  327. package/dist/src/models/Room/Filters/RoomTypeFilter.js +3 -2
  328. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  329. package/dist/src/pages/account/AccountHome/AccountHomePage.js +9 -10
  330. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  331. package/dist/src/pages/account/AccountRouter.js +7 -9
  332. package/dist/src/pages/account/AccountRouter.js.map +1 -1
  333. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +19 -32
  334. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  335. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +9 -7
  336. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  337. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +25 -38
  338. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  339. package/dist/src/pages/account/Help/AccountHelpPage.js +16 -25
  340. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  341. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +68 -52
  342. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  343. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  344. package/dist/src/pages/findReservation/FindReservation.js +40 -23
  345. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  346. package/dist/src/pages/findReservation/ReservationRow.js +10 -9
  347. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  348. package/dist/src/pages/findReservation/ReservationRowModal.js +3 -3
  349. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  350. package/dist/src/pages/hotel/HotelInfo.js +6 -6
  351. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  352. package/dist/src/pages/steps/Step.d.ts +2 -2
  353. package/dist/src/pages/steps/Step.js.map +1 -1
  354. package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +2 -2
  355. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  356. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.d.ts +2 -2
  357. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  358. package/dist/src/pages/steps/StepDate/StepDate.d.ts +2 -2
  359. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  360. package/dist/src/pages/steps/StepDate/StepDateComponent.js +1 -1
  361. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  362. package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +2 -2
  363. package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
  364. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +10 -7
  365. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  366. package/dist/src/pages/steps/StepRoom/StepRoom.d.ts +2 -2
  367. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  368. package/dist/src/pages/steps/StepThanks/StepThanks.d.ts +2 -2
  369. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  370. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +5 -0
  371. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  372. package/dist/src/providers/FeatureProvider.js +2 -0
  373. package/dist/src/providers/FeatureProvider.js.map +1 -1
  374. package/dist/src/providers/RoomstayThemeEngine.d.ts +3 -3
  375. package/dist/src/providers/RoomstayThemeEngine.js +4 -18
  376. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  377. package/dist/src/providers/feature/ModifyBookingFeature.d.ts +6 -0
  378. package/dist/src/providers/feature/ModifyBookingFeature.js +10 -0
  379. package/dist/src/providers/feature/ModifyBookingFeature.js.map +1 -0
  380. package/dist/src/stories/EventCarousel.stories.d.ts +6 -0
  381. package/dist/src/stories/EventCarousel.stories.js +236 -0
  382. package/dist/src/stories/EventCarousel.stories.js.map +1 -0
  383. package/dist/src/stories/RadioButton.stories.d.ts +3 -3
  384. package/dist/src/stories/RadioButtonGroup.stories.d.ts +4 -1
  385. package/dist/src/stories/RadioButtonGroup.stories.js +73 -1
  386. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
  387. package/dist/src/translations/Translation.d.ts +196 -8
  388. package/dist/src/translations/Translation.js +198 -10
  389. package/dist/src/translations/Translation.js.map +1 -1
  390. package/dist/src/translations/languages/en-gb.js +198 -10
  391. package/dist/src/translations/languages/en-gb.js.map +1 -1
  392. package/dist/src/util/Color.d.ts +3 -0
  393. package/dist/src/util/Color.js +21 -1
  394. package/dist/src/util/Color.js.map +1 -1
  395. package/dist/src/util/CurrencyHelper.d.ts +11 -3
  396. package/dist/src/util/CurrencyHelper.js +306 -5
  397. package/dist/src/util/CurrencyHelper.js.map +1 -1
  398. package/dist/src/util/EventsHelper.d.ts +11 -0
  399. package/dist/src/util/EventsHelper.js +43 -0
  400. package/dist/src/util/EventsHelper.js.map +1 -0
  401. package/dist/src/util/StringHelper.d.ts +2 -2
  402. package/dist/src/util/StringHelper.js +5 -4
  403. package/dist/src/util/StringHelper.js.map +1 -1
  404. package/dist/src/util/TextAlignment.d.ts +2 -1
  405. package/dist/src/util/TextAlignment.js +1 -0
  406. package/dist/src/util/TextAlignment.js.map +1 -1
  407. package/dist/src/util/Validation.d.ts +17 -13
  408. package/dist/src/util/Validation.js +34 -18
  409. package/dist/src/util/Validation.js.map +1 -1
  410. package/dist/test.bundle.js +1 -2
  411. package/dist/tests/jest/engines/RoomstayThemeEngine.test.d.ts +1 -0
  412. package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +41 -0
  413. package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -0
  414. package/dist/tests/jest/events/EventManager.test.d.ts +1 -0
  415. package/dist/tests/jest/events/EventManager.test.js +101 -0
  416. package/dist/tests/jest/events/EventManager.test.js.map +1 -0
  417. package/dist/tests/jest/helpers/ObjectHelper.test.d.ts +1 -0
  418. package/dist/tests/jest/helpers/ObjectHelper.test.js +72 -0
  419. package/dist/tests/jest/helpers/ObjectHelper.test.js.map +1 -0
  420. package/dist/tests/jest/models/RoomRate.test.d.ts +1 -0
  421. package/dist/tests/jest/models/RoomRate.test.js +133 -0
  422. package/dist/tests/jest/models/RoomRate.test.js.map +1 -0
  423. package/dist/tests/jest/providers/LanguageProvider.test.d.ts +1 -0
  424. package/dist/tests/jest/providers/LanguageProvider.test.js +32 -0
  425. package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -0
  426. package/dist/tests/jest/providers/SessionProvider.test.d.ts +1 -0
  427. package/dist/tests/jest/providers/SessionProvider.test.js +230 -0
  428. package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -0
  429. package/dist/tests/jest/providers/storage/LocalStorageProvider.test.d.ts +1 -0
  430. package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js +126 -0
  431. package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js.map +1 -0
  432. package/dist/tests/jest/reducers/BasketReducer.test.d.ts +1 -0
  433. package/dist/tests/jest/reducers/BasketReducer.test.js +103 -0
  434. package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -0
  435. package/dist/tests/offline/RoomstayBestRateAlert.d.ts +1 -0
  436. package/dist/tests/offline/RoomstayBestRateAlert.js +48 -0
  437. package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -0
  438. package/dist/tests/offline/entry/RSCompany.js +7 -2
  439. package/dist/tests/offline/entry/RSCompany.js.map +1 -1
  440. package/dist/tests/offline/entry/ReactWrapper.d.ts +1 -0
  441. package/dist/tests/offline/entry/ReactWrapper.js +140 -0
  442. package/dist/tests/offline/entry/ReactWrapper.js.map +1 -0
  443. package/dist/tests/offline/entry/allEngines.d.ts +1 -0
  444. package/dist/tests/offline/entry/allEngines.js +50 -0
  445. package/dist/tests/offline/entry/allEngines.js.map +1 -0
  446. package/dist/tests/offline/entry/components/TestPicker.d.ts +1 -0
  447. package/dist/tests/offline/entry/components/TestPicker.js +214 -0
  448. package/dist/tests/offline/entry/components/TestPicker.js.map +1 -0
  449. package/dist/tests/offline/entry/context/EngineContext.d.ts +9 -0
  450. package/dist/tests/offline/entry/context/EngineContext.js +37 -0
  451. package/dist/tests/offline/entry/context/EngineContext.js.map +1 -0
  452. package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.d.ts +1 -0
  453. package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js +68 -0
  454. package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js.map +1 -0
  455. package/dist/tests/setupTests.d.ts +0 -0
  456. package/dist/tests/setupTests.js +12 -0
  457. package/dist/tests/setupTests.js.map +1 -0
  458. package/dist/vendors.bundle.js +1 -1
  459. package/package.json +3 -3
  460. package/dist/14.bundle.js +0 -1
  461. package/dist/559.bundle.js +0 -1
  462. package/dist/848.bundle.js +0 -1
  463. package/dist/962.bundle.js +0 -1
  464. package/dist/main.bundle.js.LICENSE.txt +0 -5
  465. package/dist/src/components/temp/Login.d.ts +0 -2
  466. package/dist/src/components/temp/Login.js +0 -79
  467. package/dist/src/components/temp/Login.js.map +0 -1
  468. 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 = __importDefault(require("react"));
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 [errors, setErrors] = (0, react_2.useState)({});
58
- const [cardType, setCardType] = (0, react_2.useState)(null);
59
- const [isSavingVGSDetails, setIsSavingVGSDetails] = (0, react_2.useState)(false);
60
- const [isDeletingCard, setIsDeletingCard] = (0, react_2.useState)(false);
61
- const [isMarkingAsDefault, setIsMarkingAsDefault] = (0, react_2.useState)(false);
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: 'Credit Card',
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: 'Card Name',
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: 'Expiration Date',
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: 'Security Code',
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, react_2.useEffect)(() => {
118
+ ], 'members');
119
+ (0, react_1.useEffect)(() => {
118
120
  triggerFieldUpdate();
119
121
  }, [card]);
120
- (0, react_2.useEffect)(() => {
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 = 'Credit Card';
134
+ name = t(Translation_1.Translation.Step.Confirmation.Inputs.CardNumber);
133
135
  break;
134
136
  case 'expiration-date':
135
- name = 'Expiration Date';
137
+ name = t(Translation_1.Translation.Step.Confirmation.Inputs.CardExpiry);
136
138
  break;
137
139
  case 'security-code':
138
- name = 'Security Code';
140
+ name = t(Translation_1.Translation.Step.Confirmation.Inputs.SecurityCode);
139
141
  break;
140
142
  default:
141
- name = 'Card 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: ['Invalid - it must be in the format MM / YY or MM / YYYY'],
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(card).finally(() => {
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 }, "Card Number")),
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 }, "Expiry Month / Year")),
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 }, "Security code")),
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 }, "Name on Credit Card")),
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 }, "Delete Card")) : (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 }, "Save Card")))),
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: onMarkAsDefault, isLoading: isMarkingAsDefault, disabled: isCardDefault, filled: true, primary: true, size: "small" }, "Mark as Default"))))));
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 = __importDefault(require("react"));
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, react_2.useState)((_a = props.value) !== null && _a !== void 0 ? _a : '');
43
- const [showPromoSave, setShowPromoSave] = (0, react_2.useState)(false);
44
- const [showPromoRemove, setShowPromoRemove] = (0, react_2.useState)(false);
45
- const [pressedChange, setPressedChange] = (0, react_2.useState)(false);
46
- const firstUpdate = (0, react_2.useRef)(null);
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, react_2.useEffect)(() => {
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, react_2.useEffect)(() => {
52
+ (0, react_1.useEffect)(() => {
54
53
  if (showPromoSave || showPromoRemove) {
55
54
  setPressedChange(false);
56
55
  }
57
56
  }, [showPromoSave, showPromoRemove]);
58
- (0, react_2.useEffect)(() => {
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
- "Promo Code '",
131
- props.value,
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
- "Promo Code '",
136
- props.value,
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":"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","sourcesContent":["import React 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 { useState, useRef, useEffect } from 'react';\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 Promo Code &apos;{props.value}&apos; applied\n </Text>\n </div>\n )}\n {props.valid === false && (\n <div className=\"u-marg-top\">\n <Text type={TextType.Small} color={Color.Alert}>\n Promo Code &apos;{props.value}&apos; is not valid\n </Text>\n </div>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"PromoCodeInput.js","sourceRoot":"/","sources":["src/components/generic/PromoCodeInput.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2D;AAC3D,2EAAmD;AACnD,0DAAuD;AACvD,mFAA2D;AAC3D,uEAAgE;AAChE,wCAAqC;AACrC,iDAA+C;AAC/C,4FAAoE;AACpE,kEAA2D;AAW3D,SAAwB,cAAc,CAAC,KAA0B;;IAC7D,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,MAAA,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAG,IAAA,cAAM,EAAwB,IAAI,CAAC,CAAC;IAExD,MAAM,eAAe,GAAoC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhJ,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE;YACtC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SAC5B;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,aAAa,IAAI,eAAe,EAAE;YAClC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC3B;IACL,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;IAErC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,WAAW,EAAE;YACb,IAAI,SAAS,EAAE;gBACX,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE;oBAC3B,IAAI,KAAK,CAAC,MAAM,EAAE;wBACd,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;qBACrC;yBAAM;wBACH,gBAAgB,CAAC,IAAI,CAAC,CAAC;qBAC1B;iBACJ;qBAAM;oBACH,kBAAkB,CAAC,IAAI,CAAC,CAAC;iBAC5B;aACJ;iBAAM;gBACH,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACxB,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAE1B,IAAI,SAAS,KAAK,EAAE,EAAE;oBAClB,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;iBAC9B;aACJ;SACJ;aAAM;YACH,IAAI,SAAS,EAAE;gBACX,kBAAkB,CAAC,IAAI,CAAC,CAAC;aAC5B;SACJ;IACL,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,SAAS,GAAG,IAAI,EAAE,EAAE;QACvD,IAAI,IAAI,EAAE;YACN,IAAI,KAAK,CAAC,MAAM,EAAE;gBACd,kBAAkB,CAAC,IAAI,CAAC,CAAC;aAC5B;iBAAM;gBACH,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACvB,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAC3B;SACJ;QAED,IAAI,SAAS,EAAE;YACX,YAAY,CAAC,IAAI,CAAC,CAAC;SACtB;QAED,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,KAAU,EAAE,EAAE;QAClC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;YACvB,eAAe,CAAC,SAAS,CAAC,CAAC;SAC9B;IACL,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,OAAO,eAAe,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,CAAC,GAAwC,EAAE,EAAE;QACtE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,OAAO,CACH,uCAAK,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;QAC7C,uCAAK,SAAS,EAAC,WAAW;YACtB,8BAAC,iBAAO,IACJ,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAC9E,WAAW,EAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAC/C,IAAI,QACJ,gBAAgB,EAAE,eAAe,EACjC,QAAQ,EAAE,oBAAoB,EAC9B,UAAU,EAAE,cAAc,GAC5B;YACD,eAAe,IAAI,CAChB,8BAAC,iBAAO,IAAC,KAAK,EAAC,mBAAmB;gBAC9B,uCAAK,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,cAAc;oBAC9D,8BAAC,cAAI,IAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,IAAI,GAAI,CAC3D,CACA,CACb;YACA,aAAa,IAAI,CACd,8BAAC,iBAAO,IAAC,KAAK,EAAC,YAAY;gBACvB,uCAAK,SAAS,EAAC,qCAAqC,EAAC,OAAO,EAAE,mBAAmB;oBAC7E,8BAAC,cAAI,IAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,eAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,aAAK,CAAC,OAAO,GAAI,CACpE,CACA,CACb;YACA,aAAa,IAAI,CACd,8BAAC,iBAAO,IAAC,KAAK,EAAC,oBAAoB;gBAC/B,uCAAK,SAAS,EAAC,2BAA2B;oBACtC,8BAAC,sBAAY,OAAG,CACd,CACA,CACb,CACC;QACL,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,CACrB,uCAAK,SAAS,EAAC,YAAY;YACvB,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,OAAO,IAC3C,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;gBAChD,KAAK,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CACC,CACL,CACT;QACA,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,CACtB,uCAAK,SAAS,EAAC,YAAY;YACvB,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,KAAK,IACzC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;gBAClD,KAAK,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CACC,CACL,CACT,CACC,CACT,CAAC;AACN,CAAC;AAxID,iCAwIC","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 { FC, ReactNode } from 'react';
1
+ import React, { LegacyRef, ReactNode } from 'react';
2
2
  export interface RadioButtonProps {
3
3
  checked: boolean;
4
- onChange: JSX.IntrinsicElements['input']['onChange'];
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 RadioButton: FC<RadioButtonProps>;
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 = __importDefault(require("react"));
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 RadioButton = ({ checked, onChange, disabled, label, renderContent, className }) => {
12
- const id = (0, react_2.useMemo)(() => Math.random().toString(), []);
13
- return (react_1.default.createElement("label", { htmlFor: id, className: (0, classnames_1.default)(RadioButton_module_scss_1.default.root, className, {
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
- react_1.default.createElement("div", null, renderContent && checked && react_1.default.createElement("div", { className: RadioButton_module_scss_1.default.content }, renderContent()))));
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
- exports.RadioButton = RadioButton;
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":";;;;;;AAAA,kDAA0B;AAC1B,iCAA+C;AAC/C,wFAA+C;AAC/C,4DAAoC;AAWpC,MAAM,WAAW,GAAyB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,EAAE;IAC3G,MAAM,EAAE,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAEvD,OAAO,CACH,yCACI,OAAO,EAAE,EAAE,EACX,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;QAEF,uCAAK,SAAS,EAAE,iCAAM,CAAC,MAAM;YACzB,yCAAO,SAAS,EAAE,iCAAM,CAAC,KAAK,EAAE,MAAM,QAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,OAAO,GAAI;YACxH,uCAAK,SAAS,EAAE,iCAAM,CAAC,MAAM,GAAI;YACjC,uCAAK,SAAS,EAAE,iCAAM,CAAC,IAAI,IAAG,KAAK,CAAO,CACxC;QACN,2CAAM,aAAa,IAAI,OAAO,IAAI,uCAAK,SAAS,EAAE,iCAAM,CAAC,OAAO,IAAG,aAAa,EAAE,CAAO,CAAO,CAC5F,CACX,CAAC;AACN,CAAC,CAAC;AAEO,kCAAW","sourcesContent":["import React from 'react';\nimport { FC, ReactNode, useMemo } from 'react';\nimport styles from './RadioButton.module.scss';\nimport classNames from 'classnames';\n\nexport interface RadioButtonProps {\n checked: boolean;\n onChange: JSX.IntrinsicElements['input']['onChange'];\n label?: ReactNode;\n disabled?: boolean;\n renderContent?: () => ReactNode;\n className?: string;\n}\n\nconst RadioButton: FC<RadioButtonProps> = ({ checked, onChange, disabled, label, renderContent, className }) => {\n const id = useMemo(() => Math.random().toString(), []);\n\n return (\n <label\n htmlFor={id}\n className={classNames(styles.root, className, {\n [styles.disabled]: disabled,\n [styles.checked]: checked,\n })}\n >\n <div className={styles.header}>\n <input className={styles.input} hidden disabled={disabled} id={id} onChange={onChange} type=\"radio\" checked={checked} />\n <div className={styles.design} />\n <div className={styles.text}>{label}</div>\n </div>\n <div>{renderContent && checked && <div className={styles.content}>{renderContent()}</div>}</div>\n </label>\n );\n};\n\nexport { RadioButton };\n"]}
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 RadioButtonGroupProps<TValue extends string> {
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
- onChange: (value: TValue) => void;
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
- declare const RadioButtonGroup: <TValue extends string = string>({ options, value: valueProp, onChange }: RadioButtonGroupProps<TValue>) => ReactElement | null;
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;