@roomstay/frontend 2.6.85 → 2.6.86-0

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 (876) 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/380.bundle.js +1 -0
  6. package/dist/430.bundle.js +1 -1
  7. package/dist/449.bundle.js +1 -1
  8. package/dist/456.bundle.js +1 -0
  9. package/dist/535.bundle.js +1 -1
  10. package/dist/537.bundle.js +1 -1
  11. package/dist/686.bundle.js +1 -1
  12. package/dist/873.bundle.js +1 -1
  13. package/dist/972.bundle.js +1 -1
  14. package/dist/978.bundle.js +1 -1
  15. package/dist/e2e/canChangeCurrency.spec.js +1 -1
  16. package/dist/e2e/canChangeCurrency.spec.js.map +1 -1
  17. package/dist/e2e/canCheckout.spec.js +3 -3
  18. package/dist/e2e/canCheckout.spec.js.map +1 -1
  19. package/dist/e2e/canViewFindReservationsPage.spec.js +1 -1
  20. package/dist/e2e/canViewFindReservationsPage.spec.js.map +1 -1
  21. package/dist/e2e/canViewHotelnfoPage.spec.js +1 -1
  22. package/dist/e2e/canViewHotelnfoPage.spec.js.map +1 -1
  23. package/dist/e2e/goBackAndCheckoutAgain.spec.js +1 -1
  24. package/dist/e2e/goBackAndCheckoutAgain.spec.js.map +1 -1
  25. package/dist/e2e/helpers/checkoutHelpers.js +9 -8
  26. package/dist/e2e/helpers/checkoutHelpers.js.map +1 -1
  27. package/dist/e2e/helpers/playwrightHelpers.js +2 -1
  28. package/dist/e2e/helpers/playwrightHelpers.js.map +1 -1
  29. package/dist/e2e/price.spec.js +3 -3
  30. package/dist/e2e/price.spec.js.map +1 -1
  31. package/dist/main.bundle.js +1 -1
  32. package/dist/src/animations/AutoAutoHeight.js +8 -18
  33. package/dist/src/animations/AutoAutoHeight.js.map +1 -1
  34. package/dist/src/animations/Fade.js +7 -17
  35. package/dist/src/animations/Fade.js.map +1 -1
  36. package/dist/src/api/AddonAPI.js +7 -17
  37. package/dist/src/api/AddonAPI.js.map +1 -1
  38. package/dist/src/api/AvailabilityAPI.d.ts +6 -28
  39. package/dist/src/api/AvailabilityAPI.js +106 -214
  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 +7 -17
  48. package/dist/src/api/MemberAPI.js.map +1 -1
  49. package/dist/src/api/ReservationAPI.d.ts +3 -2
  50. package/dist/src/api/ReservationAPI.js +10 -21
  51. package/dist/src/api/ReservationAPI.js.map +1 -1
  52. package/dist/src/api/SessionAPI.js +7 -17
  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 +7 -17
  58. package/dist/src/components/Event/EventCarouselContainer.js.map +1 -1
  59. package/dist/src/components/User/Forms/ForgotPasswordForm.js +7 -17
  60. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  61. package/dist/src/components/User/Forms/SignInForm.js +7 -17
  62. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  63. package/dist/src/components/User/Forms/SignUpForm.js +7 -17
  64. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  65. package/dist/src/components/User/Forms/VerifyEmailForm.js +7 -17
  66. package/dist/src/components/User/Forms/VerifyEmailForm.js.map +1 -1
  67. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js +7 -17
  68. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js.map +1 -1
  69. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js +7 -17
  70. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js.map +1 -1
  71. package/dist/src/components/generic/Alert.js +3 -3
  72. package/dist/src/components/generic/Alert.js.map +1 -1
  73. package/dist/src/components/generic/BEButton.d.ts +0 -1
  74. package/dist/src/components/generic/BEButton.js +9 -20
  75. package/dist/src/components/generic/BEButton.js.map +1 -1
  76. package/dist/src/components/generic/BackButton.js +1 -1
  77. package/dist/src/components/generic/BackButton.js.map +1 -1
  78. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +9 -18
  79. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  80. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +2 -1
  81. package/dist/src/components/generic/BookingWizard/BookingWizard.js +46 -28
  82. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  83. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +6 -4
  84. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +43 -21
  85. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  86. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +9 -0
  87. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
  88. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +2 -1
  89. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +9 -19
  90. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  91. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +2 -5
  92. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +10 -20
  93. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  94. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +11 -21
  95. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  96. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js +7 -17
  97. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js.map +1 -1
  98. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.d.ts +15 -0
  99. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js +135 -0
  100. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js.map +1 -0
  101. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +7 -17
  102. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
  103. package/dist/src/components/generic/Checkbox/Checkbox.js +7 -17
  104. package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
  105. package/dist/src/components/generic/Countdown.js +8 -18
  106. package/dist/src/components/generic/Countdown.js.map +1 -1
  107. package/dist/src/components/generic/Currency.js +8 -18
  108. package/dist/src/components/generic/Currency.js.map +1 -1
  109. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +8 -18
  110. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
  111. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +9 -19
  112. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -1
  113. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +8 -18
  114. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -1
  115. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +8 -18
  116. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -1
  117. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +7 -17
  118. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
  119. package/dist/src/components/generic/Distance.js +8 -18
  120. package/dist/src/components/generic/Distance.js.map +1 -1
  121. package/dist/src/components/generic/Event/EventCard.js +7 -17
  122. package/dist/src/components/generic/Event/EventCard.js.map +1 -1
  123. package/dist/src/components/generic/Event/EventCarousel.js +7 -17
  124. package/dist/src/components/generic/Event/EventCarousel.js.map +1 -1
  125. package/dist/src/components/generic/ForwardedSelect.js +7 -17
  126. package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
  127. package/dist/src/components/generic/GroupedCheckInOutTimes/GroupedCheckInOutTimes.js.map +1 -1
  128. package/dist/src/components/generic/Headline.js +1 -1
  129. package/dist/src/components/generic/Headline.js.map +1 -1
  130. package/dist/src/components/generic/HtmlContentViewer.js +7 -17
  131. package/dist/src/components/generic/HtmlContentViewer.js.map +1 -1
  132. package/dist/src/components/generic/IconText/IconText.js +9 -19
  133. package/dist/src/components/generic/IconText/IconText.js.map +1 -1
  134. package/dist/src/components/generic/InputGroup/InputGroup.js +1 -1
  135. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  136. package/dist/src/components/generic/LineBreak.js +1 -1
  137. package/dist/src/components/generic/LineBreak.js.map +1 -1
  138. package/dist/src/components/generic/Notification.js +8 -18
  139. package/dist/src/components/generic/Notification.js.map +1 -1
  140. package/dist/src/components/generic/NumberIncrement.js +8 -18
  141. package/dist/src/components/generic/NumberIncrement.js.map +1 -1
  142. package/dist/src/components/generic/Overlay/Overlay.js +7 -17
  143. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  144. package/dist/src/components/generic/PageTitle/index.js.map +1 -1
  145. package/dist/src/components/generic/PasswordBox/PasswordBox.js +7 -17
  146. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  147. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +9 -19
  148. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -1
  149. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +7 -17
  150. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  151. package/dist/src/components/generic/Pill.js +3 -3
  152. package/dist/src/components/generic/Pill.js.map +1 -1
  153. package/dist/src/components/generic/Placeholder.js +1 -1
  154. package/dist/src/components/generic/Placeholder.js.map +1 -1
  155. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js +7 -17
  156. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js.map +1 -1
  157. package/dist/src/components/generic/PromoCodeInput.d.ts +0 -2
  158. package/dist/src/components/generic/PromoCodeInput.js +12 -20
  159. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  160. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +7 -17
  161. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  162. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +7 -17
  163. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  164. package/dist/src/components/generic/RecentSearchesCard.js +7 -17
  165. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  166. package/dist/src/components/generic/RoomstayMark.js +7 -17
  167. package/dist/src/components/generic/RoomstayMark.js.map +1 -1
  168. package/dist/src/components/generic/ScrollToTop.js.map +1 -1
  169. package/dist/src/components/generic/Select/InputSelect.js +8 -18
  170. package/dist/src/components/generic/Select/InputSelect.js.map +1 -1
  171. package/dist/src/components/generic/Select/Select.d.ts +1 -1
  172. package/dist/src/components/generic/Select/Select.js +7 -17
  173. package/dist/src/components/generic/Select/Select.js.map +1 -1
  174. package/dist/src/components/generic/Slider/Slider.js +7 -17
  175. package/dist/src/components/generic/Slider/Slider.js.map +1 -1
  176. package/dist/src/components/generic/Tabs/ElementChildren.js +3 -2
  177. package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
  178. package/dist/src/components/generic/Tabs/TabContext.js +7 -17
  179. package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
  180. package/dist/src/components/generic/Tabs/TabLink.js +7 -17
  181. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  182. package/dist/src/components/generic/Tabs/TabRouteContainer.js +9 -18
  183. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
  184. package/dist/src/components/generic/Text.js +9 -19
  185. package/dist/src/components/generic/Text.js.map +1 -1
  186. package/dist/src/components/generic/TextArea.js +7 -17
  187. package/dist/src/components/generic/TextArea.js.map +1 -1
  188. package/dist/src/components/generic/TextBox.js +7 -17
  189. package/dist/src/components/generic/TextBox.js.map +1 -1
  190. package/dist/src/components/generic/Tooltip/Tooltip.js +8 -18
  191. package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
  192. package/dist/src/components/generic/badging/SSLSecureBadge.js +1 -1
  193. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  194. package/dist/src/components/generic/buttons/NextStepButton.js +8 -18
  195. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  196. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +7 -18
  197. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  198. package/dist/src/components/generic/date/DatePicker.d.ts +1 -1
  199. package/dist/src/components/generic/date/DatePicker.js +9 -19
  200. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  201. package/dist/src/components/generic/date/DatePickerDay.js +9 -19
  202. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  203. package/dist/src/components/generic/date/DatePickerDays.js +8 -18
  204. package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
  205. package/dist/src/components/generic/date/DatePickerMonth.js +8 -18
  206. package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
  207. package/dist/src/components/generic/date/DatePickerWeek.js +11 -21
  208. package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
  209. package/dist/src/components/generic/date/FloatingDatePicker.js +9 -19
  210. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  211. package/dist/src/components/generic/date/WeekViewSkeleton.js +7 -17
  212. package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
  213. package/dist/src/components/generic/loader/ImageLoader.js +8 -18
  214. package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
  215. package/dist/src/components/generic/loader/LargeLoader.js +1 -1
  216. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  217. package/dist/src/components/generic/loader/SmallSpinner.js +8 -18
  218. package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
  219. package/dist/src/components/generic/map/HotelLocationMap.js +1 -1
  220. package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
  221. package/dist/src/components/generic/modal/ConfirmationModal.js +8 -18
  222. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  223. package/dist/src/components/generic/modal/ErrorModal.js +8 -18
  224. package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
  225. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +7 -17
  226. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  227. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +7 -17
  228. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -1
  229. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +8 -18
  230. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  231. package/dist/src/components/generic/modal/SimpleModal.js +9 -19
  232. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  233. package/dist/src/components/generic/modal/TabbedModal.js +8 -18
  234. package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
  235. package/dist/src/components/generic/radio/RadioFields.js +8 -18
  236. package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
  237. package/dist/src/components/graphics/TravelerNotfound.js +1 -1
  238. package/dist/src/components/graphics/TravelerNotfound.js.map +1 -1
  239. package/dist/src/components/members/EditMyProfile.js +7 -17
  240. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  241. package/dist/src/components/members/InlineSignUpSection.d.ts +1 -1
  242. package/dist/src/components/members/InlineSignUpSection.js +7 -17
  243. package/dist/src/components/members/InlineSignUpSection.js.map +1 -1
  244. package/dist/src/components/members/SignInModal/ExternalMemberModal.js +7 -17
  245. package/dist/src/components/members/SignInModal/ExternalMemberModal.js.map +1 -1
  246. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js +9 -19
  247. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js.map +1 -1
  248. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js +8 -18
  249. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js.map +1 -1
  250. package/dist/src/components/members/SignInModal/MemberSignInModal.js +7 -17
  251. package/dist/src/components/members/SignInModal/MemberSignInModal.js.map +1 -1
  252. package/dist/src/components/navigation/Header.js +8 -18
  253. package/dist/src/components/navigation/Header.js.map +1 -1
  254. package/dist/src/components/navigation/StepSelector.js +8 -18
  255. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  256. package/dist/src/components/navigation/StepSelectorModal.js +8 -18
  257. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  258. package/dist/src/components/pages/Account/Card/MemberCardItem.js +7 -17
  259. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  260. package/dist/src/components/pages/PageColorComponent.js +7 -17
  261. package/dist/src/components/pages/PageColorComponent.js.map +1 -1
  262. package/dist/src/components/reservation/EmptyReservation.js +7 -17
  263. package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
  264. package/dist/src/components/reservation/ReservationItem.d.ts +0 -1
  265. package/dist/src/components/reservation/ReservationItem.js +10 -20
  266. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  267. package/dist/src/components/reservation/ReservationList.d.ts +0 -1
  268. package/dist/src/components/reservation/ReservationList.js +2 -2
  269. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  270. package/dist/src/components/steps/DaysSelectedInformer.js +8 -18
  271. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  272. package/dist/src/components/steps/MinimumNightStayPill.js +8 -18
  273. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  274. package/dist/src/components/steps/addons/AddonCard.js +7 -25
  275. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  276. package/dist/src/components/steps/addons/AddonList.js +7 -17
  277. package/dist/src/components/steps/addons/AddonList.js.map +1 -1
  278. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js +1 -1
  279. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js.map +1 -1
  280. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +1 -1
  281. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +9 -19
  282. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
  283. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js +7 -17
  284. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js.map +1 -1
  285. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.d.ts +1 -1
  286. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js +7 -17
  287. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js.map +1 -1
  288. package/dist/src/components/steps/confirmation/AccountDetails.js +8 -18
  289. package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
  290. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js +7 -17
  291. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js.map +1 -1
  292. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js +7 -17
  293. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js.map +1 -1
  294. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  295. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +7 -17
  296. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  297. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +7 -17
  298. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  299. package/dist/src/components/steps/confirmation/PaymentInformation.js +7 -17
  300. package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -1
  301. package/dist/src/components/steps/confirmation/PlanpayLabel.js +7 -17
  302. package/dist/src/components/steps/confirmation/PlanpayLabel.js.map +1 -1
  303. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +7 -17
  304. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
  305. package/dist/src/components/steps/confirmation/RoomContactDetails.js +8 -18
  306. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  307. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +19 -28
  308. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  309. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +8 -18
  310. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  311. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +2 -2
  312. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
  313. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +7 -17
  314. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  315. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +8 -18
  316. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  317. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +1 -1
  318. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
  319. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +8 -18
  320. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  321. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +8 -18
  322. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
  323. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +12 -23
  324. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  325. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js +13 -26
  326. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js.map +1 -1
  327. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.d.ts +1 -5
  328. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js +13 -35
  329. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js.map +1 -1
  330. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +8 -18
  331. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  332. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +8 -18
  333. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  334. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +8 -18
  335. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
  336. package/dist/src/components/steps/date/OccupancyWarningBlock.js +1 -1
  337. package/dist/src/components/steps/date/OccupancyWarningBlock.js.map +1 -1
  338. package/dist/src/components/steps/date/PeoplePicker.js +10 -20
  339. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  340. package/dist/src/components/steps/date/PeoplePickerRow.js +9 -19
  341. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  342. package/dist/src/components/steps/date/StepDatePricePerRoom.js +8 -18
  343. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  344. package/dist/src/components/steps/date/StepOneDateRange.js +8 -18
  345. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  346. package/dist/src/components/steps/date/StepOneDateRangePicker.js +8 -18
  347. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  348. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +8 -18
  349. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
  350. package/dist/src/components/steps/date/StepOneNextStepButton.js +8 -18
  351. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  352. package/dist/src/components/steps/date/StepOneStatusPeople.js +8 -18
  353. package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
  354. package/dist/src/components/steps/hotel/HotelCard.js +9 -19
  355. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  356. package/dist/src/components/steps/hotel/HotelCardList.js +1 -1
  357. package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
  358. package/dist/src/components/steps/hotel/HotelCardModal.js +7 -17
  359. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  360. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js +8 -18
  361. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js.map +1 -1
  362. package/dist/src/components/steps/hotel/HotelSearchParameters.js +20 -22
  363. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  364. package/dist/src/components/steps/hotel/NoHotelsAvailable.js +1 -1
  365. package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
  366. package/dist/src/components/steps/room/AvailableUpgradesModal.js +35 -113
  367. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  368. package/dist/src/components/steps/room/ImageGallerySlider.js +8 -18
  369. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  370. package/dist/src/components/steps/room/InactivityWindow.js +7 -17
  371. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  372. package/dist/src/components/steps/room/LargeRoomCard.js +10 -26
  373. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  374. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +8 -18
  375. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  376. package/dist/src/components/steps/room/RatesNotFoundBlock.js +1 -1
  377. package/dist/src/components/steps/room/RatesNotFoundBlock.js.map +1 -1
  378. package/dist/src/components/steps/room/RoomList.js +8 -18
  379. package/dist/src/components/steps/room/RoomList.js.map +1 -1
  380. package/dist/src/components/steps/room/RoomListAlert.js +7 -17
  381. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
  382. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +8 -18
  383. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  384. package/dist/src/components/steps/room/RoomModal.js +8 -18
  385. package/dist/src/components/steps/room/RoomModal.js.map +1 -1
  386. package/dist/src/components/steps/room/RoomModalPerkRow.js +8 -18
  387. package/dist/src/components/steps/room/RoomModalPerkRow.js.map +1 -1
  388. package/dist/src/components/steps/room/StepRoomAlertBlocks.js +8 -18
  389. package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
  390. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +8 -18
  391. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  392. package/dist/src/components/steps/room/StepRoomErrorForm.js +7 -17
  393. package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
  394. package/dist/src/components/steps/room/StepRoomHotelDetails.js +8 -18
  395. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  396. package/dist/src/components/steps/room/StepRoomNextStepButton.js +8 -18
  397. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  398. package/dist/src/components/steps/room/StepRoomSortBy.js +8 -18
  399. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  400. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +8 -18
  401. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  402. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +7 -17
  403. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
  404. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js +7 -17
  405. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js.map +1 -1
  406. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js +7 -17
  407. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js.map +1 -1
  408. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.d.ts +1 -1
  409. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js +8 -19
  410. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js.map +1 -1
  411. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js +7 -17
  412. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js.map +1 -1
  413. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js +20 -20
  414. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js.map +1 -1
  415. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +7 -17
  416. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
  417. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +1 -1
  418. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
  419. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +1 -1
  420. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
  421. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js +1 -1
  422. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js.map +1 -1
  423. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +8 -18
  424. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  425. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +23 -23
  426. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  427. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +8 -18
  428. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  429. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +9 -18
  430. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  431. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +9 -18
  432. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  433. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +8 -18
  434. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  435. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +7 -17
  436. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  437. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +8 -18
  438. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
  439. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +8 -18
  440. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  441. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +10 -20
  442. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  443. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js +8 -18
  444. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js.map +1 -1
  445. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +10 -20
  446. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  447. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +9 -19
  448. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  449. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +7 -17
  450. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  451. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +8 -18
  452. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  453. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +8 -18
  454. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  455. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +8 -18
  456. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  457. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js +12 -26
  458. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js.map +1 -1
  459. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +8 -18
  460. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  461. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +8 -18
  462. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  463. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +8 -18
  464. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
  465. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +8 -18
  466. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
  467. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +8 -18
  468. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  469. package/dist/src/components/summary/BEMapWidget.d.ts +2 -0
  470. package/dist/src/components/summary/BEMapWidget.js +7 -17
  471. package/dist/src/components/summary/BEMapWidget.js.map +1 -1
  472. package/dist/src/components/summary/BEMobileSummary.js +8 -18
  473. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  474. package/dist/src/components/summary/BEMobileSummaryModal.js +18 -29
  475. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  476. package/dist/src/components/summary/BESummary.js +13 -23
  477. package/dist/src/components/summary/BESummary.js.map +1 -1
  478. package/dist/src/components/summary/BESummaryAddonRow.js +9 -19
  479. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  480. package/dist/src/components/summary/BESummaryPerkBlock.js +9 -19
  481. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  482. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +8 -18
  483. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  484. package/dist/src/components/summary/BESummaryRoomRow.js +9 -19
  485. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  486. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +8 -18
  487. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  488. package/dist/src/containers/PrivateRoute.js.map +1 -1
  489. package/dist/src/contexts/BasketContext/BasketContext.d.ts +1 -0
  490. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +4 -5
  491. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  492. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +162 -237
  493. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  494. package/dist/src/contexts/BookingEngineContext/BookingEngineContext.d.ts +1 -0
  495. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +9 -18
  496. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  497. package/dist/src/contexts/CompanyContext/CompanyContext.d.ts +1 -0
  498. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +14 -24
  499. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  500. package/dist/src/contexts/ConfirmationFormContext.js +9 -19
  501. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  502. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.d.ts +1 -0
  503. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.d.ts +1 -2
  504. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js.map +1 -1
  505. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +23 -44
  506. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  507. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js +7 -17
  508. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js.map +1 -1
  509. package/dist/src/contexts/ErrorContext.js +9 -19
  510. package/dist/src/contexts/ErrorContext.js.map +1 -1
  511. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js +2 -1
  512. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js.map +1 -1
  513. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js +9 -18
  514. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js.map +1 -1
  515. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.d.ts +1 -0
  516. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +19 -20
  517. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  518. package/dist/src/contexts/HotelOverridesContext.js +7 -17
  519. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  520. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +2 -1
  521. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js +1 -1
  522. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
  523. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +14 -40
  524. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  525. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +1 -0
  526. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +7 -17
  527. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  528. package/dist/src/contexts/ModalContext.js +9 -18
  529. package/dist/src/contexts/ModalContext.js.map +1 -1
  530. package/dist/src/contexts/NotificationContext.js +9 -19
  531. package/dist/src/contexts/NotificationContext.js.map +1 -1
  532. package/dist/src/engines/BaseEngine.js +1 -1
  533. package/dist/src/engines/BaseEngine.js.map +1 -1
  534. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +4 -1
  535. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  536. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +3 -1
  537. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  538. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +7 -17
  539. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
  540. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +8 -18
  541. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  542. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +17 -19
  543. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +34 -30
  544. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  545. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -1
  546. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +8 -18
  547. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
  548. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +8 -17
  549. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  550. package/dist/src/events/RoomstayEventManager.js +1 -1
  551. package/dist/src/events/RoomstayEventManager.js.map +1 -1
  552. package/dist/src/events/actions/PlacedBookingEvent.d.ts +1 -1
  553. package/dist/src/events/actions/PlacedBookingEvent.js.map +1 -1
  554. package/dist/src/events/views/CommittedBookingEvent.d.ts +1 -1
  555. package/dist/src/events/views/CommittedBookingEvent.js.map +1 -1
  556. package/dist/src/events/views/RolledBackBookingEvent.d.ts +1 -1
  557. package/dist/src/events/views/RolledBackBookingEvent.js.map +1 -1
  558. package/dist/src/handlers/BasketContextErrorHandler.d.ts +1 -1
  559. package/dist/src/handlers/BasketContextErrorHandler.js.map +1 -1
  560. package/dist/src/handlers/payment/AdyenPaymentHandler.js +7 -17
  561. package/dist/src/handlers/payment/AdyenPaymentHandler.js.map +1 -1
  562. package/dist/src/handlers/payment/PlanpayPaymentHandler.js +7 -17
  563. package/dist/src/handlers/payment/PlanpayPaymentHandler.js.map +1 -1
  564. package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js +5 -8
  565. package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js.map +1 -1
  566. package/dist/src/handlers/payment/VGSMemberPaymentHandler.js.map +1 -1
  567. package/dist/src/handlers/payment/VGSPaymentHandler.js +9 -19
  568. package/dist/src/handlers/payment/VGSPaymentHandler.js.map +1 -1
  569. package/dist/src/hooks/AutoFocusOnSelect.d.ts +2 -23
  570. package/dist/src/hooks/AutoFocusOnSelect.js +3 -3
  571. package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
  572. package/dist/src/hooks/BodyClickHook.js.map +1 -1
  573. package/dist/src/hooks/CombineState.d.ts +1 -1
  574. package/dist/src/hooks/ConfirmationQuery.d.ts +0 -1
  575. package/dist/src/hooks/ConfirmationQuery.js +1 -2
  576. package/dist/src/hooks/ConfirmationQuery.js.map +1 -1
  577. package/dist/src/hooks/Currency.js.map +1 -1
  578. package/dist/src/hooks/CurrentHotelHook.js.map +1 -1
  579. package/dist/src/hooks/ElementSortHook.js +7 -17
  580. package/dist/src/hooks/ElementSortHook.js.map +1 -1
  581. package/dist/src/hooks/HistoryConsistentPush.js +2 -1
  582. package/dist/src/hooks/HistoryConsistentPush.js.map +1 -1
  583. package/dist/src/hooks/KeyboardControlOnSelect.d.ts +2 -2
  584. package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
  585. package/dist/src/hooks/LoggedInUserHook.js.map +1 -1
  586. package/dist/src/hooks/Planpay.d.ts +1 -1
  587. package/dist/src/hooks/Query.js +3 -2
  588. package/dist/src/hooks/Query.js.map +1 -1
  589. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +1 -0
  590. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  591. package/dist/src/hooks/UpdateQueryParameters.js +2 -1
  592. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -1
  593. package/dist/src/hooks/VGSHooks.d.ts +1 -0
  594. package/dist/src/hooks/VGSHooks.js.map +1 -1
  595. package/dist/src/hooks/useCalendarNightStay.js +3 -3
  596. package/dist/src/hooks/useCalendarNightStay.js.map +1 -1
  597. package/dist/src/hooks/useNextStepAction.js +11 -21
  598. package/dist/src/hooks/useNextStepAction.js.map +1 -1
  599. package/dist/src/hooks/usePlanpayRawPrice.js.map +1 -1
  600. package/dist/src/hooks/useRateDetails.js.map +1 -1
  601. package/dist/src/hooks/useSearchScopeHook.d.ts +1 -1
  602. package/dist/src/hooks/useSearchScopeHook.js.map +1 -1
  603. package/dist/src/index.d.ts +1 -1
  604. package/dist/src/index.js.map +1 -1
  605. package/dist/src/mockApi/AddonAPI.js.map +1 -1
  606. package/dist/src/mockApi/MemberAPI.js +7 -17
  607. package/dist/src/mockApi/MemberAPI.js.map +1 -1
  608. package/dist/src/mockApi/MockAPI.js +5 -5
  609. package/dist/src/mockApi/MockAPI.js.map +1 -1
  610. package/dist/src/mockApi/ReservationAPI.d.ts +1 -1
  611. package/dist/src/mockApi/ReservationAPI.js +8 -18
  612. package/dist/src/mockApi/ReservationAPI.js.map +1 -1
  613. package/dist/src/models/Addon/Addon.d.ts +24 -0
  614. package/dist/src/models/Addon/Addon.js.map +1 -1
  615. package/dist/src/models/Api/HotelDTO.d.ts +2 -3
  616. package/dist/src/models/Api/HotelDTO.js +1 -1
  617. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  618. package/dist/src/models/Api/IEventReservation.d.ts +0 -5
  619. package/dist/src/models/Api/IEventReservation.js.map +1 -1
  620. package/dist/src/models/Api/ReservationsDTO.d.ts +80 -0
  621. package/dist/src/models/Api/ReservationsDTO.js +3 -0
  622. package/dist/src/models/Api/ReservationsDTO.js.map +1 -0
  623. package/dist/src/models/AppQueryParameters.js +1 -1
  624. package/dist/src/models/AppQueryParameters.js.map +1 -1
  625. package/dist/src/models/BasketAddonRow.js +5 -3
  626. package/dist/src/models/BasketAddonRow.js.map +1 -1
  627. package/dist/src/models/BasketRow.d.ts +9 -63
  628. package/dist/src/models/BasketRow.js +37 -77
  629. package/dist/src/models/BasketRow.js.map +1 -1
  630. package/dist/src/models/BookingWizard/BookingWizardTypes.d.ts +4 -0
  631. package/dist/src/models/BookingWizard/BookingWizardTypes.js.map +1 -1
  632. package/dist/src/models/Client/Hotel/Company.d.ts +0 -2
  633. package/dist/src/models/Client/Hotel/Company.js.map +1 -1
  634. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js +1 -1
  635. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js.map +1 -1
  636. package/dist/src/models/Client/Hotel/Hotel.d.ts +2 -3
  637. package/dist/src/models/Client/Hotel/Hotel.js +1 -1
  638. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  639. package/dist/src/models/Client/Hotel/HotelDataSource.types.js +1 -1
  640. package/dist/src/models/Client/Hotel/HotelDataSource.types.js.map +1 -1
  641. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js +1 -1
  642. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js.map +1 -1
  643. package/dist/src/models/Confirmation.js +2 -2
  644. package/dist/src/models/Confirmation.js.map +1 -1
  645. package/dist/src/models/CountryCodesAndNumbers.js +3 -3
  646. package/dist/src/models/CountryCodesAndNumbers.js.map +1 -1
  647. package/dist/src/models/Fee.d.ts +9 -1
  648. package/dist/src/models/Fee.js +5 -4
  649. package/dist/src/models/Fee.js.map +1 -1
  650. package/dist/src/models/PaymentCard.js +1 -1
  651. package/dist/src/models/PaymentCard.js.map +1 -1
  652. package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
  653. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  654. package/dist/src/models/Room/Room.js.map +1 -1
  655. package/dist/src/models/Room/RoomRate.d.ts +1 -12
  656. package/dist/src/models/Room/RoomRate.js +1 -29
  657. package/dist/src/models/Room/RoomRate.js.map +1 -1
  658. package/dist/src/models/Room/RoomRateNight.d.ts +1 -1
  659. package/dist/src/models/Room/RoomRateNight.js.map +1 -1
  660. package/dist/src/models/RoomstaySession.d.ts +3 -1
  661. package/dist/src/models/RoomstaySession.js.map +1 -1
  662. package/dist/src/pages/account/AccountHome/AccountHomePage.js +8 -18
  663. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  664. package/dist/src/pages/account/AccountRoutes.d.ts +0 -5
  665. package/dist/src/pages/account/AccountRoutes.js +2 -8
  666. package/dist/src/pages/account/AccountRoutes.js.map +1 -1
  667. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js +7 -17
  668. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js.map +1 -1
  669. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +7 -17
  670. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  671. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +7 -17
  672. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  673. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +7 -17
  674. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  675. package/dist/src/pages/account/Help/AccountHelpPage.js +7 -17
  676. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  677. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +13 -38
  678. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  679. package/dist/src/pages/account/Reservations/AccountReservationsPage.js +7 -7
  680. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  681. package/dist/src/pages/findReservation/FindReservation.js +9 -19
  682. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  683. package/dist/src/pages/findReservation/FindReservationResults.js +10 -20
  684. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  685. package/dist/src/pages/findReservation/ReservationRow.d.ts +1 -1
  686. package/dist/src/pages/findReservation/ReservationRow.js +8 -18
  687. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  688. package/dist/src/pages/findReservation/ReservationRowModal.d.ts +1 -1
  689. package/dist/src/pages/findReservation/ReservationRowModal.js +8 -18
  690. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  691. package/dist/src/pages/hotel/HotelInfo.js +10 -20
  692. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  693. package/dist/src/pages/hotel/HotelInfoPlaceholder.js +1 -1
  694. package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
  695. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  696. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +8 -18
  697. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  698. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +7 -17
  699. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
  700. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  701. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +7 -17
  702. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  703. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +8 -18
  704. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
  705. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
  706. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  707. package/dist/src/pages/steps/StepDate/StepDateComponent.js +7 -17
  708. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  709. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoom.js.map +1 -1
  710. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js +7 -17
  711. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js.map +1 -1
  712. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js +8 -18
  713. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js.map +1 -1
  714. package/dist/src/pages/steps/StepGuide.js +8 -18
  715. package/dist/src/pages/steps/StepGuide.js.map +1 -1
  716. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +7 -17
  717. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  718. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +7 -17
  719. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
  720. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  721. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +7 -17
  722. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  723. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js +7 -17
  724. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js.map +1 -1
  725. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +8 -18
  726. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
  727. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
  728. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  729. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +10 -25
  730. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  731. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
  732. package/dist/src/providers/CurrencyProvider.js +1 -1
  733. package/dist/src/providers/CurrencyProvider.js.map +1 -1
  734. package/dist/src/providers/DIProvider.js +3 -2
  735. package/dist/src/providers/DIProvider.js.map +1 -1
  736. package/dist/src/providers/DistanceProvider.js.map +1 -1
  737. package/dist/src/providers/FeatureProvider.js +1 -1
  738. package/dist/src/providers/FeatureProvider.js.map +1 -1
  739. package/dist/src/providers/FilterProvider.d.ts +1 -1
  740. package/dist/src/providers/FilterProvider.js +3 -3
  741. package/dist/src/providers/FilterProvider.js.map +1 -1
  742. package/dist/src/providers/ImageProvider.js +1 -1
  743. package/dist/src/providers/ImageProvider.js.map +1 -1
  744. package/dist/src/providers/LanguageProvider.js +1 -1
  745. package/dist/src/providers/LanguageProvider.js.map +1 -1
  746. package/dist/src/providers/PromotionProvider.d.ts +1 -1
  747. package/dist/src/providers/PromotionProvider.js.map +1 -1
  748. package/dist/src/providers/RatePillProvider.js.map +1 -1
  749. package/dist/src/providers/RoomSortProvider.js +2 -2
  750. package/dist/src/providers/RoomSortProvider.js.map +1 -1
  751. package/dist/src/providers/RoomstayThemeEngine.js +8 -18
  752. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  753. package/dist/src/providers/feature/DerbysoftClickTrackingFeature.js.map +1 -1
  754. package/dist/src/providers/feature/Feature.d.ts +2 -0
  755. package/dist/src/providers/feature/Feature.js +4 -0
  756. package/dist/src/providers/feature/Feature.js.map +1 -1
  757. package/dist/src/providers/feature/GuestTitleFieldFeature.js.map +1 -1
  758. package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
  759. package/dist/src/providers/feature/MemberPortalFeature.js.map +1 -1
  760. package/dist/src/providers/feature/RoomUpsellFeature.d.ts +0 -10
  761. package/dist/src/providers/feature/RoomUpsellFeature.js +0 -10
  762. package/dist/src/providers/feature/RoomUpsellFeature.js.map +1 -1
  763. package/dist/src/providers/storage/SessionProvider.js +2 -0
  764. package/dist/src/providers/storage/SessionProvider.js.map +1 -1
  765. package/dist/src/providers/storage/StorageProvider.d.ts +1 -1
  766. package/dist/src/providers/storage/StorageProvider.js +7 -17
  767. package/dist/src/providers/storage/StorageProvider.js.map +1 -1
  768. package/dist/src/reducers/BasketReducer.js.map +1 -1
  769. package/dist/src/stories/BookingWizard.stories.d.ts +2 -2
  770. package/dist/src/stories/Card.stories.d.ts +5 -3
  771. package/dist/src/stories/CardTypeSelect.stories.d.ts +1 -2
  772. package/dist/src/stories/Checkbox.stories.d.ts +1 -2
  773. package/dist/src/stories/ConfirmationModal.stories.js +7 -17
  774. package/dist/src/stories/ConfirmationModal.stories.js.map +1 -1
  775. package/dist/src/stories/DateRangePicker.stories.js +7 -17
  776. package/dist/src/stories/DateRangePicker.stories.js.map +1 -1
  777. package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +1 -2
  778. package/dist/src/stories/ErrorModal.stories.js +7 -17
  779. package/dist/src/stories/ErrorModal.stories.js.map +1 -1
  780. package/dist/src/stories/EventCarousel.stories.d.ts +2 -2
  781. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +2 -2
  782. package/dist/src/stories/FloatingDateRangePicker.stories.js +7 -17
  783. package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -1
  784. package/dist/src/stories/ForwardedSelect.stories.d.ts +1 -2
  785. package/dist/src/stories/Icon.stories.js +7 -17
  786. package/dist/src/stories/Icon.stories.js.map +1 -1
  787. package/dist/src/stories/IconNavCard.stories.d.ts +15 -6
  788. package/dist/src/stories/IconText.stories.js +7 -17
  789. package/dist/src/stories/IconText.stories.js.map +1 -1
  790. package/dist/src/stories/NumberIncrement.stories.js +7 -17
  791. package/dist/src/stories/NumberIncrement.stories.js.map +1 -1
  792. package/dist/src/stories/PasswordBox.stories.d.ts +1 -2
  793. package/dist/src/stories/PaymentCard.stories.d.ts +1 -2
  794. package/dist/src/stories/PaymentCardInput.stories.d.ts +1 -2
  795. package/dist/src/stories/PlanpayButton.stories.d.ts +1 -2
  796. package/dist/src/stories/RadioButton.stories.d.ts +1 -2
  797. package/dist/src/stories/RadioButtonGroup.stories.d.ts +3 -2
  798. package/dist/src/stories/RadioButtonGroup.stories.js +7 -17
  799. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
  800. package/dist/src/stories/Select.stories.d.ts +4 -2
  801. package/dist/src/stories/Select.stories.js +7 -17
  802. package/dist/src/stories/Select.stories.js.map +1 -1
  803. package/dist/src/stories/SimpleModal.stories.js +7 -17
  804. package/dist/src/stories/SimpleModal.stories.js.map +1 -1
  805. package/dist/src/stories/Slider.stories.d.ts +7 -2
  806. package/dist/src/stories/Slider.stories.js +7 -17
  807. package/dist/src/stories/Slider.stories.js.map +1 -1
  808. package/dist/src/stories/TabbedModal.stories.js +7 -17
  809. package/dist/src/stories/TabbedModal.stories.js.map +1 -1
  810. package/dist/src/stories/Tabs.stories.d.ts +2 -2
  811. package/dist/src/stories/Text.stories.d.ts +1 -2
  812. package/dist/src/stories/TextArea.stories.d.ts +1 -2
  813. package/dist/src/stories/TextBox.stories.d.ts +1 -2
  814. package/dist/src/translations/Translation.d.ts +3 -0
  815. package/dist/src/translations/Translation.js +5 -2
  816. package/dist/src/translations/Translation.js.map +1 -1
  817. package/dist/src/translations/languages/en-gb.js +3 -0
  818. package/dist/src/translations/languages/en-gb.js.map +1 -1
  819. package/dist/src/util/Analytics/Analytics.d.ts +10 -36
  820. package/dist/src/util/Analytics/Analytics.js +0 -30
  821. package/dist/src/util/Analytics/Analytics.js.map +1 -1
  822. package/dist/src/util/Analytics/GoogleAnalytics4.d.ts +3 -4
  823. package/dist/src/util/Analytics/GoogleAnalytics4.js +4 -13
  824. package/dist/src/util/Analytics/GoogleAnalytics4.js.map +1 -1
  825. package/dist/src/util/Analytics/UniversalAnalytics.d.ts +23 -5
  826. package/dist/src/util/Analytics/UniversalAnalytics.js +5 -24
  827. package/dist/src/util/Analytics/UniversalAnalytics.js.map +1 -1
  828. package/dist/src/util/AsyncAuth.js +7 -17
  829. package/dist/src/util/AsyncAuth.js.map +1 -1
  830. package/dist/src/util/CalendarHelper.js +1 -1
  831. package/dist/src/util/CalendarHelper.js.map +1 -1
  832. package/dist/src/util/Color.d.ts +1 -1
  833. package/dist/src/util/Color.js +1 -1
  834. package/dist/src/util/Color.js.map +1 -1
  835. package/dist/src/util/CurrencyHelper.js.map +1 -1
  836. package/dist/src/util/DataLayer.d.ts +3 -9
  837. package/dist/src/util/DataLayer.js +26 -61
  838. package/dist/src/util/DataLayer.js.map +1 -1
  839. package/dist/src/util/Debounce.js +3 -2
  840. package/dist/src/util/Debounce.js.map +1 -1
  841. package/dist/src/util/DefaultValueManager.js +1 -1
  842. package/dist/src/util/DefaultValueManager.js.map +1 -1
  843. package/dist/src/util/DerbysoftPixel.d.ts +1 -1
  844. package/dist/src/util/DerbysoftPixel.js +2 -2
  845. package/dist/src/util/DerbysoftPixel.js.map +1 -1
  846. package/dist/src/util/EventsHelper.d.ts +2 -2
  847. package/dist/src/util/EventsHelper.js.map +1 -1
  848. package/dist/src/util/HotelPerkHelper.js +7 -17
  849. package/dist/src/util/HotelPerkHelper.js.map +1 -1
  850. package/dist/src/util/ObjectHelper.d.ts +1 -1
  851. package/dist/src/util/ObjectHelper.js.map +1 -1
  852. package/dist/src/util/PaymentCardHelper.js.map +1 -1
  853. package/dist/src/util/RouteManager.js +1 -1
  854. package/dist/src/util/RouteManager.js.map +1 -1
  855. package/dist/src/util/StepManager.js +1 -1
  856. package/dist/src/util/StepManager.js.map +1 -1
  857. package/dist/src/util/StringHelper.js.map +1 -1
  858. package/dist/src/util/TextAlignment.js +1 -1
  859. package/dist/src/util/TextAlignment.js.map +1 -1
  860. package/dist/src/util/TimeHelper.js.map +1 -1
  861. package/dist/src/util/TotalCalculator.d.ts +24 -0
  862. package/dist/src/util/TotalCalculator.js +157 -0
  863. package/dist/src/util/TotalCalculator.js.map +1 -0
  864. package/dist/test.bundle.js +1 -1
  865. package/dist/tests/offline/entry/config/hotelSpecDefault.js +1 -0
  866. package/dist/tests/offline/entry/config/hotelSpecDefault.js.map +1 -1
  867. package/dist/vendors.bundle.js +1 -1
  868. package/package.json +5 -7
  869. package/dist/375.bundle.js +0 -1
  870. package/dist/984.bundle.js +0 -1
  871. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.d.ts +0 -1
  872. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js +0 -94
  873. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js.map +0 -1
  874. package/dist/src/components/steps/room/LargeRateCard.d.ts +0 -10
  875. package/dist/src/components/steps/room/LargeRateCard.js +0 -120
  876. package/dist/src/components/steps/room/LargeRateCard.js.map +0 -1
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = NumberOfAdultsPicker;
7
6
  const hooks_1 = require("../../../../hooks/index.js");
8
7
  const react_1 = __importDefault(require("react"));
9
8
  const react_i18next_1 = require("react-i18next");
@@ -26,4 +25,5 @@ function NumberOfAdultsPicker(props) {
26
25
  };
27
26
  }), value: selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.toString(), onChange: props.onChange, keyName: "value", labelName: "text", inputLabelColor: props.labelColor }));
28
27
  }
28
+ exports.default = NumberOfAdultsPicker;
29
29
  //# sourceMappingURL=NumberOfAdultsPicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberOfAdultsPicker.js","sourceRoot":"/","sources":["src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.tsx"],"names":[],"mappings":";;;;;AAkBA,uCA0BC;AA5CD,2CAAkD;AAClD,kDAA0B;AAC1B,iDAA+C;AAC/C,0DAAuD;AAEvD,+DAAkF;AAClF,mEAAgE;AAGhE,uEAA+C;AAS/C,SAAwB,oBAAoB,CAAC,KAAgC;;IACzE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACpC,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAA,uCAAkB,GAAE,CAAC;IACxD,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,MAAM,EAAE,MAAA,KAAK,CAAC,GAAG,0CAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAA,KAAK,CAAC,GAAG,0CAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAEjH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,aAAa,GAAG,MAAA,MAAA,KAAK,CAAC,GAAG,0CAAE,SAAS,EAAE,mCAAI,CAAC,CAAC;IAElD,OAAO,CACH,8BAAC,eAAM,IACH,cAAc,QACd,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE;YACzD,KAAK,IAAI,CAAC,CAAC;YACX,OAAO;gBACH,IAAI,EAAE,sBAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChF,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;aAC1B,CAAC;QACN,CAAC,CAAC,EACF,KAAK,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,EAAE,EAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,MAAM,EAChB,eAAe,EAAE,KAAK,CAAC,UAAU,GACnC,CACL,CAAC;AACN,CAAC","sourcesContent":["import { useCurrentHotel } from '@frontend/hooks';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport { useSearchScopeHook } from '@/hooks/useSearchScopeHook';\nimport BasketRow from '@/models/BasketRow';\nimport { Color } from '@/util/Color';\nimport StringHelper from '@/util/StringHelper';\n\ninterface NumberOfAdultsPickerProps {\n row: BasketRow;\n onChange: (value: string) => void;\n\n labelColor?: Color;\n}\n\nexport default function NumberOfAdultsPicker(props: NumberOfAdultsPickerProps) {\n const { hotel } = useCurrentHotel();\n const { getMaxSelectableAdults } = useSearchScopeHook();\n const maxAdults = getMaxSelectableAdults({ adults: props.row?.getAdults(), children: props.row?.getChildren() });\n\n const { t } = useTranslation();\n\n const selectedValue = props.row?.getAdults() ?? 1;\n\n return (\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxAdults)].map((v: any, value: number) => {\n value += 1;\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Adult, t),\n value: value.toString(),\n };\n })}\n value={selectedValue?.toString()}\n onChange={props.onChange}\n keyName=\"value\"\n labelName=\"text\"\n inputLabelColor={props.labelColor}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"NumberOfAdultsPicker.js","sourceRoot":"/","sources":["src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.tsx"],"names":[],"mappings":";;;;;AAAA,2CAAkD;AAClD,kDAA0B;AAC1B,iDAA+C;AAC/C,0DAAuD;AAEvD,+DAAkF;AAClF,mEAAgE;AAGhE,uEAA+C;AAS/C,SAAwB,oBAAoB,CAAC,KAAgC;;IACzE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACpC,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAA,uCAAkB,GAAE,CAAC;IACxD,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,MAAM,EAAE,MAAA,KAAK,CAAC,GAAG,0CAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAA,KAAK,CAAC,GAAG,0CAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAEjH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,aAAa,GAAG,MAAA,MAAA,KAAK,CAAC,GAAG,0CAAE,SAAS,EAAE,mCAAI,CAAC,CAAC;IAElD,OAAO,CACH,8BAAC,eAAM,IACH,cAAc,QACd,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE;YACzD,KAAK,IAAI,CAAC,CAAC;YACX,OAAO;gBACH,IAAI,EAAE,sBAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChF,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;aAC1B,CAAC;QACN,CAAC,CAAC,EACF,KAAK,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,EAAE,EAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,MAAM,EAChB,eAAe,EAAE,KAAK,CAAC,UAAU,GACnC,CACL,CAAC;AACN,CAAC;AA1BD,uCA0BC","sourcesContent":["import { useCurrentHotel } from '@frontend/hooks';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport { useSearchScopeHook } from '@/hooks/useSearchScopeHook';\nimport BasketRow from '@/models/BasketRow';\nimport { Color } from '@/util/Color';\nimport StringHelper from '@/util/StringHelper';\n\ninterface NumberOfAdultsPickerProps {\n row: BasketRow;\n onChange: (value: string) => void;\n\n labelColor?: Color;\n}\n\nexport default function NumberOfAdultsPicker(props: NumberOfAdultsPickerProps) {\n const { hotel } = useCurrentHotel();\n const { getMaxSelectableAdults } = useSearchScopeHook();\n const maxAdults = getMaxSelectableAdults({ adults: props.row?.getAdults(), children: props.row?.getChildren() });\n\n const { t } = useTranslation();\n\n const selectedValue = props.row?.getAdults() ?? 1;\n\n return (\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxAdults)].map((v: any, value: number) => {\n value += 1;\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Adult, t),\n value: value.toString(),\n };\n })}\n value={selectedValue?.toString()}\n onChange={props.onChange}\n keyName=\"value\"\n labelName=\"text\"\n inputLabelColor={props.labelColor}\n />\n );\n}\n"]}
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = NumberOfChildrenPicker;
7
6
  const hooks_1 = require("../../../../hooks/index.js");
8
7
  const react_1 = __importDefault(require("react"));
9
8
  const react_i18next_1 = require("react-i18next");
@@ -27,4 +26,5 @@ function NumberOfChildrenPicker(props) {
27
26
  };
28
27
  }), value: selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.toString(), onChange: props.onChange, keyName: "value", labelName: "text", inputLabelColor: props.labelColor }));
29
28
  }
29
+ exports.default = NumberOfChildrenPicker;
30
30
  //# sourceMappingURL=NumberOfChildrenPicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberOfChildrenPicker.js","sourceRoot":"/","sources":["src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.tsx"],"names":[],"mappings":";;;;;AAiBA,yCA4BC;AA7CD,2CAAkD;AAClD,kDAA0B;AAC1B,iDAA+C;AAC/C,0DAAuD;AAEvD,+DAAkF;AAGlF,uEAA+C;AAS/C,SAAwB,sBAAsB,CAAC,KAAkC;;IAC7E,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,aAAa,GAAG,MAAA,MAAA,KAAK,CAAC,GAAG,0CAAE,WAAW,EAAE,mCAAI,CAAC,CAAC;IACpD,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAuB,IAAG,CAAC,IAAG,MAAA,KAAK,CAAC,GAAG,0CAAE,SAAS,EAAE,CAAA,CAAC,CAAC;IAC1F,eAAe;IACf,IAAI,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1C,YAAY,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,CACH,8BAAC,eAAM,IACH,cAAc,QACd,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE;YAC5D,OAAO;gBACH,IAAI,EAAE,sBAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChF,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;aAC1B,CAAC;QACN,CAAC,CAAC,EACF,KAAK,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,EAAE,EAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,MAAM,EAChB,eAAe,EAAE,KAAK,CAAC,UAAU,GACnC,CACL,CAAC;AACN,CAAC","sourcesContent":["import { useCurrentHotel } from '@frontend/hooks';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport BasketRow from '@/models/BasketRow';\nimport { Color } from '@/util/Color';\nimport StringHelper from '@/util/StringHelper';\n\ninterface NumberOfChildrenPickerProps {\n row: BasketRow;\n onChange: (value: string) => void;\n\n labelColor?: Color;\n}\n\nexport default function NumberOfChildrenPicker(props: NumberOfChildrenPickerProps) {\n const { hotel } = useCurrentHotel();\n\n const { t } = useTranslation();\n\n const selectedValue = props.row?.getChildren() ?? 1;\n let maxOccupancy = Math.max((hotel?.maxOccupancy as number) + 1 - props.row?.getAdults());\n // Just in Case\n if (maxOccupancy < 1 || isNaN(maxOccupancy)) {\n maxOccupancy = 1;\n }\n\n return (\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxOccupancy)].map((v: any, value: number) => {\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Child, t),\n value: value.toString(),\n };\n })}\n value={selectedValue?.toString()}\n onChange={props.onChange}\n keyName=\"value\"\n labelName=\"text\"\n inputLabelColor={props.labelColor}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"NumberOfChildrenPicker.js","sourceRoot":"/","sources":["src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.tsx"],"names":[],"mappings":";;;;;AAAA,2CAAkD;AAClD,kDAA0B;AAC1B,iDAA+C;AAC/C,0DAAuD;AAEvD,+DAAkF;AAGlF,uEAA+C;AAS/C,SAAwB,sBAAsB,CAAC,KAAkC;;IAC7E,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,aAAa,GAAG,MAAA,MAAA,KAAK,CAAC,GAAG,0CAAE,WAAW,EAAE,mCAAI,CAAC,CAAC;IACpD,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAuB,IAAG,CAAC,IAAG,MAAA,KAAK,CAAC,GAAG,0CAAE,SAAS,EAAE,CAAA,CAAC,CAAC;IAC1F,eAAe;IACf,IAAI,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE;QACzC,YAAY,GAAG,CAAC,CAAC;KACpB;IAED,OAAO,CACH,8BAAC,eAAM,IACH,cAAc,QACd,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE;YAC5D,OAAO;gBACH,IAAI,EAAE,sBAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChF,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;aAC1B,CAAC;QACN,CAAC,CAAC,EACF,KAAK,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,EAAE,EAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,MAAM,EAChB,eAAe,EAAE,KAAK,CAAC,UAAU,GACnC,CACL,CAAC;AACN,CAAC;AA5BD,yCA4BC","sourcesContent":["import { useCurrentHotel } from '@frontend/hooks';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport BasketRow from '@/models/BasketRow';\nimport { Color } from '@/util/Color';\nimport StringHelper from '@/util/StringHelper';\n\ninterface NumberOfChildrenPickerProps {\n row: BasketRow;\n onChange: (value: string) => void;\n\n labelColor?: Color;\n}\n\nexport default function NumberOfChildrenPicker(props: NumberOfChildrenPickerProps) {\n const { hotel } = useCurrentHotel();\n\n const { t } = useTranslation();\n\n const selectedValue = props.row?.getChildren() ?? 1;\n let maxOccupancy = Math.max((hotel?.maxOccupancy as number) + 1 - props.row?.getAdults());\n // Just in Case\n if (maxOccupancy < 1 || isNaN(maxOccupancy)) {\n maxOccupancy = 1;\n }\n\n return (\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxOccupancy)].map((v: any, value: number) => {\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Child, t),\n value: value.toString(),\n };\n })}\n value={selectedValue?.toString()}\n onChange={props.onChange}\n keyName=\"value\"\n labelName=\"text\"\n inputLabelColor={props.labelColor}\n />\n );\n}\n"]}
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = NumberOfInfantsPicker;
7
6
  const hooks_1 = require("../../../../hooks/index.js");
8
7
  const react_1 = __importDefault(require("react"));
9
8
  const react_i18next_1 = require("react-i18next");
@@ -27,4 +26,5 @@ function NumberOfInfantsPicker(props) {
27
26
  };
28
27
  }), value: selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.toString(), onChange: props.onChange, keyName: "value", labelName: "text", inputLabelColor: props.labelColor }));
29
28
  }
29
+ exports.default = NumberOfInfantsPicker;
30
30
  //# sourceMappingURL=NumberOfInfantsPicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberOfInfantsPicker.js","sourceRoot":"/","sources":["src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.tsx"],"names":[],"mappings":";;;;;AAiBA,wCA4BC;AA7CD,2CAAkD;AAClD,kDAA0B;AAC1B,iDAA+C;AAC/C,0DAAuD;AAEvD,+DAAkF;AAGlF,uEAA+C;AAS/C,SAAwB,qBAAqB,CAAC,KAAiC;;IAC3E,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,aAAa,GAAG,MAAA,MAAA,KAAK,CAAC,GAAG,0CAAE,UAAU,EAAE,mCAAI,CAAC,CAAC;IACnD,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAuB,IAAG,CAAC,IAAG,MAAA,KAAK,CAAC,GAAG,0CAAE,SAAS,EAAE,CAAA,CAAC,CAAC;IAC1F,eAAe;IACf,IAAI,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1C,YAAY,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,CACH,8BAAC,eAAM,IACH,cAAc,QACd,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE;YAC5D,OAAO;gBACH,IAAI,EAAE,sBAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjF,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;aAC1B,CAAC;QACN,CAAC,CAAC,EACF,KAAK,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,EAAE,EAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,MAAM,EAChB,eAAe,EAAE,KAAK,CAAC,UAAU,GACnC,CACL,CAAC;AACN,CAAC","sourcesContent":["import { useCurrentHotel } from '@frontend/hooks';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport BasketRow from '@/models/BasketRow';\nimport { Color } from '@/util/Color';\nimport StringHelper from '@/util/StringHelper';\n\ninterface NumberOfInfantsPickerProps {\n row: BasketRow;\n onChange: (value: string) => void;\n\n labelColor?: Color;\n}\n\nexport default function NumberOfInfantsPicker(props: NumberOfInfantsPickerProps) {\n const { hotel } = useCurrentHotel();\n\n const { t } = useTranslation();\n\n const selectedValue = props.row?.getInfants() ?? 1;\n let maxOccupancy = Math.max((hotel?.maxOccupancy as number) + 1 - props.row?.getAdults());\n // Just in Case\n if (maxOccupancy < 1 || isNaN(maxOccupancy)) {\n maxOccupancy = 1;\n }\n\n return (\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxOccupancy)].map((v: any, value: number) => {\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Infant, t),\n value: value.toString(),\n };\n })}\n value={selectedValue?.toString()}\n onChange={props.onChange}\n keyName=\"value\"\n labelName=\"text\"\n inputLabelColor={props.labelColor}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"NumberOfInfantsPicker.js","sourceRoot":"/","sources":["src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.tsx"],"names":[],"mappings":";;;;;AAAA,2CAAkD;AAClD,kDAA0B;AAC1B,iDAA+C;AAC/C,0DAAuD;AAEvD,+DAAkF;AAGlF,uEAA+C;AAS/C,SAAwB,qBAAqB,CAAC,KAAiC;;IAC3E,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,aAAa,GAAG,MAAA,MAAA,KAAK,CAAC,GAAG,0CAAE,UAAU,EAAE,mCAAI,CAAC,CAAC;IACnD,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAuB,IAAG,CAAC,IAAG,MAAA,KAAK,CAAC,GAAG,0CAAE,SAAS,EAAE,CAAA,CAAC,CAAC;IAC1F,eAAe;IACf,IAAI,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE;QACzC,YAAY,GAAG,CAAC,CAAC;KACpB;IAED,OAAO,CACH,8BAAC,eAAM,IACH,cAAc,QACd,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE;YAC5D,OAAO;gBACH,IAAI,EAAE,sBAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjF,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;aAC1B,CAAC;QACN,CAAC,CAAC,EACF,KAAK,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,EAAE,EAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,MAAM,EAChB,eAAe,EAAE,KAAK,CAAC,UAAU,GACnC,CACL,CAAC;AACN,CAAC;AA5BD,wCA4BC","sourcesContent":["import { useCurrentHotel } from '@frontend/hooks';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport BasketRow from '@/models/BasketRow';\nimport { Color } from '@/util/Color';\nimport StringHelper from '@/util/StringHelper';\n\ninterface NumberOfInfantsPickerProps {\n row: BasketRow;\n onChange: (value: string) => void;\n\n labelColor?: Color;\n}\n\nexport default function NumberOfInfantsPicker(props: NumberOfInfantsPickerProps) {\n const { hotel } = useCurrentHotel();\n\n const { t } = useTranslation();\n\n const selectedValue = props.row?.getInfants() ?? 1;\n let maxOccupancy = Math.max((hotel?.maxOccupancy as number) + 1 - props.row?.getAdults());\n // Just in Case\n if (maxOccupancy < 1 || isNaN(maxOccupancy)) {\n maxOccupancy = 1;\n }\n\n return (\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxOccupancy)].map((v: any, value: number) => {\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Infant, t),\n value: value.toString(),\n };\n })}\n value={selectedValue?.toString()}\n onChange={props.onChange}\n keyName=\"value\"\n labelName=\"text\"\n inputLabelColor={props.labelColor}\n />\n );\n}\n"]}
@@ -15,28 +15,17 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- 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
- })();
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
+ };
35
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
27
  };
38
28
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = RoomBuilderProgress;
40
29
  const contexts_1 = require("../../../../contexts/index.js");
41
30
  const react_1 = __importStar(require("react"));
42
31
  const react_i18next_1 = require("react-i18next");
@@ -66,4 +55,5 @@ function RoomBuilderProgress() {
66
55
  react_1.default.createElement(ButtonWithNextStepConfirmationDialog, { icon: Icon_1.IconType.Add, onClick: addRoomRowOnClick, stopIconAnimation: true }, t(Translation_1.Translation.Step.Room.RoomInfo.AddRoom)))),
67
56
  react_1.default.createElement(TripteaseLodgingSearchSchema_1.TripteaseLodgingSearchSchema, null))), [currentBasketRows, t]);
68
57
  }
58
+ exports.default = RoomBuilderProgress;
69
59
  //# sourceMappingURL=RoomBuilderProgress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoomBuilderProgress.js","sourceRoot":"/","sources":["src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,sCA2BC;AAzCD,iDAAmD;AACnD,+CAAmD;AACnD,iDAA+C;AAC/C,0DAAuD;AAEvD,6EAAqD;AACrD,yDAA0D;AAC1D,gIAAwG;AACxG,uGAAoG;AACpG,iEAA2E;AAC3E,mEAA2C;AAC3C,8DAA+E;AAC/E,MAAM,oCAAoC,GAAG,IAAA,kDAA8B,EAAC,kBAAQ,CAAC,CAAC;AAEtF,SAAwB,mBAAmB;IACvC,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAEzF,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC3B,mBAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,2BAAe,CAAC,MAAM,EAAE,2BAAe,CAAC,KAAK,CAAC,CAAC;QAClG,YAAY,CAAC,IAAI,mBAAS,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,OAAO,IAAA,eAAO,EACV,GAAG,EAAE,CAAC,CACF;QACI,uCAAK,SAAS,EAAC,uBAAuB;YACjC,CAAC,CAAC,iBAAiB,CAAC,MAAM;gBACvB,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAc,EAAE,KAAa,EAAE,EAAE;oBACpD,OAAO,8BAAC,gCAAsB,IAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,GAAI,CAAC;gBACjF,CAAC,CAAC;YACN,uCAAK,SAAS,EAAC,4BAA4B;gBACvC,8BAAC,oCAAoC,IAAC,IAAI,EAAE,eAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,UAClG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CACP,CACrC,CACJ;QACN,8BAAC,2DAA4B,OAAG,CACjC,CACN,EACD,CAAC,iBAAiB,EAAE,CAAC,CAAC,CACzB,CAAC;AACN,CAAC","sourcesContent":["import { BasketContext } from '@frontend/contexts';\nimport React, { useContext, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport BEButton from '@/components/generic/BEButton';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport RoomBuilderProgressRow from '@/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow';\nimport { TripteaseLodgingSearchSchema } from '@/components/steps/room/TripteaseLodgingSearchSchema';\nimport { withNextStepConfirmationDialog } from '@/hooks/useNextStepAction';\nimport BasketRow from '@/models/BasketRow';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nconst ButtonWithNextStepConfirmationDialog = withNextStepConfirmationDialog(BEButton);\n\nexport default function RoomBuilderProgress() {\n const { currentBasketRows, addBasketRow, selectedBasketRow } = useContext(BasketContext);\n\n const { t } = useTranslation();\n const addRoomRowOnClick = () => {\n DataLayer.instance.sendInteraction('Add Room Row', InteractionType.BUTTON, InteractionStep.ROOMS);\n addBasketRow(new BasketRow());\n };\n return useMemo(\n () => (\n <>\n <div className=\"room-builder-progress\">\n {!!currentBasketRows.length &&\n currentBasketRows.map((row: BasketRow, index: number) => {\n return <RoomBuilderProgressRow row={row} key={row.getID()} number={index} />;\n })}\n <div className=\"u-flex justify-content-end\">\n <ButtonWithNextStepConfirmationDialog icon={IconType.Add} onClick={addRoomRowOnClick} stopIconAnimation>\n {t(Translation.Step.Room.RoomInfo.AddRoom)}\n </ButtonWithNextStepConfirmationDialog>\n </div>\n </div>\n <TripteaseLodgingSearchSchema />\n </>\n ),\n [currentBasketRows, t]\n );\n}\n"]}
1
+ {"version":3,"file":"RoomBuilderProgress.js","sourceRoot":"/","sources":["src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmD;AACnD,+CAAmD;AACnD,iDAA+C;AAC/C,0DAAuD;AAEvD,6EAAqD;AACrD,yDAA0D;AAC1D,gIAAwG;AACxG,uGAAoG;AACpG,iEAA2E;AAC3E,mEAA2C;AAC3C,8DAA+E;AAC/E,MAAM,oCAAoC,GAAG,IAAA,kDAA8B,EAAC,kBAAQ,CAAC,CAAC;AAEtF,SAAwB,mBAAmB;IACvC,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAEzF,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC3B,mBAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,2BAAe,CAAC,MAAM,EAAE,2BAAe,CAAC,KAAK,CAAC,CAAC;QAClG,YAAY,CAAC,IAAI,mBAAS,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,OAAO,IAAA,eAAO,EACV,GAAG,EAAE,CAAC,CACF;QACI,uCAAK,SAAS,EAAC,uBAAuB;YACjC,CAAC,CAAC,iBAAiB,CAAC,MAAM;gBACvB,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAc,EAAE,KAAa,EAAE,EAAE;oBACpD,OAAO,8BAAC,gCAAsB,IAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,GAAI,CAAC;gBACjF,CAAC,CAAC;YACN,uCAAK,SAAS,EAAC,4BAA4B;gBACvC,8BAAC,oCAAoC,IAAC,IAAI,EAAE,eAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,UAClG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CACP,CACrC,CACJ;QACN,8BAAC,2DAA4B,OAAG,CACjC,CACN,EACD,CAAC,iBAAiB,EAAE,CAAC,CAAC,CACzB,CAAC;AACN,CAAC;AA3BD,sCA2BC","sourcesContent":["import { BasketContext } from '@frontend/contexts';\nimport React, { useContext, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport BEButton from '@/components/generic/BEButton';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport RoomBuilderProgressRow from '@/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow';\nimport { TripteaseLodgingSearchSchema } from '@/components/steps/room/TripteaseLodgingSearchSchema';\nimport { withNextStepConfirmationDialog } from '@/hooks/useNextStepAction';\nimport BasketRow from '@/models/BasketRow';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nconst ButtonWithNextStepConfirmationDialog = withNextStepConfirmationDialog(BEButton);\n\nexport default function RoomBuilderProgress() {\n const { currentBasketRows, addBasketRow, selectedBasketRow } = useContext(BasketContext);\n\n const { t } = useTranslation();\n const addRoomRowOnClick = () => {\n DataLayer.instance.sendInteraction('Add Room Row', InteractionType.BUTTON, InteractionStep.ROOMS);\n addBasketRow(new BasketRow());\n };\n return useMemo(\n () => (\n <>\n <div className=\"room-builder-progress\">\n {!!currentBasketRows.length &&\n currentBasketRows.map((row: BasketRow, index: number) => {\n return <RoomBuilderProgressRow row={row} key={row.getID()} number={index} />;\n })}\n <div className=\"u-flex justify-content-end\">\n <ButtonWithNextStepConfirmationDialog icon={IconType.Add} onClick={addRoomRowOnClick} stopIconAnimation>\n {t(Translation.Step.Room.RoomInfo.AddRoom)}\n </ButtonWithNextStepConfirmationDialog>\n </div>\n </div>\n <TripteaseLodgingSearchSchema />\n </>\n ),\n [currentBasketRows, t]\n );\n}\n"]}
@@ -15,28 +15,17 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- 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
- })();
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
+ };
35
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
27
  };
38
28
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = RoomBuilderProgressRow;
40
29
  const contexts_1 = require("../../../../contexts/index.js");
41
30
  const hooks_1 = require("../../../../hooks/index.js");
42
31
  const classnames_1 = __importDefault(require("classnames"));
@@ -56,7 +45,6 @@ const NumberOfAdultsPicker_1 = __importDefault(require("./NumberOfAdultsPicker")
56
45
  const NumberOfChildrenPicker_1 = __importDefault(require("./NumberOfChildrenPicker"));
57
46
  const useSearchScopeHook_1 = require("../../../../hooks/useSearchScopeHook");
58
47
  const WindowSize_1 = require("../../../../hooks/WindowSize");
59
- const BasketRow_1 = require("../../../../models/BasketRow");
60
48
  const Color_1 = require("../../../../util/Color");
61
49
  const DataLayer_1 = __importStar(require("../../../../util/DataLayer"));
62
50
  const ScreenSize_1 = __importDefault(require("../../../../util/ScreenSize"));
@@ -147,7 +135,18 @@ function RoomBuilderProgressRow(props) {
147
135
  const roomLabel = (0, react_1.useMemo)(() => {
148
136
  return context.currentBasketRows.length !== 1 ? props.number + 1 : '';
149
137
  }, [context.currentBasketRows.length, props.number]);
150
- const promoCodeTooltip = (row === null || row === void 0 ? void 0 : row.getPromoCodeTooltip(t, Translation_1.Translation)) || '';
138
+ let promoCodeTooltip = '';
139
+ if (row.getPromoCodeStatus() === 'new') {
140
+ promoCodeTooltip = row.getPromoCode() ? t(Translation_1.Translation.Step.Date.PromoCodeTooltip.Checking) : t(Translation_1.Translation.Step.Date.PromoCodeTooltip.NoValue);
141
+ }
142
+ else {
143
+ if (row.getPromoCodeStatus() === 'valid') {
144
+ promoCodeTooltip = t(Translation_1.Translation.Step.Date.PromoCodeTooltip.Valid);
145
+ }
146
+ else {
147
+ promoCodeTooltip = t(Translation_1.Translation.Step.Date.PromoCodeTooltip.Invalid);
148
+ }
149
+ }
151
150
  const openPromoModalOnClick = () => {
152
151
  setIsPromoModalOpen(true);
153
152
  };
@@ -246,9 +245,9 @@ function RoomBuilderProgressRow(props) {
246
245
  react_1.default.createElement(Overlay_1.Overlay, { open: isPromoModalOpen, followElement: thisElement.current, onClose: setPromoCodeOnClose },
247
246
  react_1.default.createElement("div", { className: "u-pad--heavy" },
248
247
  react_1.default.createElement("div", null,
249
- react_1.default.createElement(PromoCodeInput_1.default, { value: promocode, onChange: changePromoCode, valid: ((_b = context.selectedBasketRow) === null || _b === void 0 ? void 0 : _b.getPromoCodeStatus()) !== BasketRow_1.EPromoCodeStatus.New && promocode
250
- ? ((_c = context.selectedBasketRow) === null || _c === void 0 ? void 0 : _c.getPromoCodeStatus()) === BasketRow_1.EPromoCodeStatus.Valid
251
- : undefined, row: context.selectedBasketRow })),
248
+ react_1.default.createElement(PromoCodeInput_1.default, { value: promocode, onChange: changePromoCode, valid: ((_b = context.selectedBasketRow) === null || _b === void 0 ? void 0 : _b.getPromoCodeStatus()) !== 'new' && promocode
249
+ ? ((_c = context.selectedBasketRow) === null || _c === void 0 ? void 0 : _c.getPromoCodeStatus()) === 'valid'
250
+ : undefined })),
252
251
  react_1.default.createElement("div", { className: "u-flex justify-content-end align-items-center u-marg-top" },
253
252
  react_1.default.createElement(BEButton_1.default, { isText: true, size: "small", onClick: cancelPromoPopupOnClick }, t(Translation_1.Translation.Misc.Cancel))))),
254
253
  !isLargerThanLarge && row.isValid() && (react_1.default.createElement(BEButton_1.default, { wide: true, primary: true, filled: true, onClick: saveRoomChangesOnClick }, t(Translation_1.Translation.Misc.Save))))) : (react_1.default.createElement("div", { className: "w-100" },
@@ -286,4 +285,5 @@ function RoomBuilderProgressRow(props) {
286
285
  react_1.default.createElement(BEButton_1.default, { isText: true, size: "tiny", onClick: editRoomOnClick }, t(Translation_1.Translation.Misc.Edit).toUpperCase())))),
287
286
  removeButton)))));
288
287
  }
288
+ exports.default = RoomBuilderProgressRow;
289
289
  //# sourceMappingURL=RoomBuilderProgressRow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoomBuilderProgressRow.js","sourceRoot":"/","sources":["src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport classNames from 'classnames';\nimport dayjs from 'dayjs';\nimport React, { useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport BEButton from '@/components/generic/BEButton';\nimport FloatingDatePicker from '@/components/generic/date/FloatingDatePicker';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { Overlay } from '@/components/generic/Overlay/Overlay';\nimport Pill, { PillType } from '@/components/generic/Pill';\nimport PromoCodeInput from '@/components/generic/PromoCodeInput';\nimport Text, { TextType } from '@/components/generic/Text';\nimport Tooltip from '@/components/generic/Tooltip/Tooltip';\nimport NumberOfAdultsPicker from '@/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker';\nimport NumberOfChildrenPicker from '@/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker';\nimport { useSearchScopeHook } from '@/hooks/useSearchScopeHook';\nimport { useWindowSize } from '@/hooks/WindowSize';\nimport BasketRow, { EPromoCodeStatus } from '@/models/BasketRow';\nimport { Color } from '@/util/Color';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nimport ScreenSize from '@/util/ScreenSize';\nimport StringHelper from '@/util/StringHelper';\n\nimport NumberOfInfantsPicker from './NumberOfInfantsPicker';\n\nexport interface RoomBuilderProgressRowProps {\n row: BasketRow;\n number?: number;\n}\n\nexport default function RoomBuilderProgressRow(props: RoomBuilderProgressRowProps) {\n const context = useContext(BasketContext);\n const engineContext = useContext(BookingEngineContext);\n const { hotel } = useCurrentHotel();\n const { showChildren } = useSearchScopeHook();\n const { t } = useTranslation();\n const { isMobile } = useWindowSize();\n\n const [isEditing, setIsEditing] = useState(false);\n const [collapsed, setCollapsed] = useState<boolean>(true);\n const { row } = props;\n\n const isCurrent = useMemo(() => {\n return context.selectedBasketRow && context.selectedBasketRow?.getID() === row?.getID();\n }, [context.selectedBasketRow, context.selectedBasketRow?.getID(), row?.getID()]);\n\n const classes = classNames('room-builder-progress--item', {\n '--current': isCurrent,\n '--complete': row.isValid(),\n });\n const thisElement = useRef<HTMLDivElement | null>(null);\n\n const [isPromoModalOpen, setIsPromoModalOpen] = useState(false);\n\n useEffect(() => {\n if (isEditing && !isCurrent) {\n setIsEditing(false);\n }\n }, [context.selectBasketRow]);\n\n const updatePeopleValues = ({ adults, children, infants, updatedPromoCode }: { adults?: number; children?: number; infants?: number; updatedPromoCode?: string }) => {\n if (adults && adults !== row.getAdults()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setAdults(adults);\n }\n\n if ((children || children === 0) && children !== row.getChildren()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setChildren(children);\n }\n if ((infants || infants === 0) && infants !== row.getInfants()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setInfants(infants);\n }\n\n if ((updatedPromoCode || updatedPromoCode === '') && updatedPromoCode !== row.getPromoCode()) {\n DataLayer.instance.sendInteraction('Promo Code', InteractionType.FORM_FIELD, InteractionStep.ROOMS);\n row.setPromoCode(updatedPromoCode);\n }\n\n context.updateBasketRow(row);\n };\n\n const updateDateValues = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs) => {\n if (startDate) {\n row.setStartDate(startDate);\n }\n\n if (endDate) {\n row.setEndDate(endDate);\n }\n\n context.updateBasketRow(row);\n };\n\n const onDatePickerOpenChange = (isOpen: boolean) => {\n context.onDatePickerOpenChange(isOpen);\n };\n\n const updatePromoCode = (code: string) => {\n DataLayer.instance.sendInteraction('Promo Code', InteractionType.FORM_FIELD, InteractionStep.ROOMS);\n\n if (context.selectedBasketRow) {\n context.selectedBasketRow.setPromoCode(code);\n context.selectedBasketRow.setManualInputPromoCode(!!code);\n context.updateBasketRow(context.selectedBasketRow);\n if (code) {\n setIsPromoModalOpen(false);\n }\n }\n };\n\n const isRemovable = context.currentBasketRows.length > 1;\n const removeRoomOnClick = () => {\n DataLayer.instance.sendInteraction('Remove Room', InteractionType.BUTTON, InteractionStep.ROOMS);\n context.removeBasketRow(row);\n };\n const removeButton = (\n <div className=\"room-builder-progress--remove\">\n <Tooltip title={isRemovable ? 'Remove this room' : 'Cannot remove this room as at least one must be selected.'}>\n <BEButton isText icon={IconType.Close} iconPosition=\"right\" stopIconAnimation disabled={!isRemovable} onClick={removeRoomOnClick} />\n </Tooltip>\n </div>\n );\n\n const toggleButton = (\n <div className=\"room-builder-progress--collapse\">\n <BEButton\n isText\n icon={collapsed ? IconType.ArrowDown3 : IconType.ArrowUp3}\n iconPosition=\"right\"\n stopIconAnimation\n onClick={() => {\n setCollapsed((prev) => !prev);\n }}\n />\n </div>\n );\n\n const isLargerThanLarge = engineContext.screenSize > ScreenSize.ExtraLarge;\n const showEditSection = isLargerThanLarge || isCurrent;\n\n const roomLabel = useMemo(() => {\n return context.currentBasketRows.length !== 1 ? (props.number as number) + 1 : '';\n }, [context.currentBasketRows.length, props.number]);\n\n const promoCodeTooltip = row?.getPromoCodeTooltip(t, Translation) || '';\n const openPromoModalOnClick = () => {\n setIsPromoModalOpen(true);\n };\n const setPromoCodeOnClose = () => {\n setIsPromoModalOpen(false);\n };\n const cancelPromoPopupOnClick = () => {\n DataLayer.instance.sendInteraction('Cancel Promo Popup', InteractionType.BUTTON, InteractionStep.ROOMS);\n setIsPromoModalOpen(false);\n };\n const saveRoomChangesOnClick = () => {\n DataLayer.instance.sendInteraction('Save Room Changes', InteractionType.BUTTON, InteractionStep.ROOMS);\n context.selectBasketRow(null);\n setIsEditing(false);\n };\n const cancelRoomChangesOnClick = () => {\n DataLayer.instance.sendInteraction('Cancel Room Changes', InteractionType.LINK, InteractionStep.ROOMS);\n context.selectBasketRow(null);\n setIsEditing(false);\n };\n const editRoomOnClick = () => {\n DataLayer.instance.sendInteraction('Edit Room', InteractionType.LINK, InteractionStep.ROOMS);\n context.selectBasketRow(row);\n setIsEditing(true);\n };\n const changePromoCode = (val: any) => {\n updatePromoCode(val);\n };\n const updateNumberOfAdultsOnChange = (value: string) => {\n updatePeopleValues({ adults: +value });\n };\n const updateNumberOfChildrenOnChange = (value: string) => {\n updatePeopleValues({ children: +value });\n };\n const updateNumberOfInfantsOnChange = (value: string) => {\n updatePeopleValues({ infants: +value });\n };\n\n const promocode = row.getPromoCode(hotel?.memberOnlyPromoCode);\n\n const DateRangePicker = useMemo(() => {\n return (\n <div className=\"room-builder-progress--value\">\n <FloatingDatePicker\n startDate={row.getStartDate()}\n endDate={row.getEndDate()}\n selectedDateChanged={updateDateValues}\n className=\"u-w-100@xl- d-flex align-items-center justify-content-center\"\n isAboveNav\n onDatePickerOpenChange={onDatePickerOpenChange}\n >\n <Tooltip title={t(Translation.Step.Date.SelectArrivalAndDepartureDatesByClickingHere)}>\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer\">\n <Text color={Color.Accent} bold className=\"u-nowrap\">\n {row.getArrivalDate()}\n </Text>\n <Icon icon={IconType.ArrowRight2} />\n <Text color={Color.Accent} bold className=\"u-nowrap\">\n {row.getDepartureDate()}\n </Text>\n </div>\n </Tooltip>\n </FloatingDatePicker>\n </div>\n );\n }, [row, onDatePickerOpenChange]);\n\n const RoomBuilderProgressSearchForm = useMemo(() => {\n return (\n <>\n <Tooltip title={t(Translation.Step.Date.UpdateAdults)} wrapperClasses=\"u-w-100@xl- d-flex\">\n <div className=\"room-builder-progress--value u-flex-justify-center u-flex\">\n <NumberOfAdultsPicker row={row} onChange={updateNumberOfAdultsOnChange} />\n </div>\n </Tooltip>\n {showChildren ? (\n <Tooltip title={t(Translation.Step.Date.UpdateChildren)} wrapperClasses=\"u-w-100@xl- d-flex\">\n <div className=\"room-builder-progress--value u-flex-justify-center u-flex\">\n <NumberOfChildrenPicker row={row} onChange={updateNumberOfChildrenOnChange} />\n </div>\n </Tooltip>\n ) : null}\n {hotel?.childConfiguration?.supportInfants ? (\n <Tooltip title={t(Translation.Step.Date.UpdateInfants)} wrapperClasses=\"u-w-100@xl- d-flex\">\n <div className=\"room-builder-progress--value u-flex-justify-center u-flex\">\n <NumberOfInfantsPicker row={row} onChange={updateNumberOfInfantsOnChange} />\n </div>\n </Tooltip>\n ) : null}\n\n <>\n {!isMobile ? DateRangePicker : null}\n <Tooltip title={promoCodeTooltip} wrapperClasses=\"u-w-100@xl- d-flex\">\n <div className=\"room-builder-progress--value u-cursor-pointer\" ref={thisElement} onClick={openPromoModalOnClick}>\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl-\">\n <Text className=\"u-pad-right--light\" type={TextType.Body} color={promocode ? row.getPromoCodeColour() : Color.Navy}>\n {promocode ? promocode : t(Translation.Step.Date.PromoCode)}\n </Text>\n <Icon icon={IconType.Dropdown} color={Color.DarkGrey} />\n </div>\n </div>\n </Tooltip>\n </>\n </>\n );\n }, [\n row,\n isMobile,\n promocode,\n promoCodeTooltip,\n showChildren,\n hotel?.childConfiguration,\n updateNumberOfAdultsOnChange,\n updateNumberOfChildrenOnChange,\n updateNumberOfInfantsOnChange,\n ]);\n\n return (\n <div className={classes}>\n {isCurrent || !row.isValid() ? (\n <div className=\"u-flex w-100 001\">\n <div className=\"u-flex flex-wrap flex-xl-nowrap flex-row u-w-100@xl- align-items-center\">\n <div>\n {row.isValid() ? (\n <Text>\n <strong className=\"u-nowrap\">\n {t(Translation.Step.Room.EditingRoom)} {roomLabel}\n </strong>\n </Text>\n ) : (\n <Text>\n <strong className=\"u-nowrap\">\n {t(Translation.Step.Room.SelectRoom)} {roomLabel}\n </strong>\n </Text>\n )}\n </div>\n {showEditSection ? (\n <>\n {!isLargerThanLarge && (\n <div className={'w-100 d-flex' + (showEditSection ? ' u-marg-bottom@xl-' : '')}>\n <Text type={TextType.Small} color={Color.DarkGrey} inline>\n {t(Translation.Step.Room.ChooseRoomBelow)}\n </Text>\n </div>\n )}\n\n <>{isMobile ? DateRangePicker : null}</>\n {isMobile ? (\n <div className=\"w-100\">\n <AutoAutoHeight open={!collapsed}>\n <div className=\"w-100 u-flex flex-column\">{RoomBuilderProgressSearchForm}</div>\n </AutoAutoHeight>\n </div>\n ) : (\n RoomBuilderProgressSearchForm\n )}\n\n <Overlay open={isPromoModalOpen} followElement={thisElement.current} onClose={setPromoCodeOnClose}>\n <div className=\"u-pad--heavy\">\n <div>\n <PromoCodeInput\n value={promocode}\n onChange={changePromoCode}\n valid={\n context.selectedBasketRow?.getPromoCodeStatus() !== EPromoCodeStatus.New && promocode\n ? context.selectedBasketRow?.getPromoCodeStatus() === EPromoCodeStatus.Valid\n : undefined\n }\n row={context.selectedBasketRow}\n />\n </div>\n\n <div className=\"u-flex justify-content-end align-items-center u-marg-top\">\n <BEButton isText size=\"small\" onClick={cancelPromoPopupOnClick}>\n {t(Translation.Misc.Cancel)}\n </BEButton>\n </div>\n </div>\n </Overlay>\n {!isLargerThanLarge && row.isValid() && (\n <BEButton wide primary filled onClick={saveRoomChangesOnClick}>\n {t(Translation.Misc.Save)}\n </BEButton>\n )}\n </>\n ) : (\n <div className=\"w-100\">\n <Text type={TextType.Small} color={Color.DarkGrey}>\n {t(Translation.Step.Room.NextRoom)}\n </Text>\n </div>\n )}\n </div>\n <div className=\"u-flex align-items-center\">\n {row.isValid() && (\n <div className=\"u-none@xl-\">\n <Tooltip title=\"Cancel changes\">\n <div className=\"u-flex align-items-center\">\n <BEButton isText size=\"tiny\" onClick={cancelRoomChangesOnClick}>\n {t(Translation.Misc.Cancel).toUpperCase()}\n </BEButton>\n </div>\n </Tooltip>\n </div>\n )}\n <div className=\"u-flex align-items-center flex-row\">\n {isMobile && toggleButton}\n {removeButton}\n </div>\n </div>\n </div>\n ) : (\n <div className=\"u-flex w-100 002\">\n <div className=\"u-flex justify-content-start\">\n <div className=\"u-flex flex-column\">\n <span>\n <Text inline={isLargerThanLarge}>\n <strong>{row.getRoom().name}</strong>\n </Text>\n <Text inline={isLargerThanLarge} type={isLargerThanLarge ? TextType.Body : TextType.Small}>\n <span className=\"u-marg-left--light@xl\">\n {StringHelper.pluralWithDictAndCount(row.getAdults(), Translation.Step.Date.Adult, t)}\n {showChildren ? (\n <>\n ,&nbsp;\n {StringHelper.pluralWithDictAndCount(row.getChildren(), Translation.Step.Date.Child, t)}\n </>\n ) : null}\n {hotel?.childConfiguration?.supportInfants ? (\n <>\n ,&nbsp;\n {StringHelper.pluralWithDictAndCount(row.getInfants(), Translation.Step.Date.Infant, t)}\n </>\n ) : null}\n </span>\n </Text>\n </span>\n <Text type={TextType.Caption} color={Color.DarkGrey}>\n <strong>{row.getStayDateRange('ddd, MMM D, YYYY', ' -')}</strong>\n </Text>\n </div>\n {promocode && row.isPromoCodeValid() && (\n <div className=\"u-marg-left d-flex align-items-center\">\n <Pill type={PillType.Success} icon={IconType.Money}>\n {promocode}\n </Pill>\n </div>\n )}\n </div>\n <div className=\"u-flex align-items-center\">\n <div className=\"u-flex align-items-center room-builder-progress--edit\">\n <Tooltip title={t(Translation.Step.Room.EditThisRoom)}>\n <div className=\"u-flex align-items-center\">\n <BEButton isText size=\"tiny\" onClick={editRoomOnClick}>\n {t(Translation.Misc.Edit).toUpperCase()}\n </BEButton>\n </div>\n </Tooltip>\n </div>\n {removeButton}\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"RoomBuilderProgressRow.js","sourceRoot":"/","sources":["src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport classNames from 'classnames';\nimport dayjs from 'dayjs';\nimport React, { useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport BEButton from '@/components/generic/BEButton';\nimport FloatingDatePicker from '@/components/generic/date/FloatingDatePicker';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { Overlay } from '@/components/generic/Overlay/Overlay';\nimport Pill, { PillType } from '@/components/generic/Pill';\nimport PromoCodeInput from '@/components/generic/PromoCodeInput';\nimport Text, { TextType } from '@/components/generic/Text';\nimport Tooltip from '@/components/generic/Tooltip/Tooltip';\nimport NumberOfAdultsPicker from '@/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker';\nimport NumberOfChildrenPicker from '@/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker';\nimport { useSearchScopeHook } from '@/hooks/useSearchScopeHook';\nimport { useWindowSize } from '@/hooks/WindowSize';\nimport BasketRow from '@/models/BasketRow';\nimport { Color } from '@/util/Color';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nimport ScreenSize from '@/util/ScreenSize';\nimport StringHelper from '@/util/StringHelper';\n\nimport NumberOfInfantsPicker from './NumberOfInfantsPicker';\n\nexport interface RoomBuilderProgressRowProps {\n row: BasketRow;\n number?: number;\n}\n\nexport default function RoomBuilderProgressRow(props: RoomBuilderProgressRowProps) {\n const context = useContext(BasketContext);\n const engineContext = useContext(BookingEngineContext);\n const { hotel } = useCurrentHotel();\n const { showChildren } = useSearchScopeHook();\n const { t } = useTranslation();\n const { isMobile } = useWindowSize();\n\n const [isEditing, setIsEditing] = useState(false);\n const [collapsed, setCollapsed] = useState<boolean>(true);\n const { row } = props;\n\n const isCurrent = useMemo(() => {\n return context.selectedBasketRow && context.selectedBasketRow?.getID() === row?.getID();\n }, [context.selectedBasketRow, context.selectedBasketRow?.getID(), row?.getID()]);\n\n const classes = classNames('room-builder-progress--item', {\n '--current': isCurrent,\n '--complete': row.isValid(),\n });\n const thisElement = useRef<HTMLDivElement | null>(null);\n\n const [isPromoModalOpen, setIsPromoModalOpen] = useState(false);\n\n useEffect(() => {\n if (isEditing && !isCurrent) {\n setIsEditing(false);\n }\n }, [context.selectBasketRow]);\n\n const updatePeopleValues = ({ adults, children, infants, updatedPromoCode }: { adults?: number; children?: number; infants?: number; updatedPromoCode?: string }) => {\n if (adults && adults !== row.getAdults()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setAdults(adults);\n }\n\n if ((children || children === 0) && children !== row.getChildren()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setChildren(children);\n }\n if ((infants || infants === 0) && infants !== row.getInfants()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setInfants(infants);\n }\n\n if ((updatedPromoCode || updatedPromoCode === '') && updatedPromoCode !== row.getPromoCode()) {\n DataLayer.instance.sendInteraction('Promo Code', InteractionType.FORM_FIELD, InteractionStep.ROOMS);\n row.setPromoCode(updatedPromoCode);\n }\n\n context.updateBasketRow(row);\n };\n\n const updateDateValues = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs) => {\n if (startDate) {\n row.setStartDate(startDate);\n }\n\n if (endDate) {\n row.setEndDate(endDate);\n }\n\n context.updateBasketRow(row);\n };\n\n const onDatePickerOpenChange = (isOpen: boolean) => {\n context.onDatePickerOpenChange(isOpen);\n };\n\n const updatePromoCode = (code: string) => {\n DataLayer.instance.sendInteraction('Promo Code', InteractionType.FORM_FIELD, InteractionStep.ROOMS);\n\n if (context.selectedBasketRow) {\n context.selectedBasketRow.setPromoCode(code);\n context.selectedBasketRow.setManualInputPromoCode(!!code);\n context.updateBasketRow(context.selectedBasketRow);\n if (code) {\n setIsPromoModalOpen(false);\n }\n }\n };\n\n const isRemovable = context.currentBasketRows.length > 1;\n const removeRoomOnClick = () => {\n DataLayer.instance.sendInteraction('Remove Room', InteractionType.BUTTON, InteractionStep.ROOMS);\n context.removeBasketRow(row);\n };\n const removeButton = (\n <div className=\"room-builder-progress--remove\">\n <Tooltip title={isRemovable ? 'Remove this room' : 'Cannot remove this room as at least one must be selected.'}>\n <BEButton isText icon={IconType.Close} iconPosition=\"right\" stopIconAnimation disabled={!isRemovable} onClick={removeRoomOnClick} />\n </Tooltip>\n </div>\n );\n\n const toggleButton = (\n <div className=\"room-builder-progress--collapse\">\n <BEButton\n isText\n icon={collapsed ? IconType.ArrowDown3 : IconType.ArrowUp3}\n iconPosition=\"right\"\n stopIconAnimation\n onClick={() => {\n setCollapsed((prev) => !prev);\n }}\n />\n </div>\n );\n\n const isLargerThanLarge = engineContext.screenSize > ScreenSize.ExtraLarge;\n const showEditSection = isLargerThanLarge || isCurrent;\n\n const roomLabel = useMemo(() => {\n return context.currentBasketRows.length !== 1 ? (props.number as number) + 1 : '';\n }, [context.currentBasketRows.length, props.number]);\n\n let promoCodeTooltip = '';\n\n if (row.getPromoCodeStatus() === 'new') {\n promoCodeTooltip = row.getPromoCode() ? t(Translation.Step.Date.PromoCodeTooltip.Checking) : t(Translation.Step.Date.PromoCodeTooltip.NoValue);\n } else {\n if (row.getPromoCodeStatus() === 'valid') {\n promoCodeTooltip = t(Translation.Step.Date.PromoCodeTooltip.Valid);\n } else {\n promoCodeTooltip = t(Translation.Step.Date.PromoCodeTooltip.Invalid);\n }\n }\n const openPromoModalOnClick = () => {\n setIsPromoModalOpen(true);\n };\n const setPromoCodeOnClose = () => {\n setIsPromoModalOpen(false);\n };\n const cancelPromoPopupOnClick = () => {\n DataLayer.instance.sendInteraction('Cancel Promo Popup', InteractionType.BUTTON, InteractionStep.ROOMS);\n setIsPromoModalOpen(false);\n };\n const saveRoomChangesOnClick = () => {\n DataLayer.instance.sendInteraction('Save Room Changes', InteractionType.BUTTON, InteractionStep.ROOMS);\n context.selectBasketRow(null);\n setIsEditing(false);\n };\n const cancelRoomChangesOnClick = () => {\n DataLayer.instance.sendInteraction('Cancel Room Changes', InteractionType.LINK, InteractionStep.ROOMS);\n context.selectBasketRow(null);\n setIsEditing(false);\n };\n const editRoomOnClick = () => {\n DataLayer.instance.sendInteraction('Edit Room', InteractionType.LINK, InteractionStep.ROOMS);\n context.selectBasketRow(row);\n setIsEditing(true);\n };\n const changePromoCode = (val: any) => {\n updatePromoCode(val);\n };\n const updateNumberOfAdultsOnChange = (value: string) => {\n updatePeopleValues({ adults: +value });\n };\n const updateNumberOfChildrenOnChange = (value: string) => {\n updatePeopleValues({ children: +value });\n };\n const updateNumberOfInfantsOnChange = (value: string) => {\n updatePeopleValues({ infants: +value });\n };\n\n const promocode = row.getPromoCode(hotel?.memberOnlyPromoCode);\n\n const DateRangePicker = useMemo(() => {\n return (\n <div className=\"room-builder-progress--value\">\n <FloatingDatePicker\n startDate={row.getStartDate()}\n endDate={row.getEndDate()}\n selectedDateChanged={updateDateValues}\n className=\"u-w-100@xl- d-flex align-items-center justify-content-center\"\n isAboveNav\n onDatePickerOpenChange={onDatePickerOpenChange}\n >\n <Tooltip title={t(Translation.Step.Date.SelectArrivalAndDepartureDatesByClickingHere)}>\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer\">\n <Text color={Color.Accent} bold className=\"u-nowrap\">\n {row.getArrivalDate()}\n </Text>\n <Icon icon={IconType.ArrowRight2} />\n <Text color={Color.Accent} bold className=\"u-nowrap\">\n {row.getDepartureDate()}\n </Text>\n </div>\n </Tooltip>\n </FloatingDatePicker>\n </div>\n );\n }, [row, onDatePickerOpenChange]);\n\n const RoomBuilderProgressSearchForm = useMemo(() => {\n return (\n <>\n <Tooltip title={t(Translation.Step.Date.UpdateAdults)} wrapperClasses=\"u-w-100@xl- d-flex\">\n <div className=\"room-builder-progress--value u-flex-justify-center u-flex\">\n <NumberOfAdultsPicker row={row} onChange={updateNumberOfAdultsOnChange} />\n </div>\n </Tooltip>\n {showChildren ? (\n <Tooltip title={t(Translation.Step.Date.UpdateChildren)} wrapperClasses=\"u-w-100@xl- d-flex\">\n <div className=\"room-builder-progress--value u-flex-justify-center u-flex\">\n <NumberOfChildrenPicker row={row} onChange={updateNumberOfChildrenOnChange} />\n </div>\n </Tooltip>\n ) : null}\n {hotel?.childConfiguration?.supportInfants ? (\n <Tooltip title={t(Translation.Step.Date.UpdateInfants)} wrapperClasses=\"u-w-100@xl- d-flex\">\n <div className=\"room-builder-progress--value u-flex-justify-center u-flex\">\n <NumberOfInfantsPicker row={row} onChange={updateNumberOfInfantsOnChange} />\n </div>\n </Tooltip>\n ) : null}\n\n <>\n {!isMobile ? DateRangePicker : null}\n <Tooltip title={promoCodeTooltip} wrapperClasses=\"u-w-100@xl- d-flex\">\n <div className=\"room-builder-progress--value u-cursor-pointer\" ref={thisElement} onClick={openPromoModalOnClick}>\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl-\">\n <Text className=\"u-pad-right--light\" type={TextType.Body} color={promocode ? row.getPromoCodeColour() : Color.Navy}>\n {promocode ? promocode : t(Translation.Step.Date.PromoCode)}\n </Text>\n <Icon icon={IconType.Dropdown} color={Color.DarkGrey} />\n </div>\n </div>\n </Tooltip>\n </>\n </>\n );\n }, [\n row,\n isMobile,\n promocode,\n promoCodeTooltip,\n showChildren,\n hotel?.childConfiguration,\n updateNumberOfAdultsOnChange,\n updateNumberOfChildrenOnChange,\n updateNumberOfInfantsOnChange,\n ]);\n\n return (\n <div className={classes}>\n {isCurrent || !row.isValid() ? (\n <div className=\"u-flex w-100 001\">\n <div className=\"u-flex flex-wrap flex-xl-nowrap flex-row u-w-100@xl- align-items-center\">\n <div>\n {row.isValid() ? (\n <Text>\n <strong className=\"u-nowrap\">\n {t(Translation.Step.Room.EditingRoom)} {roomLabel}\n </strong>\n </Text>\n ) : (\n <Text>\n <strong className=\"u-nowrap\">\n {t(Translation.Step.Room.SelectRoom)} {roomLabel}\n </strong>\n </Text>\n )}\n </div>\n {showEditSection ? (\n <>\n {!isLargerThanLarge && (\n <div className={'w-100 d-flex' + (showEditSection ? ' u-marg-bottom@xl-' : '')}>\n <Text type={TextType.Small} color={Color.DarkGrey} inline>\n {t(Translation.Step.Room.ChooseRoomBelow)}\n </Text>\n </div>\n )}\n\n <>{isMobile ? DateRangePicker : null}</>\n {isMobile ? (\n <div className=\"w-100\">\n <AutoAutoHeight open={!collapsed}>\n <div className=\"w-100 u-flex flex-column\">{RoomBuilderProgressSearchForm}</div>\n </AutoAutoHeight>\n </div>\n ) : (\n RoomBuilderProgressSearchForm\n )}\n\n <Overlay open={isPromoModalOpen} followElement={thisElement.current} onClose={setPromoCodeOnClose}>\n <div className=\"u-pad--heavy\">\n <div>\n <PromoCodeInput\n value={promocode}\n onChange={changePromoCode}\n valid={\n context.selectedBasketRow?.getPromoCodeStatus() !== 'new' && promocode\n ? context.selectedBasketRow?.getPromoCodeStatus() === 'valid'\n : undefined\n }\n />\n </div>\n\n <div className=\"u-flex justify-content-end align-items-center u-marg-top\">\n <BEButton isText size=\"small\" onClick={cancelPromoPopupOnClick}>\n {t(Translation.Misc.Cancel)}\n </BEButton>\n </div>\n </div>\n </Overlay>\n {!isLargerThanLarge && row.isValid() && (\n <BEButton wide primary filled onClick={saveRoomChangesOnClick}>\n {t(Translation.Misc.Save)}\n </BEButton>\n )}\n </>\n ) : (\n <div className=\"w-100\">\n <Text type={TextType.Small} color={Color.DarkGrey}>\n {t(Translation.Step.Room.NextRoom)}\n </Text>\n </div>\n )}\n </div>\n <div className=\"u-flex align-items-center\">\n {row.isValid() && (\n <div className=\"u-none@xl-\">\n <Tooltip title=\"Cancel changes\">\n <div className=\"u-flex align-items-center\">\n <BEButton isText size=\"tiny\" onClick={cancelRoomChangesOnClick}>\n {t(Translation.Misc.Cancel).toUpperCase()}\n </BEButton>\n </div>\n </Tooltip>\n </div>\n )}\n <div className=\"u-flex align-items-center flex-row\">\n {isMobile && toggleButton}\n {removeButton}\n </div>\n </div>\n </div>\n ) : (\n <div className=\"u-flex w-100 002\">\n <div className=\"u-flex justify-content-start\">\n <div className=\"u-flex flex-column\">\n <span>\n <Text inline={isLargerThanLarge}>\n <strong>{row.getRoom().name}</strong>\n </Text>\n <Text inline={isLargerThanLarge} type={isLargerThanLarge ? TextType.Body : TextType.Small}>\n <span className=\"u-marg-left--light@xl\">\n {StringHelper.pluralWithDictAndCount(row.getAdults(), Translation.Step.Date.Adult, t)}\n {showChildren ? (\n <>\n ,&nbsp;\n {StringHelper.pluralWithDictAndCount(row.getChildren(), Translation.Step.Date.Child, t)}\n </>\n ) : null}\n {hotel?.childConfiguration?.supportInfants ? (\n <>\n ,&nbsp;\n {StringHelper.pluralWithDictAndCount(row.getInfants(), Translation.Step.Date.Infant, t)}\n </>\n ) : null}\n </span>\n </Text>\n </span>\n <Text type={TextType.Caption} color={Color.DarkGrey}>\n <strong>{row.getStayDateRange('ddd, MMM D, YYYY', ' -')}</strong>\n </Text>\n </div>\n {promocode && row.isPromoCodeValid() && (\n <div className=\"u-marg-left d-flex align-items-center\">\n <Pill type={PillType.Success} icon={IconType.Money}>\n {promocode}\n </Pill>\n </div>\n )}\n </div>\n <div className=\"u-flex align-items-center\">\n <div className=\"u-flex align-items-center room-builder-progress--edit\">\n <Tooltip title={t(Translation.Step.Room.EditThisRoom)}>\n <div className=\"u-flex align-items-center\">\n <BEButton isText size=\"tiny\" onClick={editRoomOnClick}>\n {t(Translation.Misc.Edit).toUpperCase()}\n </BEButton>\n </div>\n </Tooltip>\n </div>\n {removeButton}\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -15,28 +15,17 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- 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
- })();
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
+ };
35
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
27
  };
38
28
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = RoomDetails;
40
29
  const contexts_1 = require("../../../../contexts/index.js");
41
30
  const hooks_1 = require("../../../../hooks/index.js");
42
31
  const classnames_1 = __importDefault(require("classnames"));
@@ -221,4 +210,5 @@ function RoomDetails(props) {
221
210
  })));
222
211
  })));
223
212
  }
213
+ exports.default = RoomDetails;
224
214
  //# sourceMappingURL=RoomDetails.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoomDetails.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/RoomDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, BookingEngineContext, CompanyContext, HotelOverridesContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport classNames from 'classnames';\nimport React, { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport BEButton from '@/components/generic/BEButton';\nimport Currency from '@/components/generic/Currency';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport { PlanpayPrice } from '@/components/generic/PlanpayPrice/PlanpayPrice';\nimport Text, { TextType } from '@/components/generic/Text';\nimport ImageGallerySlider from '@/components/steps/room/ImageGallerySlider';\nimport { RoomDetailsBedsBlock } from '@/components/steps/room/roomDetails/RoomDetailsBedsBlock';\nimport { RoomDetailsPerkBlock } from '@/components/steps/room/roomDetails/RoomDetailsPerkBlock';\nimport RoomRatePills from '@/components/steps/room/roomDetails/roomRates/RoomRatePills';\nimport RoomRates from '@/components/steps/room/roomDetails/roomRates/RoomRates';\nimport UnavailableRoom from '@/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom';\nimport RoomModal from '@/components/steps/room/RoomModal';\nimport useCurrency from '@/hooks/Currency';\nimport usePlanpay from '@/hooks/Planpay';\nimport { useWindowSize } from '@/hooks/WindowSize';\nimport { HotelPerk } from '@/models/Client/Hotel/HotelPerk';\nimport { Room } from '@/models/Room/Room';\nimport { RoomRate, RoomRatePriceInclusion } from '@/models/Room/RoomRate';\nimport FeaturedPromoFeature from '@/providers/feature/FeaturedPromoFeature';\nimport { ImageSize } from '@/providers/ImageProvider';\nimport { Translation } from '@/translations/Translation';\nimport { Color, getContrastTextColor } from '@/util/Color';\nimport * as currencyHelper from '@/util/CurrencyHelper';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nimport ScreenSize from '@/util/ScreenSize';\nimport { TextAlign } from '@/util/TextAlignment';\nexport interface RoomDetailsProps {\n room: Room;\n disableMarginBottom?: boolean;\n}\n\nexport default function RoomDetails(props: RoomDetailsProps) {\n const { room } = props;\n\n const [featuredRates, setFeaturedRates] = useState<RoomRate[]>([]);\n const [standardRates, setStandardRates] = useState<RoomRate[]>([]);\n\n const [viewingRates, setViewingRates] = useState<boolean | number | null>(!room.isAvailable());\n const [viewingDescription, setViewingDescription] = useState(false);\n\n const { t } = useTranslation();\n\n const context = useContext(BookingEngineContext);\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n const { hotel } = useCurrentHotel();\n const hotelOverridesContext = useContext(HotelOverridesContext);\n\n const classes = classNames('room-details', {\n ['+is-open']: viewingRates,\n });\n\n useEffect(() => {\n if (basketContext.selectedBasketRow?.getRoom() && basketContext.selectedBasketRow.getRoom().code === props.room.code) {\n setViewingRates(true);\n }\n\n const basketRow = basketContext.selectedBasketRow;\n if (!basketRow) {\n return;\n }\n\n DataLayer.instance.addRoomImpression(room, { to: basketRow.getStartDate(), from: basketRow.getEndDate() }, basketRow.getPromoCode());\n }, [basketContext.selectedBasketRow]);\n\n useEffect(() => {\n let nonPromoRates: RoomRate[] = [];\n const toSetFeaturedRate: RoomRate[] = [];\n\n if (FeaturedPromoFeature.isActive()) {\n for (const currentRate of room.getRates()) {\n if (currentRate.promoCode?.toLowerCase() === basketContext.selectedBasketRow?.getPromoCode()?.toLowerCase()) {\n toSetFeaturedRate.unshift(currentRate);\n } else {\n nonPromoRates.push(currentRate);\n }\n }\n\n if (toSetFeaturedRate.length > 0) {\n setViewingRates(true);\n setFeaturedRates(toSetFeaturedRate);\n }\n } else {\n nonPromoRates = room.getRates();\n }\n\n setStandardRates(nonPromoRates);\n }, [room.getRates()]);\n\n const trimmedDescription = room.getShortDescription();\n\n const { isMobile } = useWindowSize();\n\n const ratesOpen = viewingRates || (context.screenSize <= ScreenSize.Medium && viewingRates === null && !hotel?.mobileDefaultRatesClosed);\n const moreDetailsOnClick = () => {\n DataLayer.instance.sendInteraction('More Room Details', InteractionType.LINK, InteractionStep.ROOMS);\n setViewingDescription(true);\n };\n const sendRoomClickOnClick = () => {\n if (!ratesOpen) {\n const basketRow = basketContext.selectedBasketRow;\n\n if (basketRow) {\n DataLayer.instance.sendRoomClick(room, basketRow.getStartDate(), basketRow.getEndDate(), basketRow.getPromoCode());\n }\n }\n setViewingRates(!ratesOpen);\n };\n const closeDescriptionOnClose = () => {\n setViewingDescription(false);\n };\n\n const lowestRawPrice = room.getLowestPrice(false, true);\n const lowestDisplayPrice = hotelOverridesContext.alwaysShowDecimals ? lowestRawPrice : Math.round(lowestRawPrice);\n const currencySize = context.screenSize > ScreenSize.Medium && lowestDisplayPrice.toLocaleString().length < 7 ? 'large' : 'normal';\n\n const convertCurrencyPrice = (value: number) => Math.round(currencyHelper.convertPrice(value, true, ccx.currentCurrency, hotel?.defaultCurrency as string));\n\n const { value: price, isLoading } = useCurrency({\n hideDecimals: true,\n children: lowestDisplayPrice,\n });\n\n const selectedRow = basketContext.selectedBasketRow;\n\n const { hasPricePreview } = usePlanpay();\n\n const { roomPerks } = room.getRoomPerks({\n hotel: hotel,\n room: room,\n perksLimitNumber: 5,\n });\n\n return (\n <div className={`room-details-container ${props.disableMarginBottom ? '' : 'u-marg-bottom'}`}>\n <div className={classes}>\n <div className=\"room-details--image\">\n <ImageGallerySlider images={props.room.getImages()} imageSize={ImageSize.Medium} />\n </div>\n <div className=\"room-details--content u-pad--heavy u-pad@l-\">\n <div className=\"u-marg-bottom\">\n {context.screenSize > ScreenSize.Large && (\n <>\n <div className=\"u-marg-bottom\">\n <RoomRatePills room={room} limit={2} />\n </div>\n </>\n )}\n <div className=\"room-details--content-title u-marg-bottom--light\">\n <Headline bold>{room.name}</Headline>\n </div>\n <RoomDetailsBedsBlock room={room} />\n {trimmedDescription?.replace(/<br(\\/|)>/g, '') && (\n <div className=\"room-details--content-description u-marg-bottom--light\">\n <Text color={Color.DarkGrey} type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: trimmedDescription?.replace(/<br(\\/|)>/g, '') || '' }} />\n </Text>\n </div>\n )}\n </div>\n\n <div className=\"row\">\n {!hotel?.perksHideOnRoomRow && (\n <div className=\"col-12 u-flex u-marg-bottom@m- flex-column align-items-start\">\n <div className=\"room-details--content-perks u-marg-bottom@m-\">\n {isMobile && (\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} bold color={Color.Accent}>\n {hotel?.perkTitle || t(Translation.Misc.Perks.AndYouGetAll)}\n </Text>\n </div>\n )}\n <RoomDetailsPerkBlock perks={roomPerks as HotelPerk[]} room={room} />\n </div>\n </div>\n )}\n {hotel?.showDescriptionOnRoomDetails && (\n <div className=\"col-12\">\n <LineBreak noMargins />\n <div className=\"u-marg-top u-text-overflow-ellipsis-3 u-marg-bottom\">\n <Text type={TextType.Small} color={Color.Graphite}>\n <span dangerouslySetInnerHTML={{ __html: props.room.getLongDescription() || '' }} />\n </Text>\n </div>\n </div>\n )}\n <div className=\"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start\">\n <BEButton icon={IconType.ArrowRight2} isText primary size=\"tiny\" iconPosition=\"right\" onClick={moreDetailsOnClick}>\n {t(Translation.Step.Room.RoomInfo.MoreDetails)}\n </BEButton>\n </div>\n {room.isAvailable() && (\n <div className=\"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end\">\n <Text type={TextType.Small} color={Color.Navy} inline>\n {t(Translation.Misc.From)}\n </Text>\n <div className=\"room-details--content-price flex-row align-items-end\">\n <Headline size={currencySize} bold>\n <Currency hideDecimals>{lowestDisplayPrice}</Currency>\n </Headline>\n <Text color={Color.DarkGrey} inline>\n /{t(Translation.Misc.Night)}\n </Text>\n </div>\n <Text type={TextType.Small} color={Color.Grey} className=\"u-nowrap\" align={isMobile ? TextAlign.Left : TextAlign.Right}>\n <span\n dangerouslySetInnerHTML={{\n __html:\n room.getLowestPriceType() === RoomRatePriceInclusion.IncludingFeesAndTaxes\n ? t(Translation.Step.Room.RoomInfo.IncludesTaxes)\n : t(Translation.Step.Room.ExcludingTaxes),\n }}\n ></span>\n </Text>\n </div>\n )}\n </div>\n <div className=\"u-flex-direction-column u-flex u-flex-align-flex-end u-flex-align-flex-start@m- u-w-100@m-\">\n {!isLoading && hasPricePreview ? (\n <div className=\"u-marg-top--light\">\n <PlanpayPrice price={price} checkin={(selectedRow?.getStartDate() || basketContext.endDate).format('YYYY-MM-DD')} currency={ccx.currentCurrency} />\n </div>\n ) : null}\n <BEButton\n className=\"u-marg-top--light\"\n name=\"ViewRatesNowButton\"\n primary\n primaryActive={!!ratesOpen}\n filled\n stopIconAnimation\n icon={ratesOpen ? IconType.ArrowUp2 : IconType.ArrowDown2}\n iconPosition=\"right\"\n onClick={sendRoomClickOnClick}\n wide={context.screenSize <= ScreenSize.Large}\n textColor={getContrastTextColor(ratesOpen ? hotel?.colors.accent3 : hotel?.colors.accent)}\n >\n {ratesOpen ? t(Translation.Step.Room.RoomInfo.CloseRates) : t(Translation.Step.Room.RoomInfo.ViewRates)}\n </BEButton>\n </div>\n </div>\n </div>\n <AutoAutoHeight open={!!ratesOpen}>\n {room.isAvailable() ? <RoomRates roomCode={room.code as string} rates={standardRates} featuredRates={featuredRates} /> : <UnavailableRoom room={room} />}\n </AutoAutoHeight>\n <RoomModal open={viewingDescription} room={props.room} rates={standardRates} featuredRates={featuredRates} onClose={closeDescriptionOnClose} />\n {room.getRates().map((rate) => {\n return (\n <script key={room.code + '-' + rate.code} type=\"application/ld+json\">\n {JSON.stringify({\n '@context': 'http://schema.org/',\n '@type': 'Offer',\n itemOffered: {\n '@type': 'HotelRoom',\n name: room.name,\n },\n name: rate.name,\n identifier: rate.code,\n priceSpecification: {\n '@type': 'UnitPriceSpecification',\n price: convertCurrencyPrice(rate.getAveragePrice(true)),\n basePrice: convertCurrencyPrice(rate.getTotalPrice(true)),\n totalPrice: convertCurrencyPrice(rate.getAveragePrice()),\n priceCurrency: ccx.currentCurrency,\n unitText: 'Nightly',\n },\n })}\n </script>\n );\n })}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"RoomDetails.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/RoomDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, BookingEngineContext, CompanyContext, HotelOverridesContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport classNames from 'classnames';\nimport React, { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport BEButton from '@/components/generic/BEButton';\nimport Currency from '@/components/generic/Currency';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport { PlanpayPrice } from '@/components/generic/PlanpayPrice/PlanpayPrice';\nimport Text, { TextType } from '@/components/generic/Text';\nimport ImageGallerySlider from '@/components/steps/room/ImageGallerySlider';\nimport { RoomDetailsBedsBlock } from '@/components/steps/room/roomDetails/RoomDetailsBedsBlock';\nimport { RoomDetailsPerkBlock } from '@/components/steps/room/roomDetails/RoomDetailsPerkBlock';\nimport RoomRatePills from '@/components/steps/room/roomDetails/roomRates/RoomRatePills';\nimport RoomRates from '@/components/steps/room/roomDetails/roomRates/RoomRates';\nimport UnavailableRoom from '@/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom';\nimport RoomModal from '@/components/steps/room/RoomModal';\nimport useCurrency from '@/hooks/Currency';\nimport usePlanpay from '@/hooks/Planpay';\nimport { useWindowSize } from '@/hooks/WindowSize';\nimport { HotelPerk } from '@/models/Client/Hotel/HotelPerk';\nimport { Room } from '@/models/Room/Room';\nimport { RoomRate, RoomRatePriceInclusion } from '@/models/Room/RoomRate';\nimport FeaturedPromoFeature from '@/providers/feature/FeaturedPromoFeature';\nimport { ImageSize } from '@/providers/ImageProvider';\nimport { Translation } from '@/translations/Translation';\nimport { Color, getContrastTextColor } from '@/util/Color';\nimport * as currencyHelper from '@/util/CurrencyHelper';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nimport ScreenSize from '@/util/ScreenSize';\nimport { TextAlign } from '@/util/TextAlignment';\nexport interface RoomDetailsProps {\n room: Room;\n disableMarginBottom?: boolean;\n}\n\nexport default function RoomDetails(props: RoomDetailsProps) {\n const { room } = props;\n\n const [featuredRates, setFeaturedRates] = useState<RoomRate[]>([]);\n const [standardRates, setStandardRates] = useState<RoomRate[]>([]);\n\n const [viewingRates, setViewingRates] = useState<boolean | number | null>(!room.isAvailable());\n const [viewingDescription, setViewingDescription] = useState(false);\n\n const { t } = useTranslation();\n\n const context = useContext(BookingEngineContext);\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n const { hotel } = useCurrentHotel();\n const hotelOverridesContext = useContext(HotelOverridesContext);\n\n const classes = classNames('room-details', {\n ['+is-open']: viewingRates,\n });\n\n useEffect(() => {\n if (basketContext.selectedBasketRow?.getRoom() && basketContext.selectedBasketRow.getRoom().code === props.room.code) {\n setViewingRates(true);\n }\n\n const basketRow = basketContext.selectedBasketRow;\n if (!basketRow) {\n return;\n }\n\n DataLayer.instance.addRoomImpression(room, { to: basketRow.getStartDate(), from: basketRow.getEndDate() }, basketRow.getPromoCode());\n }, [basketContext.selectedBasketRow]);\n\n useEffect(() => {\n let nonPromoRates: RoomRate[] = [];\n const toSetFeaturedRate: RoomRate[] = [];\n\n if (FeaturedPromoFeature.isActive()) {\n for (const currentRate of room.getRates()) {\n if (currentRate.promoCode?.toLowerCase() === basketContext.selectedBasketRow?.getPromoCode()?.toLowerCase()) {\n toSetFeaturedRate.unshift(currentRate);\n } else {\n nonPromoRates.push(currentRate);\n }\n }\n\n if (toSetFeaturedRate.length > 0) {\n setViewingRates(true);\n setFeaturedRates(toSetFeaturedRate);\n }\n } else {\n nonPromoRates = room.getRates();\n }\n\n setStandardRates(nonPromoRates);\n }, [room.getRates()]);\n\n const trimmedDescription = room.getShortDescription();\n\n const { isMobile } = useWindowSize();\n\n const ratesOpen = viewingRates || (context.screenSize <= ScreenSize.Medium && viewingRates === null && !hotel?.mobileDefaultRatesClosed);\n const moreDetailsOnClick = () => {\n DataLayer.instance.sendInteraction('More Room Details', InteractionType.LINK, InteractionStep.ROOMS);\n setViewingDescription(true);\n };\n const sendRoomClickOnClick = () => {\n if (!ratesOpen) {\n const basketRow = basketContext.selectedBasketRow;\n\n if (basketRow) {\n DataLayer.instance.sendRoomClick(room, basketRow.getStartDate(), basketRow.getEndDate(), basketRow.getPromoCode());\n }\n }\n setViewingRates(!ratesOpen);\n };\n const closeDescriptionOnClose = () => {\n setViewingDescription(false);\n };\n\n const lowestRawPrice = room.getLowestPrice(false, true);\n const lowestDisplayPrice = hotelOverridesContext.alwaysShowDecimals ? lowestRawPrice : Math.round(lowestRawPrice);\n const currencySize = context.screenSize > ScreenSize.Medium && lowestDisplayPrice.toLocaleString().length < 7 ? 'large' : 'normal';\n\n const convertCurrencyPrice = (value: number) => Math.round(currencyHelper.convertPrice(value, true, ccx.currentCurrency, hotel?.defaultCurrency as string));\n\n const { value: price, isLoading } = useCurrency({\n hideDecimals: true,\n children: lowestDisplayPrice,\n });\n\n const selectedRow = basketContext.selectedBasketRow;\n\n const { hasPricePreview } = usePlanpay();\n\n const { roomPerks } = room.getRoomPerks({\n hotel: hotel,\n room: room,\n perksLimitNumber: 5,\n });\n\n return (\n <div className={`room-details-container ${props.disableMarginBottom ? '' : 'u-marg-bottom'}`}>\n <div className={classes}>\n <div className=\"room-details--image\">\n <ImageGallerySlider images={props.room.getImages()} imageSize={ImageSize.Medium} />\n </div>\n <div className=\"room-details--content u-pad--heavy u-pad@l-\">\n <div className=\"u-marg-bottom\">\n {context.screenSize > ScreenSize.Large && (\n <>\n <div className=\"u-marg-bottom\">\n <RoomRatePills room={room} limit={2} />\n </div>\n </>\n )}\n <div className=\"room-details--content-title u-marg-bottom--light\">\n <Headline bold>{room.name}</Headline>\n </div>\n <RoomDetailsBedsBlock room={room} />\n {trimmedDescription?.replace(/<br(\\/|)>/g, '') && (\n <div className=\"room-details--content-description u-marg-bottom--light\">\n <Text color={Color.DarkGrey} type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: trimmedDescription?.replace(/<br(\\/|)>/g, '') || '' }} />\n </Text>\n </div>\n )}\n </div>\n\n <div className=\"row\">\n {!hotel?.perksHideOnRoomRow && (\n <div className=\"col-12 u-flex u-marg-bottom@m- flex-column align-items-start\">\n <div className=\"room-details--content-perks u-marg-bottom@m-\">\n {isMobile && (\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} bold color={Color.Accent}>\n {hotel?.perkTitle || t(Translation.Misc.Perks.AndYouGetAll)}\n </Text>\n </div>\n )}\n <RoomDetailsPerkBlock perks={roomPerks as HotelPerk[]} room={room} />\n </div>\n </div>\n )}\n {hotel?.showDescriptionOnRoomDetails && (\n <div className=\"col-12\">\n <LineBreak noMargins />\n <div className=\"u-marg-top u-text-overflow-ellipsis-3 u-marg-bottom\">\n <Text type={TextType.Small} color={Color.Graphite}>\n <span dangerouslySetInnerHTML={{ __html: props.room.getLongDescription() || '' }} />\n </Text>\n </div>\n </div>\n )}\n <div className=\"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start\">\n <BEButton icon={IconType.ArrowRight2} isText primary size=\"tiny\" iconPosition=\"right\" onClick={moreDetailsOnClick}>\n {t(Translation.Step.Room.RoomInfo.MoreDetails)}\n </BEButton>\n </div>\n {room.isAvailable() && (\n <div className=\"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end\">\n <Text type={TextType.Small} color={Color.Navy} inline>\n {t(Translation.Misc.From)}\n </Text>\n <div className=\"room-details--content-price flex-row align-items-end\">\n <Headline size={currencySize} bold>\n <Currency hideDecimals>{lowestDisplayPrice}</Currency>\n </Headline>\n <Text color={Color.DarkGrey} inline>\n /{t(Translation.Misc.Night)}\n </Text>\n </div>\n <Text type={TextType.Small} color={Color.Grey} className=\"u-nowrap\" align={isMobile ? TextAlign.Left : TextAlign.Right}>\n <span\n dangerouslySetInnerHTML={{\n __html:\n room.getLowestPriceType() === RoomRatePriceInclusion.IncludingFeesAndTaxes\n ? t(Translation.Step.Room.RoomInfo.IncludesTaxes)\n : t(Translation.Step.Room.ExcludingTaxes),\n }}\n ></span>\n </Text>\n </div>\n )}\n </div>\n <div className=\"u-flex-direction-column u-flex u-flex-align-flex-end u-flex-align-flex-start@m- u-w-100@m-\">\n {!isLoading && hasPricePreview ? (\n <div className=\"u-marg-top--light\">\n <PlanpayPrice price={price} checkin={(selectedRow?.getStartDate() || basketContext.endDate).format('YYYY-MM-DD')} currency={ccx.currentCurrency} />\n </div>\n ) : null}\n <BEButton\n className=\"u-marg-top--light\"\n name=\"ViewRatesNowButton\"\n primary\n primaryActive={!!ratesOpen}\n filled\n stopIconAnimation\n icon={ratesOpen ? IconType.ArrowUp2 : IconType.ArrowDown2}\n iconPosition=\"right\"\n onClick={sendRoomClickOnClick}\n wide={context.screenSize <= ScreenSize.Large}\n textColor={getContrastTextColor(ratesOpen ? hotel?.colors.accent3 : hotel?.colors.accent)}\n >\n {ratesOpen ? t(Translation.Step.Room.RoomInfo.CloseRates) : t(Translation.Step.Room.RoomInfo.ViewRates)}\n </BEButton>\n </div>\n </div>\n </div>\n <AutoAutoHeight open={!!ratesOpen}>\n {room.isAvailable() ? <RoomRates roomCode={room.code as string} rates={standardRates} featuredRates={featuredRates} /> : <UnavailableRoom room={room} />}\n </AutoAutoHeight>\n <RoomModal open={viewingDescription} room={props.room} rates={standardRates} featuredRates={featuredRates} onClose={closeDescriptionOnClose} />\n {room.getRates().map((rate) => {\n return (\n <script key={room.code + '-' + rate.code} type=\"application/ld+json\">\n {JSON.stringify({\n '@context': 'http://schema.org/',\n '@type': 'Offer',\n itemOffered: {\n '@type': 'HotelRoom',\n name: room.name,\n },\n name: rate.name,\n identifier: rate.code,\n priceSpecification: {\n '@type': 'UnitPriceSpecification',\n price: convertCurrencyPrice(rate.getAveragePrice(true)),\n basePrice: convertCurrencyPrice(rate.getTotalPrice(true)),\n totalPrice: convertCurrencyPrice(rate.getAveragePrice()),\n priceCurrency: ccx.currentCurrency,\n unitText: 'Nightly',\n },\n })}\n </script>\n );\n })}\n </div>\n );\n}\n"]}