@roomstay/frontend 2.6.89-2 → 2.6.90

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 (1088) hide show
  1. package/dist/177.bundle.js +1 -1
  2. package/dist/279.bundle.js +1 -1
  3. package/dist/288.bundle.js +1 -1
  4. package/dist/370.bundle.js +1 -1
  5. package/dist/4.bundle.js +1 -0
  6. package/dist/430.bundle.js +1 -1
  7. package/dist/449.bundle.js +1 -1
  8. package/dist/537.bundle.js +1 -1
  9. package/dist/686.bundle.js +1 -1
  10. package/dist/873.bundle.js +1 -1
  11. package/dist/972.bundle.js +1 -1
  12. package/dist/978.bundle.js +1 -1
  13. package/dist/984.bundle.js +1 -0
  14. package/dist/e2e/canChangeCurrency.spec.js +1 -1
  15. package/dist/e2e/canChangeCurrency.spec.js.map +1 -1
  16. package/dist/e2e/canCheckout.spec.js +3 -3
  17. package/dist/e2e/canCheckout.spec.js.map +1 -1
  18. package/dist/e2e/canViewFindReservationsPage.spec.js +1 -1
  19. package/dist/e2e/canViewFindReservationsPage.spec.js.map +1 -1
  20. package/dist/e2e/canViewHotelnfoPage.spec.js +1 -1
  21. package/dist/e2e/canViewHotelnfoPage.spec.js.map +1 -1
  22. package/dist/e2e/goBackAndCheckoutAgain.spec.js +1 -1
  23. package/dist/e2e/goBackAndCheckoutAgain.spec.js.map +1 -1
  24. package/dist/e2e/helpers/checkoutHelpers.js +8 -9
  25. package/dist/e2e/helpers/checkoutHelpers.js.map +1 -1
  26. package/dist/e2e/helpers/playwrightHelpers.js +1 -2
  27. package/dist/e2e/helpers/playwrightHelpers.js.map +1 -1
  28. package/dist/e2e/price.spec.js +3 -3
  29. package/dist/e2e/price.spec.js.map +1 -1
  30. package/dist/main.bundle.js +1 -1
  31. package/dist/src/animations/AutoAutoHeight.d.ts +1 -1
  32. package/dist/src/animations/AutoAutoHeight.js +18 -8
  33. package/dist/src/animations/AutoAutoHeight.js.map +1 -1
  34. package/dist/src/animations/Fade.js +17 -7
  35. package/dist/src/animations/Fade.js.map +1 -1
  36. package/dist/src/api/AddonAPI.js +17 -7
  37. package/dist/src/api/AddonAPI.js.map +1 -1
  38. package/dist/src/api/AvailabilityAPI.d.ts +28 -6
  39. package/dist/src/api/AvailabilityAPI.js +214 -106
  40. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  41. package/dist/src/api/BaseAPI.js +6 -6
  42. package/dist/src/api/BaseAPI.js.map +1 -1
  43. package/dist/src/api/ErrorAPI.js.map +1 -1
  44. package/dist/src/api/ExchangeRateAPI.js.map +1 -1
  45. package/dist/src/api/HotelAPI.d.ts +1 -1
  46. package/dist/src/api/HotelAPI.js.map +1 -1
  47. package/dist/src/api/MemberAPI.js +17 -7
  48. package/dist/src/api/MemberAPI.js.map +1 -1
  49. package/dist/src/api/ReservationAPI.d.ts +2 -3
  50. package/dist/src/api/ReservationAPI.js +21 -10
  51. package/dist/src/api/ReservationAPI.js.map +1 -1
  52. package/dist/src/api/SessionAPI.js +17 -7
  53. package/dist/src/api/SessionAPI.js.map +1 -1
  54. package/dist/src/api/TrueRewardsAPI.js.map +1 -1
  55. package/dist/src/api/events-service/EventsServiceAPI.js.map +1 -1
  56. package/dist/src/api/members-service/MembersServiceAPI.d.ts +1 -1
  57. package/dist/src/components/Event/EventCarouselContainer.js +17 -7
  58. package/dist/src/components/Event/EventCarouselContainer.js.map +1 -1
  59. package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +2 -1
  60. package/dist/src/components/User/Forms/ForgotPasswordForm.js +17 -7
  61. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  62. package/dist/src/components/User/Forms/SignInForm.js +17 -7
  63. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  64. package/dist/src/components/User/Forms/SignUpForm.d.ts +2 -1
  65. package/dist/src/components/User/Forms/SignUpForm.js +17 -7
  66. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  67. package/dist/src/components/User/Forms/VerifyEmailForm.d.ts +2 -1
  68. package/dist/src/components/User/Forms/VerifyEmailForm.js +17 -7
  69. package/dist/src/components/User/Forms/VerifyEmailForm.js.map +1 -1
  70. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js +17 -7
  71. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js.map +1 -1
  72. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.d.ts +2 -1
  73. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js +17 -7
  74. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js.map +1 -1
  75. package/dist/src/components/generic/Alert.d.ts +2 -2
  76. package/dist/src/components/generic/Alert.js +3 -3
  77. package/dist/src/components/generic/Alert.js.map +1 -1
  78. package/dist/src/components/generic/BEButton.d.ts +2 -1
  79. package/dist/src/components/generic/BEButton.js +20 -9
  80. package/dist/src/components/generic/BEButton.js.map +1 -1
  81. package/dist/src/components/generic/BackButton.d.ts +2 -1
  82. package/dist/src/components/generic/BackButton.js +1 -1
  83. package/dist/src/components/generic/BackButton.js.map +1 -1
  84. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +18 -9
  85. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  86. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +1 -2
  87. package/dist/src/components/generic/BookingWizard/BookingWizard.js +28 -46
  88. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  89. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +2 -2
  90. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +5 -7
  91. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +21 -43
  92. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  93. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +0 -9
  94. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
  95. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +1 -2
  96. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +19 -9
  97. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  98. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +5 -2
  99. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +20 -10
  100. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  101. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +1 -1
  102. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +21 -11
  103. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  104. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js +17 -7
  105. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js.map +1 -1
  106. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +2 -2
  107. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +17 -7
  108. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
  109. package/dist/src/components/generic/Checkbox/Checkbox.js +17 -7
  110. package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
  111. package/dist/src/components/generic/Countdown.d.ts +2 -1
  112. package/dist/src/components/generic/Countdown.js +18 -8
  113. package/dist/src/components/generic/Countdown.js.map +1 -1
  114. package/dist/src/components/generic/Currency.d.ts +2 -1
  115. package/dist/src/components/generic/Currency.js +18 -8
  116. package/dist/src/components/generic/Currency.js.map +1 -1
  117. package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +2 -1
  118. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +18 -8
  119. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
  120. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +2 -1
  121. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +19 -9
  122. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -1
  123. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +2 -1
  124. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +18 -8
  125. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -1
  126. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +2 -1
  127. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +18 -8
  128. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -1
  129. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +17 -7
  130. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
  131. package/dist/src/components/generic/Distance.d.ts +2 -1
  132. package/dist/src/components/generic/Distance.js +18 -8
  133. package/dist/src/components/generic/Distance.js.map +1 -1
  134. package/dist/src/components/generic/Event/EventCard.js +17 -7
  135. package/dist/src/components/generic/Event/EventCard.js.map +1 -1
  136. package/dist/src/components/generic/Event/EventCarousel.js +17 -7
  137. package/dist/src/components/generic/Event/EventCarousel.js.map +1 -1
  138. package/dist/src/components/generic/ForwardedSelect.js +17 -7
  139. package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
  140. package/dist/src/components/generic/GroupedCheckInOutTimes/GroupedCheckInOutTimes.js.map +1 -1
  141. package/dist/src/components/generic/Headline.d.ts +1 -1
  142. package/dist/src/components/generic/Headline.js +1 -1
  143. package/dist/src/components/generic/Headline.js.map +1 -1
  144. package/dist/src/components/generic/HtmlContentViewer.d.ts +2 -1
  145. package/dist/src/components/generic/HtmlContentViewer.js +17 -7
  146. package/dist/src/components/generic/HtmlContentViewer.js.map +1 -1
  147. package/dist/src/components/generic/IconText/IconText.js +19 -9
  148. package/dist/src/components/generic/IconText/IconText.js.map +1 -1
  149. package/dist/src/components/generic/InputGroup/InputGroup.d.ts +2 -2
  150. package/dist/src/components/generic/InputGroup/InputGroup.js +1 -1
  151. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  152. package/dist/src/components/generic/LineBreak.d.ts +2 -1
  153. package/dist/src/components/generic/LineBreak.js +1 -1
  154. package/dist/src/components/generic/LineBreak.js.map +1 -1
  155. package/dist/src/components/generic/Notification.d.ts +1 -1
  156. package/dist/src/components/generic/Notification.js +18 -8
  157. package/dist/src/components/generic/Notification.js.map +1 -1
  158. package/dist/src/components/generic/NumberIncrement.d.ts +2 -1
  159. package/dist/src/components/generic/NumberIncrement.js +18 -8
  160. package/dist/src/components/generic/NumberIncrement.js.map +1 -1
  161. package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -2
  162. package/dist/src/components/generic/Overlay/Overlay.js +17 -7
  163. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  164. package/dist/src/components/generic/PageTitle/index.d.ts +2 -1
  165. package/dist/src/components/generic/PageTitle/index.js.map +1 -1
  166. package/dist/src/components/generic/PasswordBox/PasswordBox.js +17 -7
  167. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  168. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +19 -9
  169. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -1
  170. package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +2 -1
  171. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +17 -7
  172. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  173. package/dist/src/components/generic/Pill.d.ts +1 -1
  174. package/dist/src/components/generic/Pill.js +3 -3
  175. package/dist/src/components/generic/Pill.js.map +1 -1
  176. package/dist/src/components/generic/Placeholder.d.ts +2 -1
  177. package/dist/src/components/generic/Placeholder.js +1 -1
  178. package/dist/src/components/generic/Placeholder.js.map +1 -1
  179. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js +17 -7
  180. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js.map +1 -1
  181. package/dist/src/components/generic/PromoCodeInput.d.ts +4 -1
  182. package/dist/src/components/generic/PromoCodeInput.js +20 -12
  183. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  184. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +17 -7
  185. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  186. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +17 -7
  187. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  188. package/dist/src/components/generic/RecentSearchesCard.d.ts +2 -1
  189. package/dist/src/components/generic/RecentSearchesCard.js +17 -7
  190. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  191. package/dist/src/components/generic/RoomstayMark.d.ts +2 -1
  192. package/dist/src/components/generic/RoomstayMark.js +17 -7
  193. package/dist/src/components/generic/RoomstayMark.js.map +1 -1
  194. package/dist/src/components/generic/ScrollToTop.js.map +1 -1
  195. package/dist/src/components/generic/Select/InputSelect.js +18 -8
  196. package/dist/src/components/generic/Select/InputSelect.js.map +1 -1
  197. package/dist/src/components/generic/Select/Select.d.ts +2 -2
  198. package/dist/src/components/generic/Select/Select.js +17 -7
  199. package/dist/src/components/generic/Select/Select.js.map +1 -1
  200. package/dist/src/components/generic/Slider/Slider.d.ts +1 -1
  201. package/dist/src/components/generic/Slider/Slider.js +17 -7
  202. package/dist/src/components/generic/Slider/Slider.js.map +1 -1
  203. package/dist/src/components/generic/Tabs/ElementChildren.js +2 -3
  204. package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
  205. package/dist/src/components/generic/Tabs/TabContext.js +17 -7
  206. package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
  207. package/dist/src/components/generic/Tabs/TabLink.js +17 -7
  208. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  209. package/dist/src/components/generic/Tabs/TabRouteContainer.d.ts +2 -2
  210. package/dist/src/components/generic/Tabs/TabRouteContainer.js +18 -9
  211. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
  212. package/dist/src/components/generic/Text.js +19 -9
  213. package/dist/src/components/generic/Text.js.map +1 -1
  214. package/dist/src/components/generic/TextArea.js +17 -7
  215. package/dist/src/components/generic/TextArea.js.map +1 -1
  216. package/dist/src/components/generic/TextBox.js +17 -7
  217. package/dist/src/components/generic/TextBox.js.map +1 -1
  218. package/dist/src/components/generic/Tooltip/Tooltip.d.ts +2 -2
  219. package/dist/src/components/generic/Tooltip/Tooltip.js +18 -8
  220. package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
  221. package/dist/src/components/generic/badging/SSLSecureBadge.d.ts +2 -1
  222. package/dist/src/components/generic/badging/SSLSecureBadge.js +1 -1
  223. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  224. package/dist/src/components/generic/buttons/NextStepButton.d.ts +2 -1
  225. package/dist/src/components/generic/buttons/NextStepButton.js +18 -8
  226. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  227. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +26 -14
  228. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  229. package/dist/src/components/generic/date/DatePicker.d.ts +3 -2
  230. package/dist/src/components/generic/date/DatePicker.js +19 -9
  231. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  232. package/dist/src/components/generic/date/DatePickerDay.d.ts +2 -1
  233. package/dist/src/components/generic/date/DatePickerDay.js +19 -9
  234. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  235. package/dist/src/components/generic/date/DatePickerDays.d.ts +2 -1
  236. package/dist/src/components/generic/date/DatePickerDays.js +18 -8
  237. package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
  238. package/dist/src/components/generic/date/DatePickerMonth.d.ts +2 -1
  239. package/dist/src/components/generic/date/DatePickerMonth.js +18 -8
  240. package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
  241. package/dist/src/components/generic/date/DatePickerWeek.d.ts +2 -1
  242. package/dist/src/components/generic/date/DatePickerWeek.js +21 -11
  243. package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
  244. package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
  245. package/dist/src/components/generic/date/FloatingDatePicker.js +19 -9
  246. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  247. package/dist/src/components/generic/date/WeekViewSkeleton.d.ts +2 -1
  248. package/dist/src/components/generic/date/WeekViewSkeleton.js +17 -7
  249. package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
  250. package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
  251. package/dist/src/components/generic/loader/ImageLoader.js +18 -8
  252. package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
  253. package/dist/src/components/generic/loader/LargeLoader.d.ts +2 -1
  254. package/dist/src/components/generic/loader/LargeLoader.js +1 -1
  255. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  256. package/dist/src/components/generic/loader/OverlayLoader.d.ts +2 -1
  257. package/dist/src/components/generic/loader/SmallSpinner.d.ts +2 -1
  258. package/dist/src/components/generic/loader/SmallSpinner.js +18 -8
  259. package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
  260. package/dist/src/components/generic/map/HotelLocationMap.d.ts +2 -1
  261. package/dist/src/components/generic/map/HotelLocationMap.js +1 -1
  262. package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
  263. package/dist/src/components/generic/modal/ConfirmationModal.d.ts +2 -1
  264. package/dist/src/components/generic/modal/ConfirmationModal.js +18 -8
  265. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  266. package/dist/src/components/generic/modal/ErrorModal.d.ts +1 -1
  267. package/dist/src/components/generic/modal/ErrorModal.js +18 -8
  268. package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
  269. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +17 -7
  270. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  271. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +17 -7
  272. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -1
  273. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +2 -1
  274. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +18 -8
  275. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  276. package/dist/src/components/generic/modal/SimpleModal.d.ts +1 -1
  277. package/dist/src/components/generic/modal/SimpleModal.js +19 -9
  278. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  279. package/dist/src/components/generic/modal/TabbedModal.d.ts +1 -1
  280. package/dist/src/components/generic/modal/TabbedModal.js +18 -8
  281. package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
  282. package/dist/src/components/generic/radio/RadioFields.d.ts +2 -1
  283. package/dist/src/components/generic/radio/RadioFields.js +18 -8
  284. package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
  285. package/dist/src/components/graphics/TravelerNotfound.d.ts +2 -1
  286. package/dist/src/components/graphics/TravelerNotfound.js +1 -1
  287. package/dist/src/components/graphics/TravelerNotfound.js.map +1 -1
  288. package/dist/src/components/iconComponents/BookNowPayLaterIcon.d.ts +2 -1
  289. package/dist/src/components/members/EditMyProfile.js +17 -7
  290. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  291. package/dist/src/components/members/InlineSignUpSection.d.ts +3 -2
  292. package/dist/src/components/members/InlineSignUpSection.js +17 -7
  293. package/dist/src/components/members/InlineSignUpSection.js.map +1 -1
  294. package/dist/src/components/members/SignInModal/ExternalMemberModal.d.ts +2 -1
  295. package/dist/src/components/members/SignInModal/ExternalMemberModal.js +17 -7
  296. package/dist/src/components/members/SignInModal/ExternalMemberModal.js.map +1 -1
  297. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.d.ts +2 -1
  298. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js +19 -9
  299. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js.map +1 -1
  300. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.d.ts +2 -1
  301. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js +18 -8
  302. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js.map +1 -1
  303. package/dist/src/components/members/SignInModal/MemberSignInModal.d.ts +2 -1
  304. package/dist/src/components/members/SignInModal/MemberSignInModal.js +17 -7
  305. package/dist/src/components/members/SignInModal/MemberSignInModal.js.map +1 -1
  306. package/dist/src/components/navigation/Header.d.ts +2 -1
  307. package/dist/src/components/navigation/Header.js +22 -8
  308. package/dist/src/components/navigation/Header.js.map +1 -1
  309. package/dist/src/components/navigation/StepSelector.d.ts +2 -1
  310. package/dist/src/components/navigation/StepSelector.js +18 -8
  311. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  312. package/dist/src/components/navigation/StepSelectorModal.d.ts +2 -1
  313. package/dist/src/components/navigation/StepSelectorModal.js +18 -8
  314. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  315. package/dist/src/components/pages/Account/Card/MemberCardItem.d.ts +2 -1
  316. package/dist/src/components/pages/Account/Card/MemberCardItem.js +17 -7
  317. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  318. package/dist/src/components/pages/PageColorComponent.d.ts +2 -1
  319. package/dist/src/components/pages/PageColorComponent.js +17 -7
  320. package/dist/src/components/pages/PageColorComponent.js.map +1 -1
  321. package/dist/src/components/reservation/EmptyReservation.js +17 -7
  322. package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
  323. package/dist/src/components/reservation/ReservationItem.d.ts +3 -1
  324. package/dist/src/components/reservation/ReservationItem.js +20 -10
  325. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  326. package/dist/src/components/reservation/ReservationList.d.ts +1 -0
  327. package/dist/src/components/reservation/ReservationList.js +2 -2
  328. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  329. package/dist/src/components/steps/DaysSelectedInformer.d.ts +2 -1
  330. package/dist/src/components/steps/DaysSelectedInformer.js +18 -8
  331. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  332. package/dist/src/components/steps/MinimumNightStayPill.d.ts +2 -1
  333. package/dist/src/components/steps/MinimumNightStayPill.js +18 -8
  334. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  335. package/dist/src/components/steps/addons/AddonCard.d.ts +2 -1
  336. package/dist/src/components/steps/addons/AddonCard.js +25 -7
  337. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  338. package/dist/src/components/steps/addons/AddonList.d.ts +2 -1
  339. package/dist/src/components/steps/addons/AddonList.js +17 -7
  340. package/dist/src/components/steps/addons/AddonList.js.map +1 -1
  341. package/dist/src/components/steps/addons/AddonsNotFoundBlock.d.ts +2 -1
  342. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js +1 -1
  343. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js.map +1 -1
  344. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +3 -2
  345. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +19 -9
  346. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
  347. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.d.ts +2 -1
  348. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js +17 -7
  349. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js.map +1 -1
  350. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.d.ts +3 -2
  351. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js +17 -7
  352. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js.map +1 -1
  353. package/dist/src/components/steps/confirmation/AccountDetails.d.ts +2 -1
  354. package/dist/src/components/steps/confirmation/AccountDetails.js +18 -8
  355. package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
  356. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js +17 -7
  357. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js.map +1 -1
  358. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js +17 -7
  359. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js.map +1 -1
  360. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  361. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.d.ts +2 -1
  362. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +17 -7
  363. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  364. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +17 -7
  365. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  366. package/dist/src/components/steps/confirmation/PaymentInformation.d.ts +2 -1
  367. package/dist/src/components/steps/confirmation/PaymentInformation.js +17 -7
  368. package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -1
  369. package/dist/src/components/steps/confirmation/PlanpayLabel.d.ts +2 -1
  370. package/dist/src/components/steps/confirmation/PlanpayLabel.js +17 -7
  371. package/dist/src/components/steps/confirmation/PlanpayLabel.js.map +1 -1
  372. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +17 -7
  373. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
  374. package/dist/src/components/steps/confirmation/RoomContactDetails.js +18 -11
  375. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  376. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.d.ts +2 -1
  377. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +28 -19
  378. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  379. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +2 -1
  380. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +18 -8
  381. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  382. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +2 -1
  383. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +2 -2
  384. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
  385. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +17 -7
  386. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  387. package/dist/src/components/steps/confirmation/StepConfirmationForm.d.ts +2 -1
  388. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +18 -8
  389. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  390. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.d.ts +2 -1
  391. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +1 -1
  392. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
  393. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +2 -1
  394. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +18 -8
  395. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  396. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.d.ts +2 -1
  397. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +18 -8
  398. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
  399. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.d.ts +2 -1
  400. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +23 -12
  401. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  402. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.d.ts +2 -1
  403. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js +26 -13
  404. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js.map +1 -1
  405. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.d.ts +2 -0
  406. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js +94 -0
  407. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js.map +1 -0
  408. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.d.ts +5 -1
  409. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js +35 -13
  410. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js.map +1 -1
  411. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.d.ts +2 -1
  412. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +18 -8
  413. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  414. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +2 -1
  415. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +18 -8
  416. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  417. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +2 -1
  418. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +18 -8
  419. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
  420. package/dist/src/components/steps/date/OccupancyWarningBlock.d.ts +2 -1
  421. package/dist/src/components/steps/date/OccupancyWarningBlock.js +1 -1
  422. package/dist/src/components/steps/date/OccupancyWarningBlock.js.map +1 -1
  423. package/dist/src/components/steps/date/PeoplePicker.d.ts +2 -1
  424. package/dist/src/components/steps/date/PeoplePicker.js +20 -10
  425. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  426. package/dist/src/components/steps/date/PeoplePickerRow.d.ts +2 -1
  427. package/dist/src/components/steps/date/PeoplePickerRow.js +19 -9
  428. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  429. package/dist/src/components/steps/date/StepDatePricePerRoom.d.ts +2 -1
  430. package/dist/src/components/steps/date/StepDatePricePerRoom.js +18 -8
  431. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  432. package/dist/src/components/steps/date/StepOneDateRange.d.ts +2 -1
  433. package/dist/src/components/steps/date/StepOneDateRange.js +18 -8
  434. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  435. package/dist/src/components/steps/date/StepOneDateRangePicker.d.ts +2 -1
  436. package/dist/src/components/steps/date/StepOneDateRangePicker.js +18 -8
  437. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  438. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.d.ts +2 -1
  439. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +18 -8
  440. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
  441. package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +2 -1
  442. package/dist/src/components/steps/date/StepOneNextStepButton.js +18 -8
  443. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  444. package/dist/src/components/steps/date/StepOneStatusPeople.d.ts +2 -1
  445. package/dist/src/components/steps/date/StepOneStatusPeople.js +18 -8
  446. package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
  447. package/dist/src/components/steps/hotel/HotelCard.d.ts +2 -1
  448. package/dist/src/components/steps/hotel/HotelCard.js +19 -9
  449. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  450. package/dist/src/components/steps/hotel/HotelCardList.d.ts +2 -1
  451. package/dist/src/components/steps/hotel/HotelCardList.js +1 -1
  452. package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
  453. package/dist/src/components/steps/hotel/HotelCardModal.d.ts +2 -1
  454. package/dist/src/components/steps/hotel/HotelCardModal.js +17 -7
  455. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  456. package/dist/src/components/steps/hotel/HotelInfoPerksRow.d.ts +2 -1
  457. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js +18 -8
  458. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js.map +1 -1
  459. package/dist/src/components/steps/hotel/HotelSearchParameters.d.ts +2 -1
  460. package/dist/src/components/steps/hotel/HotelSearchParameters.js +22 -20
  461. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  462. package/dist/src/components/steps/hotel/NoHotelsAvailable.d.ts +2 -1
  463. package/dist/src/components/steps/hotel/NoHotelsAvailable.js +1 -1
  464. package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
  465. package/dist/src/components/steps/room/AvailableUpgradesModal.js +118 -37
  466. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  467. package/dist/src/components/steps/room/ImageGallerySlider.d.ts +2 -1
  468. package/dist/src/components/steps/room/ImageGallerySlider.js +18 -8
  469. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  470. package/dist/src/components/steps/room/InactivityWindow.d.ts +2 -1
  471. package/dist/src/components/steps/room/InactivityWindow.js +17 -7
  472. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  473. package/dist/src/components/steps/room/LargeRateCard.d.ts +11 -0
  474. package/dist/src/components/steps/room/LargeRateCard.js +120 -0
  475. package/dist/src/components/steps/room/LargeRateCard.js.map +1 -0
  476. package/dist/src/components/steps/room/LargeRoomCard.d.ts +2 -1
  477. package/dist/src/components/steps/room/LargeRoomCard.js +26 -10
  478. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  479. package/dist/src/components/steps/room/NoRoomsFoundBlock.d.ts +2 -1
  480. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +18 -8
  481. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  482. package/dist/src/components/steps/room/RatesNotFoundBlock.d.ts +2 -1
  483. package/dist/src/components/steps/room/RatesNotFoundBlock.js +1 -1
  484. package/dist/src/components/steps/room/RatesNotFoundBlock.js.map +1 -1
  485. package/dist/src/components/steps/room/RoomList.d.ts +2 -1
  486. package/dist/src/components/steps/room/RoomList.js +18 -8
  487. package/dist/src/components/steps/room/RoomList.js.map +1 -1
  488. package/dist/src/components/steps/room/RoomListAlert.js +17 -7
  489. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
  490. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +18 -8
  491. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  492. package/dist/src/components/steps/room/RoomModal.d.ts +2 -1
  493. package/dist/src/components/steps/room/RoomModal.js +18 -8
  494. package/dist/src/components/steps/room/RoomModal.js.map +1 -1
  495. package/dist/src/components/steps/room/RoomModalPerkRow.d.ts +2 -1
  496. package/dist/src/components/steps/room/RoomModalPerkRow.js +18 -8
  497. package/dist/src/components/steps/room/RoomModalPerkRow.js.map +1 -1
  498. package/dist/src/components/steps/room/StepRoomAlertBlocks.d.ts +2 -1
  499. package/dist/src/components/steps/room/StepRoomAlertBlocks.js +18 -8
  500. package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
  501. package/dist/src/components/steps/room/StepRoomBestRateAlert.d.ts +2 -1
  502. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +18 -8
  503. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  504. package/dist/src/components/steps/room/StepRoomErrorForm.d.ts +2 -1
  505. package/dist/src/components/steps/room/StepRoomErrorForm.js +17 -7
  506. package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
  507. package/dist/src/components/steps/room/StepRoomHotelDetails.d.ts +2 -1
  508. package/dist/src/components/steps/room/StepRoomHotelDetails.js +18 -8
  509. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  510. package/dist/src/components/steps/room/StepRoomNextStepButton.js +18 -8
  511. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  512. package/dist/src/components/steps/room/StepRoomSortBy.d.ts +2 -1
  513. package/dist/src/components/steps/room/StepRoomSortBy.js +18 -8
  514. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  515. package/dist/src/components/steps/room/StepRoomSummaryAndButton.d.ts +2 -1
  516. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +18 -8
  517. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  518. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.d.ts +2 -1
  519. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +17 -7
  520. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
  521. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.d.ts +2 -1
  522. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js +17 -7
  523. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js.map +1 -1
  524. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.d.ts +2 -1
  525. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js +17 -7
  526. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js.map +1 -1
  527. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.d.ts +3 -2
  528. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js +19 -8
  529. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js.map +1 -1
  530. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.d.ts +2 -1
  531. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js +17 -7
  532. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js.map +1 -1
  533. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.d.ts +2 -1
  534. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js +20 -20
  535. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js.map +1 -1
  536. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.d.ts +2 -1
  537. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +17 -7
  538. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
  539. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +2 -1
  540. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +1 -1
  541. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
  542. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +2 -1
  543. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +1 -1
  544. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
  545. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.d.ts +2 -1
  546. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js +1 -1
  547. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js.map +1 -1
  548. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.d.ts +2 -1
  549. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +18 -8
  550. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  551. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +2 -1
  552. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +23 -23
  553. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  554. package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +2 -1
  555. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +18 -8
  556. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  557. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +2 -1
  558. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +18 -9
  559. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  560. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +2 -1
  561. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +18 -9
  562. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  563. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.d.ts +2 -1
  564. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +18 -8
  565. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  566. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +17 -7
  567. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  568. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +2 -1
  569. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +18 -8
  570. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
  571. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.d.ts +2 -1
  572. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +18 -8
  573. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  574. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +3 -2
  575. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +20 -10
  576. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  577. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.d.ts +2 -1
  578. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js +18 -8
  579. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js.map +1 -1
  580. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +3 -2
  581. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +20 -10
  582. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  583. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +2 -1
  584. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +19 -9
  585. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  586. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.d.ts +2 -1
  587. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +17 -7
  588. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  589. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +2 -1
  590. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +18 -8
  591. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  592. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +2 -1
  593. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +18 -8
  594. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  595. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +2 -1
  596. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +18 -8
  597. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  598. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.d.ts +2 -1
  599. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js +26 -12
  600. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js.map +1 -1
  601. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.d.ts +2 -1
  602. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +18 -8
  603. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  604. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +2 -1
  605. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +18 -8
  606. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  607. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +2 -1
  608. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +18 -8
  609. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
  610. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +2 -1
  611. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +18 -8
  612. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
  613. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +2 -1
  614. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +18 -8
  615. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  616. package/dist/src/components/summary/BEMapWidget.d.ts +0 -2
  617. package/dist/src/components/summary/BEMapWidget.js +17 -7
  618. package/dist/src/components/summary/BEMapWidget.js.map +1 -1
  619. package/dist/src/components/summary/BEMobileSummary.d.ts +2 -1
  620. package/dist/src/components/summary/BEMobileSummary.js +18 -8
  621. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  622. package/dist/src/components/summary/BEMobileSummaryModal.d.ts +2 -1
  623. package/dist/src/components/summary/BEMobileSummaryModal.js +30 -19
  624. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  625. package/dist/src/components/summary/BESummary.d.ts +2 -1
  626. package/dist/src/components/summary/BESummary.js +24 -14
  627. package/dist/src/components/summary/BESummary.js.map +1 -1
  628. package/dist/src/components/summary/BESummaryAddonRow.d.ts +2 -1
  629. package/dist/src/components/summary/BESummaryAddonRow.js +30 -16
  630. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  631. package/dist/src/components/summary/BESummaryPerkBlock.d.ts +2 -1
  632. package/dist/src/components/summary/BESummaryPerkBlock.js +19 -9
  633. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  634. package/dist/src/components/summary/BESummaryPrivacyPolicy.d.ts +2 -1
  635. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +18 -8
  636. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  637. package/dist/src/components/summary/BESummaryRoomRow.d.ts +2 -1
  638. package/dist/src/components/summary/BESummaryRoomRow.js +19 -9
  639. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  640. package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +2 -1
  641. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +18 -8
  642. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  643. package/dist/src/containers/PrivateRoute.js.map +1 -1
  644. package/dist/src/contexts/BasketContext/BasketContext.d.ts +0 -1
  645. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +5 -4
  646. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  647. package/dist/src/contexts/BasketContext/BasketContextWrapper.d.ts +1 -1
  648. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +248 -169
  649. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  650. package/dist/src/contexts/BookingEngineContext/BookingEngineContext.d.ts +0 -1
  651. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.d.ts +1 -1
  652. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +18 -9
  653. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  654. package/dist/src/contexts/CompanyContext/CompanyContext.d.ts +0 -1
  655. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.d.ts +2 -2
  656. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +24 -14
  657. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  658. package/dist/src/contexts/ConfirmationFormContext.d.ts +1 -1
  659. package/dist/src/contexts/ConfirmationFormContext.js +19 -9
  660. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  661. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.d.ts +0 -1
  662. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.d.ts +2 -1
  663. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js.map +1 -1
  664. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +47 -25
  665. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  666. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.d.ts +2 -1
  667. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js +17 -7
  668. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js.map +1 -1
  669. package/dist/src/contexts/ErrorContext.d.ts +1 -1
  670. package/dist/src/contexts/ErrorContext.js +19 -9
  671. package/dist/src/contexts/ErrorContext.js.map +1 -1
  672. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.d.ts +2 -1
  673. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js +1 -2
  674. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js.map +1 -1
  675. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.d.ts +2 -1
  676. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js +18 -9
  677. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js.map +1 -1
  678. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.d.ts +0 -1
  679. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +2 -1
  680. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +25 -20
  681. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  682. package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
  683. package/dist/src/contexts/HotelOverridesContext.js +17 -7
  684. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  685. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +1 -2
  686. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js +1 -1
  687. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
  688. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +40 -14
  689. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  690. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +0 -1
  691. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +17 -7
  692. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  693. package/dist/src/contexts/ModalContext.d.ts +1 -1
  694. package/dist/src/contexts/ModalContext.js +18 -9
  695. package/dist/src/contexts/ModalContext.js.map +1 -1
  696. package/dist/src/contexts/NotificationContext.d.ts +1 -1
  697. package/dist/src/contexts/NotificationContext.js +19 -9
  698. package/dist/src/contexts/NotificationContext.js.map +1 -1
  699. package/dist/src/engines/BaseEngine.js +1 -1
  700. package/dist/src/engines/BaseEngine.js.map +1 -1
  701. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +1 -4
  702. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  703. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +2 -1
  704. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +1 -3
  705. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  706. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +17 -7
  707. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
  708. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +2 -1
  709. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +18 -8
  710. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  711. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +21 -19
  712. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +30 -34
  713. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  714. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -1
  715. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +2 -1
  716. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +18 -8
  717. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
  718. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +2 -1
  719. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +17 -8
  720. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  721. package/dist/src/events/RoomstayEventManager.js +1 -1
  722. package/dist/src/events/RoomstayEventManager.js.map +1 -1
  723. package/dist/src/events/actions/PlacedBookingEvent.d.ts +1 -1
  724. package/dist/src/events/actions/PlacedBookingEvent.js.map +1 -1
  725. package/dist/src/events/views/CommittedBookingEvent.d.ts +1 -1
  726. package/dist/src/events/views/CommittedBookingEvent.js.map +1 -1
  727. package/dist/src/events/views/RolledBackBookingEvent.d.ts +1 -1
  728. package/dist/src/events/views/RolledBackBookingEvent.js.map +1 -1
  729. package/dist/src/handlers/BasketContextErrorHandler.d.ts +1 -1
  730. package/dist/src/handlers/BasketContextErrorHandler.js.map +1 -1
  731. package/dist/src/handlers/payment/AdyenPaymentHandler.js +17 -7
  732. package/dist/src/handlers/payment/AdyenPaymentHandler.js.map +1 -1
  733. package/dist/src/handlers/payment/PlanpayPaymentHandler.js +17 -7
  734. package/dist/src/handlers/payment/PlanpayPaymentHandler.js.map +1 -1
  735. package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js +8 -5
  736. package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js.map +1 -1
  737. package/dist/src/handlers/payment/VGSMemberPaymentHandler.js.map +1 -1
  738. package/dist/src/handlers/payment/VGSPaymentHandler.js +19 -9
  739. package/dist/src/handlers/payment/VGSPaymentHandler.js.map +1 -1
  740. package/dist/src/hooks/AutoFocusOnSelect.d.ts +23 -2
  741. package/dist/src/hooks/AutoFocusOnSelect.js +3 -3
  742. package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
  743. package/dist/src/hooks/BodyClickHook.js.map +1 -1
  744. package/dist/src/hooks/CombineState.d.ts +1 -1
  745. package/dist/src/hooks/ConfirmationQuery.d.ts +4 -0
  746. package/dist/src/hooks/ConfirmationQuery.js +12 -3
  747. package/dist/src/hooks/ConfirmationQuery.js.map +1 -1
  748. package/dist/src/hooks/Currency.js.map +1 -1
  749. package/dist/src/hooks/CurrentHotelHook.js.map +1 -1
  750. package/dist/src/hooks/ElementSortHook.js +17 -7
  751. package/dist/src/hooks/ElementSortHook.js.map +1 -1
  752. package/dist/src/hooks/HistoryConsistentPush.js +1 -2
  753. package/dist/src/hooks/HistoryConsistentPush.js.map +1 -1
  754. package/dist/src/hooks/KeyboardControlOnSelect.d.ts +2 -2
  755. package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
  756. package/dist/src/hooks/LoggedInUserHook.js.map +1 -1
  757. package/dist/src/hooks/Planpay.d.ts +1 -1
  758. package/dist/src/hooks/Query.js +2 -3
  759. package/dist/src/hooks/Query.js.map +1 -1
  760. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +0 -1
  761. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  762. package/dist/src/hooks/UpdateQueryParameters.js +1 -2
  763. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -1
  764. package/dist/src/hooks/VGSHooks.d.ts +0 -1
  765. package/dist/src/hooks/VGSHooks.js.map +1 -1
  766. package/dist/src/hooks/useCalendarNightStay.js +3 -3
  767. package/dist/src/hooks/useCalendarNightStay.js.map +1 -1
  768. package/dist/src/hooks/useNextStepAction.d.ts +2 -1
  769. package/dist/src/hooks/useNextStepAction.js +21 -11
  770. package/dist/src/hooks/useNextStepAction.js.map +1 -1
  771. package/dist/src/hooks/usePlanpayRawPrice.js.map +1 -1
  772. package/dist/src/hooks/useRateDetails.js.map +1 -1
  773. package/dist/src/hooks/useSearchScopeHook.d.ts +1 -1
  774. package/dist/src/hooks/useSearchScopeHook.js.map +1 -1
  775. package/dist/src/icons/Check.d.ts +2 -1
  776. package/dist/src/index.d.ts +1 -1
  777. package/dist/src/index.js.map +1 -1
  778. package/dist/src/mockApi/AddonAPI.js.map +1 -1
  779. package/dist/src/mockApi/MemberAPI.js +17 -7
  780. package/dist/src/mockApi/MemberAPI.js.map +1 -1
  781. package/dist/src/mockApi/MockAPI.js +5 -5
  782. package/dist/src/mockApi/MockAPI.js.map +1 -1
  783. package/dist/src/mockApi/ReservationAPI.d.ts +1 -1
  784. package/dist/src/mockApi/ReservationAPI.js +18 -8
  785. package/dist/src/mockApi/ReservationAPI.js.map +1 -1
  786. package/dist/src/models/Addon/Addon.d.ts +0 -24
  787. package/dist/src/models/Addon/Addon.js.map +1 -1
  788. package/dist/src/models/Api/HotelDTO.d.ts +3 -2
  789. package/dist/src/models/Api/HotelDTO.js +1 -1
  790. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  791. package/dist/src/models/Api/IEventReservation.d.ts +5 -0
  792. package/dist/src/models/Api/IEventReservation.js.map +1 -1
  793. package/dist/src/models/AppQueryParameters.js +1 -1
  794. package/dist/src/models/AppQueryParameters.js.map +1 -1
  795. package/dist/src/models/BasketAddonRow.js +3 -5
  796. package/dist/src/models/BasketAddonRow.js.map +1 -1
  797. package/dist/src/models/BasketRow.d.ts +63 -9
  798. package/dist/src/models/BasketRow.js +77 -37
  799. package/dist/src/models/BasketRow.js.map +1 -1
  800. package/dist/src/models/BookingWizard/BookingWizardTypes.d.ts +0 -4
  801. package/dist/src/models/BookingWizard/BookingWizardTypes.js.map +1 -1
  802. package/dist/src/models/Client/Hotel/Company.d.ts +2 -0
  803. package/dist/src/models/Client/Hotel/Company.js.map +1 -1
  804. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js +1 -1
  805. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js.map +1 -1
  806. package/dist/src/models/Client/Hotel/Hotel.d.ts +4 -2
  807. package/dist/src/models/Client/Hotel/Hotel.js +1 -1
  808. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  809. package/dist/src/models/Client/Hotel/HotelDataSource.types.js +1 -1
  810. package/dist/src/models/Client/Hotel/HotelDataSource.types.js.map +1 -1
  811. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js +1 -1
  812. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js.map +1 -1
  813. package/dist/src/models/Confirmation.js +2 -2
  814. package/dist/src/models/Confirmation.js.map +1 -1
  815. package/dist/src/models/CountryCodesAndNumbers.js +3 -3
  816. package/dist/src/models/CountryCodesAndNumbers.js.map +1 -1
  817. package/dist/src/models/Fee.d.ts +1 -9
  818. package/dist/src/models/Fee.js +4 -5
  819. package/dist/src/models/Fee.js.map +1 -1
  820. package/dist/src/models/PaymentCard.js +1 -1
  821. package/dist/src/models/PaymentCard.js.map +1 -1
  822. package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
  823. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  824. package/dist/src/models/Room/Room.d.ts +2 -0
  825. package/dist/src/models/Room/Room.js.map +1 -1
  826. package/dist/src/models/Room/RoomRate.d.ts +12 -1
  827. package/dist/src/models/Room/RoomRate.js +29 -1
  828. package/dist/src/models/Room/RoomRate.js.map +1 -1
  829. package/dist/src/models/Room/RoomRateNight.d.ts +1 -1
  830. package/dist/src/models/Room/RoomRateNight.js.map +1 -1
  831. package/dist/src/models/RoomstaySession.d.ts +1 -3
  832. package/dist/src/models/RoomstaySession.js.map +1 -1
  833. package/dist/src/pages/account/AccountHome/AccountHomePage.d.ts +2 -1
  834. package/dist/src/pages/account/AccountHome/AccountHomePage.js +18 -8
  835. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  836. package/dist/src/pages/account/AccountOutlet.d.ts +1 -1
  837. package/dist/src/pages/account/AccountRouter.d.ts +2 -1
  838. package/dist/src/pages/account/AccountRoutes.d.ts +5 -0
  839. package/dist/src/pages/account/AccountRoutes.js +8 -2
  840. package/dist/src/pages/account/AccountRoutes.js.map +1 -1
  841. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.d.ts +2 -1
  842. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js +17 -7
  843. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js.map +1 -1
  844. package/dist/src/pages/account/Details/AccountDetailsCardsPage.d.ts +2 -1
  845. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +17 -7
  846. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  847. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +17 -7
  848. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  849. package/dist/src/pages/account/Details/AccountDetailsProfilePage.d.ts +2 -1
  850. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +17 -7
  851. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  852. package/dist/src/pages/account/Help/AccountHelpPage.d.ts +2 -1
  853. package/dist/src/pages/account/Help/AccountHelpPage.js +17 -7
  854. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  855. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.d.ts +2 -1
  856. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +38 -13
  857. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  858. package/dist/src/pages/account/Reservations/AccountReservationsPage.d.ts +2 -1
  859. package/dist/src/pages/account/Reservations/AccountReservationsPage.js +7 -7
  860. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  861. package/dist/src/pages/findReservation/FindReservation.d.ts +2 -1
  862. package/dist/src/pages/findReservation/FindReservation.js +19 -9
  863. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  864. package/dist/src/pages/findReservation/FindReservationResults.d.ts +2 -1
  865. package/dist/src/pages/findReservation/FindReservationResults.js +20 -10
  866. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  867. package/dist/src/pages/findReservation/ReservationRow.d.ts +3 -2
  868. package/dist/src/pages/findReservation/ReservationRow.js +18 -8
  869. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  870. package/dist/src/pages/findReservation/ReservationRowModal.d.ts +3 -2
  871. package/dist/src/pages/findReservation/ReservationRowModal.js +18 -8
  872. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  873. package/dist/src/pages/hotel/HotelInfo.d.ts +2 -1
  874. package/dist/src/pages/hotel/HotelInfo.js +20 -10
  875. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  876. package/dist/src/pages/hotel/HotelInfoPlaceholder.d.ts +2 -1
  877. package/dist/src/pages/hotel/HotelInfoPlaceholder.js +1 -1
  878. package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
  879. package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +1 -1
  880. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  881. package/dist/src/pages/steps/StepAddon/StepAddonComponent.d.ts +2 -1
  882. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +18 -8
  883. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  884. package/dist/src/pages/steps/StepAddon/StepAddonLoader.d.ts +2 -1
  885. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +17 -7
  886. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
  887. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  888. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.d.ts +2 -1
  889. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +17 -7
  890. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  891. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.d.ts +2 -1
  892. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +18 -8
  893. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
  894. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
  895. package/dist/src/pages/steps/StepDate/StepDate.d.ts +1 -1
  896. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  897. package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +2 -1
  898. package/dist/src/pages/steps/StepDate/StepDateComponent.js +17 -7
  899. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  900. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoom.js.map +1 -1
  901. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.d.ts +2 -1
  902. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js +20 -7
  903. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js.map +1 -1
  904. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.d.ts +2 -1
  905. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js +18 -8
  906. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js.map +1 -1
  907. package/dist/src/pages/steps/StepGuide.d.ts +1 -1
  908. package/dist/src/pages/steps/StepGuide.js +18 -8
  909. package/dist/src/pages/steps/StepGuide.js.map +1 -1
  910. package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +1 -1
  911. package/dist/src/pages/steps/StepHotel/StepHotelComponent.d.ts +2 -1
  912. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +17 -7
  913. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  914. package/dist/src/pages/steps/StepHotel/StepHotelLoader.d.ts +2 -1
  915. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +17 -7
  916. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
  917. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  918. package/dist/src/pages/steps/StepRoom/StepRoomComponent.d.ts +2 -1
  919. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +17 -7
  920. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  921. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js +17 -7
  922. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js.map +1 -1
  923. package/dist/src/pages/steps/StepRoom/StepRoomLoader.d.ts +2 -1
  924. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +18 -8
  925. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
  926. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
  927. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  928. package/dist/src/pages/steps/StepThanks/StepThanksComponent.d.ts +2 -1
  929. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +25 -10
  930. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  931. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
  932. package/dist/src/providers/CurrencyProvider.js +1 -1
  933. package/dist/src/providers/CurrencyProvider.js.map +1 -1
  934. package/dist/src/providers/DIProvider.d.ts +2 -1
  935. package/dist/src/providers/DIProvider.js +2 -3
  936. package/dist/src/providers/DIProvider.js.map +1 -1
  937. package/dist/src/providers/DistanceProvider.js.map +1 -1
  938. package/dist/src/providers/FeatureProvider.js +3 -1
  939. package/dist/src/providers/FeatureProvider.js.map +1 -1
  940. package/dist/src/providers/FilterProvider.d.ts +1 -1
  941. package/dist/src/providers/FilterProvider.js +3 -3
  942. package/dist/src/providers/FilterProvider.js.map +1 -1
  943. package/dist/src/providers/ImageProvider.js +1 -1
  944. package/dist/src/providers/ImageProvider.js.map +1 -1
  945. package/dist/src/providers/LanguageProvider.js +1 -1
  946. package/dist/src/providers/LanguageProvider.js.map +1 -1
  947. package/dist/src/providers/PromotionProvider.d.ts +1 -1
  948. package/dist/src/providers/PromotionProvider.js.map +1 -1
  949. package/dist/src/providers/RatePillProvider.js.map +1 -1
  950. package/dist/src/providers/RoomSortProvider.js +2 -2
  951. package/dist/src/providers/RoomSortProvider.js.map +1 -1
  952. package/dist/src/providers/RoomstayThemeEngine.js +18 -8
  953. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  954. package/dist/src/providers/feature/DerbysoftClickTrackingFeature.js.map +1 -1
  955. package/dist/src/providers/feature/Feature.d.ts +0 -2
  956. package/dist/src/providers/feature/Feature.js +0 -4
  957. package/dist/src/providers/feature/Feature.js.map +1 -1
  958. package/dist/src/providers/feature/GiftCardFeature.d.ts +13 -0
  959. package/dist/src/providers/feature/GiftCardFeature.js +14 -0
  960. package/dist/src/providers/feature/GiftCardFeature.js.map +1 -0
  961. package/dist/src/providers/feature/GuestTitleFieldFeature.js.map +1 -1
  962. package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
  963. package/dist/src/providers/feature/MemberPortalFeature.js.map +1 -1
  964. package/dist/src/providers/feature/RoomUpsellFeature.d.ts +10 -0
  965. package/dist/src/providers/feature/RoomUpsellFeature.js +10 -0
  966. package/dist/src/providers/feature/RoomUpsellFeature.js.map +1 -1
  967. package/dist/src/providers/storage/SessionProvider.js +0 -2
  968. package/dist/src/providers/storage/SessionProvider.js.map +1 -1
  969. package/dist/src/providers/storage/StorageProvider.d.ts +1 -1
  970. package/dist/src/providers/storage/StorageProvider.js +17 -7
  971. package/dist/src/providers/storage/StorageProvider.js.map +1 -1
  972. package/dist/src/reducers/BasketReducer.js.map +1 -1
  973. package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +2 -1
  974. package/dist/src/stories/BookingWizard.stories.d.ts +3 -3
  975. package/dist/src/stories/Card.stories.d.ts +3 -5
  976. package/dist/src/stories/CardTypeSelect.stories.d.ts +2 -1
  977. package/dist/src/stories/Checkbox.stories.d.ts +2 -1
  978. package/dist/src/stories/ConfirmationModal.stories.d.ts +2 -1
  979. package/dist/src/stories/ConfirmationModal.stories.js +17 -7
  980. package/dist/src/stories/ConfirmationModal.stories.js.map +1 -1
  981. package/dist/src/stories/DateRangePicker.stories.d.ts +5 -4
  982. package/dist/src/stories/DateRangePicker.stories.js +17 -7
  983. package/dist/src/stories/DateRangePicker.stories.js.map +1 -1
  984. package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +2 -1
  985. package/dist/src/stories/ErrorModal.stories.d.ts +2 -1
  986. package/dist/src/stories/ErrorModal.stories.js +17 -7
  987. package/dist/src/stories/ErrorModal.stories.js.map +1 -1
  988. package/dist/src/stories/EventCarousel.stories.d.ts +4 -3
  989. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +4 -3
  990. package/dist/src/stories/FloatingDateRangePicker.stories.js +17 -7
  991. package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -1
  992. package/dist/src/stories/ForwardedSelect.stories.d.ts +2 -1
  993. package/dist/src/stories/Icon.stories.js +17 -7
  994. package/dist/src/stories/Icon.stories.js.map +1 -1
  995. package/dist/src/stories/IconNavCard.stories.d.ts +7 -16
  996. package/dist/src/stories/IconText.stories.js +17 -7
  997. package/dist/src/stories/IconText.stories.js.map +1 -1
  998. package/dist/src/stories/NumberIncrement.stories.d.ts +2 -1
  999. package/dist/src/stories/NumberIncrement.stories.js +17 -7
  1000. package/dist/src/stories/NumberIncrement.stories.js.map +1 -1
  1001. package/dist/src/stories/PasswordBox.stories.d.ts +2 -1
  1002. package/dist/src/stories/PaymentCard.stories.d.ts +4 -2
  1003. package/dist/src/stories/PaymentCardInput.stories.d.ts +2 -1
  1004. package/dist/src/stories/PlanpayButton.stories.d.ts +2 -1
  1005. package/dist/src/stories/RadioButton.stories.d.ts +2 -1
  1006. package/dist/src/stories/RadioButtonGroup.stories.d.ts +5 -5
  1007. package/dist/src/stories/RadioButtonGroup.stories.js +17 -7
  1008. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
  1009. package/dist/src/stories/Select.stories.d.ts +5 -6
  1010. package/dist/src/stories/Select.stories.js +17 -7
  1011. package/dist/src/stories/Select.stories.js.map +1 -1
  1012. package/dist/src/stories/SimpleModal.stories.d.ts +2 -1
  1013. package/dist/src/stories/SimpleModal.stories.js +17 -7
  1014. package/dist/src/stories/SimpleModal.stories.js.map +1 -1
  1015. package/dist/src/stories/Slider.stories.d.ts +4 -8
  1016. package/dist/src/stories/Slider.stories.js +17 -7
  1017. package/dist/src/stories/Slider.stories.js.map +1 -1
  1018. package/dist/src/stories/TabbedModal.stories.d.ts +2 -1
  1019. package/dist/src/stories/TabbedModal.stories.js +17 -7
  1020. package/dist/src/stories/TabbedModal.stories.js.map +1 -1
  1021. package/dist/src/stories/Tabs.stories.d.ts +3 -2
  1022. package/dist/src/stories/Text.stories.d.ts +2 -1
  1023. package/dist/src/stories/TextArea.stories.d.ts +2 -1
  1024. package/dist/src/stories/TextBox.stories.d.ts +2 -1
  1025. package/dist/src/translations/Translation.d.ts +0 -2
  1026. package/dist/src/translations/Translation.js +2 -4
  1027. package/dist/src/translations/Translation.js.map +1 -1
  1028. package/dist/src/translations/languages/en-gb.js +0 -2
  1029. package/dist/src/translations/languages/en-gb.js.map +1 -1
  1030. package/dist/src/util/Analytics/Analytics.d.ts +36 -10
  1031. package/dist/src/util/Analytics/Analytics.js +30 -0
  1032. package/dist/src/util/Analytics/Analytics.js.map +1 -1
  1033. package/dist/src/util/Analytics/GoogleAnalytics4.d.ts +10 -3
  1034. package/dist/src/util/Analytics/GoogleAnalytics4.js +21 -4
  1035. package/dist/src/util/Analytics/GoogleAnalytics4.js.map +1 -1
  1036. package/dist/src/util/Analytics/UniversalAnalytics.d.ts +5 -23
  1037. package/dist/src/util/Analytics/UniversalAnalytics.js +24 -5
  1038. package/dist/src/util/Analytics/UniversalAnalytics.js.map +1 -1
  1039. package/dist/src/util/AsyncAuth.js +17 -7
  1040. package/dist/src/util/AsyncAuth.js.map +1 -1
  1041. package/dist/src/util/CalendarHelper.js +1 -1
  1042. package/dist/src/util/CalendarHelper.js.map +1 -1
  1043. package/dist/src/util/Color.d.ts +1 -1
  1044. package/dist/src/util/Color.js +1 -1
  1045. package/dist/src/util/Color.js.map +1 -1
  1046. package/dist/src/util/CurrencyHelper.js.map +1 -1
  1047. package/dist/src/util/DataLayer.d.ts +9 -3
  1048. package/dist/src/util/DataLayer.js +61 -26
  1049. package/dist/src/util/DataLayer.js.map +1 -1
  1050. package/dist/src/util/Debounce.js +2 -3
  1051. package/dist/src/util/Debounce.js.map +1 -1
  1052. package/dist/src/util/DefaultValueManager.js +1 -1
  1053. package/dist/src/util/DefaultValueManager.js.map +1 -1
  1054. package/dist/src/util/DerbysoftPixel.d.ts +1 -1
  1055. package/dist/src/util/DerbysoftPixel.js +2 -2
  1056. package/dist/src/util/DerbysoftPixel.js.map +1 -1
  1057. package/dist/src/util/EventsHelper.d.ts +2 -2
  1058. package/dist/src/util/EventsHelper.js.map +1 -1
  1059. package/dist/src/util/HotelPerkHelper.js +17 -7
  1060. package/dist/src/util/HotelPerkHelper.js.map +1 -1
  1061. package/dist/src/util/ObjectHelper.d.ts +1 -1
  1062. package/dist/src/util/ObjectHelper.js.map +1 -1
  1063. package/dist/src/util/PaymentCardHelper.js.map +1 -1
  1064. package/dist/src/util/RouteManager.js +1 -1
  1065. package/dist/src/util/RouteManager.js.map +1 -1
  1066. package/dist/src/util/StepManager.js +1 -1
  1067. package/dist/src/util/StepManager.js.map +1 -1
  1068. package/dist/src/util/StringHelper.js.map +1 -1
  1069. package/dist/src/util/TextAlignment.js +1 -1
  1070. package/dist/src/util/TextAlignment.js.map +1 -1
  1071. package/dist/src/util/TimeHelper.js.map +1 -1
  1072. package/dist/test.bundle.js +1 -1
  1073. package/dist/tests/offline/entry/config/hotelSpecDefault.d.ts +2 -1
  1074. package/dist/tests/offline/entry/config/hotelSpecDefault.js +0 -1
  1075. package/dist/tests/offline/entry/config/hotelSpecDefault.js.map +1 -1
  1076. package/dist/vendors.bundle.js +1 -1
  1077. package/package.json +13 -5
  1078. package/dist/380.bundle.js +0 -1
  1079. package/dist/456.bundle.js +0 -1
  1080. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.d.ts +0 -15
  1081. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js +0 -135
  1082. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js.map +0 -1
  1083. package/dist/src/models/Api/ReservationsDTO.d.ts +0 -80
  1084. package/dist/src/models/Api/ReservationsDTO.js +0 -3
  1085. package/dist/src/models/Api/ReservationsDTO.js.map +0 -1
  1086. package/dist/src/util/TotalCalculator.d.ts +0 -24
  1087. package/dist/src/util/TotalCalculator.js +0 -157
  1088. package/dist/src/util/TotalCalculator.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationQuery.js","sourceRoot":"/","sources":["src/hooks/ConfirmationQuery.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAEhC,mCAAiD;AAE1C,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACrC,MAAM,SAAS,GAAG,IAAA,oBAAY,GAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAC;IACzB,MAAM,CAAC,kBAAkB,EAAE,eAAe,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,OAAO,CAAC,GAAG,IAAA,eAAO,EACrG,GAAG,EAAE,CAAC,CAAC,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAClJ,CAAC,SAAS,EAAE,KAAK,CAAC,CACrB,CAAC;IACF,OAAO;QACH,kBAAkB;QAClB,eAAe;QACf,sBAAsB;QAEtB,iBAAiB,EAAE,iBAAiB,KAAK,MAAM;QAC/C,OAAO,EAAE,OAAO,KAAK,MAAM;KAC9B,CAAC;AACN,CAAC,CAAC;AAfW,QAAA,oBAAoB,wBAe/B","sourcesContent":["import { useMemo } from 'react';\n\nimport { useHashQuery, useQuery } from './Query';\n\nexport const useConfirmationQuery = () => {\n const hashQuery = useHashQuery();\n const query = useQuery();\n const [queryPaymentMethod, queryRoomstayId, queryPlanpayCheckoutId, returnFromPayment, success] = useMemo(\n () => ['paymentMethod', 'roomstayId', 'planpay_checkout_id', 'returnFromPayment', 'success'].map((name) => query.get(name) || hashQuery.get(name)),\n [hashQuery, query]\n );\n return {\n queryPaymentMethod,\n queryRoomstayId,\n queryPlanpayCheckoutId,\n\n returnFromPayment: returnFromPayment === 'true',\n success: success === 'true',\n };\n};\n"]}
1
+ {"version":3,"file":"ConfirmationQuery.js","sourceRoot":"/","sources":["src/hooks/ConfirmationQuery.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAEhC,mCAAiD;AAE1C,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACrC,MAAM,SAAS,GAAG,IAAA,oBAAY,GAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAC;IACzB,MAAM,CAAC,kBAAkB,EAAE,eAAe,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,IAAA,eAAO,EAChH,GAAG,EAAE,CAAC,CAAC,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAC/J,CAAC,SAAS,EAAE,KAAK,CAAC,CACrB,CAAC;IAEF,MAAM,mBAAmB,GAAY,iBAAiB,KAAK,MAAM,CAAC;IAClE,MAAM,SAAS,GAAY,OAAO,KAAK,MAAM,CAAC;IAC9C,MAAM,iBAAiB,GAAY,CAAC,CAAC,sBAAsB,IAAI,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,kBAAkB,CAAC;IACzG,MAAM,yBAAyB,GAAY,mBAAmB,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC;IACzH,MAAM,iBAAiB,GAAY,CAAC,yBAAyB,IAAI,CAAC,iBAAiB,CAAC;IAEpF,OAAO;QACH,kBAAkB;QAClB,eAAe;QACf,sBAAsB;QAEtB,iBAAiB,EAAE,mBAAmB;QACtC,OAAO,EAAE,SAAS;QAClB,SAAS;QACT,iBAAiB;QACjB,yBAAyB;QACzB,iBAAiB;KACpB,CAAC;AACN,CAAC,CAAC;AA1BW,QAAA,oBAAoB,wBA0B/B","sourcesContent":["import { useMemo } from 'react';\n\nimport { useHashQuery, useQuery } from './Query';\n\nexport const useConfirmationQuery = () => {\n const hashQuery = useHashQuery();\n const query = useQuery();\n const [queryPaymentMethod, queryRoomstayId, queryPlanpayCheckoutId, returnFromPayment, success, paymentId] = useMemo(\n () => ['paymentMethod', 'roomstayId', 'planpay_checkout_id', 'returnFromPayment', 'success', 'paymentId'].map((name) => query.get(name) || hashQuery.get(name)),\n [hashQuery, query]\n );\n\n const isReturnFromPayment: boolean = returnFromPayment === 'true';\n const isSuccess: boolean = success === 'true';\n const isBackFromPlanpay: boolean = !!queryPlanpayCheckoutId && !!queryRoomstayId && !!queryPaymentMethod;\n const isBackFromExternalPayment: boolean = isReturnFromPayment && (isSuccess || !isBackFromPlanpay) && !!queryRoomstayId;\n const isInitialCheckout: boolean = !isBackFromExternalPayment && !isBackFromPlanpay;\n\n return {\n queryPaymentMethod,\n queryRoomstayId,\n queryPlanpayCheckoutId,\n\n returnFromPayment: isReturnFromPayment,\n success: isSuccess,\n paymentId,\n isBackFromPlanpay,\n isBackFromExternalPayment,\n isInitialCheckout,\n };\n};\n"]}
@@ -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"]}
@@ -80,7 +80,6 @@ const useRoomRateAvailabilityListFromApi = () => {
80
80
  numChildren: children,
81
81
  numRooms: 1,
82
82
  promoCode: promoCode,
83
- roomCode: selectedBasketRow === null || selectedBasketRow === void 0 ? void 0 : selectedBasketRow.getRoomCode(),
84
83
  };
85
84
  const event = new events_1.GuestSearchEvent(search);
86
85
  raise(event);
@@ -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 roomCode: selectedBasketRow?.getRoomCode(),\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"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useUpdateQueryParameters = void 0;
3
+ exports.useUpdateQueryParameters = useUpdateQueryParameters;
4
4
  const Query_1 = require("hooks/Query");
5
5
  const react_router_dom_1 = require("react-router-dom");
6
6
  function useUpdateQueryParameters(hashNavigation = true) {
@@ -19,5 +19,4 @@ function useUpdateQueryParameters(hashNavigation = true) {
19
19
  }, { replace: true });
20
20
  };
21
21
  }
22
- exports.useUpdateQueryParameters = useUpdateQueryParameters;
23
22
  //# sourceMappingURL=UpdateQueryParameters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateQueryParameters.js","sourceRoot":"/","sources":["src/hooks/UpdateQueryParameters.ts"],"names":[],"mappings":";;;AAAA,uCAA2C;AAC3C,uDAA+C;AAE/C,SAAgB,wBAAwB,CAAC,cAAc,GAAG,IAAI;IAC1D,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAA,oBAAY,GAAE,CAAC;IAEjC,OAAO,CAAC,eAAuC,EAAE,EAAE;QAC/C,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;YAC/B,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5C;QAED,wGAAwG;QACxG,6FAA6F;QAC7F,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE/E,QAAQ,CACJ;YACI,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACvD,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE;SAC/B,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CACpB,CAAC;IACN,CAAC,CAAC;AACN,CAAC;AArBD,4DAqBC","sourcesContent":["import { useHashQuery } from 'hooks/Query';\nimport { useNavigate } from 'react-router-dom';\n\nexport function useUpdateQueryParameters(hashNavigation = true) {\n const navigate = useNavigate();\n const hashQuery = useHashQuery();\n\n return (queryParameters: Record<string, string>) => {\n for (const key in queryParameters) {\n hashQuery.set(key, queryParameters[key]);\n }\n\n // We can't rely on relative navigation because react-router will navigate relative to the path that was\n // captured when the hook first rendered. We need to explicitly navigate to the current path.\n const hashUrl = new URL(window.location.hash.slice(1), window.location.origin);\n\n navigate(\n {\n pathname: hashNavigation ? hashUrl.pathname : undefined,\n search: hashQuery.toString(),\n },\n { replace: true }\n );\n };\n}\n"]}
1
+ {"version":3,"file":"UpdateQueryParameters.js","sourceRoot":"/","sources":["src/hooks/UpdateQueryParameters.ts"],"names":[],"mappings":";;AAGA,4DAqBC;AAxBD,uCAA2C;AAC3C,uDAA+C;AAE/C,SAAgB,wBAAwB,CAAC,cAAc,GAAG,IAAI;IAC1D,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAA,oBAAY,GAAE,CAAC;IAEjC,OAAO,CAAC,eAAuC,EAAE,EAAE;QAC/C,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAChC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,wGAAwG;QACxG,6FAA6F;QAC7F,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE/E,QAAQ,CACJ;YACI,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACvD,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE;SAC/B,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CACpB,CAAC;IACN,CAAC,CAAC;AACN,CAAC","sourcesContent":["import { useHashQuery } from 'hooks/Query';\nimport { useNavigate } from 'react-router-dom';\n\nexport function useUpdateQueryParameters(hashNavigation = true) {\n const navigate = useNavigate();\n const hashQuery = useHashQuery();\n\n return (queryParameters: Record<string, string>) => {\n for (const key in queryParameters) {\n hashQuery.set(key, queryParameters[key]);\n }\n\n // We can't rely on relative navigation because react-router will navigate relative to the path that was\n // captured when the hook first rendered. We need to explicitly navigate to the current path.\n const hashUrl = new URL(window.location.hash.slice(1), window.location.origin);\n\n navigate(\n {\n pathname: hashNavigation ? hashUrl.pathname : undefined,\n search: hashQuery.toString(),\n },\n { replace: true }\n );\n };\n}\n"]}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IVGSVaultNames } from '../models/Client/Hotel/Hotel';
3
2
  import { ECardType } from '../models/PaymentCard';
4
3
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"VGSHooks.js","sourceRoot":"/","sources":["src/hooks/VGSHooks.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { IVGSVaultNames } from '@/models/Client/Hotel/Hotel';\nimport { ECardType } from '@/models/PaymentCard';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { getAuth } from '@/util/AsyncAuth';\n\nimport { useCurrentHotel } from './CurrentHotelHook';\n\nlet vgsShowLoader: Promise<any> | null = null;\nlet VGSShow: any;\n\nlet vgsCollectLoader: Promise<any> | null = null;\n\nconst getVGSVaultKey = (vaultName: VGSVaultType = 'standard'): string => {\n const { hotel } = useCurrentHotel();\n\n const members = hotel?.vgs?.vaultNames?.members ?? 'tntjyo5u2pi';\n const standard = hotel?.vgs?.vaultNames?.standard ?? 'tntmupn9ras';\n\n switch (vaultName) {\n case 'members':\n return members;\n case 'standard':\n default:\n return standard;\n }\n};\n\ndeclare global {\n interface Window {\n VGSCollect: any;\n }\n}\n\nwindow.VGSCollect = window.VGSCollect || {};\n\ntype VGSVaultType = keyof IVGSVaultNames;\n\ntype UseVgsShowProps = {\n name: string;\n value?: string;\n\n styles?: Record<string, any>;\n vaultType?: VGSVaultType;\n};\n\n/**\n * TODO: This only works for the Members vault right now\n *\n * Need to:\n * - Update the serializer\n * - Handle errors better\n */\nexport const useVgsShow = (props: UseVgsShowProps) => {\n const vgsKeys = getVGSVaultKey('members');\n\n const [randomId] = useState(btoa((Math.random() * Math.random() * Date.now()).toString()).replace(/=/gi, ''));\n const [isLoading, setIsLoading] = useState(false);\n\n const targetRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (vgsShowLoader === null) {\n vgsShowLoader = (async () => {\n try {\n await RoomstayThemeEngine.loadScript('https://js.verygoodvault.com/vgs-show/2.0.2/show.js', 'vgs-show');\n\n VGSShow = window.VGSShow.create(vgsKeys, (state: any) => {}).setEnvironment('live');\n } catch (ex: any) {\n console.error('Unable to load vgs-show ' + ex.message);\n }\n })();\n }\n }, []);\n\n const handleReveal = async () => {\n const Auth = await getAuth();\n if (VGSShow && targetRef?.current) {\n targetRef.current.classList.add(randomId);\n setIsLoading(true);\n\n Auth.currentAuthenticatedUser().then((cognitoData) => {\n const jwtToken = cognitoData.signInUserSession.idToken.jwtToken;\n\n const revealer = VGSShow.request({\n name: props.name,\n method: 'POST',\n path: '/members/vgs-auth',\n payload: {\n [props.name]: `${props.value}`,\n },\n headers: {\n Authorization: jwtToken,\n },\n serializers: [VGSShow.SERIALIZERS.replace('(\\\\d{4})(\\\\d{4})(\\\\d{4})(\\\\d{4})', '$1 $2 $3 $4')],\n htmlWrapper: 'text',\n jsonPathSelector: `${props.name}`,\n });\n\n // TODO: Handle failure on reveal\n revealer.on('revealSuccess', () => {\n setIsLoading(false);\n });\n\n revealer.on('revealFail', () => {\n setIsLoading(false);\n });\n if (targetRef.current) targetRef.current.innerHTML = '';\n revealer.render(`.${randomId}`, props.styles);\n });\n }\n };\n\n useEffect(() => {\n handleReveal();\n }, [VGSShow, targetRef, props.name, props.value]);\n\n return { targetRef, isLoading };\n};\n\ntype VGSCollectProps = {\n name: string;\n type: 'card-expiration-date' | 'text' | 'card-number' | 'card-security-code';\n label: string;\n\n vgsProps: {\n validations?: ('required' | 'validCardNumber' | 'validCardExpirationDate' | 'validCardSecurityCode')[];\n disabled?: boolean;\n css: object;\n placeholder?: string;\n\n [name: string]: any;\n };\n};\n\ntype VGSCollectInputState = {\n name: string;\n label: string;\n type: string;\n\n isFocused: boolean;\n isValid: boolean;\n\n vgsInput: any;\n\n cardType?: ECardType;\n};\n\nexport const useVgsCollect = (fields: VGSCollectProps[], vaultType: VGSVaultType = 'standard') => {\n const vaultKey = getVGSVaultKey(vaultType);\n\n const refs = fields.map(() => {\n return useRef<HTMLDivElement | null>(null);\n });\n\n const getDefaultStateFromFields: () => VGSCollectInputState[] = () => {\n return fields.map((field) => {\n return {\n isFocused: false,\n isValid: false,\n\n name: field.name,\n label: field.label,\n type: field.type,\n\n vgsInput: null,\n };\n });\n };\n\n const mapInputConfigToVGS = (config: VGSCollectProps) => {\n return {\n name: config.name,\n type: config.type,\n ...config.vgsProps,\n disabled: config.vgsProps.disabled || undefined,\n };\n };\n\n const getClassesFormInput = (index: number, extendedClasses?: string) => {\n const field: VGSCollectInputState = inputState[index];\n const config = fields[index];\n\n if (!field) return '';\n\n return classNames('c-input', 'c-input--vgs', extendedClasses, {\n '--selected': field.isFocused,\n '--success': field.isValid !== null && field.isValid,\n '--error': field.isValid !== null && !field.isValid,\n '--disabled': !!config?.vgsProps?.disabled,\n });\n };\n\n const [vgsLoaded, setVgsLoaded] = useState(false);\n const [vgsForm, setVgsForm] = useState<any>(null);\n const [inputState, setInputState] = useState<VGSCollectInputState[]>(getDefaultStateFromFields());\n\n /** Loading VGS, or seeing if it's been loaded before, and binding onto that. */\n useEffect(() => {\n let cancelled = false;\n\n if (vgsCollectLoader === null) {\n vgsCollectLoader = (async () => {\n await RoomstayThemeEngine.loadScript('https://js.verygoodvault.com/vgs-collect/2.18.1/vgs-collect.js', 'vgs-collect');\n\n if (!cancelled) {\n setVgsLoaded(true);\n }\n })();\n } else {\n vgsCollectLoader.then(() => {\n if (!cancelled) {\n setVgsLoaded(true);\n }\n });\n }\n\n return () => {\n cancelled = true;\n };\n }, []);\n\n useEffect(() => {\n for (const ref of refs) {\n if (!ref?.current) {\n // Means we've still to wait for all the refs to bind\n return;\n }\n }\n\n if (vgsLoaded && !vgsForm) {\n const form = window.VGSCollect.create(vaultKey, 'live', (state: any) => {\n setInputState((oldState) => {\n const newState = [...oldState];\n\n for (const input of newState) {\n const vgsState = state[input.name];\n\n if (vgsState) {\n input.isFocused = vgsState.isFocused;\n input.isValid = !vgsState.isEmpty ? vgsState.isValid : null;\n\n if (input.type === 'card-number') {\n input.cardType = vgsState.cardType;\n }\n }\n }\n\n return newState;\n });\n });\n\n setVgsForm(form);\n\n setInputState((oldState) => {\n const newState = [...oldState];\n\n for (let i = 0; i < newState.length; i++) {\n const input = newState[i];\n const inputConfig = fields[i];\n\n input.vgsInput = form.field(refs[i].current, mapInputConfigToVGS(inputConfig));\n }\n\n return newState;\n });\n }\n }, [vgsLoaded, vgsForm, refs]);\n\n const triggerFieldUpdate = () => {\n for (const ref of refs) {\n if (!ref?.current) {\n // Means we've still to wait for all the refs to bind\n return;\n }\n }\n\n if (!vgsForm) {\n // Means VGS Collect has not loaded yet.\n return;\n }\n\n for (let i = 0; i < inputState.length; i++) {\n const input = inputState[i];\n const inputConfig = fields[i];\n\n if (input.vgsInput) {\n input.vgsInput.update?.(mapInputConfigToVGS(inputConfig));\n }\n }\n };\n\n return {\n fields: fields.map((item, index) => {\n return {\n ref: refs[index],\n state: inputState[index],\n getClasses: (extendedClasses?: string) => getClassesFormInput(index, extendedClasses),\n };\n }),\n triggerFieldUpdate,\n vgsForm,\n };\n};\n"]}
1
+ {"version":3,"file":"VGSHooks.js","sourceRoot":"/","sources":["src/hooks/VGSHooks.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { IVGSVaultNames } from '@/models/Client/Hotel/Hotel';\nimport { ECardType } from '@/models/PaymentCard';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { getAuth } from '@/util/AsyncAuth';\n\nimport { useCurrentHotel } from './CurrentHotelHook';\n\nlet vgsShowLoader: Promise<any> | null = null;\nlet VGSShow: any;\n\nlet vgsCollectLoader: Promise<any> | null = null;\n\nconst getVGSVaultKey = (vaultName: VGSVaultType = 'standard'): string => {\n const { hotel } = useCurrentHotel();\n\n const members = hotel?.vgs?.vaultNames?.members ?? 'tntjyo5u2pi';\n const standard = hotel?.vgs?.vaultNames?.standard ?? 'tntmupn9ras';\n\n switch (vaultName) {\n case 'members':\n return members;\n case 'standard':\n default:\n return standard;\n }\n};\n\ndeclare global {\n interface Window {\n VGSCollect: any;\n }\n}\n\nwindow.VGSCollect = window.VGSCollect || {};\n\ntype VGSVaultType = keyof IVGSVaultNames;\n\ntype UseVgsShowProps = {\n name: string;\n value?: string;\n\n styles?: Record<string, any>;\n vaultType?: VGSVaultType;\n};\n\n/**\n * TODO: This only works for the Members vault right now\n *\n * Need to:\n * - Update the serializer\n * - Handle errors better\n */\nexport const useVgsShow = (props: UseVgsShowProps) => {\n const vgsKeys = getVGSVaultKey('members');\n\n const [randomId] = useState(btoa((Math.random() * Math.random() * Date.now()).toString()).replace(/=/gi, ''));\n const [isLoading, setIsLoading] = useState(false);\n\n const targetRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (vgsShowLoader === null) {\n vgsShowLoader = (async () => {\n try {\n await RoomstayThemeEngine.loadScript('https://js.verygoodvault.com/vgs-show/2.0.2/show.js', 'vgs-show');\n\n VGSShow = window.VGSShow.create(vgsKeys, (state: any) => {}).setEnvironment('live');\n } catch (ex: any) {\n console.error('Unable to load vgs-show ' + ex.message);\n }\n })();\n }\n }, []);\n\n const handleReveal = async () => {\n const Auth = await getAuth();\n if (VGSShow && targetRef?.current) {\n targetRef.current.classList.add(randomId);\n setIsLoading(true);\n\n Auth.currentAuthenticatedUser().then((cognitoData) => {\n const jwtToken = cognitoData.signInUserSession.idToken.jwtToken;\n\n const revealer = VGSShow.request({\n name: props.name,\n method: 'POST',\n path: '/members/vgs-auth',\n payload: {\n [props.name]: `${props.value}`,\n },\n headers: {\n Authorization: jwtToken,\n },\n serializers: [VGSShow.SERIALIZERS.replace('(\\\\d{4})(\\\\d{4})(\\\\d{4})(\\\\d{4})', '$1 $2 $3 $4')],\n htmlWrapper: 'text',\n jsonPathSelector: `${props.name}`,\n });\n\n // TODO: Handle failure on reveal\n revealer.on('revealSuccess', () => {\n setIsLoading(false);\n });\n\n revealer.on('revealFail', () => {\n setIsLoading(false);\n });\n if (targetRef.current) targetRef.current.innerHTML = '';\n revealer.render(`.${randomId}`, props.styles);\n });\n }\n };\n\n useEffect(() => {\n handleReveal();\n }, [VGSShow, targetRef, props.name, props.value]);\n\n return { targetRef, isLoading };\n};\n\ntype VGSCollectProps = {\n name: string;\n type: 'card-expiration-date' | 'text' | 'card-number' | 'card-security-code';\n label: string;\n\n vgsProps: {\n validations?: ('required' | 'validCardNumber' | 'validCardExpirationDate' | 'validCardSecurityCode')[];\n disabled?: boolean;\n css: object;\n placeholder?: string;\n\n [name: string]: any;\n };\n};\n\ntype VGSCollectInputState = {\n name: string;\n label: string;\n type: string;\n\n isFocused: boolean;\n isValid: boolean;\n\n vgsInput: any;\n\n cardType?: ECardType;\n};\n\nexport const useVgsCollect = (fields: VGSCollectProps[], vaultType: VGSVaultType = 'standard') => {\n const vaultKey = getVGSVaultKey(vaultType);\n\n const refs = fields.map(() => {\n return useRef<HTMLDivElement | null>(null);\n });\n\n const getDefaultStateFromFields: () => VGSCollectInputState[] = () => {\n return fields.map((field) => {\n return {\n isFocused: false,\n isValid: false,\n\n name: field.name,\n label: field.label,\n type: field.type,\n\n vgsInput: null,\n };\n });\n };\n\n const mapInputConfigToVGS = (config: VGSCollectProps) => {\n return {\n name: config.name,\n type: config.type,\n ...config.vgsProps,\n disabled: config.vgsProps.disabled || undefined,\n };\n };\n\n const getClassesFormInput = (index: number, extendedClasses?: string) => {\n const field: VGSCollectInputState = inputState[index];\n const config = fields[index];\n\n if (!field) return '';\n\n return classNames('c-input', 'c-input--vgs', extendedClasses, {\n '--selected': field.isFocused,\n '--success': field.isValid !== null && field.isValid,\n '--error': field.isValid !== null && !field.isValid,\n '--disabled': !!config?.vgsProps?.disabled,\n });\n };\n\n const [vgsLoaded, setVgsLoaded] = useState(false);\n const [vgsForm, setVgsForm] = useState<any>(null);\n const [inputState, setInputState] = useState<VGSCollectInputState[]>(getDefaultStateFromFields());\n\n /** Loading VGS, or seeing if it's been loaded before, and binding onto that. */\n useEffect(() => {\n let cancelled = false;\n\n if (vgsCollectLoader === null) {\n vgsCollectLoader = (async () => {\n await RoomstayThemeEngine.loadScript('https://js.verygoodvault.com/vgs-collect/2.18.1/vgs-collect.js', 'vgs-collect');\n\n if (!cancelled) {\n setVgsLoaded(true);\n }\n })();\n } else {\n vgsCollectLoader.then(() => {\n if (!cancelled) {\n setVgsLoaded(true);\n }\n });\n }\n\n return () => {\n cancelled = true;\n };\n }, []);\n\n useEffect(() => {\n for (const ref of refs) {\n if (!ref?.current) {\n // Means we've still to wait for all the refs to bind\n return;\n }\n }\n\n if (vgsLoaded && !vgsForm) {\n const form = window.VGSCollect.create(vaultKey, 'live', (state: any) => {\n setInputState((oldState) => {\n const newState = [...oldState];\n\n for (const input of newState) {\n const vgsState = state[input.name];\n\n if (vgsState) {\n input.isFocused = vgsState.isFocused;\n input.isValid = !vgsState.isEmpty ? vgsState.isValid : null;\n\n if (input.type === 'card-number') {\n input.cardType = vgsState.cardType;\n }\n }\n }\n\n return newState;\n });\n });\n\n setVgsForm(form);\n\n setInputState((oldState) => {\n const newState = [...oldState];\n\n for (let i = 0; i < newState.length; i++) {\n const input = newState[i];\n const inputConfig = fields[i];\n\n input.vgsInput = form.field(refs[i].current, mapInputConfigToVGS(inputConfig));\n }\n\n return newState;\n });\n }\n }, [vgsLoaded, vgsForm, refs]);\n\n const triggerFieldUpdate = () => {\n for (const ref of refs) {\n if (!ref?.current) {\n // Means we've still to wait for all the refs to bind\n return;\n }\n }\n\n if (!vgsForm) {\n // Means VGS Collect has not loaded yet.\n return;\n }\n\n for (let i = 0; i < inputState.length; i++) {\n const input = inputState[i];\n const inputConfig = fields[i];\n\n if (input.vgsInput) {\n input.vgsInput.update?.(mapInputConfigToVGS(inputConfig));\n }\n }\n };\n\n return {\n fields: fields.map((item, index) => {\n return {\n ref: refs[index],\n state: inputState[index],\n getClasses: (extendedClasses?: string) => getClassesFormInput(index, extendedClasses),\n };\n }),\n triggerFieldUpdate,\n vgsForm,\n };\n};\n"]}
@@ -86,7 +86,7 @@ const useCalendarNightStay = ({ basketContext, }) => {
86
86
  });
87
87
  }));
88
88
  const getArrivalNightStay = (fromDate, roomCode) => new Promise((resolve) => __awaiter(void 0, void 0, void 0, function* () {
89
- var _e, _f;
89
+ var _a, _b;
90
90
  const selectedBasketRow = basketContext.selectedBasketRow;
91
91
  const adults = selectedBasketRow ? selectedBasketRow.getAdults() : 0;
92
92
  const children = selectedBasketRow ? selectedBasketRow.getChildren() : 0;
@@ -94,8 +94,8 @@ const useCalendarNightStay = ({ basketContext, }) => {
94
94
  const promoCode = selectedBasketRow ? selectedBasketRow.getPromoCode() : '';
95
95
  const price = yield BookingAPI_1.default.Availability.getCheapestPriceForDay(fromDate, adults, children, infants, promoCode, roomCode, hotel === null || hotel === void 0 ? void 0 : hotel.hotelID, memberNumber, false);
96
96
  return resolve({
97
- arrivalMinNightStay: (_e = price === null || price === void 0 ? void 0 : price.arrivalMinNightStay) !== null && _e !== void 0 ? _e : null,
98
- arrivalMaxNightStay: (_f = price === null || price === void 0 ? void 0 : price.arrivalMaxNightStay) !== null && _f !== void 0 ? _f : null,
97
+ arrivalMinNightStay: (_a = price === null || price === void 0 ? void 0 : price.arrivalMinNightStay) !== null && _a !== void 0 ? _a : null,
98
+ arrivalMaxNightStay: (_b = price === null || price === void 0 ? void 0 : price.arrivalMaxNightStay) !== null && _b !== void 0 ? _b : null,
99
99
  });
100
100
  }));
101
101
  const checkAvailableNightStay = ({ arrivalNightStay, startDate, dateToCheck, }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useCalendarNightStay.js","sourceRoot":"/","sources":["src/hooks/useCalendarNightStay.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2CAAkD;AAGlD,kEAAmC;AAEnC,2DAAwD;AAuBjD,MAAM,oBAAoB,GAAG,CAAC,EACjC,aAAa,GACW,EAgB1B,EAAE;IACA,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACpC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAA,qCAAiB,GAAE,CAAC;IAC7C,MAAM,mBAAmB,GAAyB;QAC9C,IAAI,EAAE,KAAK;QACX,mBAAmB,EAAE,IAAI;QACzB,mBAAmB,EAAE,IAAI;QACzB,sBAAsB,EAAE,IAAI;QAC5B,sBAAsB,EAAE,IAAI;KAC/B,CAAC;IACF,MAAM,eAAe,GAAG,CACpB,QAAe,EACf,MAAa,EACb,QAAiB,EACqF,EAAE,CACxG,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,EAAE;;QAC1B,MAAM,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC;QAC1D,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5E,IAAI,CAAC,QAAQ,EAAE;YACX,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE;QAED,MAAM,UAAU,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,uDAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,MAAM,oBAAG,CAAC,YAAY,CAAC,sBAAsB,CACvD,UAAU,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,SAAS,EACT,QAAQ,EACR,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAiB,EACxB,YAAY,EACZ,KAAK,CACR,CAAC;YACF,MAAM,aAAa,GAAG,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAA,IAAI,KAAK,CAAC;YAC7C,MAAM,iBAAiB,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,2DAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC9D,IAAI,iBAAiB,IAAI,CAAC,EAAE;gBACxB,cAAc;gBACd,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE;oBAC/B,IAAI,EAAE,IAAI;oBACV,mBAAmB,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,mBAAmB,mCAAI,IAAI;oBACvD,mBAAmB,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,mBAAmB,mCAAI,IAAI;oBACvD,sBAAsB,EAAE,IAAI;oBAC5B,sBAAsB,EAAE,IAAI;iBAC/B,CAAC,CAAC;aACN;YACD,IAAI,mBAAmB,CAAC,mBAAmB,EAAE;gBACzC,qBAAqB;gBACrB,IAAI,iBAAiB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE;oBAC9D,mBAAmB,CAAC,sBAAsB,GAAG,IAAI,CAAC;iBACrD;qBAAM;oBACH,mBAAmB,CAAC,sBAAsB,GAAG,mBAAmB,CAAC,mBAAmB,CAAC;iBACxF;aACJ;YACD,IAAI,mBAAmB,CAAC,mBAAmB,EAAE;gBACzC,qBAAqB;gBACrB,IAAI,iBAAiB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE;oBAC9D,mBAAmB,CAAC,sBAAsB,GAAG,IAAI,CAAC;iBACrD;qBAAM;oBACH,mBAAmB,CAAC,sBAAsB,GAAG,mBAAmB,CAAC,mBAAmB,CAAC;iBACxF;aACJ;YAED,IAAI,aAAa,EAAE;gBACf,yEAAyE;gBACzE,OAAO,OAAO,CAAC;oBACX,YAAY,EAAE,UAAU;oBACxB,mBAAmB;oBACnB,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,sBAAsB,IAAI,CAAC,mBAAmB,CAAC,sBAAsB;iBAC/G,CAAC,CAAC;aACN;SACJ;QAED,OAAO,OAAO,CAAC;YACX,YAAY,EAAE,MAAM;YACpB,mBAAmB;YACnB,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,sBAAsB,IAAI,CAAC,mBAAmB,CAAC,sBAAsB;SAC/G,CAAC,CAAC;IACP,CAAC,CAAA,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,CAAC,QAAe,EAAE,QAAgB,EAA8B,EAAE,CAC1F,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,EAAE;;QAC1B,MAAM,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC;QAC1D,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5E,MAAM,KAAK,GAAG,MAAM,oBAAG,CAAC,YAAY,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAiB,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACrK,OAAO,OAAO,CAAC;YACX,mBAAmB,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,mBAAmB,mCAAI,IAAI;YACvD,mBAAmB,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,mBAAmB,mCAAI,IAAI;SAC1D,CAAC,CAAC;IACP,CAAC,CAAA,CAAC,CAAC;IAEP,MAAM,uBAAuB,GAAG,CAAC,EAC7B,gBAAgB,EAChB,SAAS,EACT,WAAW,GAKd,EAAuB,EAAE;;QACtB,MAAM,mBAAmB,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,mBAAmB,mCAAI,IAAI,CAAC;QAC1E,MAAM,mBAAmB,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,mBAAmB,mCAAI,IAAI,CAAC;QAC1E,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,WAAW,IAAI,SAAS,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,EAAE;YAC1E,MAAM,UAAU,GAAc,EAAE,CAAC;YACjC,IAAI,mBAAmB,EAAE;gBACrB,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;gBAC5D,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC;aAC3C;YACD,IAAI,mBAAmB,EAAE;gBACrB,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;gBAC5D,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC;aAC3C;YACD,OAAO;gBACH,OAAO;gBACP,OAAO;gBACP,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;aACjD,CAAC;SACL;QACD,OAAO;YACH,OAAO;YACP,OAAO;YACP,SAAS,EAAE,IAAI;SAClB,CAAC;IACN,CAAC,CAAC;IAEF,OAAO;QACH,eAAe;QACf,mBAAmB;QACnB,uBAAuB;KAC1B,CAAC;AACN,CAAC,CAAC;AAjKW,QAAA,oBAAoB,wBAiK/B","sourcesContent":["import { BasketContextType } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { Dayjs } from 'dayjs';\n\nimport API from '@/api/BookingAPI';\n\nimport { useSignedInMember } from './useSignedInMember';\n\ninterface UseCalendarNightStayProps {\n basketContext: BasketContextType;\n}\n\nexport interface INightStayValidation {\n init: boolean;\n arrivalMinNightStay: number | null;\n arrivalMaxNightStay: number | null;\n validationMinNightStay: number | null;\n validationMaxNightStay: number | null;\n}\nexport interface IArrivalNightStay {\n arrivalMinNightStay: number | null;\n arrivalMaxNightStay: number | null;\n}\nexport interface IAvailableNightStay {\n minDate: Dayjs | null;\n maxDate: Dayjs | null;\n available: boolean;\n}\n\nexport const useCalendarNightStay = ({\n basketContext,\n}: UseCalendarNightStayProps): {\n getLastValidDay: (\n fromDate: Dayjs,\n toDate: Dayjs,\n roomCode?: string\n ) => Promise<{\n lastValidDay: Dayjs;\n nightStayValidation: INightStayValidation;\n isValidNightStay: boolean;\n }>;\n getArrivalNightStay: (fromDate: Dayjs, roomCode: string) => Promise<IArrivalNightStay>;\n checkAvailableNightStay: ({ arrivalNightStay, startDate, dateToCheck }: { arrivalNightStay: IArrivalNightStay; startDate: Dayjs | null; dateToCheck: Dayjs | null }) => {\n minDate: Dayjs | null;\n maxDate: Dayjs | null;\n available: boolean;\n };\n} => {\n const { hotel } = useCurrentHotel();\n const { memberNumber } = useSignedInMember();\n const nightStayValidation: INightStayValidation = {\n init: false,\n arrivalMinNightStay: null,\n arrivalMaxNightStay: null,\n validationMinNightStay: null,\n validationMaxNightStay: null,\n };\n const getLastValidDay = (\n fromDate: Dayjs,\n toDate: Dayjs,\n roomCode?: string\n ): Promise<{ lastValidDay: Dayjs; nightStayValidation: INightStayValidation; isValidNightStay: boolean }> =>\n new Promise(async (resolve) => {\n const selectedBasketRow = basketContext.selectedBasketRow;\n const adults = selectedBasketRow ? selectedBasketRow.getAdults() : 0;\n const children = selectedBasketRow ? selectedBasketRow.getChildren() : 0;\n const infants = selectedBasketRow ? selectedBasketRow.getInfants() : 0;\n const promoCode = selectedBasketRow ? selectedBasketRow.getPromoCode() : '';\n\n if (!roomCode) {\n roomCode = selectedBasketRow ? selectedBasketRow.getRoomCode() : '';\n }\n\n const toDateDiff = toDate?.diff?.(fromDate, 'day');\n\n for (let i = 0; i <= toDateDiff; i++) {\n const dayToCheck = fromDate.add(i, 'day');\n const price = await API.Availability.getCheapestPriceForDay(\n dayToCheck,\n adults,\n children,\n infants,\n promoCode,\n roomCode,\n hotel?.hotelID as string,\n memberNumber,\n false\n );\n const nextMustBreak = !price?.price && hotel;\n const departureDateDiff = dayToCheck?.diff?.(fromDate, 'day');\n if (departureDateDiff == 0) {\n //Arrival date\n Object.assign(nightStayValidation, {\n init: true,\n arrivalMinNightStay: price?.arrivalMinNightStay ?? null,\n arrivalMaxNightStay: price?.arrivalMaxNightStay ?? null,\n validationMinNightStay: null,\n validationMaxNightStay: null,\n });\n }\n if (nightStayValidation.arrivalMinNightStay) {\n //Min. Departure date\n if (departureDateDiff >= nightStayValidation.arrivalMinNightStay) {\n nightStayValidation.validationMinNightStay = null;\n } else {\n nightStayValidation.validationMinNightStay = nightStayValidation.arrivalMinNightStay;\n }\n }\n if (nightStayValidation.arrivalMaxNightStay) {\n //Max. Departure date\n if (departureDateDiff <= nightStayValidation.arrivalMaxNightStay) {\n nightStayValidation.validationMaxNightStay = null;\n } else {\n nightStayValidation.validationMaxNightStay = nightStayValidation.arrivalMaxNightStay;\n }\n }\n\n if (nextMustBreak) {\n //if true, this date only available for departure (no price for checking)\n return resolve({\n lastValidDay: dayToCheck,\n nightStayValidation,\n isValidNightStay: !nightStayValidation.validationMinNightStay && !nightStayValidation.validationMaxNightStay,\n });\n }\n }\n\n return resolve({\n lastValidDay: toDate,\n nightStayValidation,\n isValidNightStay: !nightStayValidation.validationMinNightStay && !nightStayValidation.validationMaxNightStay,\n });\n });\n\n const getArrivalNightStay = (fromDate: Dayjs, roomCode: string): Promise<IArrivalNightStay> =>\n new Promise(async (resolve) => {\n const selectedBasketRow = basketContext.selectedBasketRow;\n const adults = selectedBasketRow ? selectedBasketRow.getAdults() : 0;\n const children = selectedBasketRow ? selectedBasketRow.getChildren() : 0;\n const infants = selectedBasketRow ? selectedBasketRow.getInfants() : 0;\n const promoCode = selectedBasketRow ? selectedBasketRow.getPromoCode() : '';\n\n const price = await API.Availability.getCheapestPriceForDay(fromDate, adults, children, infants, promoCode, roomCode, hotel?.hotelID as string, memberNumber, false);\n return resolve({\n arrivalMinNightStay: price?.arrivalMinNightStay ?? null,\n arrivalMaxNightStay: price?.arrivalMaxNightStay ?? null,\n });\n });\n\n const checkAvailableNightStay = ({\n arrivalNightStay,\n startDate,\n dateToCheck,\n }: {\n arrivalNightStay: IArrivalNightStay;\n startDate: Dayjs | null;\n dateToCheck: Dayjs | null;\n }): IAvailableNightStay => {\n const arrivalMinNightStay = arrivalNightStay?.arrivalMinNightStay ?? null;\n const arrivalMaxNightStay = arrivalNightStay?.arrivalMaxNightStay ?? null;\n let minDate = null;\n let maxDate = null;\n if (dateToCheck && startDate && (arrivalMinNightStay || arrivalMaxNightStay)) {\n const validation: boolean[] = [];\n if (arrivalMinNightStay) {\n minDate = startDate.clone().add(arrivalMinNightStay, 'day');\n validation.push(dateToCheck >= minDate);\n }\n if (arrivalMaxNightStay) {\n maxDate = startDate.clone().add(arrivalMaxNightStay, 'day');\n validation.push(dateToCheck <= maxDate);\n }\n return {\n minDate,\n maxDate,\n available: validation.every((v) => v === true),\n };\n }\n return {\n minDate,\n maxDate,\n available: true,\n };\n };\n\n return {\n getLastValidDay,\n getArrivalNightStay,\n checkAvailableNightStay,\n };\n};\n"]}
1
+ {"version":3,"file":"useCalendarNightStay.js","sourceRoot":"/","sources":["src/hooks/useCalendarNightStay.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2CAAkD;AAGlD,kEAAmC;AAEnC,2DAAwD;AAuBjD,MAAM,oBAAoB,GAAG,CAAC,EACjC,aAAa,GACW,EAgB1B,EAAE;IACA,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACpC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAA,qCAAiB,GAAE,CAAC;IAC7C,MAAM,mBAAmB,GAAyB;QAC9C,IAAI,EAAE,KAAK;QACX,mBAAmB,EAAE,IAAI;QACzB,mBAAmB,EAAE,IAAI;QACzB,sBAAsB,EAAE,IAAI;QAC5B,sBAAsB,EAAE,IAAI;KAC/B,CAAC;IACF,MAAM,eAAe,GAAG,CACpB,QAAe,EACf,MAAa,EACb,QAAiB,EACqF,EAAE,CACxG,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,EAAE;;QAC1B,MAAM,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC;QAC1D,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,CAAC;QAED,MAAM,UAAU,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,uDAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,MAAM,oBAAG,CAAC,YAAY,CAAC,sBAAsB,CACvD,UAAU,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,SAAS,EACT,QAAQ,EACR,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAiB,EACxB,YAAY,EACZ,KAAK,CACR,CAAC;YACF,MAAM,aAAa,GAAG,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAA,IAAI,KAAK,CAAC;YAC7C,MAAM,iBAAiB,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,2DAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC9D,IAAI,iBAAiB,IAAI,CAAC,EAAE,CAAC;gBACzB,cAAc;gBACd,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE;oBAC/B,IAAI,EAAE,IAAI;oBACV,mBAAmB,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,mBAAmB,mCAAI,IAAI;oBACvD,mBAAmB,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,mBAAmB,mCAAI,IAAI;oBACvD,sBAAsB,EAAE,IAAI;oBAC5B,sBAAsB,EAAE,IAAI;iBAC/B,CAAC,CAAC;YACP,CAAC;YACD,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,CAAC;gBAC1C,qBAAqB;gBACrB,IAAI,iBAAiB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,CAAC;oBAC/D,mBAAmB,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACJ,mBAAmB,CAAC,sBAAsB,GAAG,mBAAmB,CAAC,mBAAmB,CAAC;gBACzF,CAAC;YACL,CAAC;YACD,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,CAAC;gBAC1C,qBAAqB;gBACrB,IAAI,iBAAiB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,CAAC;oBAC/D,mBAAmB,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACJ,mBAAmB,CAAC,sBAAsB,GAAG,mBAAmB,CAAC,mBAAmB,CAAC;gBACzF,CAAC;YACL,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAChB,yEAAyE;gBACzE,OAAO,OAAO,CAAC;oBACX,YAAY,EAAE,UAAU;oBACxB,mBAAmB;oBACnB,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,sBAAsB,IAAI,CAAC,mBAAmB,CAAC,sBAAsB;iBAC/G,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;YACX,YAAY,EAAE,MAAM;YACpB,mBAAmB;YACnB,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,sBAAsB,IAAI,CAAC,mBAAmB,CAAC,sBAAsB;SAC/G,CAAC,CAAC;IACP,CAAC,CAAA,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,CAAC,QAAe,EAAE,QAAgB,EAA8B,EAAE,CAC1F,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,EAAE;;QAC1B,MAAM,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC;QAC1D,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5E,MAAM,KAAK,GAAG,MAAM,oBAAG,CAAC,YAAY,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAiB,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACrK,OAAO,OAAO,CAAC;YACX,mBAAmB,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,mBAAmB,mCAAI,IAAI;YACvD,mBAAmB,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,mBAAmB,mCAAI,IAAI;SAC1D,CAAC,CAAC;IACP,CAAC,CAAA,CAAC,CAAC;IAEP,MAAM,uBAAuB,GAAG,CAAC,EAC7B,gBAAgB,EAChB,SAAS,EACT,WAAW,GAKd,EAAuB,EAAE;;QACtB,MAAM,mBAAmB,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,mBAAmB,mCAAI,IAAI,CAAC;QAC1E,MAAM,mBAAmB,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,mBAAmB,mCAAI,IAAI,CAAC;QAC1E,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,WAAW,IAAI,SAAS,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,EAAE,CAAC;YAC3E,MAAM,UAAU,GAAc,EAAE,CAAC;YACjC,IAAI,mBAAmB,EAAE,CAAC;gBACtB,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;gBAC5D,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,mBAAmB,EAAE,CAAC;gBACtB,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;gBAC5D,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO;gBACH,OAAO;gBACP,OAAO;gBACP,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;aACjD,CAAC;QACN,CAAC;QACD,OAAO;YACH,OAAO;YACP,OAAO;YACP,SAAS,EAAE,IAAI;SAClB,CAAC;IACN,CAAC,CAAC;IAEF,OAAO;QACH,eAAe;QACf,mBAAmB;QACnB,uBAAuB;KAC1B,CAAC;AACN,CAAC,CAAC;AAjKW,QAAA,oBAAoB,wBAiK/B","sourcesContent":["import { BasketContextType } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { Dayjs } from 'dayjs';\n\nimport API from '@/api/BookingAPI';\n\nimport { useSignedInMember } from './useSignedInMember';\n\ninterface UseCalendarNightStayProps {\n basketContext: BasketContextType;\n}\n\nexport interface INightStayValidation {\n init: boolean;\n arrivalMinNightStay: number | null;\n arrivalMaxNightStay: number | null;\n validationMinNightStay: number | null;\n validationMaxNightStay: number | null;\n}\nexport interface IArrivalNightStay {\n arrivalMinNightStay: number | null;\n arrivalMaxNightStay: number | null;\n}\nexport interface IAvailableNightStay {\n minDate: Dayjs | null;\n maxDate: Dayjs | null;\n available: boolean;\n}\n\nexport const useCalendarNightStay = ({\n basketContext,\n}: UseCalendarNightStayProps): {\n getLastValidDay: (\n fromDate: Dayjs,\n toDate: Dayjs,\n roomCode?: string\n ) => Promise<{\n lastValidDay: Dayjs;\n nightStayValidation: INightStayValidation;\n isValidNightStay: boolean;\n }>;\n getArrivalNightStay: (fromDate: Dayjs, roomCode: string) => Promise<IArrivalNightStay>;\n checkAvailableNightStay: ({ arrivalNightStay, startDate, dateToCheck }: { arrivalNightStay: IArrivalNightStay; startDate: Dayjs | null; dateToCheck: Dayjs | null }) => {\n minDate: Dayjs | null;\n maxDate: Dayjs | null;\n available: boolean;\n };\n} => {\n const { hotel } = useCurrentHotel();\n const { memberNumber } = useSignedInMember();\n const nightStayValidation: INightStayValidation = {\n init: false,\n arrivalMinNightStay: null,\n arrivalMaxNightStay: null,\n validationMinNightStay: null,\n validationMaxNightStay: null,\n };\n const getLastValidDay = (\n fromDate: Dayjs,\n toDate: Dayjs,\n roomCode?: string\n ): Promise<{ lastValidDay: Dayjs; nightStayValidation: INightStayValidation; isValidNightStay: boolean }> =>\n new Promise(async (resolve) => {\n const selectedBasketRow = basketContext.selectedBasketRow;\n const adults = selectedBasketRow ? selectedBasketRow.getAdults() : 0;\n const children = selectedBasketRow ? selectedBasketRow.getChildren() : 0;\n const infants = selectedBasketRow ? selectedBasketRow.getInfants() : 0;\n const promoCode = selectedBasketRow ? selectedBasketRow.getPromoCode() : '';\n\n if (!roomCode) {\n roomCode = selectedBasketRow ? selectedBasketRow.getRoomCode() : '';\n }\n\n const toDateDiff = toDate?.diff?.(fromDate, 'day');\n\n for (let i = 0; i <= toDateDiff; i++) {\n const dayToCheck = fromDate.add(i, 'day');\n const price = await API.Availability.getCheapestPriceForDay(\n dayToCheck,\n adults,\n children,\n infants,\n promoCode,\n roomCode,\n hotel?.hotelID as string,\n memberNumber,\n false\n );\n const nextMustBreak = !price?.price && hotel;\n const departureDateDiff = dayToCheck?.diff?.(fromDate, 'day');\n if (departureDateDiff == 0) {\n //Arrival date\n Object.assign(nightStayValidation, {\n init: true,\n arrivalMinNightStay: price?.arrivalMinNightStay ?? null,\n arrivalMaxNightStay: price?.arrivalMaxNightStay ?? null,\n validationMinNightStay: null,\n validationMaxNightStay: null,\n });\n }\n if (nightStayValidation.arrivalMinNightStay) {\n //Min. Departure date\n if (departureDateDiff >= nightStayValidation.arrivalMinNightStay) {\n nightStayValidation.validationMinNightStay = null;\n } else {\n nightStayValidation.validationMinNightStay = nightStayValidation.arrivalMinNightStay;\n }\n }\n if (nightStayValidation.arrivalMaxNightStay) {\n //Max. Departure date\n if (departureDateDiff <= nightStayValidation.arrivalMaxNightStay) {\n nightStayValidation.validationMaxNightStay = null;\n } else {\n nightStayValidation.validationMaxNightStay = nightStayValidation.arrivalMaxNightStay;\n }\n }\n\n if (nextMustBreak) {\n //if true, this date only available for departure (no price for checking)\n return resolve({\n lastValidDay: dayToCheck,\n nightStayValidation,\n isValidNightStay: !nightStayValidation.validationMinNightStay && !nightStayValidation.validationMaxNightStay,\n });\n }\n }\n\n return resolve({\n lastValidDay: toDate,\n nightStayValidation,\n isValidNightStay: !nightStayValidation.validationMinNightStay && !nightStayValidation.validationMaxNightStay,\n });\n });\n\n const getArrivalNightStay = (fromDate: Dayjs, roomCode: string): Promise<IArrivalNightStay> =>\n new Promise(async (resolve) => {\n const selectedBasketRow = basketContext.selectedBasketRow;\n const adults = selectedBasketRow ? selectedBasketRow.getAdults() : 0;\n const children = selectedBasketRow ? selectedBasketRow.getChildren() : 0;\n const infants = selectedBasketRow ? selectedBasketRow.getInfants() : 0;\n const promoCode = selectedBasketRow ? selectedBasketRow.getPromoCode() : '';\n\n const price = await API.Availability.getCheapestPriceForDay(fromDate, adults, children, infants, promoCode, roomCode, hotel?.hotelID as string, memberNumber, false);\n return resolve({\n arrivalMinNightStay: price?.arrivalMinNightStay ?? null,\n arrivalMaxNightStay: price?.arrivalMaxNightStay ?? null,\n });\n });\n\n const checkAvailableNightStay = ({\n arrivalNightStay,\n startDate,\n dateToCheck,\n }: {\n arrivalNightStay: IArrivalNightStay;\n startDate: Dayjs | null;\n dateToCheck: Dayjs | null;\n }): IAvailableNightStay => {\n const arrivalMinNightStay = arrivalNightStay?.arrivalMinNightStay ?? null;\n const arrivalMaxNightStay = arrivalNightStay?.arrivalMaxNightStay ?? null;\n let minDate = null;\n let maxDate = null;\n if (dateToCheck && startDate && (arrivalMinNightStay || arrivalMaxNightStay)) {\n const validation: boolean[] = [];\n if (arrivalMinNightStay) {\n minDate = startDate.clone().add(arrivalMinNightStay, 'day');\n validation.push(dateToCheck >= minDate);\n }\n if (arrivalMaxNightStay) {\n maxDate = startDate.clone().add(arrivalMaxNightStay, 'day');\n validation.push(dateToCheck <= maxDate);\n }\n return {\n minDate,\n maxDate,\n available: validation.every((v) => v === true),\n };\n }\n return {\n minDate,\n maxDate,\n available: true,\n };\n };\n\n return {\n getLastValidDay,\n getArrivalNightStay,\n checkAvailableNightStay,\n };\n};\n"]}
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import BasketRow from '../models/BasketRow';
2
3
  import { RoomRate } from '../models/Room/RoomRate';
3
4
  interface IValidationMatchedPrice {
@@ -11,5 +12,5 @@ export declare const useNextStepAction: () => {
11
12
  }[]>;
12
13
  syncBasketRowUnMatchedPrice: () => Promise<void>;
13
14
  };
14
- export declare const withNextStepConfirmationDialog: (WrappedComponent: any) => (props: any) => JSX.Element;
15
+ export declare const withNextStepConfirmationDialog: (WrappedComponent: any) => (props: any) => React.JSX.Element;
15
16
  export {};