@roomstay/frontend 2.6.82 → 2.6.84

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 (775) hide show
  1. package/dist/375.bundle.js +1 -1
  2. package/dist/430.bundle.js +1 -1
  3. package/dist/e2e/canChangeCurrency.spec.js +1 -1
  4. package/dist/e2e/canChangeCurrency.spec.js.map +1 -1
  5. package/dist/e2e/canCheckout.spec.js +3 -3
  6. package/dist/e2e/canCheckout.spec.js.map +1 -1
  7. package/dist/e2e/canViewFindReservationsPage.spec.js +1 -1
  8. package/dist/e2e/canViewFindReservationsPage.spec.js.map +1 -1
  9. package/dist/e2e/canViewHotelnfoPage.spec.js +1 -1
  10. package/dist/e2e/canViewHotelnfoPage.spec.js.map +1 -1
  11. package/dist/e2e/goBackAndCheckoutAgain.spec.js +1 -1
  12. package/dist/e2e/goBackAndCheckoutAgain.spec.js.map +1 -1
  13. package/dist/e2e/helpers/checkoutHelpers.js +8 -9
  14. package/dist/e2e/helpers/checkoutHelpers.js.map +1 -1
  15. package/dist/e2e/helpers/playwrightHelpers.js +1 -2
  16. package/dist/e2e/helpers/playwrightHelpers.js.map +1 -1
  17. package/dist/e2e/price.spec.js +3 -3
  18. package/dist/e2e/price.spec.js.map +1 -1
  19. package/dist/main.bundle.js +1 -1
  20. package/dist/src/animations/AutoAutoHeight.js +18 -8
  21. package/dist/src/animations/AutoAutoHeight.js.map +1 -1
  22. package/dist/src/animations/Fade.js +17 -7
  23. package/dist/src/animations/Fade.js.map +1 -1
  24. package/dist/src/api/AddonAPI.js +17 -7
  25. package/dist/src/api/AddonAPI.js.map +1 -1
  26. package/dist/src/api/AvailabilityAPI.d.ts +6 -5
  27. package/dist/src/api/AvailabilityAPI.js +40 -24
  28. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  29. package/dist/src/api/BaseAPI.js +6 -6
  30. package/dist/src/api/BaseAPI.js.map +1 -1
  31. package/dist/src/api/ErrorAPI.js.map +1 -1
  32. package/dist/src/api/ExchangeRateAPI.js.map +1 -1
  33. package/dist/src/api/HotelAPI.d.ts +1 -1
  34. package/dist/src/api/HotelAPI.js.map +1 -1
  35. package/dist/src/api/MemberAPI.js +17 -7
  36. package/dist/src/api/MemberAPI.js.map +1 -1
  37. package/dist/src/api/ReservationAPI.js +19 -9
  38. package/dist/src/api/ReservationAPI.js.map +1 -1
  39. package/dist/src/api/SessionAPI.js +17 -7
  40. package/dist/src/api/SessionAPI.js.map +1 -1
  41. package/dist/src/api/TrueRewardsAPI.js.map +1 -1
  42. package/dist/src/api/events-service/EventsServiceAPI.js.map +1 -1
  43. package/dist/src/api/members-service/MembersServiceAPI.d.ts +1 -1
  44. package/dist/src/components/Event/EventCarouselContainer.js +17 -7
  45. package/dist/src/components/Event/EventCarouselContainer.js.map +1 -1
  46. package/dist/src/components/User/Forms/ForgotPasswordForm.js +17 -7
  47. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  48. package/dist/src/components/User/Forms/SignInForm.js +17 -7
  49. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  50. package/dist/src/components/User/Forms/SignUpForm.js +17 -7
  51. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  52. package/dist/src/components/User/Forms/VerifyEmailForm.js +17 -7
  53. package/dist/src/components/User/Forms/VerifyEmailForm.js.map +1 -1
  54. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js +17 -7
  55. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js.map +1 -1
  56. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js +17 -7
  57. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js.map +1 -1
  58. package/dist/src/components/generic/Alert.js +3 -3
  59. package/dist/src/components/generic/Alert.js.map +1 -1
  60. package/dist/src/components/generic/BEButton.js +18 -8
  61. package/dist/src/components/generic/BEButton.js.map +1 -1
  62. package/dist/src/components/generic/BackButton.js +1 -1
  63. package/dist/src/components/generic/BackButton.js.map +1 -1
  64. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +18 -9
  65. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  66. package/dist/src/components/generic/BookingWizard/BookingWizard.js +20 -10
  67. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  68. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +2 -2
  69. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +17 -7
  70. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  71. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +0 -1
  72. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +17 -7
  73. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  74. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +17 -7
  75. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  76. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +17 -7
  77. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  78. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js +17 -7
  79. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js.map +1 -1
  80. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +17 -7
  81. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
  82. package/dist/src/components/generic/Checkbox/Checkbox.js +17 -7
  83. package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
  84. package/dist/src/components/generic/Countdown.js +18 -8
  85. package/dist/src/components/generic/Countdown.js.map +1 -1
  86. package/dist/src/components/generic/Currency.js +18 -8
  87. package/dist/src/components/generic/Currency.js.map +1 -1
  88. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +18 -8
  89. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
  90. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +19 -9
  91. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -1
  92. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +18 -8
  93. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -1
  94. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +18 -8
  95. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -1
  96. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +17 -7
  97. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
  98. package/dist/src/components/generic/Distance.js +18 -8
  99. package/dist/src/components/generic/Distance.js.map +1 -1
  100. package/dist/src/components/generic/Event/EventCard.js +17 -7
  101. package/dist/src/components/generic/Event/EventCard.js.map +1 -1
  102. package/dist/src/components/generic/Event/EventCarousel.js +17 -7
  103. package/dist/src/components/generic/Event/EventCarousel.js.map +1 -1
  104. package/dist/src/components/generic/ForwardedSelect.js +17 -7
  105. package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
  106. package/dist/src/components/generic/GroupedCheckInOutTimes/GroupedCheckInOutTimes.js.map +1 -1
  107. package/dist/src/components/generic/Headline.js +1 -1
  108. package/dist/src/components/generic/Headline.js.map +1 -1
  109. package/dist/src/components/generic/HtmlContentViewer.js +17 -7
  110. package/dist/src/components/generic/HtmlContentViewer.js.map +1 -1
  111. package/dist/src/components/generic/IconText/IconText.js +19 -9
  112. package/dist/src/components/generic/IconText/IconText.js.map +1 -1
  113. package/dist/src/components/generic/InputGroup/InputGroup.js +1 -1
  114. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  115. package/dist/src/components/generic/LineBreak.js +1 -1
  116. package/dist/src/components/generic/LineBreak.js.map +1 -1
  117. package/dist/src/components/generic/Notification.js +18 -8
  118. package/dist/src/components/generic/Notification.js.map +1 -1
  119. package/dist/src/components/generic/NumberIncrement.js +18 -8
  120. package/dist/src/components/generic/NumberIncrement.js.map +1 -1
  121. package/dist/src/components/generic/Overlay/Overlay.js +17 -7
  122. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  123. package/dist/src/components/generic/PageTitle/index.js.map +1 -1
  124. package/dist/src/components/generic/PasswordBox/PasswordBox.js +17 -7
  125. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  126. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +17 -7
  127. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -1
  128. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +17 -7
  129. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  130. package/dist/src/components/generic/Pill.js +3 -3
  131. package/dist/src/components/generic/Pill.js.map +1 -1
  132. package/dist/src/components/generic/Placeholder.js +1 -1
  133. package/dist/src/components/generic/Placeholder.js.map +1 -1
  134. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js +17 -7
  135. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js.map +1 -1
  136. package/dist/src/components/generic/PromoCodeInput.js +18 -8
  137. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  138. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +17 -7
  139. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  140. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +17 -7
  141. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  142. package/dist/src/components/generic/RecentSearchesCard.js +17 -7
  143. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  144. package/dist/src/components/generic/RoomstayMark.js +17 -7
  145. package/dist/src/components/generic/RoomstayMark.js.map +1 -1
  146. package/dist/src/components/generic/ScrollToTop.js.map +1 -1
  147. package/dist/src/components/generic/Select/InputSelect.js +18 -8
  148. package/dist/src/components/generic/Select/InputSelect.js.map +1 -1
  149. package/dist/src/components/generic/Select/Select.d.ts +1 -1
  150. package/dist/src/components/generic/Select/Select.js +17 -7
  151. package/dist/src/components/generic/Select/Select.js.map +1 -1
  152. package/dist/src/components/generic/Slider/Slider.js +17 -7
  153. package/dist/src/components/generic/Slider/Slider.js.map +1 -1
  154. package/dist/src/components/generic/Tabs/ElementChildren.js +2 -3
  155. package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
  156. package/dist/src/components/generic/Tabs/TabContext.js +17 -7
  157. package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
  158. package/dist/src/components/generic/Tabs/TabLink.js +17 -7
  159. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  160. package/dist/src/components/generic/Tabs/TabRouteContainer.js +18 -9
  161. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
  162. package/dist/src/components/generic/Text.js +19 -9
  163. package/dist/src/components/generic/Text.js.map +1 -1
  164. package/dist/src/components/generic/TextArea.js +17 -7
  165. package/dist/src/components/generic/TextArea.js.map +1 -1
  166. package/dist/src/components/generic/TextBox.js +17 -7
  167. package/dist/src/components/generic/TextBox.js.map +1 -1
  168. package/dist/src/components/generic/Tooltip/Tooltip.js +18 -8
  169. package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
  170. package/dist/src/components/generic/badging/SSLSecureBadge.js +1 -1
  171. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  172. package/dist/src/components/generic/buttons/NextStepButton.js +18 -8
  173. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  174. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +17 -7
  175. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  176. package/dist/src/components/generic/date/DatePicker.d.ts +1 -1
  177. package/dist/src/components/generic/date/DatePicker.js +19 -9
  178. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  179. package/dist/src/components/generic/date/DatePickerDay.js +19 -9
  180. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  181. package/dist/src/components/generic/date/DatePickerDays.js +18 -8
  182. package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
  183. package/dist/src/components/generic/date/DatePickerMonth.js +18 -8
  184. package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
  185. package/dist/src/components/generic/date/DatePickerWeek.js +21 -11
  186. package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
  187. package/dist/src/components/generic/date/FloatingDatePicker.js +19 -9
  188. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  189. package/dist/src/components/generic/date/WeekViewSkeleton.js +17 -7
  190. package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
  191. package/dist/src/components/generic/loader/ImageLoader.js +18 -8
  192. package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
  193. package/dist/src/components/generic/loader/LargeLoader.js +1 -1
  194. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  195. package/dist/src/components/generic/loader/SmallSpinner.js +18 -8
  196. package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
  197. package/dist/src/components/generic/map/HotelLocationMap.js +1 -1
  198. package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
  199. package/dist/src/components/generic/modal/ConfirmationModal.js +18 -8
  200. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  201. package/dist/src/components/generic/modal/ErrorModal.js +18 -8
  202. package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
  203. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +17 -7
  204. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  205. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +17 -7
  206. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -1
  207. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +18 -8
  208. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  209. package/dist/src/components/generic/modal/SimpleModal.js +19 -9
  210. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  211. package/dist/src/components/generic/modal/TabbedModal.js +18 -8
  212. package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
  213. package/dist/src/components/generic/radio/RadioFields.js +18 -8
  214. package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
  215. package/dist/src/components/graphics/TravelerNotfound.js +1 -1
  216. package/dist/src/components/graphics/TravelerNotfound.js.map +1 -1
  217. package/dist/src/components/members/EditMyProfile.js +17 -7
  218. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  219. package/dist/src/components/members/InlineSignUpSection.js +17 -7
  220. package/dist/src/components/members/InlineSignUpSection.js.map +1 -1
  221. package/dist/src/components/members/SignInModal/ExternalMemberModal.js +17 -7
  222. package/dist/src/components/members/SignInModal/ExternalMemberModal.js.map +1 -1
  223. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js +19 -9
  224. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js.map +1 -1
  225. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js +18 -8
  226. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js.map +1 -1
  227. package/dist/src/components/members/SignInModal/MemberSignInModal.js +17 -7
  228. package/dist/src/components/members/SignInModal/MemberSignInModal.js.map +1 -1
  229. package/dist/src/components/navigation/Header.js +18 -8
  230. package/dist/src/components/navigation/Header.js.map +1 -1
  231. package/dist/src/components/navigation/StepSelector.js +18 -8
  232. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  233. package/dist/src/components/navigation/StepSelectorModal.js +18 -8
  234. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  235. package/dist/src/components/pages/Account/Card/MemberCardItem.js +17 -7
  236. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  237. package/dist/src/components/pages/PageColorComponent.js +17 -7
  238. package/dist/src/components/pages/PageColorComponent.js.map +1 -1
  239. package/dist/src/components/reservation/EmptyReservation.js +17 -7
  240. package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
  241. package/dist/src/components/reservation/ReservationItem.js +18 -8
  242. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  243. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  244. package/dist/src/components/steps/DaysSelectedInformer.js +18 -8
  245. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  246. package/dist/src/components/steps/MinimumNightStayPill.js +18 -8
  247. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  248. package/dist/src/components/steps/addons/AddonCard.js +17 -7
  249. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  250. package/dist/src/components/steps/addons/AddonList.js +17 -7
  251. package/dist/src/components/steps/addons/AddonList.js.map +1 -1
  252. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js +1 -1
  253. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js.map +1 -1
  254. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +17 -7
  255. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
  256. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js +17 -7
  257. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js.map +1 -1
  258. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js +17 -7
  259. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js.map +1 -1
  260. package/dist/src/components/steps/confirmation/AccountDetails.js +18 -8
  261. package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
  262. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js +17 -7
  263. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js.map +1 -1
  264. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js +17 -7
  265. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js.map +1 -1
  266. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  267. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +17 -7
  268. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  269. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +17 -7
  270. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  271. package/dist/src/components/steps/confirmation/PaymentInformation.js +17 -7
  272. package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -1
  273. package/dist/src/components/steps/confirmation/PlanpayLabel.js +17 -7
  274. package/dist/src/components/steps/confirmation/PlanpayLabel.js.map +1 -1
  275. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +17 -7
  276. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
  277. package/dist/src/components/steps/confirmation/RoomContactDetails.js +18 -8
  278. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  279. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +18 -8
  280. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  281. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +18 -8
  282. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  283. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +2 -2
  284. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
  285. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +17 -7
  286. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  287. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +18 -8
  288. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  289. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +1 -1
  290. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
  291. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +18 -8
  292. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  293. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +18 -8
  294. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
  295. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +18 -8
  296. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  297. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js +17 -7
  298. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js.map +1 -1
  299. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js +23 -9
  300. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js.map +1 -1
  301. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js +20 -7
  302. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js.map +1 -1
  303. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +18 -8
  304. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  305. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +18 -8
  306. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  307. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +18 -8
  308. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
  309. package/dist/src/components/steps/date/OccupancyWarningBlock.js +1 -1
  310. package/dist/src/components/steps/date/OccupancyWarningBlock.js.map +1 -1
  311. package/dist/src/components/steps/date/PeoplePicker.js +18 -8
  312. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  313. package/dist/src/components/steps/date/PeoplePickerRow.js +19 -9
  314. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  315. package/dist/src/components/steps/date/StepDatePricePerRoom.js +18 -8
  316. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  317. package/dist/src/components/steps/date/StepOneDateRange.js +18 -8
  318. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  319. package/dist/src/components/steps/date/StepOneDateRangePicker.js +18 -8
  320. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  321. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +18 -8
  322. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
  323. package/dist/src/components/steps/date/StepOneNextStepButton.js +18 -8
  324. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  325. package/dist/src/components/steps/date/StepOneStatusPeople.js +18 -8
  326. package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
  327. package/dist/src/components/steps/hotel/HotelCard.js +19 -9
  328. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  329. package/dist/src/components/steps/hotel/HotelCardList.js +1 -1
  330. package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
  331. package/dist/src/components/steps/hotel/HotelCardModal.js +17 -7
  332. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  333. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js +18 -8
  334. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js.map +1 -1
  335. package/dist/src/components/steps/hotel/HotelSearchParameters.js +17 -7
  336. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  337. package/dist/src/components/steps/hotel/NoHotelsAvailable.js +1 -1
  338. package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
  339. package/dist/src/components/steps/room/AvailableUpgradesModal.js +17 -7
  340. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  341. package/dist/src/components/steps/room/ImageGallerySlider.js +18 -8
  342. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  343. package/dist/src/components/steps/room/InactivityWindow.js +17 -7
  344. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  345. package/dist/src/components/steps/room/LargeRoomCard.js +17 -7
  346. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  347. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +18 -8
  348. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  349. package/dist/src/components/steps/room/RatesNotFoundBlock.js +1 -1
  350. package/dist/src/components/steps/room/RatesNotFoundBlock.js.map +1 -1
  351. package/dist/src/components/steps/room/RoomList.js +18 -8
  352. package/dist/src/components/steps/room/RoomList.js.map +1 -1
  353. package/dist/src/components/steps/room/RoomListAlert.js +17 -7
  354. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
  355. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +18 -8
  356. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  357. package/dist/src/components/steps/room/RoomModal.js +18 -8
  358. package/dist/src/components/steps/room/RoomModal.js.map +1 -1
  359. package/dist/src/components/steps/room/RoomModalPerkRow.js +18 -8
  360. package/dist/src/components/steps/room/RoomModalPerkRow.js.map +1 -1
  361. package/dist/src/components/steps/room/StepRoomAlertBlocks.js +18 -8
  362. package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
  363. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +18 -8
  364. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  365. package/dist/src/components/steps/room/StepRoomErrorForm.js +17 -7
  366. package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
  367. package/dist/src/components/steps/room/StepRoomHotelDetails.js +18 -8
  368. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  369. package/dist/src/components/steps/room/StepRoomNextStepButton.js +18 -8
  370. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  371. package/dist/src/components/steps/room/StepRoomSortBy.js +18 -8
  372. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  373. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +18 -8
  374. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  375. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +17 -7
  376. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
  377. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js +17 -7
  378. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js.map +1 -1
  379. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js +17 -7
  380. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js.map +1 -1
  381. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js +17 -7
  382. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js.map +1 -1
  383. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js +17 -7
  384. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js.map +1 -1
  385. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js +17 -7
  386. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js.map +1 -1
  387. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +17 -7
  388. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
  389. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +1 -1
  390. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
  391. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +1 -1
  392. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
  393. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js +1 -1
  394. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js.map +1 -1
  395. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +18 -8
  396. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  397. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +18 -8
  398. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  399. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +18 -8
  400. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  401. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +18 -9
  402. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  403. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +18 -9
  404. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  405. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +18 -8
  406. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  407. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +17 -7
  408. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  409. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +18 -8
  410. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
  411. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +18 -8
  412. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  413. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +18 -8
  414. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  415. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js +18 -8
  416. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js.map +1 -1
  417. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +18 -8
  418. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  419. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +19 -9
  420. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  421. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +17 -7
  422. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  423. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +18 -8
  424. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  425. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +18 -8
  426. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  427. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +18 -8
  428. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  429. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js +20 -10
  430. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js.map +1 -1
  431. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +18 -8
  432. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  433. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +18 -8
  434. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  435. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +18 -8
  436. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
  437. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +18 -8
  438. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
  439. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +18 -8
  440. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  441. package/dist/src/components/summary/BEMapWidget.d.ts +0 -2
  442. package/dist/src/components/summary/BEMapWidget.js +17 -7
  443. package/dist/src/components/summary/BEMapWidget.js.map +1 -1
  444. package/dist/src/components/summary/BEMobileSummary.js +18 -8
  445. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  446. package/dist/src/components/summary/BEMobileSummaryModal.js +18 -8
  447. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  448. package/dist/src/components/summary/BESummary.js +19 -9
  449. package/dist/src/components/summary/BESummary.js.map +1 -1
  450. package/dist/src/components/summary/BESummaryAddonRow.js +18 -8
  451. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  452. package/dist/src/components/summary/BESummaryPerkBlock.js +19 -9
  453. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  454. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +18 -8
  455. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  456. package/dist/src/components/summary/BESummaryRoomRow.js +18 -8
  457. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  458. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +18 -8
  459. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  460. package/dist/src/containers/PrivateRoute.js.map +1 -1
  461. package/dist/src/contexts/BasketContext/BasketContext.d.ts +0 -1
  462. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +36 -16
  463. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  464. package/dist/src/contexts/BookingEngineContext/BookingEngineContext.d.ts +0 -1
  465. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +18 -9
  466. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  467. package/dist/src/contexts/CompanyContext/CompanyContext.d.ts +0 -1
  468. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +21 -11
  469. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  470. package/dist/src/contexts/ConfirmationFormContext.js +19 -9
  471. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  472. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.d.ts +0 -1
  473. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +25 -15
  474. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  475. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js +17 -7
  476. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js.map +1 -1
  477. package/dist/src/contexts/ErrorContext.js +19 -9
  478. package/dist/src/contexts/ErrorContext.js.map +1 -1
  479. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js +1 -2
  480. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js.map +1 -1
  481. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js +18 -9
  482. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js.map +1 -1
  483. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.d.ts +0 -1
  484. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +18 -9
  485. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  486. package/dist/src/contexts/HotelOverridesContext.js +17 -7
  487. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  488. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +1 -2
  489. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js +1 -1
  490. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
  491. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +17 -7
  492. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  493. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +0 -1
  494. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +17 -7
  495. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  496. package/dist/src/contexts/ModalContext.js +18 -9
  497. package/dist/src/contexts/ModalContext.js.map +1 -1
  498. package/dist/src/contexts/NotificationContext.js +19 -9
  499. package/dist/src/contexts/NotificationContext.js.map +1 -1
  500. package/dist/src/engines/BaseEngine.js +1 -1
  501. package/dist/src/engines/BaseEngine.js.map +1 -1
  502. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +1 -1
  503. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  504. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +17 -7
  505. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
  506. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +18 -8
  507. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  508. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +16 -16
  509. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +20 -10
  510. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  511. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -1
  512. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +18 -8
  513. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
  514. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +17 -7
  515. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  516. package/dist/src/events/RoomstayEventManager.js +1 -1
  517. package/dist/src/events/RoomstayEventManager.js.map +1 -1
  518. package/dist/src/handlers/BasketContextErrorHandler.d.ts +1 -1
  519. package/dist/src/handlers/BasketContextErrorHandler.js.map +1 -1
  520. package/dist/src/handlers/payment/AdyenPaymentHandler.js +17 -7
  521. package/dist/src/handlers/payment/AdyenPaymentHandler.js.map +1 -1
  522. package/dist/src/handlers/payment/PlanpayPaymentHandler.js +17 -7
  523. package/dist/src/handlers/payment/PlanpayPaymentHandler.js.map +1 -1
  524. package/dist/src/handlers/payment/VGSMemberPaymentHandler.js.map +1 -1
  525. package/dist/src/handlers/payment/VGSPaymentHandler.js +19 -9
  526. package/dist/src/handlers/payment/VGSPaymentHandler.js.map +1 -1
  527. package/dist/src/hooks/AutoFocusOnSelect.d.ts +0 -1
  528. package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
  529. package/dist/src/hooks/BodyClickHook.js.map +1 -1
  530. package/dist/src/hooks/CombineState.d.ts +1 -1
  531. package/dist/src/hooks/Currency.js.map +1 -1
  532. package/dist/src/hooks/CurrentHotelHook.js.map +1 -1
  533. package/dist/src/hooks/ElementSortHook.js +17 -7
  534. package/dist/src/hooks/ElementSortHook.js.map +1 -1
  535. package/dist/src/hooks/HistoryConsistentPush.js +1 -2
  536. package/dist/src/hooks/HistoryConsistentPush.js.map +1 -1
  537. package/dist/src/hooks/KeyboardControlOnSelect.d.ts +2 -2
  538. package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
  539. package/dist/src/hooks/LoggedInUserHook.js.map +1 -1
  540. package/dist/src/hooks/Planpay.d.ts +1 -1
  541. package/dist/src/hooks/Query.js +2 -3
  542. package/dist/src/hooks/Query.js.map +1 -1
  543. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  544. package/dist/src/hooks/UpdateQueryParameters.js +1 -2
  545. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -1
  546. package/dist/src/hooks/VGSHooks.d.ts +0 -1
  547. package/dist/src/hooks/VGSHooks.js.map +1 -1
  548. package/dist/src/hooks/useCalendarNightStay.js +3 -3
  549. package/dist/src/hooks/useCalendarNightStay.js.map +1 -1
  550. package/dist/src/hooks/useNextStepAction.js +21 -11
  551. package/dist/src/hooks/useNextStepAction.js.map +1 -1
  552. package/dist/src/hooks/usePlanpayRawPrice.js.map +1 -1
  553. package/dist/src/hooks/useRateDetails.js.map +1 -1
  554. package/dist/src/hooks/useSearchScopeHook.d.ts +1 -1
  555. package/dist/src/hooks/useSearchScopeHook.js.map +1 -1
  556. package/dist/src/index.d.ts +1 -1
  557. package/dist/src/mockApi/AddonAPI.js.map +1 -1
  558. package/dist/src/mockApi/MemberAPI.js +17 -7
  559. package/dist/src/mockApi/MemberAPI.js.map +1 -1
  560. package/dist/src/mockApi/MockAPI.js +5 -5
  561. package/dist/src/mockApi/MockAPI.js.map +1 -1
  562. package/dist/src/mockApi/ReservationAPI.js +18 -8
  563. package/dist/src/mockApi/ReservationAPI.js.map +1 -1
  564. package/dist/src/models/Addon/Addon.js.map +1 -1
  565. package/dist/src/models/Api/HotelDTO.js +1 -1
  566. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  567. package/dist/src/models/AppQueryParameters.js +1 -1
  568. package/dist/src/models/AppQueryParameters.js.map +1 -1
  569. package/dist/src/models/BasketAddonRow.js.map +1 -1
  570. package/dist/src/models/BasketRow.d.ts +2 -1
  571. package/dist/src/models/BasketRow.js +4 -3
  572. package/dist/src/models/BasketRow.js.map +1 -1
  573. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js +1 -1
  574. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js.map +1 -1
  575. package/dist/src/models/Client/Hotel/Hotel.js +1 -1
  576. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  577. package/dist/src/models/Client/Hotel/HotelDataSource.types.js +1 -1
  578. package/dist/src/models/Client/Hotel/HotelDataSource.types.js.map +1 -1
  579. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js +1 -1
  580. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js.map +1 -1
  581. package/dist/src/models/Confirmation.js +2 -2
  582. package/dist/src/models/Confirmation.js.map +1 -1
  583. package/dist/src/models/CountryCodesAndNumbers.js +3 -3
  584. package/dist/src/models/CountryCodesAndNumbers.js.map +1 -1
  585. package/dist/src/models/Fee.js +4 -5
  586. package/dist/src/models/Fee.js.map +1 -1
  587. package/dist/src/models/PaymentCard.js +1 -1
  588. package/dist/src/models/PaymentCard.js.map +1 -1
  589. package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
  590. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  591. package/dist/src/models/Room/Room.js.map +1 -1
  592. package/dist/src/models/Room/RoomRate.js +1 -1
  593. package/dist/src/models/Room/RoomRate.js.map +1 -1
  594. package/dist/src/pages/account/AccountHome/AccountHomePage.js +17 -7
  595. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  596. package/dist/src/pages/account/AccountRoutes.js +1 -1
  597. package/dist/src/pages/account/AccountRoutes.js.map +1 -1
  598. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js +17 -7
  599. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js.map +1 -1
  600. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +17 -7
  601. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  602. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +17 -7
  603. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  604. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +17 -7
  605. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  606. package/dist/src/pages/account/Help/AccountHelpPage.js +17 -7
  607. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  608. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +17 -7
  609. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  610. package/dist/src/pages/findReservation/FindReservation.js +19 -9
  611. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  612. package/dist/src/pages/findReservation/FindReservationResults.js +18 -8
  613. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  614. package/dist/src/pages/findReservation/ReservationRow.js +18 -8
  615. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  616. package/dist/src/pages/findReservation/ReservationRowModal.js +18 -8
  617. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  618. package/dist/src/pages/hotel/HotelInfo.js +20 -10
  619. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  620. package/dist/src/pages/hotel/HotelInfoPlaceholder.js +1 -1
  621. package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
  622. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  623. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +18 -8
  624. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  625. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +17 -7
  626. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
  627. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  628. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +17 -7
  629. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  630. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +18 -8
  631. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
  632. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
  633. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  634. package/dist/src/pages/steps/StepDate/StepDateComponent.js +17 -7
  635. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  636. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoom.js.map +1 -1
  637. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js +17 -7
  638. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js.map +1 -1
  639. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js +18 -8
  640. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js.map +1 -1
  641. package/dist/src/pages/steps/StepGuide.js +18 -8
  642. package/dist/src/pages/steps/StepGuide.js.map +1 -1
  643. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +17 -7
  644. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  645. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +17 -7
  646. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
  647. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  648. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +17 -7
  649. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  650. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js +17 -7
  651. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js.map +1 -1
  652. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +18 -8
  653. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
  654. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
  655. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  656. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +18 -8
  657. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  658. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
  659. package/dist/src/providers/CurrencyProvider.js +1 -1
  660. package/dist/src/providers/CurrencyProvider.js.map +1 -1
  661. package/dist/src/providers/DIProvider.js +2 -3
  662. package/dist/src/providers/DIProvider.js.map +1 -1
  663. package/dist/src/providers/DistanceProvider.js.map +1 -1
  664. package/dist/src/providers/FeatureProvider.js +1 -1
  665. package/dist/src/providers/FeatureProvider.js.map +1 -1
  666. package/dist/src/providers/FilterProvider.d.ts +1 -1
  667. package/dist/src/providers/FilterProvider.js +3 -3
  668. package/dist/src/providers/FilterProvider.js.map +1 -1
  669. package/dist/src/providers/ImageProvider.js +1 -1
  670. package/dist/src/providers/ImageProvider.js.map +1 -1
  671. package/dist/src/providers/LanguageProvider.js +1 -1
  672. package/dist/src/providers/LanguageProvider.js.map +1 -1
  673. package/dist/src/providers/PromotionProvider.d.ts +1 -1
  674. package/dist/src/providers/PromotionProvider.js.map +1 -1
  675. package/dist/src/providers/RatePillProvider.js.map +1 -1
  676. package/dist/src/providers/RoomSortProvider.js +2 -2
  677. package/dist/src/providers/RoomSortProvider.js.map +1 -1
  678. package/dist/src/providers/RoomstayThemeEngine.js +18 -8
  679. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  680. package/dist/src/providers/feature/DerbysoftClickTrackingFeature.js.map +1 -1
  681. package/dist/src/providers/feature/GuestTitleFieldFeature.js.map +1 -1
  682. package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
  683. package/dist/src/providers/feature/MemberPortalFeature.js.map +1 -1
  684. package/dist/src/providers/storage/SessionProvider.js.map +1 -1
  685. package/dist/src/providers/storage/StorageProvider.d.ts +1 -1
  686. package/dist/src/providers/storage/StorageProvider.js +17 -7
  687. package/dist/src/providers/storage/StorageProvider.js.map +1 -1
  688. package/dist/src/reducers/BasketReducer.js.map +1 -1
  689. package/dist/src/stories/BookingWizard.stories.d.ts +2 -2
  690. package/dist/src/stories/Card.stories.d.ts +3 -5
  691. package/dist/src/stories/CardTypeSelect.stories.d.ts +2 -1
  692. package/dist/src/stories/Checkbox.stories.d.ts +2 -1
  693. package/dist/src/stories/ConfirmationModal.stories.js +17 -7
  694. package/dist/src/stories/ConfirmationModal.stories.js.map +1 -1
  695. package/dist/src/stories/DateRangePicker.stories.js +17 -7
  696. package/dist/src/stories/DateRangePicker.stories.js.map +1 -1
  697. package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +2 -1
  698. package/dist/src/stories/ErrorModal.stories.js +17 -7
  699. package/dist/src/stories/ErrorModal.stories.js.map +1 -1
  700. package/dist/src/stories/EventCarousel.stories.d.ts +2 -2
  701. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +2 -2
  702. package/dist/src/stories/FloatingDateRangePicker.stories.js +17 -7
  703. package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -1
  704. package/dist/src/stories/ForwardedSelect.stories.d.ts +2 -1
  705. package/dist/src/stories/Icon.stories.js +17 -7
  706. package/dist/src/stories/Icon.stories.js.map +1 -1
  707. package/dist/src/stories/IconNavCard.stories.d.ts +6 -15
  708. package/dist/src/stories/IconText.stories.js +17 -7
  709. package/dist/src/stories/IconText.stories.js.map +1 -1
  710. package/dist/src/stories/NumberIncrement.stories.js +17 -7
  711. package/dist/src/stories/NumberIncrement.stories.js.map +1 -1
  712. package/dist/src/stories/PasswordBox.stories.d.ts +2 -1
  713. package/dist/src/stories/PaymentCard.stories.d.ts +2 -1
  714. package/dist/src/stories/PaymentCardInput.stories.d.ts +2 -1
  715. package/dist/src/stories/PlanpayButton.stories.d.ts +2 -1
  716. package/dist/src/stories/RadioButton.stories.d.ts +2 -1
  717. package/dist/src/stories/RadioButtonGroup.stories.d.ts +2 -3
  718. package/dist/src/stories/RadioButtonGroup.stories.js +17 -7
  719. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
  720. package/dist/src/stories/Select.stories.d.ts +2 -4
  721. package/dist/src/stories/Select.stories.js +17 -7
  722. package/dist/src/stories/Select.stories.js.map +1 -1
  723. package/dist/src/stories/SimpleModal.stories.js +17 -7
  724. package/dist/src/stories/SimpleModal.stories.js.map +1 -1
  725. package/dist/src/stories/Slider.stories.d.ts +2 -7
  726. package/dist/src/stories/Slider.stories.js +17 -7
  727. package/dist/src/stories/Slider.stories.js.map +1 -1
  728. package/dist/src/stories/TabbedModal.stories.js +17 -7
  729. package/dist/src/stories/TabbedModal.stories.js.map +1 -1
  730. package/dist/src/stories/Tabs.stories.d.ts +2 -2
  731. package/dist/src/stories/Text.stories.d.ts +2 -1
  732. package/dist/src/stories/TextArea.stories.d.ts +2 -1
  733. package/dist/src/stories/TextBox.stories.d.ts +2 -1
  734. package/dist/src/translations/Translation.d.ts +1 -0
  735. package/dist/src/translations/Translation.js +3 -2
  736. package/dist/src/translations/Translation.js.map +1 -1
  737. package/dist/src/translations/languages/en-gb.js +1 -0
  738. package/dist/src/translations/languages/en-gb.js.map +1 -1
  739. package/dist/src/util/Analytics/GoogleAnalytics4.js.map +1 -1
  740. package/dist/src/util/Analytics/UniversalAnalytics.js.map +1 -1
  741. package/dist/src/util/AsyncAuth.js +17 -7
  742. package/dist/src/util/AsyncAuth.js.map +1 -1
  743. package/dist/src/util/CalendarHelper.js +1 -1
  744. package/dist/src/util/CalendarHelper.js.map +1 -1
  745. package/dist/src/util/Color.d.ts +1 -1
  746. package/dist/src/util/Color.js +1 -1
  747. package/dist/src/util/Color.js.map +1 -1
  748. package/dist/src/util/CurrencyHelper.js.map +1 -1
  749. package/dist/src/util/DataLayer.js +4 -4
  750. package/dist/src/util/DataLayer.js.map +1 -1
  751. package/dist/src/util/Debounce.js +2 -3
  752. package/dist/src/util/Debounce.js.map +1 -1
  753. package/dist/src/util/DefaultValueManager.js +1 -1
  754. package/dist/src/util/DefaultValueManager.js.map +1 -1
  755. package/dist/src/util/DerbysoftPixel.js +2 -2
  756. package/dist/src/util/DerbysoftPixel.js.map +1 -1
  757. package/dist/src/util/EventsHelper.d.ts +2 -2
  758. package/dist/src/util/EventsHelper.js.map +1 -1
  759. package/dist/src/util/HotelPerkHelper.js +17 -7
  760. package/dist/src/util/HotelPerkHelper.js.map +1 -1
  761. package/dist/src/util/ObjectHelper.d.ts +1 -1
  762. package/dist/src/util/ObjectHelper.js.map +1 -1
  763. package/dist/src/util/PaymentCardHelper.js.map +1 -1
  764. package/dist/src/util/RouteManager.js +1 -1
  765. package/dist/src/util/RouteManager.js.map +1 -1
  766. package/dist/src/util/StepManager.js +1 -1
  767. package/dist/src/util/StepManager.js.map +1 -1
  768. package/dist/src/util/StringHelper.js.map +1 -1
  769. package/dist/src/util/TextAlignment.js +1 -1
  770. package/dist/src/util/TextAlignment.js.map +1 -1
  771. package/dist/src/util/TimeHelper.js.map +1 -1
  772. package/dist/test.bundle.js +1 -1
  773. package/dist/tests/offline/entry/config/hotelSpecDefault.js.map +1 -1
  774. package/dist/vendors.bundle.js +1 -1
  775. package/package.json +7 -4
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -1 +1 @@
1
- {"version":3,"file":"AdyenPaymentHandler.js","sourceRoot":"/","sources":["src/handlers/payment/AdyenPaymentHandler.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkD;AAClD,yCAA4E;AAC5E,+CAAsC;AAEtC,8GAA2G;AAIpG,MAAM,mBAAmB,GAAG,GAAmB,EAAE;IACpD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,UAAU,GAAG,IAAA,cAAM,EAA2B,IAAI,CAAC,CAAC;IAE1D,OAAO;QACH,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,MAAK,0BAAmB,CAAC,KAAK;QAC/D,WAAW,EAAE,IAAI;QACjB,oBAAoB,EAAE,IAAI;QAC1B,oBAAoB,EAAE,4BAAqB,CAAC,KAAK;QACjD,SAAS,EAAE,GAAS,EAAE;YAClB,IAAI,UAAU,CAAC,OAAO,EAAE;gBACpB,OAAO,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;aAC7C;YAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,sEAAsE,EAAE,CAAC;QACpI,CAAC,CAAA;QACD,8BAA8B,EAAE,GAAS,EAAE;YACvC,OAAO;gBACH,MAAM,EAAE,4BAAqB,CAAC,KAAK;aACtC,CAAC;QACN,CAAC,CAAA;QACD,kBAAkB,EAAE,GAAG,EAAE;YACrB,OAAO,8BAAC,uCAAkB,IAAC,GAAG,EAAE,UAAU,GAAI,CAAC;QACnD,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AA3BW,QAAA,mBAAmB,uBA2B9B","sourcesContent":["import { useCurrentHotel } from '@frontend/hooks';\nimport { EBookingPaymentMethod, EHotelCardProcessor } from '@roomstay/core';\nimport React, { useRef } from 'react';\n\nimport { AdyenPaymentOption } from '@/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption';\n\nimport { PaymentHandler, PaymentHandlerElementRef } from './PaymentHandler';\n\nexport const adyenPaymentHandler = (): PaymentHandler => {\n const { hotel } = useCurrentHotel();\n\n const paymentRef = useRef<PaymentHandlerElementRef>(null);\n\n return {\n name: 'Adyen',\n isAvailable: hotel?.cardProcessor === EHotelCardProcessor.Adyen,\n isExclusive: true,\n requireBookingPlaced: true,\n bookingPaymentMethod: EBookingPaymentMethod.Adyen,\n onConfirm: async () => {\n if (paymentRef.current) {\n return paymentRef.current.submitPayment();\n }\n\n return { success: false, retryPayment: false, message: 'Something has gone wrong. Failed to get payment infromation details.' };\n },\n getBookingPaymentRequestObject: async () => {\n return {\n Method: EBookingPaymentMethod.Adyen,\n };\n },\n renderPaymentInput: () => {\n return <AdyenPaymentOption ref={paymentRef} />;\n },\n };\n};\n"]}
1
+ {"version":3,"file":"AdyenPaymentHandler.js","sourceRoot":"/","sources":["src/handlers/payment/AdyenPaymentHandler.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkD;AAClD,yCAA4E;AAC5E,+CAAsC;AAEtC,8GAA2G;AAIpG,MAAM,mBAAmB,GAAG,GAAmB,EAAE;IACpD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,UAAU,GAAG,IAAA,cAAM,EAA2B,IAAI,CAAC,CAAC;IAE1D,OAAO;QACH,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,MAAK,0BAAmB,CAAC,KAAK;QAC/D,WAAW,EAAE,IAAI;QACjB,oBAAoB,EAAE,IAAI;QAC1B,oBAAoB,EAAE,4BAAqB,CAAC,KAAK;QACjD,SAAS,EAAE,GAAS,EAAE;YAClB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC9C,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,sEAAsE,EAAE,CAAC;QACpI,CAAC,CAAA;QACD,8BAA8B,EAAE,GAAS,EAAE;YACvC,OAAO;gBACH,MAAM,EAAE,4BAAqB,CAAC,KAAK;aACtC,CAAC;QACN,CAAC,CAAA;QACD,kBAAkB,EAAE,GAAG,EAAE;YACrB,OAAO,8BAAC,uCAAkB,IAAC,GAAG,EAAE,UAAU,GAAI,CAAC;QACnD,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AA3BW,QAAA,mBAAmB,uBA2B9B","sourcesContent":["import { useCurrentHotel } from '@frontend/hooks';\nimport { EBookingPaymentMethod, EHotelCardProcessor } from '@roomstay/core';\nimport React, { useRef } from 'react';\n\nimport { AdyenPaymentOption } from '@/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption';\n\nimport { PaymentHandler, PaymentHandlerElementRef } from './PaymentHandler';\n\nexport const adyenPaymentHandler = (): PaymentHandler => {\n const { hotel } = useCurrentHotel();\n\n const paymentRef = useRef<PaymentHandlerElementRef>(null);\n\n return {\n name: 'Adyen',\n isAvailable: hotel?.cardProcessor === EHotelCardProcessor.Adyen,\n isExclusive: true,\n requireBookingPlaced: true,\n bookingPaymentMethod: EBookingPaymentMethod.Adyen,\n onConfirm: async () => {\n if (paymentRef.current) {\n return paymentRef.current.submitPayment();\n }\n\n return { success: false, retryPayment: false, message: 'Something has gone wrong. Failed to get payment infromation details.' };\n },\n getBookingPaymentRequestObject: async () => {\n return {\n Method: EBookingPaymentMethod.Adyen,\n };\n },\n renderPaymentInput: () => {\n return <AdyenPaymentOption ref={paymentRef} />;\n },\n };\n};\n"]}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -1 +1 @@
1
- {"version":3,"file":"PlanpayPaymentHandler.js","sourceRoot":"/","sources":["src/handlers/payment/PlanpayPaymentHandler.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAqE;AACrE,yCAAuD;AACvD,kDAA0B;AAC1B,+CAA0C;AAE1C,gGAAwE;AACxE,+FAA4F;AAC5F,iEAAiE;AACjE,8DAAyC;AAIlC,MAAM,qBAAqB,GAAG,GAAmB,EAAE;IACtD,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAA,wCAAoB,GAAE,CAAC;IAE1D,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAA,2BAAgB,GAAE,CAAC;IAEnC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,IAAA,iBAAU,GAAE,CAAC;IAExD,OAAO;QACH,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,kBAAkB,CAAA,IAAI,IAAA,eAAK,EAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAA,eAAK,GAAE,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,kBAAkB;QAC/J,WAAW,EAAE,KAAK;QAElB,cAAc,EAAE,oEAAoE;QACpF,oBAAoB,EAAE,IAAI;QAC1B,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,4BAAqB,CAAC,OAAO;QACnD,SAAS,EAAE,GAAS,EAAE;YAClB,6EAA6E;YAE7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QACtE,CAAC,CAAA;QACD,8BAA8B,EAAE,GAAS,EAAE;YACvC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChF,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,4BAAqB,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,wBAAwB,MAAM,EAAE,CAAC;YAClI,MAAM,OAAO,GAAG;gBACZ,MAAM,EAAE,4BAAqB,CAAC,OAAO;gBACrC,iBAAiB,EAAE,sBAAsB,IAAI,SAAS;gBACtD,WAAW,EAAE,WAAW;aAC3B,CAAC;YAEF,OAAO,OAAO,CAAC;QACnB,CAAC,CAAA;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,8BAAC,sBAAY,OAAG;QACnC,kBAAkB,EAAE,GAAG,EAAE,CAAC,8BAAC,2CAAoB,OAAG;KACrD,CAAC;AACN,CAAC,CAAC;AAvCW,QAAA,qBAAqB,yBAuChC","sourcesContent":["import { BasketContext, useBookingEngine } from '@frontend/contexts';\nimport { EBookingPaymentMethod } from '@roomstay/core';\nimport dayjs from 'dayjs';\nimport React, { useContext } from 'react';\n\nimport PlanpayLabel from '@/components/steps/confirmation/PlanpayLabel';\nimport { PlanpayPaymentMethod } from '@/components/steps/confirmation/PlanpayPaymentMethod';\nimport { useConfirmationQuery } from '@/hooks/ConfirmationQuery';\nimport usePlanpay from '@/hooks/Planpay';\n\nimport { PaymentHandler } from './PaymentHandler';\n\nexport const planpayPaymentHandler = (): PaymentHandler => {\n const { queryPlanpayCheckoutId } = useConfirmationQuery();\n\n const basketContext = useContext(BasketContext);\n const context = useBookingEngine();\n\n const { hasPricePreview, planpayConfig } = usePlanpay();\n\n return {\n name: 'Planpay',\n isAvailable: !!hasPricePreview && !!planpayConfig?.minDaysShowPlanpay && dayjs(basketContext.startDate).diff(dayjs(), 'day') > planpayConfig.minDaysShowPlanpay,\n isExclusive: false,\n\n disabledReason: 'You must fill all the above details before proceeding with Planpay',\n requireBookingPlaced: true,\n requireFormFilled: true,\n bookingPaymentMethod: EBookingPaymentMethod.Planpay,\n onConfirm: async () => {\n // No need for validation as passthrough moves all payment data to 3rd party.\n\n return { success: true, retryPayment: false, message: 'Success' };\n },\n getBookingPaymentRequestObject: async () => {\n const params = new URLSearchParams(window.location.search);\n params.set('roomstayId', '{{rsId}}');\n params.set('session', context.sessionProvider.getCurrentSessionID().toString());\n params.set('paymentMethod', EBookingPaymentMethod.Planpay);\n const redirectURL = `${window.location.origin}${window.location.pathname}${window.location.search}#/step/confirmation/?${params}`;\n const payment = {\n Method: EBookingPaymentMethod.Planpay,\n PlanpayCheckoutId: queryPlanpayCheckoutId || undefined,\n RedirectUrl: redirectURL,\n };\n\n return payment;\n },\n renderInput: () => <PlanpayLabel />,\n renderPaymentInput: () => <PlanpayPaymentMethod />,\n };\n};\n"]}
1
+ {"version":3,"file":"PlanpayPaymentHandler.js","sourceRoot":"/","sources":["src/handlers/payment/PlanpayPaymentHandler.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAqE;AACrE,yCAAuD;AACvD,kDAA0B;AAC1B,+CAA0C;AAE1C,gGAAwE;AACxE,+FAA4F;AAC5F,iEAAiE;AACjE,8DAAyC;AAIlC,MAAM,qBAAqB,GAAG,GAAmB,EAAE;IACtD,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAA,wCAAoB,GAAE,CAAC;IAE1D,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAA,2BAAgB,GAAE,CAAC;IAEnC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,IAAA,iBAAU,GAAE,CAAC;IAExD,OAAO;QACH,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,kBAAkB,CAAA,IAAI,IAAA,eAAK,EAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAA,eAAK,GAAE,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,kBAAkB;QAC/J,WAAW,EAAE,KAAK;QAElB,cAAc,EAAE,oEAAoE;QACpF,oBAAoB,EAAE,IAAI;QAC1B,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,4BAAqB,CAAC,OAAO;QACnD,SAAS,EAAE,GAAS,EAAE;YAClB,6EAA6E;YAE7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QACtE,CAAC,CAAA;QACD,8BAA8B,EAAE,GAAS,EAAE;YACvC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChF,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,4BAAqB,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,wBAAwB,MAAM,EAAE,CAAC;YAClI,MAAM,OAAO,GAAG;gBACZ,MAAM,EAAE,4BAAqB,CAAC,OAAO;gBACrC,iBAAiB,EAAE,sBAAsB,IAAI,SAAS;gBACtD,WAAW,EAAE,WAAW;aAC3B,CAAC;YAEF,OAAO,OAAO,CAAC;QACnB,CAAC,CAAA;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,8BAAC,sBAAY,OAAG;QACnC,kBAAkB,EAAE,GAAG,EAAE,CAAC,8BAAC,2CAAoB,OAAG;KACrD,CAAC;AACN,CAAC,CAAC;AAvCW,QAAA,qBAAqB,yBAuChC","sourcesContent":["import { BasketContext, useBookingEngine } from '@frontend/contexts';\nimport { EBookingPaymentMethod } from '@roomstay/core';\nimport dayjs from 'dayjs';\nimport React, { useContext } from 'react';\n\nimport PlanpayLabel from '@/components/steps/confirmation/PlanpayLabel';\nimport { PlanpayPaymentMethod } from '@/components/steps/confirmation/PlanpayPaymentMethod';\nimport { useConfirmationQuery } from '@/hooks/ConfirmationQuery';\nimport usePlanpay from '@/hooks/Planpay';\n\nimport { PaymentHandler } from './PaymentHandler';\n\nexport const planpayPaymentHandler = (): PaymentHandler => {\n const { queryPlanpayCheckoutId } = useConfirmationQuery();\n\n const basketContext = useContext(BasketContext);\n const context = useBookingEngine();\n\n const { hasPricePreview, planpayConfig } = usePlanpay();\n\n return {\n name: 'Planpay',\n isAvailable: !!hasPricePreview && !!planpayConfig?.minDaysShowPlanpay && dayjs(basketContext.startDate).diff(dayjs(), 'day') > planpayConfig.minDaysShowPlanpay,\n isExclusive: false,\n\n disabledReason: 'You must fill all the above details before proceeding with Planpay',\n requireBookingPlaced: true,\n requireFormFilled: true,\n bookingPaymentMethod: EBookingPaymentMethod.Planpay,\n onConfirm: async () => {\n // No need for validation as passthrough moves all payment data to 3rd party.\n\n return { success: true, retryPayment: false, message: 'Success' };\n },\n getBookingPaymentRequestObject: async () => {\n const params = new URLSearchParams(window.location.search);\n params.set('roomstayId', '{{rsId}}');\n params.set('session', context.sessionProvider.getCurrentSessionID().toString());\n params.set('paymentMethod', EBookingPaymentMethod.Planpay);\n const redirectURL = `${window.location.origin}${window.location.pathname}${window.location.search}#/step/confirmation/?${params}`;\n const payment = {\n Method: EBookingPaymentMethod.Planpay,\n PlanpayCheckoutId: queryPlanpayCheckoutId || undefined,\n RedirectUrl: redirectURL,\n };\n\n return payment;\n },\n renderInput: () => <PlanpayLabel />,\n renderPaymentInput: () => <PlanpayPaymentMethod />,\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"VGSMemberPaymentHandler.js","sourceRoot":"/","sources":["src/handlers/payment/VGSMemberPaymentHandler.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iDAAsD;AACtD,2CAAkD;AAClD,yCAA4E;AAC5E,kDAA0B;AAE1B,+GAAuF;AAIhF,MAAM,uBAAuB,GAAG,GAAmB,EAAE;;IACxD,MAAM,EAAE,KAAK,EAAE,mCAAmC,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACzE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAA,2BAAgB,GAAE,CAAC;IAErD,kFAAkF;IAClF,MAAM,aAAa,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,EAAC,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,0BAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5G,IAAI,YAAY,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;IAE9B,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,EAAE;QAC7B,YAAY,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,MAAK,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,CAAA,CAAC,CAAC;KACrF;IAED,OAAO;QACH,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,aAAa,IAAI,CAAC,CAAC,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,0CAAE,QAAQ,CAAC,4BAAqB,CAAC,IAAI,CAAC,CAAA,IAAI,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA,IAAI,mCAAmC;QACrJ,WAAW,EAAE,KAAK;QAClB,oBAAoB,EAAE,KAAK;QAC3B,oBAAoB,EAAE,4BAAqB,CAAC,IAAI;QAChD,UAAU,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,8BAAC,6BAAmB,IAAC,IAAI,EAAE,IAAI,GAAI;YAC1C,KAAK,EAAE,IAAI,CAAC,MAAM;SACrB,CAAC,CAAC;QACH,SAAS,EAAE,GAAS,EAAE;YAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC1D,CAAC,CAAA;QACD,8BAA8B,EAAE,GAAS,EAAE;YACvC,OAAO;gBACH,MAAM,EAAE,4BAAqB,CAAC,SAAS;gBACvC,WAAW,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM;aACpC,CAAC;QACN,CAAC,CAAA;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,8BAAC,6BAAmB,IAAC,IAAI,EAAE,YAAY,GAAI;QAE9D,kBAAkB,EAAE,SAAS;QAE7B,iBAAiB,EAAE,CAAC,KAAc,EAAE,EAAE;YAClC,YAAY,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;QAChE,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAxCW,QAAA,uBAAuB,2BAwClC","sourcesContent":["import { useMemberContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { EBookingPaymentMethod, EHotelCardProcessor } from '@roomstay/core';\nimport React from 'react';\n\nimport InlinePaymentOption from '@/components/generic/PaymentCard/InlinePaymentOption';\n\nimport { PaymentHandler } from './PaymentHandler';\n\nexport const vgsMemberPaymentHandler = (): PaymentHandler => {\n const { hotel, isMemberPaymentInformationAvailable } = useCurrentHotel();\n const { cards, roomstayMember } = useMemberContext();\n\n // In this instance Passthrough means that the card details are forwarded via VGS.\n const isPassthrough = hotel?.cardProcessor ? hotel.cardProcessor === EHotelCardProcessor.Passthrough : true;\n\n let selectedCard = cards?.[0];\n\n if (roomstayMember?.defaultCard) {\n selectedCard = cards?.find((card) => card.cardId === roomstayMember?.defaultCard);\n }\n\n return {\n name: 'VGSMember',\n isAvailable: isPassthrough && !!hotel?.paymentMethods?.includes(EBookingPaymentMethod.Card) && !!cards?.length && isMemberPaymentInformationAvailable,\n isExclusive: false,\n requireBookingPlaced: false,\n bookingPaymentMethod: EBookingPaymentMethod.Card,\n subOptions: cards?.map((card) => ({\n label: <InlinePaymentOption card={card} />,\n value: card.cardId,\n })),\n onConfirm: async () => {\n return { success: true, message: 'Using saved card' };\n },\n getBookingPaymentRequestObject: async () => {\n return {\n Method: EBookingPaymentMethod.SavedCard,\n SavedCardID: selectedCard?.cardId,\n };\n },\n renderInput: () => <InlinePaymentOption card={selectedCard} />,\n\n renderPaymentInput: undefined,\n\n onSubOptionChange: (value?: string) => {\n selectedCard = cards?.find((card) => card.cardId === value);\n },\n };\n};\n"]}
1
+ {"version":3,"file":"VGSMemberPaymentHandler.js","sourceRoot":"/","sources":["src/handlers/payment/VGSMemberPaymentHandler.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iDAAsD;AACtD,2CAAkD;AAClD,yCAA4E;AAC5E,kDAA0B;AAE1B,+GAAuF;AAIhF,MAAM,uBAAuB,GAAG,GAAmB,EAAE;;IACxD,MAAM,EAAE,KAAK,EAAE,mCAAmC,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACzE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAA,2BAAgB,GAAE,CAAC;IAErD,kFAAkF;IAClF,MAAM,aAAa,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,EAAC,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,0BAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5G,IAAI,YAAY,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;IAE9B,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,EAAE,CAAC;QAC9B,YAAY,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,MAAK,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,CAAA,CAAC,CAAC;IACtF,CAAC;IAED,OAAO;QACH,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,aAAa,IAAI,CAAC,CAAC,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,0CAAE,QAAQ,CAAC,4BAAqB,CAAC,IAAI,CAAC,CAAA,IAAI,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA,IAAI,mCAAmC;QACrJ,WAAW,EAAE,KAAK;QAClB,oBAAoB,EAAE,KAAK;QAC3B,oBAAoB,EAAE,4BAAqB,CAAC,IAAI;QAChD,UAAU,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,8BAAC,6BAAmB,IAAC,IAAI,EAAE,IAAI,GAAI;YAC1C,KAAK,EAAE,IAAI,CAAC,MAAM;SACrB,CAAC,CAAC;QACH,SAAS,EAAE,GAAS,EAAE;YAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC1D,CAAC,CAAA;QACD,8BAA8B,EAAE,GAAS,EAAE;YACvC,OAAO;gBACH,MAAM,EAAE,4BAAqB,CAAC,SAAS;gBACvC,WAAW,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM;aACpC,CAAC;QACN,CAAC,CAAA;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,8BAAC,6BAAmB,IAAC,IAAI,EAAE,YAAY,GAAI;QAE9D,kBAAkB,EAAE,SAAS;QAE7B,iBAAiB,EAAE,CAAC,KAAc,EAAE,EAAE;YAClC,YAAY,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;QAChE,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAxCW,QAAA,uBAAuB,2BAwClC","sourcesContent":["import { useMemberContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { EBookingPaymentMethod, EHotelCardProcessor } from '@roomstay/core';\nimport React from 'react';\n\nimport InlinePaymentOption from '@/components/generic/PaymentCard/InlinePaymentOption';\n\nimport { PaymentHandler } from './PaymentHandler';\n\nexport const vgsMemberPaymentHandler = (): PaymentHandler => {\n const { hotel, isMemberPaymentInformationAvailable } = useCurrentHotel();\n const { cards, roomstayMember } = useMemberContext();\n\n // In this instance Passthrough means that the card details are forwarded via VGS.\n const isPassthrough = hotel?.cardProcessor ? hotel.cardProcessor === EHotelCardProcessor.Passthrough : true;\n\n let selectedCard = cards?.[0];\n\n if (roomstayMember?.defaultCard) {\n selectedCard = cards?.find((card) => card.cardId === roomstayMember?.defaultCard);\n }\n\n return {\n name: 'VGSMember',\n isAvailable: isPassthrough && !!hotel?.paymentMethods?.includes(EBookingPaymentMethod.Card) && !!cards?.length && isMemberPaymentInformationAvailable,\n isExclusive: false,\n requireBookingPlaced: false,\n bookingPaymentMethod: EBookingPaymentMethod.Card,\n subOptions: cards?.map((card) => ({\n label: <InlinePaymentOption card={card} />,\n value: card.cardId,\n })),\n onConfirm: async () => {\n return { success: true, message: 'Using saved card' };\n },\n getBookingPaymentRequestObject: async () => {\n return {\n Method: EBookingPaymentMethod.SavedCard,\n SavedCardID: selectedCard?.cardId,\n };\n },\n renderInput: () => <InlinePaymentOption card={selectedCard} />,\n\n renderPaymentInput: undefined,\n\n onSubOptionChange: (value?: string) => {\n selectedCard = cards?.find((card) => card.cardId === value);\n },\n };\n};\n"]}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -54,9 +64,9 @@ const vgsPaymentHandler = () => {
54
64
  requireBookingPlaced: false,
55
65
  bookingPaymentMethod: core_1.EBookingPaymentMethod.Card,
56
66
  onConfirm: () => __awaiter(void 0, void 0, void 0, function* () {
57
- var _b;
67
+ var _a;
58
68
  // No need for validation as passthrough moves all payment data to 3rd party.
59
- const response = yield ((_b = paymentRef.current) === null || _b === void 0 ? void 0 : _b.submitPayment());
69
+ const response = yield ((_a = paymentRef.current) === null || _a === void 0 ? void 0 : _a.submitPayment());
60
70
  if (response) {
61
71
  return response;
62
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VGSPaymentHandler.js","sourceRoot":"/","sources":["src/handlers/payment/VGSPaymentHandler.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkD;AAClD,yCAA4E;AAC5E,+CAAsC;AAEtC,+GAAuF;AACvF,kIAAgI;AAIzH,MAAM,iBAAiB,GAAG,GAAmB,EAAE;;IAClD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,UAAU,GAAG,IAAA,cAAM,EAA2B,IAAI,CAAC,CAAC;IAE1D,kFAAkF;IAClF,MAAM,aAAa,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,EAAC,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,0BAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5G,OAAO;QACH,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,aAAa,IAAI,CAAC,CAAC,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,0CAAE,QAAQ,CAAC,4BAAqB,CAAC,IAAI,CAAC,CAAA;QAC3F,WAAW,EAAE,KAAK;QAClB,oBAAoB,EAAE,KAAK;QAC3B,oBAAoB,EAAE,4BAAqB,CAAC,IAAI;QAChD,SAAS,EAAE,GAAS,EAAE;;YAClB,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,aAAa,EAAE,CAAA,CAAC;YAE3D,IAAI,QAAQ,EAAE;gBACV,OAAO,QAAQ,CAAC;aACnB;YAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,sEAAsE,EAAE,CAAC;QACpI,CAAC,CAAA;QACD,8BAA8B,EAAE,GAAS,EAAE;YACvC,OAAO;gBACH,MAAM,EAAE,4BAAqB,CAAC,IAAI;aACrC,CAAC;QACN,CAAC,CAAA;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,8BAAC,6BAAmB,IAAC,MAAM,SAAG;QACjD,kBAAkB,EAAE,GAAG,EAAE,CAAC,8BAAC,gEAA+B,IAAC,GAAG,EAAE,UAAU,GAAI;KACjF,CAAC;AACN,CAAC,CAAC;AAhCW,QAAA,iBAAiB,qBAgC5B","sourcesContent":["import { useCurrentHotel } from '@frontend/hooks';\nimport { EBookingPaymentMethod, EHotelCardProcessor } from '@roomstay/core';\nimport React, { useRef } from 'react';\n\nimport InlinePaymentOption from '@/components/generic/PaymentCard/InlinePaymentOption';\nimport { StepConfirmationVGSPaymentInput } from '@/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails';\n\nimport { PaymentHandler, PaymentHandlerElementRef } from './PaymentHandler';\n\nexport const vgsPaymentHandler = (): PaymentHandler => {\n const { hotel } = useCurrentHotel();\n\n const paymentRef = useRef<PaymentHandlerElementRef>(null);\n\n // In this instance Passthrough means that the card details are forwarded via VGS.\n const isPassthrough = hotel?.cardProcessor ? hotel.cardProcessor === EHotelCardProcessor.Passthrough : true;\n\n return {\n name: 'VGS',\n isAvailable: isPassthrough && !!hotel?.paymentMethods?.includes(EBookingPaymentMethod.Card),\n isExclusive: false,\n requireBookingPlaced: false,\n bookingPaymentMethod: EBookingPaymentMethod.Card,\n onConfirm: async () => {\n // No need for validation as passthrough moves all payment data to 3rd party.\n const response = await paymentRef.current?.submitPayment();\n\n if (response) {\n return response;\n }\n\n return { success: false, retryPayment: false, message: 'Something has gone wrong. Failed to get payment infromation details.' };\n },\n getBookingPaymentRequestObject: async () => {\n return {\n Method: EBookingPaymentMethod.Card,\n };\n },\n renderInput: () => <InlinePaymentOption active />,\n renderPaymentInput: () => <StepConfirmationVGSPaymentInput ref={paymentRef} />,\n };\n};\n"]}
1
+ {"version":3,"file":"VGSPaymentHandler.js","sourceRoot":"/","sources":["src/handlers/payment/VGSPaymentHandler.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkD;AAClD,yCAA4E;AAC5E,+CAAsC;AAEtC,+GAAuF;AACvF,kIAAgI;AAIzH,MAAM,iBAAiB,GAAG,GAAmB,EAAE;;IAClD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,UAAU,GAAG,IAAA,cAAM,EAA2B,IAAI,CAAC,CAAC;IAE1D,kFAAkF;IAClF,MAAM,aAAa,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,EAAC,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,0BAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5G,OAAO;QACH,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,aAAa,IAAI,CAAC,CAAC,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,0CAAE,QAAQ,CAAC,4BAAqB,CAAC,IAAI,CAAC,CAAA;QAC3F,WAAW,EAAE,KAAK;QAClB,oBAAoB,EAAE,KAAK;QAC3B,oBAAoB,EAAE,4BAAqB,CAAC,IAAI;QAChD,SAAS,EAAE,GAAS,EAAE;;YAClB,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,aAAa,EAAE,CAAA,CAAC;YAE3D,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,QAAQ,CAAC;YACpB,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,sEAAsE,EAAE,CAAC;QACpI,CAAC,CAAA;QACD,8BAA8B,EAAE,GAAS,EAAE;YACvC,OAAO;gBACH,MAAM,EAAE,4BAAqB,CAAC,IAAI;aACrC,CAAC;QACN,CAAC,CAAA;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,8BAAC,6BAAmB,IAAC,MAAM,SAAG;QACjD,kBAAkB,EAAE,GAAG,EAAE,CAAC,8BAAC,gEAA+B,IAAC,GAAG,EAAE,UAAU,GAAI;KACjF,CAAC;AACN,CAAC,CAAC;AAhCW,QAAA,iBAAiB,qBAgC5B","sourcesContent":["import { useCurrentHotel } from '@frontend/hooks';\nimport { EBookingPaymentMethod, EHotelCardProcessor } from '@roomstay/core';\nimport React, { useRef } from 'react';\n\nimport InlinePaymentOption from '@/components/generic/PaymentCard/InlinePaymentOption';\nimport { StepConfirmationVGSPaymentInput } from '@/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails';\n\nimport { PaymentHandler, PaymentHandlerElementRef } from './PaymentHandler';\n\nexport const vgsPaymentHandler = (): PaymentHandler => {\n const { hotel } = useCurrentHotel();\n\n const paymentRef = useRef<PaymentHandlerElementRef>(null);\n\n // In this instance Passthrough means that the card details are forwarded via VGS.\n const isPassthrough = hotel?.cardProcessor ? hotel.cardProcessor === EHotelCardProcessor.Passthrough : true;\n\n return {\n name: 'VGS',\n isAvailable: isPassthrough && !!hotel?.paymentMethods?.includes(EBookingPaymentMethod.Card),\n isExclusive: false,\n requireBookingPlaced: false,\n bookingPaymentMethod: EBookingPaymentMethod.Card,\n onConfirm: async () => {\n // No need for validation as passthrough moves all payment data to 3rd party.\n const response = await paymentRef.current?.submitPayment();\n\n if (response) {\n return response;\n }\n\n return { success: false, retryPayment: false, message: 'Something has gone wrong. Failed to get payment infromation details.' };\n },\n getBookingPaymentRequestObject: async () => {\n return {\n Method: EBookingPaymentMethod.Card,\n };\n },\n renderInput: () => <InlinePaymentOption active />,\n renderPaymentInput: () => <StepConfirmationVGSPaymentInput ref={paymentRef} />,\n };\n};\n"]}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface UseAutoFocusOnSelectProps {
3
2
  ref: HTMLInputElement | null;
4
3
  onlyAutoOpenWhenInputEmpty?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"AutoFocusOnSelect.js","sourceRoot":"/","sources":["src/hooks/AutoFocusOnSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { debounce } from '../util/Debounce';\n\ninterface UseAutoFocusOnSelectProps {\n ref: HTMLInputElement | null;\n onlyAutoOpenWhenInputEmpty?: boolean;\n focusOnSelected?: boolean;\n}\n\nconst duration = 300;\n\nexport const useAutoFocusOnSelect = ({ ref, onlyAutoOpenWhenInputEmpty = false, focusOnSelected = true }: UseAutoFocusOnSelectProps) => {\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n const lockOpen = useRef<boolean>(false);\n const timeout = useRef<NodeJS.Timeout>();\n\n useEffect(() => clearTimeout(timeout.current), []);\n\n const debounceSetFocus = useCallback(\n debounce((value) => {\n setIsFocused(value);\n }, duration),\n []\n );\n\n const onTriggerClicked = () => {\n setIsDropdownOpen(true);\n debounceSetFocus(true);\n };\n\n const onDropdownClosed = (e: Event) => {\n const composedPath = e.composedPath() as HTMLElement[];\n if (composedPath.some((el) => el.isSameNode?.(ref))) {\n return;\n }\n if (!lockOpen.current) {\n setIsDropdownOpen(false);\n }\n debounceSetFocus(false);\n };\n\n const onItemSelected = () => {\n if (!lockOpen.current) setIsDropdownOpen(false);\n if (focusOnSelected) ref?.focus();\n else ref?.blur();\n };\n\n const _onFocus = useCallback(() => {\n if (!isFocused) {\n if (!onlyAutoOpenWhenInputEmpty || !ref?.value) {\n setIsDropdownOpen(true);\n lockOpen.current = true;\n timeout.current = setTimeout(() => {\n lockOpen.current = false;\n }, duration);\n }\n }\n debounceSetFocus(true);\n }, [setIsFocused, isFocused, isDropdownOpen, setIsDropdownOpen]);\n\n const _onBlur = useCallback(() => {\n debounceSetFocus(false);\n }, [setIsFocused]);\n\n useEffect(() => {\n if (!ref) return;\n ref.addEventListener('focus', _onFocus);\n ref.addEventListener('blur', _onBlur);\n ref.addEventListener('click', _onFocus);\n return () => {\n if (!ref) return;\n ref.removeEventListener('focus', _onFocus);\n ref.removeEventListener('blur', _onBlur);\n ref.removeEventListener('click', _onFocus);\n };\n }, [ref, _onFocus, _onBlur]);\n return {\n isFocused,\n isDropdownOpen,\n onDropdownClosed,\n onTriggerClicked,\n onItemSelected,\n setIsDropdownOpen,\n };\n};\n"]}
1
+ {"version":3,"file":"AutoFocusOnSelect.js","sourceRoot":"/","sources":["src/hooks/AutoFocusOnSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { debounce } from '../util/Debounce';\n\ninterface UseAutoFocusOnSelectProps {\n ref: HTMLInputElement | null;\n onlyAutoOpenWhenInputEmpty?: boolean;\n focusOnSelected?: boolean;\n}\n\nconst duration = 300;\n\nexport const useAutoFocusOnSelect = ({ ref, onlyAutoOpenWhenInputEmpty = false, focusOnSelected = true }: UseAutoFocusOnSelectProps) => {\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n const lockOpen = useRef<boolean>(false);\n const timeout = useRef<NodeJS.Timeout>();\n\n useEffect(() => clearTimeout(timeout.current), []);\n\n const debounceSetFocus = useCallback(\n debounce((value) => {\n setIsFocused(value);\n }, duration),\n []\n );\n\n const onTriggerClicked = () => {\n setIsDropdownOpen(true);\n debounceSetFocus(true);\n };\n\n const onDropdownClosed = (e: Event) => {\n const composedPath = e.composedPath() as HTMLElement[];\n if (composedPath.some((el) => el.isSameNode?.(ref))) {\n return;\n }\n if (!lockOpen.current) {\n setIsDropdownOpen(false);\n }\n debounceSetFocus(false);\n };\n\n const onItemSelected = () => {\n if (!lockOpen.current) setIsDropdownOpen(false);\n if (focusOnSelected) ref?.focus();\n else ref?.blur();\n };\n\n const _onFocus = useCallback(() => {\n if (!isFocused) {\n if (!onlyAutoOpenWhenInputEmpty || !ref?.value) {\n setIsDropdownOpen(true);\n lockOpen.current = true;\n timeout.current = setTimeout(() => {\n lockOpen.current = false;\n }, duration);\n }\n }\n debounceSetFocus(true);\n }, [setIsFocused, isFocused, isDropdownOpen, setIsDropdownOpen]);\n\n const _onBlur = useCallback(() => {\n debounceSetFocus(false);\n }, [setIsFocused]);\n\n useEffect(() => {\n if (!ref) return;\n ref.addEventListener('focus', _onFocus);\n ref.addEventListener('blur', _onBlur);\n ref.addEventListener('click', _onFocus);\n return () => {\n if (!ref) return;\n ref.removeEventListener('focus', _onFocus);\n ref.removeEventListener('blur', _onBlur);\n ref.removeEventListener('click', _onFocus);\n };\n }, [ref, _onFocus, _onBlur]);\n return {\n isFocused,\n isDropdownOpen,\n onDropdownClosed,\n onTriggerClicked,\n onItemSelected,\n setIsDropdownOpen,\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"BodyClickHook.js","sourceRoot":"/","sources":["src/hooks/BodyClickHook.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,GAAG,EAAE;IAC7B,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,SAAwC,QAAQ,EAAE,EAAE;QAC3F,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,SAAwC,QAAQ,EAAE,EAAE;QAC3F,MAAM,WAAW,GAAG,CAAC,CAAQ,EAAE,EAAE;YAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE/C,OAAO;YACH,MAAM,EAAE,GAAG,EAAE;gBACT,MAAM,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC/C,CAAC;SACJ,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,KAAoB,EAAE,MAAmB,EAAE,SAAwC,QAAQ,EAAE,EAAE;QACtH,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAQ,EAAE,EAAE;;YACtC,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC,YAAY,EAAmB,EAAE;gBACrD,IAAI,MAAA,OAAO,CAAC,UAAU,wDAAG,MAAM,CAAC,EAAE;oBAC9B,uEAAuE;oBACvE,OAAO;iBACV;aACJ;YAED,yEAAyE;YACzE,KAAK,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;IACF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAC9C,CAAC,CAAC;AAnCW,QAAA,YAAY,gBAmCvB","sourcesContent":["export const useBodyClick = () => {\n const removeEvent = (event: EventListener, target: HTMLElement | Document | null = document) => {\n target?.removeEventListener('click', event);\n };\n\n const onBodyClick = (event: EventListener, target: HTMLElement | Document | null = document) => {\n const mappedEvent = (e: Event) => {\n return event(e);\n };\n\n target?.addEventListener('click', mappedEvent);\n\n return {\n remove: () => {\n target && removeEvent(mappedEvent, target);\n },\n };\n };\n\n const onBodyClickExcept = (event: EventListener, ignore: HTMLElement, target: HTMLElement | Document | null = document) => {\n const response = onBodyClick((e: Event) => {\n for (const element of e.composedPath() as HTMLElement[]) {\n if (element.isSameNode?.(ignore)) {\n // Preventing the event from taking place, as it's in the ignored list.\n return;\n }\n }\n\n // Assuming target click isn't in the ignore area, proceed with the event\n event(e);\n }, target);\n\n return response;\n };\n return { onBodyClick, onBodyClickExcept };\n};\n"]}
1
+ {"version":3,"file":"BodyClickHook.js","sourceRoot":"/","sources":["src/hooks/BodyClickHook.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,GAAG,EAAE;IAC7B,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,SAAwC,QAAQ,EAAE,EAAE;QAC3F,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,SAAwC,QAAQ,EAAE,EAAE;QAC3F,MAAM,WAAW,GAAG,CAAC,CAAQ,EAAE,EAAE;YAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE/C,OAAO;YACH,MAAM,EAAE,GAAG,EAAE;gBACT,MAAM,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC/C,CAAC;SACJ,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,KAAoB,EAAE,MAAmB,EAAE,SAAwC,QAAQ,EAAE,EAAE;QACtH,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAQ,EAAE,EAAE;;YACtC,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC,YAAY,EAAmB,EAAE,CAAC;gBACtD,IAAI,MAAA,OAAO,CAAC,UAAU,wDAAG,MAAM,CAAC,EAAE,CAAC;oBAC/B,uEAAuE;oBACvE,OAAO;gBACX,CAAC;YACL,CAAC;YAED,yEAAyE;YACzE,KAAK,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;IACF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAC9C,CAAC,CAAC;AAnCW,QAAA,YAAY,gBAmCvB","sourcesContent":["export const useBodyClick = () => {\n const removeEvent = (event: EventListener, target: HTMLElement | Document | null = document) => {\n target?.removeEventListener('click', event);\n };\n\n const onBodyClick = (event: EventListener, target: HTMLElement | Document | null = document) => {\n const mappedEvent = (e: Event) => {\n return event(e);\n };\n\n target?.addEventListener('click', mappedEvent);\n\n return {\n remove: () => {\n target && removeEvent(mappedEvent, target);\n },\n };\n };\n\n const onBodyClickExcept = (event: EventListener, ignore: HTMLElement, target: HTMLElement | Document | null = document) => {\n const response = onBodyClick((e: Event) => {\n for (const element of e.composedPath() as HTMLElement[]) {\n if (element.isSameNode?.(ignore)) {\n // Preventing the event from taking place, as it's in the ignored list.\n return;\n }\n }\n\n // Assuming target click isn't in the ignore area, proceed with the event\n event(e);\n }, target);\n\n return response;\n };\n return { onBodyClick, onBodyClickExcept };\n};\n"]}
@@ -1,2 +1,2 @@
1
1
  import { Dispatch, SetStateAction } from 'react';
2
- export declare const useCombinedState: <T>(value?: T | undefined, defaultValue?: T | undefined) => [T | undefined, Dispatch<SetStateAction<T | undefined>>];
2
+ export declare const useCombinedState: <T>(value?: T, defaultValue?: T) => [T | undefined, Dispatch<SetStateAction<T | undefined>>];
@@ -1 +1 @@
1
- {"version":3,"file":"Currency.js","sourceRoot":"/","sources":["src/hooks/Currency.ts"],"names":[],"mappings":"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","sourcesContent":["import { useContext, useEffect, useMemo, useState } from 'react';\n\nimport { CompanyContext } from '@/contexts';\nimport { useCurrentHotel } from '@/hooks/CurrentHotelHook';\nimport CurrencyProvider from '@/providers/CurrencyProvider';\n\nexport interface UseCurrencyProps {\n removeCurrencyAfterChar?: number;\n shortenThousandsAfter?: number;\n\n children: any;\n\n hideDecimals?: boolean;\n\n disableLocalization?: boolean;\n disableLoading?: boolean;\n\n originalCurrencyCode?: string;\n}\n\nconst useCurrency = (props: UseCurrencyProps) => {\n const { currentCurrency } = useContext(CompanyContext);\n const { hotel } = useCurrentHotel();\n\n const [value, setValue] = useState(0);\n const [isLoading, setIsLoading] = useState(false);\n\n const toLocalString = (original: number, toFixed?: boolean) => {\n if (props.disableLocalization) {\n return original;\n }\n\n if (original) {\n return original.toLocaleString(undefined, { minimumFractionDigits: toFixed ? 2 : 0 });\n }\n\n return original;\n };\n\n useEffect(() => {\n let isCancelled = false;\n\n setIsLoading(true);\n setTimeout(\n () => {\n if (!isCancelled) {\n setIsLoading(false);\n\n if (isNaN(props.children)) {\n setValue(props.children);\n } else {\n const totalValue = CurrencyProvider.convertPrice(\n props.children,\n !props.hideDecimals,\n currentCurrency,\n props.originalCurrencyCode ?? (hotel?.defaultCurrency as string)\n );\n\n if (!isCancelled) {\n setValue(totalValue);\n }\n }\n }\n },\n props.disableLoading ? 0 : 200\n );\n\n return () => {\n setIsLoading(false);\n isCancelled = true;\n };\n }, [props.children, currentCurrency, props.originalCurrencyCode, CurrencyProvider.getRatesForCurrencyCode(props.originalCurrencyCode ?? (hotel?.defaultCurrency as string))]);\n\n return useMemo(() => {\n const stringVal = props.disableLocalization ? value.toString() : value?.toLocaleString();\n\n let symbol = CurrencyProvider.getSymbol(currentCurrency);\n if (props.removeCurrencyAfterChar) {\n const priceLength = String(value).length;\n if (priceLength + symbol.length > props.removeCurrencyAfterChar) {\n symbol = CurrencyProvider.getShortSymbol(currentCurrency);\n if (priceLength + symbol.length > props.removeCurrencyAfterChar) {\n symbol = '';\n }\n }\n }\n\n let prettyValue = toLocalString(value, !(props.hideDecimals || typeof value !== 'number'));\n\n if (props.shortenThousandsAfter && props.shortenThousandsAfter <= String(value).length && props.hideDecimals) {\n prettyValue = stringVal.substring(0, stringVal.length - 3) + '…';\n }\n\n return {\n isLoading,\n symbol,\n prettyValue,\n value,\n };\n }, [value, isLoading]);\n};\n\nexport default useCurrency;\n"]}
1
+ {"version":3,"file":"Currency.js","sourceRoot":"/","sources":["src/hooks/Currency.ts"],"names":[],"mappings":"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","sourcesContent":["import { useContext, useEffect, useMemo, useState } from 'react';\n\nimport { CompanyContext } from '@/contexts';\nimport { useCurrentHotel } from '@/hooks/CurrentHotelHook';\nimport CurrencyProvider from '@/providers/CurrencyProvider';\n\nexport interface UseCurrencyProps {\n removeCurrencyAfterChar?: number;\n shortenThousandsAfter?: number;\n\n children: any;\n\n hideDecimals?: boolean;\n\n disableLocalization?: boolean;\n disableLoading?: boolean;\n\n originalCurrencyCode?: string;\n}\n\nconst useCurrency = (props: UseCurrencyProps) => {\n const { currentCurrency } = useContext(CompanyContext);\n const { hotel } = useCurrentHotel();\n\n const [value, setValue] = useState(0);\n const [isLoading, setIsLoading] = useState(false);\n\n const toLocalString = (original: number, toFixed?: boolean) => {\n if (props.disableLocalization) {\n return original;\n }\n\n if (original) {\n return original.toLocaleString(undefined, { minimumFractionDigits: toFixed ? 2 : 0 });\n }\n\n return original;\n };\n\n useEffect(() => {\n let isCancelled = false;\n\n setIsLoading(true);\n setTimeout(\n () => {\n if (!isCancelled) {\n setIsLoading(false);\n\n if (isNaN(props.children)) {\n setValue(props.children);\n } else {\n const totalValue = CurrencyProvider.convertPrice(\n props.children,\n !props.hideDecimals,\n currentCurrency,\n props.originalCurrencyCode ?? (hotel?.defaultCurrency as string)\n );\n\n if (!isCancelled) {\n setValue(totalValue);\n }\n }\n }\n },\n props.disableLoading ? 0 : 200\n );\n\n return () => {\n setIsLoading(false);\n isCancelled = true;\n };\n }, [props.children, currentCurrency, props.originalCurrencyCode, CurrencyProvider.getRatesForCurrencyCode(props.originalCurrencyCode ?? (hotel?.defaultCurrency as string))]);\n\n return useMemo(() => {\n const stringVal = props.disableLocalization ? value.toString() : value?.toLocaleString();\n\n let symbol = CurrencyProvider.getSymbol(currentCurrency);\n if (props.removeCurrencyAfterChar) {\n const priceLength = String(value).length;\n if (priceLength + symbol.length > props.removeCurrencyAfterChar) {\n symbol = CurrencyProvider.getShortSymbol(currentCurrency);\n if (priceLength + symbol.length > props.removeCurrencyAfterChar) {\n symbol = '';\n }\n }\n }\n\n let prettyValue = toLocalString(value, !(props.hideDecimals || typeof value !== 'number'));\n\n if (props.shortenThousandsAfter && props.shortenThousandsAfter <= String(value).length && props.hideDecimals) {\n prettyValue = stringVal.substring(0, stringVal.length - 3) + '…';\n }\n\n return {\n isLoading,\n symbol,\n prettyValue,\n value,\n };\n }, [value, isLoading]);\n};\n\nexport default useCurrency;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CurrentHotelHook.js","sourceRoot":"/","sources":["src/hooks/CurrentHotelHook.tsx"],"names":[],"mappings":";;;AAAA,iDAAoD;AACpD,yCAAqD;AACrD,iCAA4C;AAE5C,0EAAuE;AACvE,wCAA2C;AAEpC,MAAM,eAAe,GAAG,GAAG,EAAE;;IAChC,IAAI;QACA,MAAM,cAAc,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC;QAE3C,IAAI,CAAC,cAAc,EAAE;YACjB,MAAM,IAAI,6CAAqB,EAAE,CAAC;SACrC;QAED,MAAM,iBAAiB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;;YACnC,IAAI,CAAC,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,MAAM,CAAA;gBAAE,OAAO,KAAK,CAAC;YAEzC,OAAO,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;QACvD,CAAC,EAAE,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,MAAM,CAAC,CAAC,CAAC;QAE5B,MAAM,kBAAkB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;;YACpC,IAAI,CAAC,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,OAAO,CAAA;gBAAE,OAAO,KAAK,CAAC;YAE1C,OAAO,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC;QACxD,CAAC,EAAE,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,OAAO,CAAC,CAAC,CAAC;QAE7B,MAAM,oBAAoB,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,MAAK,0BAAmB,CAAC,WAAW,CAAC;QAEtF,MAAM,mCAAmC,GAAG,CAAC,KAAK,IAAI,CAAC,oBAAoB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,oBAAoB,MAAK,IAAI,CAAC,CAAC;QAErH,OAAO;YACH,KAAK;YACL,oBAAoB;YACpB,mCAAmC;YACnC,iBAAiB;YACjB,kBAAkB;YAElB,WAAW,EAAE,CAAC,UAAkB,EAAE,EAAE;gBAChC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC;SACJ,CAAC;KACL;IAAC,OAAO,EAAE,EAAE;QACT,kEAAkE;QAClE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,EAAE,CAAC;KACb;AACL,CAAC,CAAC;AAzCW,QAAA,eAAe,mBAyC1B","sourcesContent":["import { CompanyContext } from '@frontend/contexts';\nimport { EHotelCardProcessor } from '@roomstay/core';\nimport { useContext, useMemo } from 'react';\n\nimport { NoCompanyContextError } from '@/errors/NoCompanyContextError';\nimport { lightOrDark } from '@/util/Color';\n\nexport const useCurrentHotel = () => {\n try {\n const companyContext = useContext(CompanyContext);\n const hotel = companyContext.selectedHotel;\n\n if (!companyContext) {\n throw new NoCompanyContextError();\n }\n\n const isAccentColorDark = useMemo(() => {\n if (!hotel?.colors?.accent) return false;\n\n return lightOrDark(hotel.colors.accent) === 'dark';\n }, [hotel?.colors?.accent]);\n\n const isAccent2ColorDark = useMemo(() => {\n if (!hotel?.colors?.accent2) return false;\n\n return lightOrDark(hotel.colors.accent2) === 'dark';\n }, [hotel?.colors?.accent2]);\n\n const isPassthroughPayment = hotel?.cardProcessor === EHotelCardProcessor.Passthrough;\n\n const isMemberPaymentInformationAvailable = !hotel || (isPassthroughPayment && hotel?.disableSavedPayments !== true);\n\n return {\n hotel,\n isPassthroughPayment,\n isMemberPaymentInformationAvailable,\n isAccentColorDark,\n isAccent2ColorDark,\n\n changeHotel: (newHotelID: string) => {\n companyContext.changeHotel(newHotelID);\n },\n };\n } catch (ex) {\n // Masssive try /catch to isolate non-contextual uses of this hook\n console.error(ex);\n return {};\n }\n};\n"]}
1
+ {"version":3,"file":"CurrentHotelHook.js","sourceRoot":"/","sources":["src/hooks/CurrentHotelHook.tsx"],"names":[],"mappings":";;;AAAA,iDAAoD;AACpD,yCAAqD;AACrD,iCAA4C;AAE5C,0EAAuE;AACvE,wCAA2C;AAEpC,MAAM,eAAe,GAAG,GAAG,EAAE;;IAChC,IAAI,CAAC;QACD,MAAM,cAAc,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC;QAE3C,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,MAAM,IAAI,6CAAqB,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;;YACnC,IAAI,CAAC,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,MAAM,CAAA;gBAAE,OAAO,KAAK,CAAC;YAEzC,OAAO,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;QACvD,CAAC,EAAE,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,MAAM,CAAC,CAAC,CAAC;QAE5B,MAAM,kBAAkB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;;YACpC,IAAI,CAAC,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,OAAO,CAAA;gBAAE,OAAO,KAAK,CAAC;YAE1C,OAAO,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC;QACxD,CAAC,EAAE,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,OAAO,CAAC,CAAC,CAAC;QAE7B,MAAM,oBAAoB,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,MAAK,0BAAmB,CAAC,WAAW,CAAC;QAEtF,MAAM,mCAAmC,GAAG,CAAC,KAAK,IAAI,CAAC,oBAAoB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,oBAAoB,MAAK,IAAI,CAAC,CAAC;QAErH,OAAO;YACH,KAAK;YACL,oBAAoB;YACpB,mCAAmC;YACnC,iBAAiB;YACjB,kBAAkB;YAElB,WAAW,EAAE,CAAC,UAAkB,EAAE,EAAE;gBAChC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC;SACJ,CAAC;IACN,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACV,kEAAkE;QAClE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC,CAAC;AAzCW,QAAA,eAAe,mBAyC1B","sourcesContent":["import { CompanyContext } from '@frontend/contexts';\nimport { EHotelCardProcessor } from '@roomstay/core';\nimport { useContext, useMemo } from 'react';\n\nimport { NoCompanyContextError } from '@/errors/NoCompanyContextError';\nimport { lightOrDark } from '@/util/Color';\n\nexport const useCurrentHotel = () => {\n try {\n const companyContext = useContext(CompanyContext);\n const hotel = companyContext.selectedHotel;\n\n if (!companyContext) {\n throw new NoCompanyContextError();\n }\n\n const isAccentColorDark = useMemo(() => {\n if (!hotel?.colors?.accent) return false;\n\n return lightOrDark(hotel.colors.accent) === 'dark';\n }, [hotel?.colors?.accent]);\n\n const isAccent2ColorDark = useMemo(() => {\n if (!hotel?.colors?.accent2) return false;\n\n return lightOrDark(hotel.colors.accent2) === 'dark';\n }, [hotel?.colors?.accent2]);\n\n const isPassthroughPayment = hotel?.cardProcessor === EHotelCardProcessor.Passthrough;\n\n const isMemberPaymentInformationAvailable = !hotel || (isPassthroughPayment && hotel?.disableSavedPayments !== true);\n\n return {\n hotel,\n isPassthroughPayment,\n isMemberPaymentInformationAvailable,\n isAccentColorDark,\n isAccent2ColorDark,\n\n changeHotel: (newHotelID: string) => {\n companyContext.changeHotel(newHotelID);\n },\n };\n } catch (ex) {\n // Masssive try /catch to isolate non-contextual uses of this hook\n console.error(ex);\n return {};\n }\n};\n"]}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.useElementSort = void 0;
27
37
  const react_1 = __importStar(require("react"));
@@ -1 +1 @@
1
- {"version":3,"file":"ElementSortHook.js","sourceRoot":"/","sources":["src/hooks/ElementSortHook.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAwE;AAajE,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAE,EAAE;IACvD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAgB,EAAE,CAAC,CAAC;IAE5E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,UAAU,GAAkB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;aAChD,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE;YAC5B,OAAO,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACpD,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,8BAAC,gBAAQ,IAAC,GAAG,EAAE,KAAK,IAAG,IAAI,CAAC,SAAS,CAAY,CAAC,CAAC;QAE7E,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO;QACH,gBAAgB;KACnB,CAAC;AACN,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB","sourcesContent":["import React, { Fragment, ReactNode, useEffect, useState } from 'react';\n\nexport type OrderableReactNode = {\n // TODO: Add complex references to other OrderableReactNodes to chain blocks, and keep references.\n priority: number;\n // TODO: Add a way to pass props through to children.\n component: ReactNode;\n};\n\nexport type OrderableReactList = {\n [name: string]: OrderableReactNode;\n};\n\nexport const useElementSort = (list: OrderableReactList) => {\n const [sortedComponents, setSortedComponents] = useState<JSX.Element[]>([]);\n\n useEffect(() => {\n const valueArray: JSX.Element[] = Object.values(list)\n .sort((firstValue, nextValue) => {\n return firstValue.priority - nextValue.priority;\n })\n .map((item, index) => <Fragment key={index}>{item.component}</Fragment>);\n\n setSortedComponents(valueArray);\n }, [list]);\n\n return {\n sortedComponents,\n };\n};\n"]}
1
+ {"version":3,"file":"ElementSortHook.js","sourceRoot":"/","sources":["src/hooks/ElementSortHook.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAwE;AAajE,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAE,EAAE;IACvD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAgB,EAAE,CAAC,CAAC;IAE5E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,UAAU,GAAkB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;aAChD,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE;YAC5B,OAAO,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACpD,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,8BAAC,gBAAQ,IAAC,GAAG,EAAE,KAAK,IAAG,IAAI,CAAC,SAAS,CAAY,CAAC,CAAC;QAE7E,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO;QACH,gBAAgB;KACnB,CAAC;AACN,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB","sourcesContent":["import React, { Fragment, ReactNode, useEffect, useState } from 'react';\n\nexport type OrderableReactNode = {\n // TODO: Add complex references to other OrderableReactNodes to chain blocks, and keep references.\n priority: number;\n // TODO: Add a way to pass props through to children.\n component: ReactNode;\n};\n\nexport type OrderableReactList = {\n [name: string]: OrderableReactNode;\n};\n\nexport const useElementSort = (list: OrderableReactList) => {\n const [sortedComponents, setSortedComponents] = useState<JSX.Element[]>([]);\n\n useEffect(() => {\n const valueArray: JSX.Element[] = Object.values(list)\n .sort((firstValue, nextValue) => {\n return firstValue.priority - nextValue.priority;\n })\n .map((item, index) => <Fragment key={index}>{item.component}</Fragment>);\n\n setSortedComponents(valueArray);\n }, [list]);\n\n return {\n sortedComponents,\n };\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useHistoryConsistentPush = void 0;
3
+ exports.useHistoryConsistentPush = useHistoryConsistentPush;
4
4
  const react_router_dom_1 = require("react-router-dom");
5
5
  function useHistoryConsistentPush() {
6
6
  const navigate = (0, react_router_dom_1.useNavigate)();
@@ -19,5 +19,4 @@ function useHistoryConsistentPush() {
19
19
  });
20
20
  };
21
21
  }
22
- exports.useHistoryConsistentPush = useHistoryConsistentPush;
23
22
  //# sourceMappingURL=HistoryConsistentPush.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HistoryConsistentPush.js","sourceRoot":"/","sources":["src/hooks/HistoryConsistentPush.ts"],"names":[],"mappings":";;;AAAA,uDAA4D;AAE5D,SAAgB,wBAAwB;IACpC,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAE/B,OAAO,CAAC,QAAgB,EAAE,gBAA0B,EAAE,EAAE;QACpD,QAAQ,CACJ;YACI,QAAQ;YACR,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACtB,EACD;YACI,KAAK,EAAE;gBACH,gBAAgB,EAAE;oBACd,CAAC,QAAQ,CAAC,EAAE,gBAAgB;iBAC/B;aACJ;SACJ,CACJ,CAAC;IACN,CAAC,CAAC;AACN,CAAC;AApBD,4DAoBC","sourcesContent":["import { useLocation, useNavigate } from 'react-router-dom';\n\nexport function useHistoryConsistentPush() {\n const navigate = useNavigate();\n const location = useLocation();\n\n return (pathname: string, preventScrollTop?: boolean) => {\n navigate(\n {\n pathname,\n search: location.search,\n hash: location.hash,\n },\n {\n state: {\n preventScrollTop: {\n [pathname]: preventScrollTop,\n },\n },\n }\n );\n };\n}\n"]}
1
+ {"version":3,"file":"HistoryConsistentPush.js","sourceRoot":"/","sources":["src/hooks/HistoryConsistentPush.ts"],"names":[],"mappings":";;AAEA,4DAoBC;AAtBD,uDAA4D;AAE5D,SAAgB,wBAAwB;IACpC,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAE/B,OAAO,CAAC,QAAgB,EAAE,gBAA0B,EAAE,EAAE;QACpD,QAAQ,CACJ;YACI,QAAQ;YACR,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACtB,EACD;YACI,KAAK,EAAE;gBACH,gBAAgB,EAAE;oBACd,CAAC,QAAQ,CAAC,EAAE,gBAAgB;iBAC/B;aACJ;SACJ,CACJ,CAAC;IACN,CAAC,CAAC;AACN,CAAC","sourcesContent":["import { useLocation, useNavigate } from 'react-router-dom';\n\nexport function useHistoryConsistentPush() {\n const navigate = useNavigate();\n const location = useLocation();\n\n return (pathname: string, preventScrollTop?: boolean) => {\n navigate(\n {\n pathname,\n search: location.search,\n hash: location.hash,\n },\n {\n state: {\n preventScrollTop: {\n [pathname]: preventScrollTop,\n },\n },\n }\n );\n };\n}\n"]}
@@ -1,14 +1,14 @@
1
1
  import { MutableRefObject } from 'react';
2
2
  import { Option, TSelectOptionKey } from '../components/generic/Select/Select';
3
3
  export declare const useKeyboardControlOnSelect: <TOption extends Option<KeyName>, KeyName extends string>({ defaultOption, options, idName, overlayRef, isEnabled, onSelected, optionRefs, optionContainerRef, }: {
4
- defaultOption?: TOption | undefined;
4
+ defaultOption?: TOption;
5
5
  options: TSelectOptionKey<TOption>[];
6
6
  idName: keyof TOption;
7
7
  overlayRef: HTMLDivElement | null;
8
8
  isEnabled: boolean;
9
9
  onSelected: (item: TOption) => void;
10
10
  optionRefs: MutableRefObject<{
11
- [id: string]: HTMLDivElement | null | undefined;
11
+ [id: string]: HTMLDivElement | undefined | null;
12
12
  }>;
13
13
  optionContainerRef: MutableRefObject<HTMLDivElement | null>;
14
14
  }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardControlOnSelect.js","sourceRoot":"/","sources":["src/hooks/KeyboardControlOnSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import { MutableRefObject, useCallback, useEffect, useState } from 'react';\n\nimport { Option, TSelectOptionKey } from '@/components/generic/Select/Select';\n\nexport const useKeyboardControlOnSelect = <TOption extends Option<KeyName>, KeyName extends string>({\n defaultOption,\n options,\n idName,\n overlayRef,\n isEnabled,\n onSelected,\n optionRefs,\n optionContainerRef,\n}: {\n defaultOption?: TOption;\n options: TSelectOptionKey<TOption>[];\n idName: keyof TOption;\n overlayRef: HTMLDivElement | null;\n isEnabled: boolean;\n onSelected: (item: TOption) => void;\n optionRefs: MutableRefObject<{ [id: string]: HTMLDivElement | undefined | null }>;\n optionContainerRef: MutableRefObject<HTMLDivElement | null>;\n}) => {\n const [selectingItem, setSelectingItem] = useState<TOption | undefined>(defaultOption);\n const [focusedItem, setFocusedItem] = useState<TOption | null>(null);\n const [lockHover, setLockHover] = useState<boolean>(false);\n const flattenedOptions = options.reduce<TOption[]>((flattenedOptions, optionGroup) => {\n if (optionGroup.options) return flattenedOptions.concat(optionGroup.options as TOption[]);\n return flattenedOptions.concat([optionGroup as TOption]);\n }, []);\n\n const _onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowUp': {\n e.preventDefault();\n setLockHover(true);\n const index = flattenedOptions.findIndex((item) => selectingItem?.[idName] === item[idName]);\n const newIndex = index - 1 < 0 ? flattenedOptions.length - 1 : index - 1;\n const newSelecting = flattenedOptions[newIndex];\n setSelectingItem(newSelecting);\n scrollIntoSelectingItem(newSelecting);\n break;\n }\n case 'ArrowDown': {\n e.preventDefault();\n setLockHover(true);\n const index = flattenedOptions.findIndex((item) => selectingItem?.[idName] === item[idName]);\n const newIndex = (index + 1) % flattenedOptions.length;\n const newSelecting = flattenedOptions[newIndex];\n setSelectingItem(newSelecting);\n scrollIntoSelectingItem(newSelecting);\n break;\n }\n case 'Tab':\n case 'Enter': {\n e.preventDefault();\n const selectedItem = selectingItem || flattenedOptions[0];\n if (selectedItem) onSelected(selectedItem);\n break;\n }\n default:\n }\n },\n [options, setSelectingItem, selectingItem]\n );\n\n const scrollIntoSelectingItem = (selecting: TOption, smooth = true) => {\n const optionRef = optionRefs.current[selecting[idName] as unknown as string];\n if (optionContainerRef.current && optionRef) {\n scrollToElm(optionContainerRef.current, optionRef, 0.2, optionContainerRef.current.getBoundingClientRect().height / 2);\n }\n };\n\n const scrollToElm = (container: HTMLElement, elm: HTMLElement, duration: number, offset = 0) => {\n const pos = getRelativePos(elm);\n scrollTo(container, pos.top - offset, duration); // duration in seconds\n };\n\n const getRelativePos = (elm: HTMLElement): { top: number; right: number; bottom: number; left: number } => {\n const pPos = (elm.parentNode as HTMLElement).getBoundingClientRect(), // parent pos\n cPos = elm.getBoundingClientRect(), // target pos\n pos: { top?: number; right?: number; bottom?: number; left?: number } = {};\n\n (pos.top = cPos.top - pPos.top + (elm.parentNode as HTMLElement).scrollTop),\n (pos.right = cPos.right - pPos.right),\n (pos.bottom = cPos.bottom - pPos.bottom),\n (pos.left = cPos.left - pPos.left);\n\n return pos as ReturnType<typeof getRelativePos>;\n };\n\n const scrollTo = (element: HTMLElement, to: number, duration: number, onDone?: () => void) => {\n let now, elapsed, t;\n const startTime = performance.now(),\n start = element.scrollTop,\n change = to - start;\n\n const animateScroll = () => {\n now = performance.now();\n elapsed = (now - startTime) / 1000;\n t = elapsed / duration;\n\n element.scrollTop = start + change * easeInOutQuad(t);\n\n if (t < 1) window.requestAnimationFrame(animateScroll);\n else onDone && onDone();\n };\n\n animateScroll();\n };\n\n const easeInOutQuad = (t: number) => {\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n };\n\n useEffect(() => setSelectingItem(focusedItem || defaultOption), [defaultOption, focusedItem]);\n\n useEffect(() => {\n if (isEnabled) window.addEventListener('keydown', _onKeyDown);\n return () => {\n if (isEnabled) window.removeEventListener('keydown', _onKeyDown);\n };\n }, [_onKeyDown, isEnabled]);\n\n useEffect(() => {\n setSelectingItem(flattenedOptions.find((item) => item[idName] === selectingItem?.[idName]));\n }, [options]);\n\n useEffect(() => {\n if (isEnabled && overlayRef && defaultOption) {\n scrollIntoSelectingItem(defaultOption, false);\n }\n }, [isEnabled, defaultOption, overlayRef]);\n\n const onItemMouseEnter = (item: TOption) => {\n if (!lockHover) setFocusedItem(item);\n };\n\n const onItemMouseLeave = () => {\n if (!lockHover) setFocusedItem(null);\n };\n\n const onItemMouseMove = () => setLockHover(false);\n\n return {\n selectingItem,\n onItemMouseEnter,\n onItemMouseLeave,\n onItemMouseMove,\n };\n};\n"]}
1
+ {"version":3,"file":"KeyboardControlOnSelect.js","sourceRoot":"/","sources":["src/hooks/KeyboardControlOnSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import { MutableRefObject, useCallback, useEffect, useState } from 'react';\n\nimport { Option, TSelectOptionKey } from '@/components/generic/Select/Select';\n\nexport const useKeyboardControlOnSelect = <TOption extends Option<KeyName>, KeyName extends string>({\n defaultOption,\n options,\n idName,\n overlayRef,\n isEnabled,\n onSelected,\n optionRefs,\n optionContainerRef,\n}: {\n defaultOption?: TOption;\n options: TSelectOptionKey<TOption>[];\n idName: keyof TOption;\n overlayRef: HTMLDivElement | null;\n isEnabled: boolean;\n onSelected: (item: TOption) => void;\n optionRefs: MutableRefObject<{ [id: string]: HTMLDivElement | undefined | null }>;\n optionContainerRef: MutableRefObject<HTMLDivElement | null>;\n}) => {\n const [selectingItem, setSelectingItem] = useState<TOption | undefined>(defaultOption);\n const [focusedItem, setFocusedItem] = useState<TOption | null>(null);\n const [lockHover, setLockHover] = useState<boolean>(false);\n const flattenedOptions = options.reduce<TOption[]>((flattenedOptions, optionGroup) => {\n if (optionGroup.options) return flattenedOptions.concat(optionGroup.options as TOption[]);\n return flattenedOptions.concat([optionGroup as TOption]);\n }, []);\n\n const _onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowUp': {\n e.preventDefault();\n setLockHover(true);\n const index = flattenedOptions.findIndex((item) => selectingItem?.[idName] === item[idName]);\n const newIndex = index - 1 < 0 ? flattenedOptions.length - 1 : index - 1;\n const newSelecting = flattenedOptions[newIndex];\n setSelectingItem(newSelecting);\n scrollIntoSelectingItem(newSelecting);\n break;\n }\n case 'ArrowDown': {\n e.preventDefault();\n setLockHover(true);\n const index = flattenedOptions.findIndex((item) => selectingItem?.[idName] === item[idName]);\n const newIndex = (index + 1) % flattenedOptions.length;\n const newSelecting = flattenedOptions[newIndex];\n setSelectingItem(newSelecting);\n scrollIntoSelectingItem(newSelecting);\n break;\n }\n case 'Tab':\n case 'Enter': {\n e.preventDefault();\n const selectedItem = selectingItem || flattenedOptions[0];\n if (selectedItem) onSelected(selectedItem);\n break;\n }\n default:\n }\n },\n [options, setSelectingItem, selectingItem]\n );\n\n const scrollIntoSelectingItem = (selecting: TOption, smooth = true) => {\n const optionRef = optionRefs.current[selecting[idName] as unknown as string];\n if (optionContainerRef.current && optionRef) {\n scrollToElm(optionContainerRef.current, optionRef, 0.2, optionContainerRef.current.getBoundingClientRect().height / 2);\n }\n };\n\n const scrollToElm = (container: HTMLElement, elm: HTMLElement, duration: number, offset = 0) => {\n const pos = getRelativePos(elm);\n scrollTo(container, pos.top - offset, duration); // duration in seconds\n };\n\n const getRelativePos = (elm: HTMLElement): { top: number; right: number; bottom: number; left: number } => {\n const pPos = (elm.parentNode as HTMLElement).getBoundingClientRect(), // parent pos\n cPos = elm.getBoundingClientRect(), // target pos\n pos: { top?: number; right?: number; bottom?: number; left?: number } = {};\n\n (pos.top = cPos.top - pPos.top + (elm.parentNode as HTMLElement).scrollTop),\n (pos.right = cPos.right - pPos.right),\n (pos.bottom = cPos.bottom - pPos.bottom),\n (pos.left = cPos.left - pPos.left);\n\n return pos as ReturnType<typeof getRelativePos>;\n };\n\n const scrollTo = (element: HTMLElement, to: number, duration: number, onDone?: () => void) => {\n let now, elapsed, t;\n const startTime = performance.now(),\n start = element.scrollTop,\n change = to - start;\n\n const animateScroll = () => {\n now = performance.now();\n elapsed = (now - startTime) / 1000;\n t = elapsed / duration;\n\n element.scrollTop = start + change * easeInOutQuad(t);\n\n if (t < 1) window.requestAnimationFrame(animateScroll);\n else onDone && onDone();\n };\n\n animateScroll();\n };\n\n const easeInOutQuad = (t: number) => {\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n };\n\n useEffect(() => setSelectingItem(focusedItem || defaultOption), [defaultOption, focusedItem]);\n\n useEffect(() => {\n if (isEnabled) window.addEventListener('keydown', _onKeyDown);\n return () => {\n if (isEnabled) window.removeEventListener('keydown', _onKeyDown);\n };\n }, [_onKeyDown, isEnabled]);\n\n useEffect(() => {\n setSelectingItem(flattenedOptions.find((item) => item[idName] === selectingItem?.[idName]));\n }, [options]);\n\n useEffect(() => {\n if (isEnabled && overlayRef && defaultOption) {\n scrollIntoSelectingItem(defaultOption, false);\n }\n }, [isEnabled, defaultOption, overlayRef]);\n\n const onItemMouseEnter = (item: TOption) => {\n if (!lockHover) setFocusedItem(item);\n };\n\n const onItemMouseLeave = () => {\n if (!lockHover) setFocusedItem(null);\n };\n\n const onItemMouseMove = () => setLockHover(false);\n\n return {\n selectingItem,\n onItemMouseEnter,\n onItemMouseLeave,\n onItemMouseMove,\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"LoggedInUserHook.js","sourceRoot":"/","sources":["src/hooks/LoggedInUserHook.ts"],"names":[],"mappings":";;;AAAA,iDAA2D;AAE3D,iCAAwD;AAEjD,MAAM,SAAS,GAAG,GAAG,EAAE;IAC1B,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAC7H,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAE7C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,cAAc,EAAE;YAChB,WAAW,CAAC,GAAG,cAAc,CAAC,QAAQ,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;SACvE;aAAM;YACH,WAAW,CAAC,EAAE,CAAC,CAAC;SACnB;IACL,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,YAAY,GAAG,CAAC,EAAU,EAAiC,EAAE;QAC/D,KAAK,MAAM,OAAO,IAAI,WAAuC,EAAE;YAC3D,IAAI,OAAO,CAAC,WAAW,KAAK,EAAE,EAAE;gBAC5B,OAAO,OAAO,CAAC;aAClB;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,OAAO;QACH,IAAI,EAAE,cAAc;QACpB,QAAQ;QACR,WAAW;QAEX,iBAAiB;QACjB,YAAY;QACZ,gBAAgB;QAEhB,YAAY;KACf,CAAC;AACN,CAAC,CAAC;AAxCW,QAAA,SAAS,aAwCpB","sourcesContent":["import { RoomstayMemberContext } from '@frontend/contexts';\nimport { IRoomstayMemberBooking } from '@roomstay/core';\nimport { useContext, useEffect, useState } from 'react';\n\nexport const useMember = () => {\n const { roomstayMember, allBookings, cancelledBookings, upcomingBookings, pastBookings } = useContext(RoomstayMemberContext);\n const [fullName, setFullName] = useState('');\n\n useEffect(() => {\n if (roomstayMember) {\n setFullName(`${roomstayMember.forename} ${roomstayMember.surname}`);\n } else {\n setFullName('');\n }\n }, [roomstayMember]);\n\n const getItinerary = (id: string): IRoomstayMemberBooking | null => {\n for (const booking of allBookings as IRoomstayMemberBooking[]) {\n if (booking.itineraryId === id) {\n return booking;\n }\n }\n\n return null;\n };\n\n /**\n * TODO:\n *\n * Add:\n * * Is authenticated\n * * Is Loading User\n */\n return {\n user: roomstayMember,\n fullName,\n allBookings,\n\n cancelledBookings,\n pastBookings,\n upcomingBookings,\n\n getItinerary,\n };\n};\n"]}
1
+ {"version":3,"file":"LoggedInUserHook.js","sourceRoot":"/","sources":["src/hooks/LoggedInUserHook.ts"],"names":[],"mappings":";;;AAAA,iDAA2D;AAE3D,iCAAwD;AAEjD,MAAM,SAAS,GAAG,GAAG,EAAE;IAC1B,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAC7H,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAE7C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,cAAc,EAAE,CAAC;YACjB,WAAW,CAAC,GAAG,cAAc,CAAC,QAAQ,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACJ,WAAW,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACL,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,YAAY,GAAG,CAAC,EAAU,EAAiC,EAAE;QAC/D,KAAK,MAAM,OAAO,IAAI,WAAuC,EAAE,CAAC;YAC5D,IAAI,OAAO,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;gBAC7B,OAAO,OAAO,CAAC;YACnB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,OAAO;QACH,IAAI,EAAE,cAAc;QACpB,QAAQ;QACR,WAAW;QAEX,iBAAiB;QACjB,YAAY;QACZ,gBAAgB;QAEhB,YAAY;KACf,CAAC;AACN,CAAC,CAAC;AAxCW,QAAA,SAAS,aAwCpB","sourcesContent":["import { RoomstayMemberContext } from '@frontend/contexts';\nimport { IRoomstayMemberBooking } from '@roomstay/core';\nimport { useContext, useEffect, useState } from 'react';\n\nexport const useMember = () => {\n const { roomstayMember, allBookings, cancelledBookings, upcomingBookings, pastBookings } = useContext(RoomstayMemberContext);\n const [fullName, setFullName] = useState('');\n\n useEffect(() => {\n if (roomstayMember) {\n setFullName(`${roomstayMember.forename} ${roomstayMember.surname}`);\n } else {\n setFullName('');\n }\n }, [roomstayMember]);\n\n const getItinerary = (id: string): IRoomstayMemberBooking | null => {\n for (const booking of allBookings as IRoomstayMemberBooking[]) {\n if (booking.itineraryId === id) {\n return booking;\n }\n }\n\n return null;\n };\n\n /**\n * TODO:\n *\n * Add:\n * * Is authenticated\n * * Is Loading User\n */\n return {\n user: roomstayMember,\n fullName,\n allBookings,\n\n cancelledBookings,\n pastBookings,\n upcomingBookings,\n\n getItinerary,\n };\n};\n"]}
@@ -5,7 +5,7 @@ declare const usePlanpay: () => {
5
5
  planpayConfig: {
6
6
  username: string;
7
7
  minDaysShowPlanpay: number;
8
- env: string;
8
+ env: import("@planpay/web/src/lib/shared-lib-duplicates").EnvironmentName;
9
9
  } | undefined;
10
10
  shouldShowPlanpay: (startDate: string) => boolean | 0 | undefined;
11
11
  loadPlanPaySDK: () => void;
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useQuery = exports.useHashQuery = void 0;
3
+ exports.useHashQuery = useHashQuery;
4
+ exports.useQuery = useQuery;
4
5
  const react_router_dom_1 = require("react-router-dom");
5
6
  function useHashQuery() {
6
7
  const { search } = (0, react_router_dom_1.useLocation)();
7
8
  return new URLSearchParams(search);
8
9
  }
9
- exports.useHashQuery = useHashQuery;
10
10
  function useQuery() {
11
11
  return new URLSearchParams(window.location.search);
12
12
  }
13
- exports.useQuery = useQuery;
14
13
  //# sourceMappingURL=Query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Query.js","sourceRoot":"/","sources":["src/hooks/Query.ts"],"names":[],"mappings":";;;AAAA,uDAA+C;AAE/C,SAAgB,YAAY;IACxB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,8BAAW,GAAE,CAAC;IACjC,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAHD,oCAGC;AAED,SAAgB,QAAQ;IACpB,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAFD,4BAEC","sourcesContent":["import { useLocation } from 'react-router-dom';\n\nexport function useHashQuery() {\n const { search } = useLocation();\n return new URLSearchParams(search);\n}\n\nexport function useQuery() {\n return new URLSearchParams(window.location.search);\n}\n"]}
1
+ {"version":3,"file":"Query.js","sourceRoot":"/","sources":["src/hooks/Query.ts"],"names":[],"mappings":";;AAEA,oCAGC;AAED,4BAEC;AATD,uDAA+C;AAE/C,SAAgB,YAAY;IACxB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,8BAAW,GAAE,CAAC;IACjC,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,QAAQ;IACpB,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC","sourcesContent":["import { useLocation } from 'react-router-dom';\n\nexport function useHashQuery() {\n const { search } = useLocation();\n return new URLSearchParams(search);\n}\n\nexport function useQuery() {\n return new URLSearchParams(window.location.search);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RoomRateAvailabilityListFromApi.js","sourceRoot":"/","sources":["src/hooks/RoomRateAvailabilityListFromApi.ts"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, BookingEngineContext, CompanyContext, RoomstayMemberContext } from '@frontend/contexts';\nimport { GuestSearchEvent, RoomListSearchEvent } from '@frontend/events';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport { IRoomstayMemberBookingItem } from '@roomstay/core';\nimport dayjs from 'dayjs';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { useContext, useEffect, useMemo, useState } from 'react';\n\nimport BasketRow from '@/models/BasketRow';\nimport Filter from '@/models/Room/Filters/Filter';\nimport { Room } from '@/models/Room/Room';\nimport { RoomListSearch } from '@/models/RoomListSearch';\nimport { SearchParameters } from '@/models/SearchParameters';\nimport FilterProvider from '@/providers/FilterProvider';\n\nimport { useSignedInMember } from './useSignedInMember';\n\nexport const useRoomRateAvailabilityListFromApi = () => {\n const { hotel } = useCurrentHotel();\n const ccx = useContext(CompanyContext);\n\n const beContext = useContext(BookingEngineContext);\n const { roomstayMember } = useContext(RoomstayMemberContext);\n\n const { attemptSelectUnfilledRow, selectedBasketRow, getAllValidRows, currentBasketRows } = useContext(BasketContext);\n\n const [rooms, setRooms] = useState<Room[]>([]);\n\n const [isLoading, setIsLoading] = useState(false);\n const [loadingAttempted, setLoadingAttempted] = useState(false);\n\n const [openRoom, setOpenRoom] = useState<boolean | null>(null);\n const [apiHasError, setApiHasError] = useState<boolean | null>(null);\n\n const startDate = selectedBasketRow?.getStartDate();\n const endDate = selectedBasketRow?.getEndDate();\n const promoCode = selectedBasketRow?.getPromoCode();\n\n const adults = selectedBasketRow?.getAdults();\n const children = selectedBasketRow?.getChildren();\n\n const { memberNumber } = useSignedInMember();\n\n const { raise } = useEvent();\n\n const retargetingRoom = useMemo(() => {\n if (!roomstayMember || roomstayMember.bookings?.length === 0) return null;\n\n let lastBookingDate: dayjs.Dayjs;\n let lastBookingRoomcode = '';\n roomstayMember.bookings?.forEach?.((booking) => {\n if (booking.hotelId !== hotel?.hotelID) {\n return;\n }\n\n Object.values<IRoomstayMemberBookingItem>(booking.itinerary).map((itinerary) => {\n const { roomCode, nights } = itinerary;\n const dates = Object.keys(nights).map(dayjs);\n const maxDate = dayjs(\n Math.max.apply(\n null,\n dates.map((d) => +d)\n )\n );\n if (!lastBookingDate || maxDate.isAfter(maxDate)) {\n lastBookingDate = maxDate;\n lastBookingRoomcode = roomCode;\n }\n });\n });\n\n return rooms.find((room) => room.code === lastBookingRoomcode);\n }, [rooms, roomstayMember]);\n\n const getRoomsByBasketRow = async (basketRow: BasketRow): Promise<Room[]> => {\n const filters: Filter[] = Object.values(beContext.currentFilters).filter((filter) => !!filter) as Filter[];\n return await FilterProvider.getRoomList(basketRow, filters, hotel?.hotelID as string, memberNumber);\n };\n\n // Used so that we only recalculate the room list when the roomCode or dates of other basket rows change, instead of\n // any change to any basket row.\n const basketRowsRoomDatesKey = useMemo(() => {\n return currentBasketRows.map((r) => [r.getStartDate()?.format('YYYY-MM-DD'), r.getEndDate()?.format('YYYY-MM-DD'), r.getRoomCode()].join('_')).join('|');\n }, [currentBasketRows]);\n\n useEffect(() => {\n let isCancelled = false;\n\n try {\n const search: SearchParameters = {\n checkInTime: startDate?.format('YYYY-M-D'),\n checkOutTime: endDate?.format('YYYY-M-D'),\n numAdults: adults,\n numChildren: children,\n numRooms: 1,\n promoCode: promoCode,\n };\n\n const event = new GuestSearchEvent(search);\n raise(event);\n\n const filters: Filter[] = Object.values(beContext.currentFilters).filter((filter) => !!filter) as Filter[];\n\n let row = selectedBasketRow;\n\n if (!row && !rooms.length) {\n row = attemptSelectUnfilledRow() as BasketRow;\n }\n\n if (!row) {\n const validRows = getAllValidRows();\n row = validRows[validRows.length - 1];\n }\n\n const onRoomListFinished = () => {\n setLoadingAttempted(true);\n setIsLoading(false);\n };\n\n if (row) {\n setIsLoading(true);\n // Avoid using .finally() when you need to wait for .then() or .catch() logic to complete —\n // it runs after the Promise settles, but not after those blocks finish executing;\n // instead, manually call your cleanup function at the end of .then() and .catch().\n FilterProvider.getRoomList(row, filters, hotel?.hotelID as string, memberNumber)\n .then((rooms) =>\n // Subtract availability already taken by other basket rows\n rooms.map((cacheableRoom) => {\n const room = cloneDeep(cacheableRoom);\n\n const startDate = row.getStartDate();\n const endDate = row.getEndDate();\n\n if (!startDate || !endDate) {\n return room;\n }\n\n const otherBasketRowsForRoom = getAllValidRows().filter((candidate) => {\n if (candidate.getID() === selectedBasketRow?.getID()) {\n // We are editing this basket row, so don't count it.\n return false;\n }\n\n return candidate.getRoomCode() === room.code;\n });\n\n for (const rate of room.filteredRates ?? []) {\n for (const date of Object.keys(rate.nightRates)) {\n for (const otherRow of otherBasketRowsForRoom) {\n const otherRowStartDate = otherRow.getStartDate();\n const otherRowEndDate = otherRow.getEndDate();\n\n if (!otherRowStartDate || !otherRowEndDate) {\n continue;\n }\n\n if (dayjs(date).isBetween(otherRowStartDate, otherRowEndDate, 'day', '[)')) {\n // @ts-expect-error, the type is wrong :(\n rate.nightRates[date].available = Math.max(rate.nightRates[date].available - 1, 0);\n }\n }\n }\n }\n\n return room;\n })\n )\n .then((rooms) => rooms.filter((room) => hotel?.showUnavailableRooms || room.isAvailable()))\n .then((availableRooms) => {\n if (!isCancelled) {\n setRooms(availableRooms);\n setOpenRoom(!!selectedBasketRow);\n setApiHasError(false);\n\n const foundRooms: RoomListSearch[] =\n availableRooms?.map((room) => {\n const { name, code } = room;\n\n const foundRoom: RoomListSearch = {\n name: name as string,\n code: code as string,\n lowestPrice: room.getLowestPrice(),\n highestPrice: room.getHighestPrice(),\n currency: ccx.currentCurrency,\n\n rates:\n room.getRates()?.map((rate) => {\n const { name, code } = rate;\n return {\n name,\n code,\n\n price: {\n averagePrice: rate.getAveragePrice(),\n totalPrice: rate.getTotalPrice(),\n currency: ccx.currentCurrency,\n },\n };\n }) ?? [],\n };\n\n return foundRoom;\n }) ?? [];\n\n const event = new RoomListSearchEvent(search, foundRooms);\n raise(event);\n onRoomListFinished();\n }\n })\n .catch(() => {\n if (!isCancelled) {\n setRooms([]);\n setOpenRoom(null);\n setApiHasError(true);\n }\n onRoomListFinished();\n });\n }\n } catch (ex) {\n //\n }\n\n return () => {\n setIsLoading(false);\n isCancelled = true;\n };\n }, [\n adults,\n children,\n startDate,\n endDate,\n promoCode,\n ccx.currentLanguage,\n beContext.currentFilters,\n selectedBasketRow?.getStale(),\n memberNumber,\n roomstayMember,\n selectedBasketRow,\n basketRowsRoomDatesKey,\n ]);\n\n return { loadingAttempted, isLoading, rooms, openRoom, apiHasError, retargetingRoom, getRoomsByBasketRow };\n};\n"]}
1
+ {"version":3,"file":"RoomRateAvailabilityListFromApi.js","sourceRoot":"/","sources":["src/hooks/RoomRateAvailabilityListFromApi.ts"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, BookingEngineContext, CompanyContext, RoomstayMemberContext } from '@frontend/contexts';\nimport { GuestSearchEvent, RoomListSearchEvent } from '@frontend/events';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport { IRoomstayMemberBookingItem } from '@roomstay/core';\nimport dayjs from 'dayjs';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { useContext, useEffect, useMemo, useState } from 'react';\n\nimport BasketRow from '@/models/BasketRow';\nimport Filter from '@/models/Room/Filters/Filter';\nimport { Room } from '@/models/Room/Room';\nimport { RoomListSearch } from '@/models/RoomListSearch';\nimport { SearchParameters } from '@/models/SearchParameters';\nimport FilterProvider from '@/providers/FilterProvider';\n\nimport { useSignedInMember } from './useSignedInMember';\n\nexport const useRoomRateAvailabilityListFromApi = () => {\n const { hotel } = useCurrentHotel();\n const ccx = useContext(CompanyContext);\n\n const beContext = useContext(BookingEngineContext);\n const { roomstayMember } = useContext(RoomstayMemberContext);\n\n const { attemptSelectUnfilledRow, selectedBasketRow, getAllValidRows, currentBasketRows } = useContext(BasketContext);\n\n const [rooms, setRooms] = useState<Room[]>([]);\n\n const [isLoading, setIsLoading] = useState(false);\n const [loadingAttempted, setLoadingAttempted] = useState(false);\n\n const [openRoom, setOpenRoom] = useState<boolean | null>(null);\n const [apiHasError, setApiHasError] = useState<boolean | null>(null);\n\n const startDate = selectedBasketRow?.getStartDate();\n const endDate = selectedBasketRow?.getEndDate();\n const promoCode = selectedBasketRow?.getPromoCode();\n\n const adults = selectedBasketRow?.getAdults();\n const children = selectedBasketRow?.getChildren();\n\n const { memberNumber } = useSignedInMember();\n\n const { raise } = useEvent();\n\n const retargetingRoom = useMemo(() => {\n if (!roomstayMember || roomstayMember.bookings?.length === 0) return null;\n\n let lastBookingDate: dayjs.Dayjs;\n let lastBookingRoomcode = '';\n roomstayMember.bookings?.forEach?.((booking) => {\n if (booking.hotelId !== hotel?.hotelID) {\n return;\n }\n\n Object.values<IRoomstayMemberBookingItem>(booking.itinerary).map((itinerary) => {\n const { roomCode, nights } = itinerary;\n const dates = Object.keys(nights).map(dayjs);\n const maxDate = dayjs(\n Math.max.apply(\n null,\n dates.map((d) => +d)\n )\n );\n if (!lastBookingDate || maxDate.isAfter(maxDate)) {\n lastBookingDate = maxDate;\n lastBookingRoomcode = roomCode;\n }\n });\n });\n\n return rooms.find((room) => room.code === lastBookingRoomcode);\n }, [rooms, roomstayMember]);\n\n const getRoomsByBasketRow = async (basketRow: BasketRow): Promise<Room[]> => {\n const filters: Filter[] = Object.values(beContext.currentFilters).filter((filter) => !!filter) as Filter[];\n return await FilterProvider.getRoomList(basketRow, filters, hotel?.hotelID as string, memberNumber);\n };\n\n // Used so that we only recalculate the room list when the roomCode or dates of other basket rows change, instead of\n // any change to any basket row.\n const basketRowsRoomDatesKey = useMemo(() => {\n return currentBasketRows.map((r) => [r.getStartDate()?.format('YYYY-MM-DD'), r.getEndDate()?.format('YYYY-MM-DD'), r.getRoomCode()].join('_')).join('|');\n }, [currentBasketRows]);\n\n useEffect(() => {\n let isCancelled = false;\n\n try {\n const search: SearchParameters = {\n checkInTime: startDate?.format('YYYY-M-D'),\n checkOutTime: endDate?.format('YYYY-M-D'),\n numAdults: adults,\n numChildren: children,\n numRooms: 1,\n promoCode: promoCode,\n };\n\n const event = new GuestSearchEvent(search);\n raise(event);\n\n const filters: Filter[] = Object.values(beContext.currentFilters).filter((filter) => !!filter) as Filter[];\n\n let row = selectedBasketRow;\n\n if (!row && !rooms.length) {\n row = attemptSelectUnfilledRow() as BasketRow;\n }\n\n if (!row) {\n const validRows = getAllValidRows();\n row = validRows[validRows.length - 1];\n }\n\n const onRoomListFinished = () => {\n setLoadingAttempted(true);\n setIsLoading(false);\n };\n\n if (row) {\n setIsLoading(true);\n // Avoid using .finally() when you need to wait for .then() or .catch() logic to complete —\n // it runs after the Promise settles, but not after those blocks finish executing;\n // instead, manually call your cleanup function at the end of .then() and .catch().\n FilterProvider.getRoomList(row, filters, hotel?.hotelID as string, memberNumber)\n .then((rooms) =>\n // Subtract availability already taken by other basket rows\n rooms.map((cacheableRoom) => {\n const room = cloneDeep(cacheableRoom);\n\n const startDate = row.getStartDate();\n const endDate = row.getEndDate();\n\n if (!startDate || !endDate) {\n return room;\n }\n\n const otherBasketRowsForRoom = getAllValidRows().filter((candidate) => {\n if (candidate.getID() === selectedBasketRow?.getID()) {\n // We are editing this basket row, so don't count it.\n return false;\n }\n\n return candidate.getRoomCode() === room.code;\n });\n\n for (const rate of room.filteredRates ?? []) {\n for (const date of Object.keys(rate.nightRates)) {\n for (const otherRow of otherBasketRowsForRoom) {\n const otherRowStartDate = otherRow.getStartDate();\n const otherRowEndDate = otherRow.getEndDate();\n\n if (!otherRowStartDate || !otherRowEndDate) {\n continue;\n }\n\n if (dayjs(date).isBetween(otherRowStartDate, otherRowEndDate, 'day', '[)')) {\n // @ts-expect-error, the type is wrong :(\n rate.nightRates[date].available = Math.max(rate.nightRates[date].available - 1, 0);\n }\n }\n }\n }\n\n return room;\n })\n )\n .then((rooms) => rooms.filter((room) => hotel?.showUnavailableRooms || room.isAvailable()))\n .then((availableRooms) => {\n if (!isCancelled) {\n setRooms(availableRooms);\n setOpenRoom(!!selectedBasketRow);\n setApiHasError(false);\n\n const foundRooms: RoomListSearch[] =\n availableRooms?.map((room) => {\n const { name, code } = room;\n\n const foundRoom: RoomListSearch = {\n name: name as string,\n code: code as string,\n lowestPrice: room.getLowestPrice(),\n highestPrice: room.getHighestPrice(),\n currency: ccx.currentCurrency,\n\n rates:\n room.getRates()?.map((rate) => {\n const { name, code } = rate;\n return {\n name,\n code,\n\n price: {\n averagePrice: rate.getAveragePrice(),\n totalPrice: rate.getTotalPrice(),\n currency: ccx.currentCurrency,\n },\n };\n }) ?? [],\n };\n\n return foundRoom;\n }) ?? [];\n\n const event = new RoomListSearchEvent(search, foundRooms);\n raise(event);\n onRoomListFinished();\n }\n })\n .catch(() => {\n if (!isCancelled) {\n setRooms([]);\n setOpenRoom(null);\n setApiHasError(true);\n }\n onRoomListFinished();\n });\n }\n } catch (ex) {\n //\n }\n\n return () => {\n setIsLoading(false);\n isCancelled = true;\n };\n }, [\n adults,\n children,\n startDate,\n endDate,\n promoCode,\n ccx.currentLanguage,\n beContext.currentFilters,\n selectedBasketRow?.getStale(),\n memberNumber,\n roomstayMember,\n selectedBasketRow,\n basketRowsRoomDatesKey,\n ]);\n\n return { loadingAttempted, isLoading, rooms, openRoom, apiHasError, retargetingRoom, getRoomsByBasketRow };\n};\n"]}