@roomstay/frontend 2.1.6 → 2.1.7

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 (872) hide show
  1. package/dist/14.bundle.js +1 -0
  2. package/dist/151.bundle.js +1 -0
  3. package/dist/201.bundle.js +1 -1
  4. package/dist/279.bundle.js +1 -1
  5. package/dist/370.bundle.js +1 -1
  6. package/dist/399.bundle.js +2 -0
  7. package/dist/399.bundle.js.LICENSE.txt +30 -0
  8. package/dist/449.bundle.js +1 -1
  9. package/dist/559.bundle.js +1 -0
  10. package/dist/760.bundle.js +1 -1
  11. package/dist/815.bundle.js +1 -0
  12. package/dist/855.bundle.js +1 -0
  13. package/dist/873.bundle.js +1 -1
  14. package/dist/882.bundle.js +1 -1
  15. package/dist/962.bundle.js +1 -0
  16. package/dist/972.bundle.js +1 -1
  17. package/dist/main.bundle.js +1 -1
  18. package/dist/src/animations/AutoAutoHeight.d.ts +1 -1
  19. package/dist/src/animations/AutoAutoHeight.js +11 -34
  20. package/dist/src/animations/AutoAutoHeight.js.map +1 -1
  21. package/dist/src/animations/Fade.d.ts +1 -1
  22. package/dist/src/animations/Fade.js +3 -4
  23. package/dist/src/animations/Fade.js.map +1 -1
  24. package/dist/src/api/AddonAPI.js +3 -2
  25. package/dist/src/api/AddonAPI.js.map +1 -1
  26. package/dist/src/api/AvailabilityAPI.d.ts +2 -2
  27. package/dist/src/api/AvailabilityAPI.js +6 -6
  28. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  29. package/dist/src/api/BaseAPI.d.ts +4 -4
  30. package/dist/src/api/BaseAPI.js +30 -24
  31. package/dist/src/api/BaseAPI.js.map +1 -1
  32. package/dist/src/api/ExchangeRateAPI.d.ts +1 -1
  33. package/dist/src/api/ExchangeRateAPI.js.map +1 -1
  34. package/dist/src/api/HotelAPI.js +1 -1
  35. package/dist/src/api/HotelAPI.js.map +1 -1
  36. package/dist/src/api/ReservationAPI.d.ts +1 -1
  37. package/dist/src/api/ReservationAPI.js +2 -1
  38. package/dist/src/api/ReservationAPI.js.map +1 -1
  39. package/dist/src/api/SessionAPI.d.ts +1 -1
  40. package/dist/src/api/SessionAPI.js +2 -2
  41. package/dist/src/api/SessionAPI.js.map +1 -1
  42. package/dist/src/components/User/Forms/ForgotPasswordForm.js +19 -23
  43. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  44. package/dist/src/components/User/Forms/SignInForm.js +50 -52
  45. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  46. package/dist/src/components/User/Forms/SignUpForm.js +61 -62
  47. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  48. package/dist/src/components/generic/Alert.js +3 -26
  49. package/dist/src/components/generic/Alert.js.map +1 -1
  50. package/dist/src/components/generic/BEButton.d.ts +1 -1
  51. package/dist/src/components/generic/BEButton.js +8 -7
  52. package/dist/src/components/generic/BEButton.js.map +1 -1
  53. package/dist/src/components/generic/BESelect.d.ts +0 -0
  54. package/dist/src/components/generic/BESelect.js +2 -0
  55. package/dist/src/components/generic/BESelect.js.map +1 -0
  56. package/dist/src/components/generic/BackButton.js +2 -26
  57. package/dist/src/components/generic/BackButton.js.map +1 -1
  58. package/dist/src/components/generic/BookNowPayLaterInfoBlock.d.ts +2 -1
  59. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +9 -9
  60. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  61. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +1 -3
  62. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js.map +1 -1
  63. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +1 -1
  64. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  65. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +1 -1
  66. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js +1 -1
  67. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
  68. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +6 -4
  69. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  70. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +1 -1
  71. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  72. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +5 -4
  73. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  74. package/dist/src/components/generic/Card/Card/Card.js +4 -27
  75. package/dist/src/components/generic/Card/Card/Card.js.map +1 -1
  76. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +1 -1
  77. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +8 -8
  78. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
  79. package/dist/src/components/generic/Checkbox/Checkbox.d.ts +1 -1
  80. package/dist/src/components/generic/Checkbox/Checkbox.js +8 -8
  81. package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
  82. package/dist/src/components/generic/Countdown.js +6 -29
  83. package/dist/src/components/generic/Countdown.js.map +1 -1
  84. package/dist/src/components/generic/Currency.js +10 -10
  85. package/dist/src/components/generic/Currency.js.map +1 -1
  86. package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +3 -3
  87. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +28 -28
  88. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
  89. package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.d.ts +13 -7
  90. package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js +4 -39
  91. package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js.map +1 -1
  92. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +18 -16
  93. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -1
  94. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +4 -27
  95. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -1
  96. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +10 -10
  97. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -1
  98. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.d.ts +3 -3
  99. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +13 -36
  100. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
  101. package/dist/src/components/generic/Distance.js +5 -28
  102. package/dist/src/components/generic/Distance.js.map +1 -1
  103. package/dist/src/components/generic/ForwardedSelect.d.ts +1 -1
  104. package/dist/src/components/generic/ForwardedSelect.js +9 -29
  105. package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
  106. package/dist/src/components/generic/Headline.d.ts +1 -1
  107. package/dist/src/components/generic/Headline.js +5 -30
  108. package/dist/src/components/generic/Headline.js.map +1 -1
  109. package/dist/src/components/generic/Icon/Icon.js +5 -28
  110. package/dist/src/components/generic/Icon/Icon.js.map +1 -1
  111. package/dist/src/components/generic/IconText/IconText.js +5 -4
  112. package/dist/src/components/generic/IconText/IconText.js.map +1 -1
  113. package/dist/src/components/generic/InputGroup/InputGroup.js +6 -29
  114. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  115. package/dist/src/components/generic/LineBreak.js +2 -25
  116. package/dist/src/components/generic/LineBreak.js.map +1 -1
  117. package/dist/src/components/generic/Notification.d.ts +2 -3
  118. package/dist/src/components/generic/Notification.js +16 -13
  119. package/dist/src/components/generic/Notification.js.map +1 -1
  120. package/dist/src/components/generic/NumberIncrement.js +10 -10
  121. package/dist/src/components/generic/NumberIncrement.js.map +1 -1
  122. package/dist/src/components/generic/Overlay/Overlay.d.ts +3 -3
  123. package/dist/src/components/generic/Overlay/Overlay.js +16 -40
  124. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  125. package/dist/src/components/generic/PasswordBox/PasswordBox.d.ts +1 -1
  126. package/dist/src/components/generic/PasswordBox/PasswordBox.js +8 -8
  127. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  128. package/dist/src/components/generic/PaymentCard/CardTypeSelect.js +9 -28
  129. package/dist/src/components/generic/PaymentCard/CardTypeSelect.js.map +1 -1
  130. package/dist/src/components/generic/PaymentCard/PaymentCard.js +18 -41
  131. package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
  132. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +66 -51
  133. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  134. package/dist/src/components/generic/Pill.d.ts +1 -1
  135. package/dist/src/components/generic/Pill.js +4 -27
  136. package/dist/src/components/generic/Pill.js.map +1 -1
  137. package/dist/src/components/generic/Placeholder.js +4 -27
  138. package/dist/src/components/generic/Placeholder.js.map +1 -1
  139. package/dist/src/components/generic/PlanpayButton/PlanpayButton.js +2 -25
  140. package/dist/src/components/generic/PlanpayButton/PlanpayButton.js.map +1 -1
  141. package/dist/src/components/generic/Portal/Portal.d.ts +1 -1
  142. package/dist/src/components/generic/Portal/Portal.js +4 -24
  143. package/dist/src/components/generic/Portal/Portal.js.map +1 -1
  144. package/dist/src/components/generic/PromoCodeInput.js +27 -28
  145. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  146. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +9 -32
  147. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  148. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.d.ts +6 -6
  149. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +6 -29
  150. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  151. package/dist/src/components/generic/RecentSearchesCard.js +19 -18
  152. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  153. package/dist/src/components/generic/RoomstayMark.d.ts +1 -0
  154. package/dist/src/components/generic/RoomstayMark.js +49 -0
  155. package/dist/src/components/generic/RoomstayMark.js.map +1 -0
  156. package/dist/src/components/generic/ScrollToTop.d.ts +2 -0
  157. package/dist/src/components/generic/ScrollToTop.js +3 -3
  158. package/dist/src/components/generic/ScrollToTop.js.map +1 -1
  159. package/dist/src/components/generic/Select/Select.d.ts +4 -4
  160. package/dist/src/components/generic/Select/Select.js +16 -6
  161. package/dist/src/components/generic/Select/Select.js.map +1 -1
  162. package/dist/src/components/generic/Select.d.ts +0 -0
  163. package/dist/src/components/generic/Select.js +2 -0
  164. package/dist/src/components/generic/Select.js.map +1 -0
  165. package/dist/src/components/generic/Slider/Slider.d.ts +3 -3
  166. package/dist/src/components/generic/Slider/Slider.js +23 -45
  167. package/dist/src/components/generic/Slider/Slider.js.map +1 -1
  168. package/dist/src/components/generic/Tabs/ElementChildren.d.ts +1 -1
  169. package/dist/src/components/generic/Tabs/ElementChildren.js +6 -26
  170. package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
  171. package/dist/src/components/generic/Tabs/Tab.d.ts +1 -1
  172. package/dist/src/components/generic/Tabs/Tab.js +4 -24
  173. package/dist/src/components/generic/Tabs/Tab.js.map +1 -1
  174. package/dist/src/components/generic/Tabs/TabContext.d.ts +5 -6
  175. package/dist/src/components/generic/Tabs/TabContext.js +11 -31
  176. package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
  177. package/dist/src/components/generic/Tabs/TabLink.d.ts +1 -1
  178. package/dist/src/components/generic/Tabs/TabLink.js +7 -30
  179. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  180. package/dist/src/components/generic/Tabs/TabRouteContainer.js +10 -33
  181. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
  182. package/dist/src/components/generic/Tabs/Tabs.d.ts +2 -2
  183. package/dist/src/components/generic/Tabs/Tabs.js +9 -32
  184. package/dist/src/components/generic/Tabs/Tabs.js.map +1 -1
  185. package/dist/src/components/generic/Text.d.ts +1 -1
  186. package/dist/src/components/generic/Text.js +3 -26
  187. package/dist/src/components/generic/Text.js.map +1 -1
  188. package/dist/src/components/generic/TextArea.d.ts +1 -1
  189. package/dist/src/components/generic/TextArea.js +6 -26
  190. package/dist/src/components/generic/TextArea.js.map +1 -1
  191. package/dist/src/components/generic/TextBox.d.ts +2 -2
  192. package/dist/src/components/generic/TextBox.js +11 -34
  193. package/dist/src/components/generic/TextBox.js.map +1 -1
  194. package/dist/src/components/generic/Tooltip/Tooltip.d.ts +1 -1
  195. package/dist/src/components/generic/Tooltip/Tooltip.js +8 -31
  196. package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
  197. package/dist/src/components/generic/badging/SSLSecureBadge.js +3 -26
  198. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  199. package/dist/src/components/generic/buttons/NextStepButton.js +5 -28
  200. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  201. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.d.ts +3 -4
  202. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +23 -32
  203. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  204. package/dist/src/components/generic/date/DatePicker.js +42 -42
  205. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  206. package/dist/src/components/generic/date/DatePickerDay.js +27 -27
  207. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  208. package/dist/src/components/generic/date/DatePickerDays.js +4 -27
  209. package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
  210. package/dist/src/components/generic/date/DatePickerMonth.js +9 -9
  211. package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
  212. package/dist/src/components/generic/date/DatePickerWeek.js +26 -26
  213. package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
  214. package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
  215. package/dist/src/components/generic/date/FloatingDatePicker.js +11 -11
  216. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  217. package/dist/src/components/generic/date/WeekViewSkeleton.js +23 -46
  218. package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
  219. package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
  220. package/dist/src/components/generic/loader/ImageLoader.js +8 -8
  221. package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
  222. package/dist/src/components/generic/loader/LargeLoader.js +15 -38
  223. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  224. package/dist/src/components/generic/loader/SmallSpinner.js +6 -3
  225. package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
  226. package/dist/src/components/generic/map/HotelLocationMap.js +3 -26
  227. package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
  228. package/dist/src/components/generic/modal/ConfirmationModal.js +8 -8
  229. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  230. package/dist/src/components/generic/modal/ErrorModal.d.ts +2 -2
  231. package/dist/src/components/generic/modal/ErrorModal.js +5 -5
  232. package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
  233. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.d.ts +3 -2
  234. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +16 -16
  235. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  236. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +1 -1
  237. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +26 -26
  238. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  239. package/dist/src/components/generic/modal/SimpleModal.d.ts +2 -2
  240. package/dist/src/components/generic/modal/SimpleModal.js +21 -22
  241. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  242. package/dist/src/components/generic/modal/TabbedModal.d.ts +1 -1
  243. package/dist/src/components/generic/modal/TabbedModal.js +12 -12
  244. package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
  245. package/dist/src/components/generic/radio/RadioFields.js +11 -11
  246. package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
  247. package/dist/src/components/iconComponents/BookNowPayLaterIcon.js +16 -36
  248. package/dist/src/components/iconComponents/BookNowPayLaterIcon.js.map +1 -1
  249. package/dist/src/components/members/EditMyProfile.d.ts +1 -1
  250. package/dist/src/components/members/EditMyProfile.js +35 -59
  251. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  252. package/dist/src/components/navigation/Header.js +69 -64
  253. package/dist/src/components/navigation/Header.js.map +1 -1
  254. package/dist/src/components/navigation/StepSelector.js +27 -27
  255. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  256. package/dist/src/components/navigation/StepSelectorModal.js +14 -13
  257. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  258. package/dist/src/components/pages/Account/Card/CardList.js +10 -33
  259. package/dist/src/components/pages/Account/Card/CardList.js.map +1 -1
  260. package/dist/src/components/pages/Account/Card/MemberCardItem.js +10 -10
  261. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  262. package/dist/src/components/pages/PageColorComponent.js +4 -27
  263. package/dist/src/components/pages/PageColorComponent.js.map +1 -1
  264. package/dist/src/components/reservation/EmptyReservation.d.ts +6 -0
  265. package/dist/src/components/reservation/EmptyReservation.js +52 -0
  266. package/dist/src/components/reservation/EmptyReservation.js.map +1 -0
  267. package/dist/src/components/reservation/ReservationItem.js +56 -56
  268. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  269. package/dist/src/components/reservation/ReservationList.d.ts +3 -2
  270. package/dist/src/components/reservation/ReservationList.js +7 -26
  271. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  272. package/dist/src/components/steps/DaysSelectedInformer.js +9 -6
  273. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  274. package/dist/src/components/steps/MinimumNightStayPill.d.ts +1 -1
  275. package/dist/src/components/steps/MinimumNightStayPill.js +8 -8
  276. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  277. package/dist/src/components/steps/addons/AddonCard.js +59 -58
  278. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  279. package/dist/src/components/steps/addons/AddonList.js +16 -39
  280. package/dist/src/components/steps/addons/AddonList.js.map +1 -1
  281. package/dist/src/components/steps/addons/AddonsNotFound.js +38 -61
  282. package/dist/src/components/steps/addons/AddonsNotFound.js.map +1 -1
  283. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +1 -1
  284. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +19 -19
  285. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
  286. package/dist/src/components/steps/confirmation/AccountDetails.js +11 -34
  287. package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
  288. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js +5 -27
  289. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  290. package/dist/src/components/steps/confirmation/PaymentDetails/CardPaymentDetails.js +1 -0
  291. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +12 -32
  292. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  293. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.d.ts +1 -1
  294. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +26 -25
  295. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  296. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +35 -58
  297. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
  298. package/dist/src/components/steps/confirmation/RoomContactDetails.js +72 -68
  299. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  300. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +14 -14
  301. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  302. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +36 -35
  303. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  304. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +7 -30
  305. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
  306. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.d.ts +2 -2
  307. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +29 -24
  308. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  309. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +94 -89
  310. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  311. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +3 -26
  312. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
  313. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +13 -13
  314. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  315. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +16 -16
  316. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
  317. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +25 -20
  318. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  319. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +26 -26
  320. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  321. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +13 -9
  322. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  323. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +61 -61
  324. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
  325. package/dist/src/components/steps/date/PeoplePicker.js +11 -7
  326. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  327. package/dist/src/components/steps/date/PeoplePickerRow.js +18 -18
  328. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  329. package/dist/src/components/steps/date/StepDatePricePerRoom.js +16 -16
  330. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  331. package/dist/src/components/steps/date/StepOneDateRange.js +10 -10
  332. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  333. package/dist/src/components/steps/date/StepOneDateRangePicker.js +6 -6
  334. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  335. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +6 -6
  336. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
  337. package/dist/src/components/steps/date/StepOneNextStepButton.js +5 -5
  338. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  339. package/dist/src/components/steps/date/StepOneStatusPeople.js +4 -27
  340. package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
  341. package/dist/src/components/steps/hotel/HotelCard.js +56 -56
  342. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  343. package/dist/src/components/steps/hotel/HotelCardList.js +5 -28
  344. package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
  345. package/dist/src/components/steps/hotel/HotelCardModal.d.ts +1 -1
  346. package/dist/src/components/steps/hotel/HotelCardModal.js +45 -45
  347. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  348. package/dist/src/components/steps/hotel/HotelSearchParameters.js +40 -40
  349. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  350. package/dist/src/components/steps/hotel/NoHotelsAvailable.js +57 -80
  351. package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
  352. package/dist/src/components/steps/room/AvailableUpgradesModal.d.ts +2 -1
  353. package/dist/src/components/steps/room/AvailableUpgradesModal.js +40 -42
  354. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  355. package/dist/src/components/steps/room/ImageGallerySlider.js +21 -21
  356. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  357. package/dist/src/components/steps/room/InactivityWindow.js +20 -20
  358. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  359. package/dist/src/components/steps/room/LargeRoomCard.js +36 -35
  360. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  361. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +44 -48
  362. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
  363. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +52 -52
  364. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  365. package/dist/src/components/steps/room/RatesNotFound.js +39 -62
  366. package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
  367. package/dist/src/components/steps/room/RoomList.js +13 -36
  368. package/dist/src/components/steps/room/RoomList.js.map +1 -1
  369. package/dist/src/components/steps/room/RoomListAlert.d.ts +1 -1
  370. package/dist/src/components/steps/room/RoomListAlert.js +11 -34
  371. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
  372. package/dist/src/components/steps/room/RoomListCrossSellBlock.d.ts +2 -1
  373. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +38 -38
  374. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  375. package/dist/src/components/steps/room/RoomModal.js +32 -32
  376. package/dist/src/components/steps/room/RoomModal.js.map +1 -1
  377. package/dist/src/components/steps/room/StepRoomAlertBlocks.js +9 -9
  378. package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
  379. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +6 -6
  380. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  381. package/dist/src/components/steps/room/StepRoomErrorForm.js +34 -34
  382. package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
  383. package/dist/src/components/steps/room/StepRoomHotelDetails.js +18 -18
  384. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  385. package/dist/src/components/steps/room/StepRoomNextStepButton.js +4 -4
  386. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  387. package/dist/src/components/steps/room/StepRoomSortBy.js +6 -6
  388. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  389. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +15 -38
  390. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  391. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +2 -25
  392. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
  393. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +2 -25
  394. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
  395. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +9 -9
  396. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  397. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +71 -69
  398. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  399. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +42 -39
  400. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  401. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +18 -15
  402. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  403. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +6 -7
  404. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  405. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +16 -16
  406. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  407. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.d.ts +1 -1
  408. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +37 -36
  409. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  410. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +8 -31
  411. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
  412. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +26 -26
  413. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  414. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +43 -43
  415. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  416. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +34 -34
  417. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  418. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +8 -8
  419. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  420. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +11 -11
  421. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  422. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +8 -10
  423. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  424. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +32 -32
  425. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  426. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +16 -39
  427. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  428. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +10 -9
  429. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  430. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +32 -31
  431. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  432. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +1 -1
  433. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +20 -21
  434. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
  435. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +1 -1
  436. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +17 -17
  437. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
  438. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +1 -1
  439. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +20 -18
  440. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  441. package/dist/src/components/summary/BEMapWidget.d.ts +1 -1
  442. package/dist/src/components/summary/BEMapWidget.js +29 -27
  443. package/dist/src/components/summary/BEMapWidget.js.map +1 -1
  444. package/dist/src/components/summary/BEMobileSummary.js +22 -22
  445. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  446. package/dist/src/components/summary/BEMobileSummaryModal.js +62 -60
  447. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  448. package/dist/src/components/summary/BESummary.js +42 -41
  449. package/dist/src/components/summary/BESummary.js.map +1 -1
  450. package/dist/src/components/summary/BESummaryAddonRow.js +18 -18
  451. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  452. package/dist/src/components/summary/BESummaryPerkBlock.js +11 -11
  453. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  454. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +11 -8
  455. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  456. package/dist/src/components/summary/BESummaryRoomRow.js +57 -57
  457. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  458. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +12 -12
  459. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  460. package/dist/src/components/temp/Login.js +29 -29
  461. package/dist/src/components/temp/Login.js.map +1 -1
  462. package/dist/src/containers/PrivateRoute.js +6 -26
  463. package/dist/src/containers/PrivateRoute.js.map +1 -1
  464. package/dist/src/contexts/BasketContext/BasketContext.js +1 -1
  465. package/dist/src/contexts/BasketContext/BasketContext.js.map +1 -1
  466. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +3 -3
  467. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  468. package/dist/src/contexts/BasketContext/BasketContextWrapper.d.ts +1 -1
  469. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +35 -59
  470. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  471. package/dist/src/contexts/BookingEngineContext/BookingEngineContext.js +1 -1
  472. package/dist/src/contexts/BookingEngineContext/BookingEngineContext.js.map +1 -1
  473. package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.d.ts +1 -1
  474. package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.js.map +1 -1
  475. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.d.ts +1 -1
  476. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +3 -4
  477. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  478. package/dist/src/contexts/CompanyContext/CompanyContext.js +1 -1
  479. package/dist/src/contexts/CompanyContext/CompanyContext.js.map +1 -1
  480. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +24 -47
  481. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  482. package/dist/src/contexts/ConfirmationFormContext.d.ts +2 -2
  483. package/dist/src/contexts/ConfirmationFormContext.js +8 -28
  484. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  485. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +10 -10
  486. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  487. package/dist/src/contexts/DatePickerContext.d.ts +12 -11
  488. package/dist/src/contexts/DatePickerContext.js +4 -41
  489. package/dist/src/contexts/DatePickerContext.js.map +1 -1
  490. package/dist/src/contexts/ErrorContext.d.ts +2 -2
  491. package/dist/src/contexts/ErrorContext.js +10 -10
  492. package/dist/src/contexts/ErrorContext.js.map +1 -1
  493. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.js +1 -1
  494. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.js.map +1 -1
  495. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +1 -1
  496. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +43 -49
  497. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  498. package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
  499. package/dist/src/contexts/HotelOverridesContext.js +14 -37
  500. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  501. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +7 -7
  502. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js +18 -6
  503. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
  504. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.d.ts +1 -1
  505. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +38 -53
  506. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  507. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.d.ts +1 -1
  508. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +29 -49
  509. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  510. package/dist/src/contexts/ModalContext.d.ts +1 -1
  511. package/dist/src/contexts/ModalContext.js +4 -5
  512. package/dist/src/contexts/ModalContext.js.map +1 -1
  513. package/dist/src/contexts/NotificationContext.d.ts +1 -1
  514. package/dist/src/contexts/NotificationContext.js +8 -31
  515. package/dist/src/contexts/NotificationContext.js.map +1 -1
  516. package/dist/src/engines/BaseEngine.js.map +1 -1
  517. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +4 -27
  518. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  519. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +15 -35
  520. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  521. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +67 -66
  522. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  523. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -1
  524. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +20 -20
  525. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  526. package/dist/src/events/RoomstayEvent.d.ts +0 -1
  527. package/dist/src/events/RoomstayEvent.js +0 -1
  528. package/dist/src/events/RoomstayEvent.js.map +1 -1
  529. package/dist/src/events/RoomstayEventManager.d.ts +2 -2
  530. package/dist/src/events/RoomstayEventManager.js +1 -1
  531. package/dist/src/events/RoomstayEventManager.js.map +1 -1
  532. package/dist/src/hooks/AutoFocusOnSelect.d.ts +1 -1
  533. package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
  534. package/dist/src/hooks/BodyClickHook.d.ts +2 -4
  535. package/dist/src/hooks/BodyClickHook.js +3 -3
  536. package/dist/src/hooks/BodyClickHook.js.map +1 -1
  537. package/dist/src/hooks/CombineState.d.ts +1 -1
  538. package/dist/src/hooks/CombineState.js.map +1 -1
  539. package/dist/src/hooks/ConfirmationQuery.d.ts +3 -3
  540. package/dist/src/hooks/CurrentHotelHook.d.ts +1 -1
  541. package/dist/src/hooks/ElementSortHook.d.ts +1 -1
  542. package/dist/src/hooks/ElementSortHook.js +7 -27
  543. package/dist/src/hooks/ElementSortHook.js.map +1 -1
  544. package/dist/src/hooks/EventHook.d.ts +1 -1
  545. package/dist/src/hooks/EventHook.js.map +1 -1
  546. package/dist/src/hooks/KeyboardControlOnSelect.d.ts +3 -3
  547. package/dist/src/hooks/LoggedInUserHook.d.ts +6 -6
  548. package/dist/src/hooks/LoggedInUserHook.js.map +1 -1
  549. package/dist/src/hooks/Query.js +5 -25
  550. package/dist/src/hooks/Query.js.map +1 -1
  551. package/dist/src/hooks/VGSHooks.d.ts +4 -4
  552. package/dist/src/hooks/VGSHooks.js +16 -11
  553. package/dist/src/hooks/VGSHooks.js.map +1 -1
  554. package/dist/src/icons/Check.js +7 -27
  555. package/dist/src/icons/Check.js.map +1 -1
  556. package/dist/src/index.d.ts +3 -3
  557. package/dist/src/index.js +2 -17
  558. package/dist/src/index.js.map +1 -1
  559. package/dist/src/mockApi/AddonAPI.js +2 -1
  560. package/dist/src/mockApi/AddonAPI.js.map +1 -1
  561. package/dist/src/mockApi/MockAPI.d.ts +1 -1
  562. package/dist/src/mockApi/ReservationAPI.d.ts +1 -1
  563. package/dist/src/mockApi/ReservationAPI.js +2 -1
  564. package/dist/src/mockApi/ReservationAPI.js.map +1 -1
  565. package/dist/src/models/Addon/Addon.js +1 -1
  566. package/dist/src/models/Addon/Addon.js.map +1 -1
  567. package/dist/src/models/BasketAddonRow.d.ts +2 -2
  568. package/dist/src/models/BasketAddonRow.js +1 -1
  569. package/dist/src/models/BasketAddonRow.js.map +1 -1
  570. package/dist/src/models/BasketRow.d.ts +6 -6
  571. package/dist/src/models/BasketRow.js +3 -2
  572. package/dist/src/models/BasketRow.js.map +1 -1
  573. package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +1 -1
  574. package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -1
  575. package/dist/src/models/Client/Client.js.map +1 -1
  576. package/dist/src/models/Currency.d.ts +1 -1
  577. package/dist/src/models/Currency.js.map +1 -1
  578. package/dist/src/models/Room/Filters/BudgetFilter.d.ts +1 -1
  579. package/dist/src/models/Room/Filters/RoomTypeFilter.d.ts +1 -1
  580. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  581. package/dist/src/models/Room/Room.d.ts +10 -10
  582. package/dist/src/models/Room/Room.js +10 -8
  583. package/dist/src/models/Room/Room.js.map +1 -1
  584. package/dist/src/models/Room/RoomRate.d.ts +1 -1
  585. package/dist/src/models/Room/RoomRate.js +1 -1
  586. package/dist/src/models/Room/RoomRate.js.map +1 -1
  587. package/dist/src/models/Room/RoomRateNight.js.map +1 -1
  588. package/dist/src/models/RoomstaySession.d.ts +2 -2
  589. package/dist/src/models/RoomstaySession.js.map +1 -1
  590. package/dist/src/pages/account/AccountHome/AccountHomePage.js +31 -31
  591. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  592. package/dist/src/pages/account/AccountOutlet.d.ts +1 -1
  593. package/dist/src/pages/account/AccountOutlet.js +5 -25
  594. package/dist/src/pages/account/AccountOutlet.js.map +1 -1
  595. package/dist/src/pages/account/AccountRouter.js +12 -37
  596. package/dist/src/pages/account/AccountRouter.js.map +1 -1
  597. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +24 -28
  598. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  599. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +8 -8
  600. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  601. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +41 -42
  602. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  603. package/dist/src/pages/account/Help/AccountHelpPage.js +42 -44
  604. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  605. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +78 -82
  606. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  607. package/dist/src/pages/account/Reservations/AccountReservationsPage.js +17 -40
  608. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  609. package/dist/src/pages/findReservation/FindReservation.js +81 -76
  610. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  611. package/dist/src/pages/findReservation/FindReservationResults.js +33 -33
  612. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  613. package/dist/src/pages/findReservation/ReservationRow.js +66 -65
  614. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  615. package/dist/src/pages/findReservation/ReservationRowModal.js +52 -52
  616. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  617. package/dist/src/pages/hotel/HotelInfo.js +88 -88
  618. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  619. package/dist/src/pages/hotel/HotelInfoPlaceholder.js +4 -27
  620. package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
  621. package/dist/src/pages/steps/Step.d.ts +2 -2
  622. package/dist/src/pages/steps/Step.js.map +1 -1
  623. package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +1 -1
  624. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  625. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +18 -41
  626. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  627. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +51 -51
  628. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
  629. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.d.ts +1 -1
  630. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  631. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +28 -51
  632. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  633. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +72 -72
  634. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
  635. package/dist/src/pages/steps/StepDate/StepDate.d.ts +14 -0
  636. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  637. package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +2 -0
  638. package/dist/src/pages/steps/StepDate/StepDateComponent.js +46 -48
  639. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  640. package/dist/src/pages/steps/StepGuide.d.ts +1 -1
  641. package/dist/src/pages/steps/StepGuide.js +3 -26
  642. package/dist/src/pages/steps/StepGuide.js.map +1 -1
  643. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +21 -21
  644. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  645. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +43 -43
  646. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
  647. package/dist/src/pages/steps/StepRoom/StepRoom.d.ts +1 -1
  648. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  649. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +33 -33
  650. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  651. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +74 -74
  652. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
  653. package/dist/src/pages/steps/StepThanks/StepThanks.d.ts +1 -1
  654. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  655. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +28 -29
  656. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  657. package/dist/src/providers/CurrencyProvider.d.ts +1 -1
  658. package/dist/src/providers/DIProvider.js +5 -25
  659. package/dist/src/providers/DIProvider.js.map +1 -1
  660. package/dist/src/providers/FilterProvider.d.ts +1 -1
  661. package/dist/src/providers/FilterProvider.js +3 -2
  662. package/dist/src/providers/FilterProvider.js.map +1 -1
  663. package/dist/src/providers/LanguageProvider.d.ts +1 -1
  664. package/dist/src/providers/LanguageProvider.js.map +1 -1
  665. package/dist/src/providers/PromotionProvider.d.ts +1 -1
  666. package/dist/src/providers/PromotionProvider.js +1 -1
  667. package/dist/src/providers/PromotionProvider.js.map +1 -1
  668. package/dist/src/providers/RoomstayThemeEngine.d.ts +2 -2
  669. package/dist/src/providers/RoomstayThemeEngine.js +5 -7
  670. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  671. package/dist/src/providers/SessionProvider.js +4 -4
  672. package/dist/src/providers/SessionProvider.js.map +1 -1
  673. package/dist/src/providers/feature/Feature.d.ts +1 -1
  674. package/dist/src/providers/feature/Feature.js +3 -0
  675. package/dist/src/providers/feature/Feature.js.map +1 -1
  676. package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
  677. package/dist/src/providers/feature/MemberPortalFeature.d.ts +0 -1
  678. package/dist/src/providers/feature/MemberPortalFeature.js +0 -1
  679. package/dist/src/providers/feature/MemberPortalFeature.js.map +1 -1
  680. package/dist/src/providers/feature/NumberOfPeopleBookedPillFeature.d.ts +0 -1
  681. package/dist/src/providers/feature/NumberOfPeopleBookedPillFeature.js +0 -1
  682. package/dist/src/providers/feature/NumberOfPeopleBookedPillFeature.js.map +1 -1
  683. package/dist/src/providers/storage/LocalStorageProvider.d.ts +2 -2
  684. package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -1
  685. package/dist/src/reducers/BasketReducer.js +3 -2
  686. package/dist/src/reducers/BasketReducer.js.map +1 -1
  687. package/dist/src/routes/NaturallyProgressedStepRoute.js +6 -29
  688. package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -1
  689. package/dist/src/stories/Alert.stories.d.ts +2 -2
  690. package/dist/src/stories/Alert.stories.js +2 -25
  691. package/dist/src/stories/Alert.stories.js.map +1 -1
  692. package/dist/src/stories/BEButton.stories.d.ts +2 -2
  693. package/dist/src/stories/BEButton.stories.js +2 -25
  694. package/dist/src/stories/BEButton.stories.js.map +1 -1
  695. package/dist/src/stories/BackButton.stories.d.ts +2 -2
  696. package/dist/src/stories/BackButton.stories.js +2 -25
  697. package/dist/src/stories/BackButton.stories.js.map +1 -1
  698. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.d.ts +2 -2
  699. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js +4 -24
  700. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js.map +1 -1
  701. package/dist/src/stories/BookingWizard.stories.d.ts +5 -5
  702. package/dist/src/stories/BookingWizard.stories.js +25 -9
  703. package/dist/src/stories/BookingWizard.stories.js.map +1 -1
  704. package/dist/src/stories/Card.stories.d.ts +6 -3
  705. package/dist/src/stories/CardTypeSelect.stories.d.ts +3 -3
  706. package/dist/src/stories/CardTypeSelect.stories.js +4 -24
  707. package/dist/src/stories/CardTypeSelect.stories.js.map +1 -1
  708. package/dist/src/stories/Checkbox.stories.d.ts +3 -3
  709. package/dist/src/stories/Checkbox.stories.js +2 -25
  710. package/dist/src/stories/Checkbox.stories.js.map +1 -1
  711. package/dist/src/stories/ConfirmationModal.stories.js +6 -29
  712. package/dist/src/stories/ConfirmationModal.stories.js.map +1 -1
  713. package/dist/src/stories/Countdown.stories.d.ts +2 -2
  714. package/dist/src/stories/Countdown.stories.js +4 -27
  715. package/dist/src/stories/Countdown.stories.js.map +1 -1
  716. package/dist/src/stories/Currency.stories.d.ts +2 -2
  717. package/dist/src/stories/Currency.stories.js +2 -25
  718. package/dist/src/stories/Currency.stories.js.map +1 -1
  719. package/dist/src/stories/DateRangePicker.stories.js +25 -15
  720. package/dist/src/stories/DateRangePicker.stories.js.map +1 -1
  721. package/dist/src/stories/Distance.stories.d.ts +2 -2
  722. package/dist/src/stories/Distance.stories.js +2 -25
  723. package/dist/src/stories/Distance.stories.js.map +1 -1
  724. package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +5 -0
  725. package/dist/src/stories/EnhancedPhoneNumberField.stories.js +2 -25
  726. package/dist/src/stories/EnhancedPhoneNumberField.stories.js.map +1 -1
  727. package/dist/src/stories/ErrorModal.stories.js +7 -30
  728. package/dist/src/stories/ErrorModal.stories.js.map +1 -1
  729. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +1 -1
  730. package/dist/src/stories/FloatingDateRangePicker.stories.js +15 -38
  731. package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -1
  732. package/dist/src/stories/ForwardedSelect.stories.d.ts +3 -3
  733. package/dist/src/stories/ForwardedSelect.stories.js +4 -27
  734. package/dist/src/stories/ForwardedSelect.stories.js.map +1 -1
  735. package/dist/src/stories/Headline.stories.d.ts +2 -2
  736. package/dist/src/stories/Headline.stories.js +2 -25
  737. package/dist/src/stories/Headline.stories.js.map +1 -1
  738. package/dist/src/stories/Icon.stories.d.ts +2 -2
  739. package/dist/src/stories/Icon.stories.js +5 -2
  740. package/dist/src/stories/Icon.stories.js.map +1 -1
  741. package/dist/src/stories/IconNavCard.stories.d.ts +18 -8
  742. package/dist/src/stories/IconNavCard.stories.js +5 -25
  743. package/dist/src/stories/IconNavCard.stories.js.map +1 -1
  744. package/dist/src/stories/IconText.stories.d.ts +5 -0
  745. package/dist/src/stories/IconText.stories.js +4 -6
  746. package/dist/src/stories/IconText.stories.js.map +1 -1
  747. package/dist/src/stories/ImageLoader.stories.d.ts +2 -2
  748. package/dist/src/stories/ImageLoader.stories.js +2 -25
  749. package/dist/src/stories/ImageLoader.stories.js.map +1 -1
  750. package/dist/src/stories/InputGroup.stories.d.ts +2 -2
  751. package/dist/src/stories/InputGroup.stories.js +3 -26
  752. package/dist/src/stories/InputGroup.stories.js.map +1 -1
  753. package/dist/src/stories/LargeLoader.stories.d.ts +2 -2
  754. package/dist/src/stories/LargeLoader.stories.js +2 -25
  755. package/dist/src/stories/LargeLoader.stories.js.map +1 -1
  756. package/dist/src/stories/LineBreak.stories.d.ts +2 -2
  757. package/dist/src/stories/LineBreak.stories.js +2 -25
  758. package/dist/src/stories/LineBreak.stories.js.map +1 -1
  759. package/dist/src/stories/Notification.stories.d.ts +2 -2
  760. package/dist/src/stories/Notification.stories.js +2 -25
  761. package/dist/src/stories/Notification.stories.js.map +1 -1
  762. package/dist/src/stories/NumberIncrement.stories.js +6 -28
  763. package/dist/src/stories/NumberIncrement.stories.js.map +1 -1
  764. package/dist/src/stories/PasswordBox.stories.d.ts +3 -3
  765. package/dist/src/stories/PasswordBox.stories.js +4 -24
  766. package/dist/src/stories/PasswordBox.stories.js.map +1 -1
  767. package/dist/src/stories/PaymentCard.stories.d.ts +2 -2
  768. package/dist/src/stories/PaymentCard.stories.js +4 -24
  769. package/dist/src/stories/PaymentCard.stories.js.map +1 -1
  770. package/dist/src/stories/PaymentCardInput.stories.d.ts +4 -4
  771. package/dist/src/stories/PaymentCardInput.stories.js +13 -25
  772. package/dist/src/stories/PaymentCardInput.stories.js.map +1 -1
  773. package/dist/src/stories/Pill.stories.d.ts +2 -2
  774. package/dist/src/stories/Pill.stories.js +2 -25
  775. package/dist/src/stories/Pill.stories.js.map +1 -1
  776. package/dist/src/stories/Placeholder.stories.d.ts +2 -2
  777. package/dist/src/stories/Placeholder.stories.js +2 -25
  778. package/dist/src/stories/Placeholder.stories.js.map +1 -1
  779. package/dist/src/stories/PlanpayButton.stories.d.ts +3 -3
  780. package/dist/src/stories/PlanpayButton.stories.js +4 -24
  781. package/dist/src/stories/PlanpayButton.stories.js.map +1 -1
  782. package/dist/src/stories/PromoCodeInput.stories.d.ts +2 -2
  783. package/dist/src/stories/PromoCodeInput.stories.js +2 -25
  784. package/dist/src/stories/PromoCodeInput.stories.js.map +1 -1
  785. package/dist/src/stories/RadioButton.stories.d.ts +4 -4
  786. package/dist/src/stories/RadioButton.stories.js +4 -24
  787. package/dist/src/stories/RadioButton.stories.js.map +1 -1
  788. package/dist/src/stories/RadioButtonGroup.stories.d.ts +2 -2
  789. package/dist/src/stories/RadioButtonGroup.stories.js +4 -27
  790. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
  791. package/dist/src/stories/RadioFields.stories.d.ts +2 -2
  792. package/dist/src/stories/RadioFields.stories.js +2 -25
  793. package/dist/src/stories/RadioFields.stories.js.map +1 -1
  794. package/dist/src/stories/SSLSecureBadge.stories.d.ts +2 -2
  795. package/dist/src/stories/SSLSecureBadge.stories.js +1 -1
  796. package/dist/src/stories/SSLSecureBadge.stories.js.map +1 -1
  797. package/dist/src/stories/Select.stories.d.ts +14 -14
  798. package/dist/src/stories/Select.stories.js +18 -38
  799. package/dist/src/stories/Select.stories.js.map +1 -1
  800. package/dist/src/stories/SimpleModal.stories.js +11 -33
  801. package/dist/src/stories/SimpleModal.stories.js.map +1 -1
  802. package/dist/src/stories/Slider.stories.d.ts +4 -4
  803. package/dist/src/stories/Slider.stories.js +6 -26
  804. package/dist/src/stories/Slider.stories.js.map +1 -1
  805. package/dist/src/stories/SmallSpinner.stories.d.ts +2 -2
  806. package/dist/src/stories/SmallSpinner.stories.js +2 -25
  807. package/dist/src/stories/SmallSpinner.stories.js.map +1 -1
  808. package/dist/src/stories/TabbedModal.stories.js +6 -29
  809. package/dist/src/stories/TabbedModal.stories.js.map +1 -1
  810. package/dist/src/stories/Tabs.stories.d.ts +1 -1
  811. package/dist/src/stories/Tabs.stories.js +7 -30
  812. package/dist/src/stories/Tabs.stories.js.map +1 -1
  813. package/dist/src/stories/Text.stories.d.ts +2 -2
  814. package/dist/src/stories/Text.stories.js +2 -25
  815. package/dist/src/stories/Text.stories.js.map +1 -1
  816. package/dist/src/stories/TextArea.stories.d.ts +3 -3
  817. package/dist/src/stories/TextArea.stories.js +2 -25
  818. package/dist/src/stories/TextArea.stories.js.map +1 -1
  819. package/dist/src/stories/TextBox.stories.d.ts +3 -3
  820. package/dist/src/stories/TextBox.stories.js +2 -25
  821. package/dist/src/stories/TextBox.stories.js.map +1 -1
  822. package/dist/src/stories/Tooltip.stories.d.ts +2 -2
  823. package/dist/src/stories/Tooltip.stories.js +2 -25
  824. package/dist/src/stories/Tooltip.stories.js.map +1 -1
  825. package/dist/src/translations/Translation.d.ts +4 -0
  826. package/dist/src/translations/Translation.js +4 -0
  827. package/dist/src/translations/Translation.js.map +1 -1
  828. package/dist/src/translations/languages/en-gb.js +4 -0
  829. package/dist/src/translations/languages/en-gb.js.map +1 -1
  830. package/dist/src/util/AsyncAuth.d.ts +5 -0
  831. package/dist/src/util/AsyncAuth.js +44 -0
  832. package/dist/src/util/AsyncAuth.js.map +1 -0
  833. package/dist/src/util/DataLayer.js +3 -3
  834. package/dist/src/util/DataLayer.js.map +1 -1
  835. package/dist/src/util/EnumHelper.d.ts +1 -1
  836. package/dist/src/util/EnumHelper.js +1 -1
  837. package/dist/src/util/EnumHelper.js.map +1 -1
  838. package/dist/src/util/ObjectHelper.d.ts +1 -1
  839. package/dist/src/util/PaymentCardHelper.js +2 -1
  840. package/dist/src/util/PaymentCardHelper.js.map +1 -1
  841. package/dist/src/util/StepManager.d.ts +1 -1
  842. package/dist/src/util/Validation.d.ts +0 -1
  843. package/dist/src/util/Validation.js +3 -4
  844. package/dist/src/util/Validation.js.map +1 -1
  845. package/dist/test.bundle.js +1 -1
  846. package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +5 -3
  847. package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -1
  848. package/dist/tests/jest/providers/LanguageProvider.test.js +6 -4
  849. package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -1
  850. package/dist/tests/jest/providers/SessionProvider.test.js +12 -10
  851. package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -1
  852. package/dist/tests/jest/reducers/BasketReducer.test.js +2 -1
  853. package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -1
  854. package/dist/tests/offline/RoomstayBestRateAlert.js +6 -6
  855. package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -1
  856. package/dist/tests/offline/entry/ReactWrapper.js +26 -49
  857. package/dist/tests/offline/entry/ReactWrapper.js.map +1 -1
  858. package/dist/tests/offline/entry/allEngines.js +2 -2
  859. package/dist/tests/offline/entry/allEngines.js.map +1 -1
  860. package/dist/tests/offline/entry/components/TestPicker.js +42 -52
  861. package/dist/tests/offline/entry/components/TestPicker.js.map +1 -1
  862. package/dist/tests/setupTests.js +1 -0
  863. package/dist/tests/setupTests.js.map +1 -1
  864. package/dist/vendors.bundle.js +1 -1
  865. package/dist/vendors.bundle.js.LICENSE.txt +0 -31
  866. package/package.json +11 -5
  867. package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.d.ts +0 -1
  868. package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js +0 -133
  869. package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js.map +0 -1
  870. package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.d.ts +0 -2
  871. package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js +0 -158
  872. package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"HotelCard.js","sourceRoot":"/","sources":["src/components/steps/hotel/HotelCard.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useState, useContext, useEffect, useMemo, useRef } from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport { Color } from '@/util/Color';\nimport ScreenSize from '@/util/ScreenSize';\nimport BEButton from '@/components/generic/BEButton';\nimport Currency from '@/components/generic/Currency';\nimport Headline from '@/components/generic/Headline';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport Text, { TextType } from '@/components/generic/Text';\nimport ImageGallerySlider from '@/components/steps/room/ImageGallerySlider';\nimport { useHistory } from 'react-router-dom';\nimport Placeholder from '@/components/generic/Placeholder';\nimport HotelCardModal from '@/components/steps/hotel/HotelCardModal';\nimport { BookingEngineContext, CompanyContext } from '@frontend/contexts';\nimport Tooltip from '@/components/generic/Tooltip/Tooltip';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\n\nimport SmallSpinner from '@/components/generic/loader/SmallSpinner';\nimport StepRoom from '@/pages/steps/StepRoom/StepRoom';\n\ninterface HotelCardProps {\n hotel: Hotel;\n}\n\nconst HotelCard = ({ hotel }: HotelCardProps) => {\n const beContext = useContext(BookingEngineContext);\n const ccx = useContext(CompanyContext);\n\n const history = useHistory();\n\n const [images, setImages] = useState([hotel.heroImage]);\n const [modalOpen, setModalOpen] = useState(false);\n\n const hotelCardRef = useRef();\n\n const currentPrice = hotel.lowestPrice?.value;\n const currentPriceLoading = hotel.lowestPrice?.isLoading;\n\n const showPrice = currentPriceLoading || (!currentPriceLoading && currentPrice > 0);\n\n const { t } = useTranslation();\n\n useEffect(() => {\n const newImages: string[] = [hotel.heroImage];\n\n if (hotel.rooms) {\n for (const room of Object.values(hotel.rooms)) {\n room.images.forEach((image) => {\n newImages.push(image);\n });\n }\n }\n\n setImages(newImages);\n }, [hotel.rooms]);\n\n useEffect(() => {\n if (!hotel.hasLoadedDetails) {\n // If we haven't fetched this hotel yet, lets trigger\n ccx.getHotel(hotel.hotelID);\n }\n }, [hotel.hasLoadedDetails]);\n\n const [openPerk, setOpenPerk] = useState(hotel.perks[0]?.name);\n const colorProfile = hotel.colors;\n\n const onViewRoomsClicked = async () => {\n ccx.changeHotel(hotel);\n\n history.push(StepRoom.getStepUrl());\n };\n\n const onMoreDetailsClicked = async () => {\n setModalOpen(true);\n };\n\n const onModalClose = () => {\n setModalOpen(false);\n };\n\n const isLoading = !hotel.hasLoadedDetails;\n\n return useMemo(() => {\n const content = isLoading ? (\n <div>\n <div className=\"d-flex flex-column\">\n <Placeholder type=\"block\" blockSize=\"sm\" rounded=\"lg\" blink={true} />\n <div className=\"u-pad\">\n <Placeholder type=\"text\" w=\"md\" h=\"md\" blink={true} />\n <Placeholder type=\"text\" w=\"md\" h=\"md\" blink={true} />\n <div className=\"u-marg-top\">\n <div className=\"u-flex justify-space-between\">\n <Placeholder type=\"block\" blockSize=\"xs\" rounded=\"lg\" blink={true} />\n <Placeholder type=\"block\" blockSize=\"xs\" rounded=\"lg\" blink={true} />\n <Placeholder type=\"block\" blockSize=\"xs\" rounded=\"lg\" blink={true} />\n </div>\n </div>\n </div>\n </div>\n </div>\n ) : (\n <div className=\"large-hotel-card u-rounded h-100 justify-items-between\">\n <div className=\"large-hotel-card--image\">\n <ImageGallerySlider images={images} />\n </div>\n <div className=\"large-hotel-card--body u-pad--heavy u-pad-bottom--none container\">\n <Headline bold={true}>{hotel?.name}</Headline>\n <Text color={Color.DarkGrey} bold={true} className=\"u-marg-bottom--light\">\n {hotel?.address?.city}\n </Text>\n <div className=\"u-flex u-marg-bottom\">\n <Text type={TextType.Small}>{[hotel?.address?.line1, hotel?.address?.line2, hotel?.address?.state].filter((line) => !!line).join(', ')}</Text>\n </div>\n <div className=\"u-marg-bottom--medium large-hotel-card--description\">\n <Text className=\"text\" type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: hotel.description }}></span>\n </Text>\n </div>\n {!!hotel.perks?.length && (\n <Text className=\"u-marg-bottom\" bold={true} type={TextType.Small} color={Color.Accent}>\n And these come free...\n </Text>\n )}\n <div className=\"u-flex u-flex-align-center u-marg-bottom--medium\">\n {!!hotel.perks?.length && (\n <div className=\"u-flex\">\n {hotel.perks.slice(0, 5).map((perk) => {\n const openPerkOnClick = () => {\n setOpenPerk(perk.name);\n };\n return (\n <div className=\"u-flex u-flex-align-center\" key={perk.name}>\n <Tooltip title={perk.tooltip ?? perk.name} overrideContainer={hotelCardRef?.current}>\n <div\n onClick={openPerkOnClick}\n style={{ backgroundColor: Color.Snow }}\n className=\"u-rounded u-pad--light u-marg-right--light d-flex justify-center\"\n >\n <div className=\"u-mw-16 d-flex justify-content-center\">{perk.iconElement ? perk.iconElement : <Icon icon={perk.icon} />}</div>\n </div>\n </Tooltip>\n <div\n className={\n 'u-marg-right u-none@l- u-block@m- ' +\n (beContext.screenSize > ScreenSize.Medium ||\n beContext.screenSize <= ScreenSize.Mobile ||\n (beContext.screenSize > ScreenSize.Mobile && beContext.screenSize <= ScreenSize.Medium && openPerk !== perk.name)\n ? 'u-none-2'\n : '')\n }\n >\n <Text type={TextType.Small}>{perk.name}</Text>\n </div>\n </div>\n );\n })}\n </div>\n )}\n <BEButton icon={IconType.ArrowRight2} isText={true} primary={true} size=\"tiny\" iconPosition=\"right\" onClick={onMoreDetailsClicked}>\n {t(Translation.Step.Room.RoomInfo.MoreDetails)}\n </BEButton>\n </div>\n </div>\n <div className=\"u-pad--heavy u-pad-top--none h-100 justify-content-end u-flex flex-column u-flex-align-flex-start align-items-md-start no-gutters\">\n {showPrice ? (\n <>\n <Text type={TextType.Small} color={Color.Navy} inline={true}>\n {t(Translation.Misc.From)}\n </Text>\n <div className=\"u-flex u-flex-flex-start u-flex-align-center flex-row\">\n <Headline bold={true} className=\"u-flex\">\n {hotel.lowestPrice?.isLoading ? (\n <SmallSpinner />\n ) : (\n <Currency hideDecimals={true} originalCurrencyCode={hotel.defaultCurrency}>\n {currentPrice}\n </Currency>\n )}\n </Headline>\n <Text color={Color.DarkGrey} inline={true}>\n /{t(Translation.Misc.Night)}\n </Text>\n </div>\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} color={Color.Grey} inline={true} className=\"u-nowrap\">\n {t(Translation.Step.Room.ExcludingTaxes)}\n </Text>\n </div>\n </>\n ) : (\n <div className=\"u-h-fill d-flex align-items-center\">\n <Text type={TextType.Small} color={Color.Alert}>\n {t(Translation.Step.Hotel.HotelCard.DatesUnavailable)}\n </Text>\n </div>\n )}\n\n <div className=\"u-marg-top--light u-flex justify-content-end u-w-100@m-\">\n <BEButton\n name=\"ViewRatesNowButton\"\n primary={true}\n primaryActive={true}\n filled={true}\n icon={IconType.ArrowRight}\n iconPosition={'right'}\n wide={beContext.screenSize <= ScreenSize.Medium}\n onClick={onViewRoomsClicked}\n >\n View Rooms\n </BEButton>\n </div>\n </div>\n <HotelCardModal open={modalOpen} onClose={onModalClose} hotel={hotel} container={hotelCardRef?.current} />\n </div>\n );\n\n return (\n <span ref={hotelCardRef} id={`hotel-card-${hotel.hotelID}`}>\n <style\n dangerouslySetInnerHTML={{\n __html: ` \n #hotel-card-modal-${hotel.hotelID},\n #hotel-card-${hotel.hotelID} {\n --rs-color-accent-1: ${colorProfile.accent}!important;\n --rs-color-accent-2: ${colorProfile.accent2}!important;\n --rs-color-accent-3: ${colorProfile.accent3}!important;\n }\n `,\n }}\n />\n {content}\n </span>\n );\n }, [currentPrice, isLoading, currentPriceLoading, modalOpen, hotelCardRef, openPerk]);\n};\n\nexport default HotelCard;\n"]}
1
+ {"version":3,"file":"HotelCard.js","sourceRoot":"/","sources":["src/components/steps/hotel/HotelCard.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { useState, useContext, useEffect, useMemo, useRef } from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport { Color } from '@/util/Color';\nimport ScreenSize from '@/util/ScreenSize';\nimport BEButton from '@/components/generic/BEButton';\nimport Currency from '@/components/generic/Currency';\nimport Headline from '@/components/generic/Headline';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport Text, { TextType } from '@/components/generic/Text';\nimport ImageGallerySlider from '@/components/steps/room/ImageGallerySlider';\nimport { useHistory } from 'react-router-dom';\nimport Placeholder from '@/components/generic/Placeholder';\nimport HotelCardModal from '@/components/steps/hotel/HotelCardModal';\nimport { BookingEngineContext, CompanyContext } from '@frontend/contexts';\nimport Tooltip from '@/components/generic/Tooltip/Tooltip';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\n\nimport SmallSpinner from '@/components/generic/loader/SmallSpinner';\nimport StepRoom from '@/pages/steps/StepRoom/StepRoom';\n\ninterface HotelCardProps {\n hotel: Hotel;\n}\n\nconst HotelCard = ({ hotel }: HotelCardProps) => {\n const beContext = useContext(BookingEngineContext);\n const ccx = useContext(CompanyContext);\n\n const history = useHistory();\n\n const [images, setImages] = useState([hotel.heroImage]);\n const [modalOpen, setModalOpen] = useState(false);\n\n const hotelCardRef = useRef<HTMLElement | null>(null);\n\n const currentPrice = hotel.lowestPrice?.value;\n const currentPriceLoading = hotel.lowestPrice?.isLoading;\n\n const showPrice = currentPriceLoading || (!currentPriceLoading && (currentPrice as number) > 0);\n\n const { t } = useTranslation();\n\n useEffect(() => {\n const newImages: string[] = [hotel.heroImage];\n\n if (hotel.rooms) {\n for (const room of Object.values(hotel.rooms)) {\n room.images.forEach((image) => {\n newImages.push(image);\n });\n }\n }\n\n setImages(newImages);\n }, [hotel.rooms]);\n\n useEffect(() => {\n if (!hotel.hasLoadedDetails) {\n // If we haven't fetched this hotel yet, lets trigger\n ccx.getHotel(hotel.hotelID);\n }\n }, [hotel.hasLoadedDetails]);\n\n const [openPerk, setOpenPerk] = useState(hotel.perks[0]?.name);\n const colorProfile = hotel.colors;\n\n const onViewRoomsClicked = async () => {\n ccx.changeHotel(hotel);\n\n history.push(StepRoom.getStepUrl());\n };\n\n const onMoreDetailsClicked = async () => {\n setModalOpen(true);\n };\n\n const onModalClose = () => {\n setModalOpen(false);\n };\n\n const isLoading = !hotel.hasLoadedDetails;\n\n return useMemo(() => {\n const content = isLoading ? (\n <div>\n <div className=\"d-flex flex-column\">\n <Placeholder type=\"block\" blockSize=\"sm\" rounded=\"lg\" blink />\n <div className=\"u-pad\">\n <Placeholder type=\"text\" w=\"md\" h=\"md\" blink />\n <Placeholder type=\"text\" w=\"md\" h=\"md\" blink />\n <div className=\"u-marg-top\">\n <div className=\"u-flex justify-space-between\">\n <Placeholder type=\"block\" blockSize=\"xs\" rounded=\"lg\" blink />\n <Placeholder type=\"block\" blockSize=\"xs\" rounded=\"lg\" blink />\n <Placeholder type=\"block\" blockSize=\"xs\" rounded=\"lg\" blink />\n </div>\n </div>\n </div>\n </div>\n </div>\n ) : (\n <div className=\"large-hotel-card u-rounded h-100 justify-items-between\">\n <div className=\"large-hotel-card--image\">\n <ImageGallerySlider images={images} />\n </div>\n <div className=\"large-hotel-card--body u-pad--heavy u-pad-bottom--none container\">\n <Headline bold>{hotel?.name}</Headline>\n <Text color={Color.DarkGrey} bold className=\"u-marg-bottom--light\">\n {hotel?.address?.city}\n </Text>\n <div className=\"u-flex u-marg-bottom\">\n <Text type={TextType.Small}>{[hotel?.address?.line1, hotel?.address?.line2, hotel?.address?.state].filter((line) => !!line).join(', ')}</Text>\n </div>\n <div className=\"u-marg-bottom--medium large-hotel-card--description\">\n <Text className=\"text\" type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: hotel.description || '' }}></span>\n </Text>\n </div>\n {!!hotel.perks?.length && (\n <Text className=\"u-marg-bottom\" bold type={TextType.Small} color={Color.Accent}>\n And these come free...\n </Text>\n )}\n <div className=\"u-flex u-flex-align-center u-marg-bottom--medium\">\n {!!hotel.perks?.length && (\n <div className=\"u-flex\">\n {hotel.perks.slice(0, 5).map((perk) => {\n const openPerkOnClick = () => {\n setOpenPerk(perk.name);\n };\n return (\n <div className=\"u-flex u-flex-align-center\" key={perk.name}>\n <Tooltip title={perk.tooltip ?? perk.name} overrideContainer={hotelCardRef?.current}>\n <div\n onClick={openPerkOnClick}\n style={{ backgroundColor: Color.Snow }}\n className=\"u-rounded u-pad--light u-marg-right--light d-flex justify-center\"\n >\n <div className=\"u-mw-16 d-flex justify-content-center\">\n {perk.iconElement ? perk.iconElement : <Icon icon={perk.icon as IconType} />}\n </div>\n </div>\n </Tooltip>\n <div\n className={\n 'u-marg-right u-none@l- u-block@m- ' +\n (beContext.screenSize > ScreenSize.Medium ||\n beContext.screenSize <= ScreenSize.Mobile ||\n (beContext.screenSize > ScreenSize.Mobile && beContext.screenSize <= ScreenSize.Medium && openPerk !== perk.name)\n ? 'u-none-2'\n : '')\n }\n >\n <Text type={TextType.Small}>{perk.name}</Text>\n </div>\n </div>\n );\n })}\n </div>\n )}\n <BEButton icon={IconType.ArrowRight2} isText primary size=\"tiny\" iconPosition=\"right\" onClick={onMoreDetailsClicked}>\n {t(Translation.Step.Room.RoomInfo.MoreDetails)}\n </BEButton>\n </div>\n </div>\n <div className=\"u-pad--heavy u-pad-top--none h-100 justify-content-end u-flex flex-column u-flex-align-flex-start align-items-md-start no-gutters\">\n {showPrice ? (\n <>\n <Text type={TextType.Small} color={Color.Navy} inline>\n {t(Translation.Misc.From)}\n </Text>\n <div className=\"u-flex u-flex-flex-start u-flex-align-center flex-row\">\n <Headline bold className=\"u-flex\">\n {hotel.lowestPrice?.isLoading ? (\n <SmallSpinner />\n ) : (\n <Currency hideDecimals originalCurrencyCode={hotel.defaultCurrency}>\n {currentPrice}\n </Currency>\n )}\n </Headline>\n <Text color={Color.DarkGrey} inline>\n /{t(Translation.Misc.Night)}\n </Text>\n </div>\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} color={Color.Grey} inline className=\"u-nowrap\">\n {t(Translation.Step.Room.ExcludingTaxes)}\n </Text>\n </div>\n </>\n ) : (\n <div className=\"u-h-fill d-flex align-items-center\">\n <Text type={TextType.Small} color={Color.Alert}>\n {t(Translation.Step.Hotel.HotelCard.DatesUnavailable)}\n </Text>\n </div>\n )}\n\n <div className=\"u-marg-top--light u-flex justify-content-end u-w-100@m-\">\n <BEButton\n name=\"ViewRatesNowButton\"\n primary\n primaryActive\n filled\n icon={IconType.ArrowRight}\n iconPosition=\"right\"\n wide={beContext.screenSize <= ScreenSize.Medium}\n onClick={onViewRoomsClicked}\n >\n View Rooms\n </BEButton>\n </div>\n </div>\n <HotelCardModal open={modalOpen} onClose={onModalClose} hotel={hotel} container={hotelCardRef?.current} />\n </div>\n );\n\n return (\n <span ref={hotelCardRef} id={`hotel-card-${hotel.hotelID}`}>\n <style\n dangerouslySetInnerHTML={{\n __html: ` \n #hotel-card-modal-${hotel.hotelID},\n #hotel-card-${hotel.hotelID} {\n --rs-color-accent-1: ${colorProfile.accent}!important;\n --rs-color-accent-2: ${colorProfile.accent2}!important;\n --rs-color-accent-3: ${colorProfile.accent3}!important;\n }\n `,\n }}\n />\n {content}\n </span>\n );\n }, [currentPrice, isLoading, currentPriceLoading, modalOpen, hotelCardRef, openPerk]);\n};\n\nexport default HotelCard;\n"]}
@@ -1,39 +1,16 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const React = __importStar(require("react"));
6
+ const react_1 = __importDefault(require("react"));
30
7
  const HotelCard_1 = __importDefault(require("./HotelCard"));
31
8
  const NoHotelsAvailable_1 = __importDefault(require("./NoHotelsAvailable"));
32
9
  function HotelCardList({ hotelList }) {
33
- return (hotelList === null || hotelList === void 0 ? void 0 : hotelList.length) > 0 ? (React.createElement("div", { className: "row" }, hotelList.map((hotel, index) => {
34
- return (React.createElement("div", { key: `${hotel.hotelID}-${index}`, className: "col-md-4 u-marg-bottom--heavy" },
35
- React.createElement(HotelCard_1.default, { hotel: hotel })));
36
- }))) : (React.createElement(NoHotelsAvailable_1.default, null));
10
+ return (hotelList === null || hotelList === void 0 ? void 0 : hotelList.length) > 0 ? (react_1.default.createElement("div", { className: "row" }, hotelList.map((hotel, index) => {
11
+ return (react_1.default.createElement("div", { key: `${hotel.hotelID}-${index}`, className: "col-md-4 u-marg-bottom--heavy" },
12
+ react_1.default.createElement(HotelCard_1.default, { hotel: hotel })));
13
+ }))) : (react_1.default.createElement(NoHotelsAvailable_1.default, null));
37
14
  }
38
15
  exports.default = HotelCardList;
39
16
  //# sourceMappingURL=HotelCardList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HotelCardList.js","sourceRoot":"/","sources":["src/components/steps/hotel/HotelCardList.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAG/B,mFAA2D;AAC3D,mGAA2E;AAM3E,SAAwB,aAAa,CAAC,EAAE,SAAS,EAAsB;IACnE,OAAO,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,CAC3B,6BAAK,SAAS,EAAC,KAAK,IACf,SAAS,CAAC,GAAG,CAAC,CAAC,KAAY,EAAE,KAAa,EAAE,EAAE;QAC3C,OAAO,CACH,6BAAK,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,EAAE,EAAE,SAAS,EAAC,+BAA+B;YAC5E,oBAAC,mBAAS,IAAC,KAAK,EAAE,KAAK,GAAI,CACzB,CACT,CAAC;IACN,CAAC,CAAC,CACA,CACT,CAAC,CAAC,CAAC,CACA,oBAAC,2BAAiB,OAAG,CACxB,CAAC;AACN,CAAC;AAdD,gCAcC","sourcesContent":["import * as React from 'react';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\n\nimport HotelCard from '@/components/steps/hotel/HotelCard';\nimport NoHotelsAvailable from '@/components/steps/hotel/NoHotelsAvailable';\n\nexport interface HotelCardListProps {\n hotelList: Hotel[];\n}\n\nexport default function HotelCardList({ hotelList }: HotelCardListProps) {\n return hotelList?.length > 0 ? (\n <div className=\"row\">\n {hotelList.map((hotel: Hotel, index: number) => {\n return (\n <div key={`${hotel.hotelID}-${index}`} className=\"col-md-4 u-marg-bottom--heavy\">\n <HotelCard hotel={hotel} />\n </div>\n );\n })}\n </div>\n ) : (\n <NoHotelsAvailable />\n );\n}\n"]}
1
+ {"version":3,"file":"HotelCardList.js","sourceRoot":"/","sources":["src/components/steps/hotel/HotelCardList.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAG1B,mFAA2D;AAC3D,mGAA2E;AAM3E,SAAwB,aAAa,CAAC,EAAE,SAAS,EAAsB;IACnE,OAAO,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,CAC3B,uCAAK,SAAS,EAAC,KAAK,IACf,SAAS,CAAC,GAAG,CAAC,CAAC,KAAY,EAAE,KAAa,EAAE,EAAE;QAC3C,OAAO,CACH,uCAAK,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,EAAE,EAAE,SAAS,EAAC,+BAA+B;YAC5E,8BAAC,mBAAS,IAAC,KAAK,EAAE,KAAK,GAAI,CACzB,CACT,CAAC;IACN,CAAC,CAAC,CACA,CACT,CAAC,CAAC,CAAC,CACA,8BAAC,2BAAiB,OAAG,CACxB,CAAC;AACN,CAAC;AAdD,gCAcC","sourcesContent":["import React from 'react';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\n\nimport HotelCard from '@/components/steps/hotel/HotelCard';\nimport NoHotelsAvailable from '@/components/steps/hotel/NoHotelsAvailable';\n\nexport interface HotelCardListProps {\n hotelList: Hotel[];\n}\n\nexport default function HotelCardList({ hotelList }: HotelCardListProps) {\n return hotelList?.length > 0 ? (\n <div className=\"row\">\n {hotelList.map((hotel: Hotel, index: number) => {\n return (\n <div key={`${hotel.hotelID}-${index}`} className=\"col-md-4 u-marg-bottom--heavy\">\n <HotelCard hotel={hotel} />\n </div>\n );\n })}\n </div>\n ) : (\n <NoHotelsAvailable />\n );\n}\n"]}
@@ -3,7 +3,7 @@ interface HotelCardModalProps {
3
3
  open: boolean;
4
4
  hotel: Hotel;
5
5
  onClose: () => void;
6
- container: HTMLElement;
6
+ container?: HTMLElement | null;
7
7
  }
8
8
  declare const HotelCardModal: (props: HotelCardModalProps) => JSX.Element;
9
9
  export default HotelCardModal;
@@ -26,8 +26,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const React = __importStar(require("react"));
30
- const react_1 = require("react");
29
+ const react_1 = __importDefault(require("react"));
30
+ const react_2 = require("react");
31
31
  const react_i18next_1 = require("react-i18next");
32
32
  const react_router_dom_1 = require("react-router-dom");
33
33
  const contexts_1 = require("../../../contexts/index.js");
@@ -45,14 +45,14 @@ const Text_1 = __importStar(require("../../generic/Text"));
45
45
  const TransportDistanceFromHotelBlock_1 = __importDefault(require("../../summary/TransportDistanceFromHotelBlock"));
46
46
  const ImageGallerySlider_1 = __importDefault(require("../room/ImageGallerySlider"));
47
47
  const HotelCardModal = (props) => {
48
- var _a;
48
+ var _a, _b, _c, _d;
49
49
  const hotel = props.hotel;
50
- const [images, setImages] = (0, react_1.useState)([props.hotel.heroImage]);
51
- const ccx = (0, react_1.useContext)(contexts_1.CompanyContext);
50
+ const [images, setImages] = (0, react_2.useState)([props.hotel.heroImage]);
51
+ const ccx = (0, react_2.useContext)(contexts_1.CompanyContext);
52
52
  const history = (0, react_router_dom_1.useHistory)();
53
53
  const { t } = (0, react_i18next_1.useTranslation)();
54
54
  const currentPrice = (_a = hotel.lowestPrice) === null || _a === void 0 ? void 0 : _a.value;
55
- (0, react_1.useEffect)(() => {
55
+ (0, react_2.useEffect)(() => {
56
56
  var _a;
57
57
  const newImages = [hotel.heroImage];
58
58
  if (hotel.rooms) {
@@ -69,48 +69,48 @@ const HotelCardModal = (props) => {
69
69
  ccx.changeHotel(hotel);
70
70
  history.push(StepManager_1.default.getNextStepUrl(StepHotel_1.default));
71
71
  };
72
- return (React.createElement(SimpleModal_1.default, { style: { overflow: 'scroll' }, size: SimpleModal_1.SimpleModalSize.Small, open: props.open, onClose: props.onClose, title: hotel.name, modalTarget: props.container },
73
- React.createElement("div", { style: { backgroundColor: Color_1.Color.White }, id: `hotel-card-modal-${hotel.hotelID}` },
74
- React.createElement("div", { style: { height: '350px' } },
75
- React.createElement(ImageGallerySlider_1.default, { images: images })),
76
- React.createElement("div", { className: "container u-pad--heavy" },
77
- React.createElement("div", { className: "u-marg-bottom--heavy" },
78
- React.createElement("div", { className: "u-marg-bottom--light" },
79
- React.createElement(Headline_1.default, { size: "large", bold: true }, hotel.name)),
80
- React.createElement(Text_1.default, { bold: true, color: Color_1.Color.DarkGrey }, hotel.address.city)),
81
- React.createElement("div", { className: "u-marg-top-bottom--heavy row" },
82
- React.createElement(TransportDistanceFromHotelBlock_1.default, { tightMargins: true, hotel: hotel })),
83
- React.createElement("div", { className: "u-marg-bottom--heavy" },
84
- React.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.DarkGrey },
85
- hotel.address.line1,
86
- ", ",
87
- hotel.address.line2)),
88
- !!hotel.perks.length && (React.createElement("div", null,
89
- React.createElement(Text_1.default, { className: "u-marg-bottom", bold: true, color: Color_1.Color.Accent }, "And these come free..."),
90
- React.createElement("div", { className: "u-flex row u-marg-bottom--massive" }, perksFree.map((perk) => {
91
- return (React.createElement("div", { className: "u-flex u-flex-align-center u-flex-flex-start col-sm-4 col-6 u-marg-bottom--light", key: perk.name },
92
- React.createElement("div", { style: { backgroundColor: Color_1.Color.Snow }, className: "u-rounded u-pad--light u-marg-right--light" },
93
- React.createElement("div", { className: "u-mw-16 d-flex justify-content-center" }, perk.iconElement ? perk.iconElement : React.createElement(Icon_1.default, { icon: perk.icon }))),
94
- React.createElement("div", { className: "u-marg-right u-block@m-" },
95
- React.createElement(Text_1.default, { type: Text_1.TextType.Small }, perk.name))));
72
+ return (react_1.default.createElement(SimpleModal_1.default, { style: { overflow: 'scroll' }, size: SimpleModal_1.SimpleModalSize.Small, open: props.open, onClose: props.onClose, title: hotel.name, modalTarget: props.container },
73
+ react_1.default.createElement("div", { style: { backgroundColor: Color_1.Color.White }, id: `hotel-card-modal-${hotel.hotelID}` },
74
+ react_1.default.createElement("div", { style: { height: '350px' } },
75
+ react_1.default.createElement(ImageGallerySlider_1.default, { images: images })),
76
+ react_1.default.createElement("div", { className: "container u-pad--heavy" },
77
+ react_1.default.createElement("div", { className: "u-marg-bottom--heavy" },
78
+ react_1.default.createElement("div", { className: "u-marg-bottom--light" },
79
+ react_1.default.createElement(Headline_1.default, { size: "large", bold: true }, hotel.name)),
80
+ react_1.default.createElement(Text_1.default, { bold: true, color: Color_1.Color.DarkGrey }, (_b = hotel.address) === null || _b === void 0 ? void 0 : _b.city)),
81
+ react_1.default.createElement("div", { className: "u-marg-top-bottom--heavy row" },
82
+ react_1.default.createElement(TransportDistanceFromHotelBlock_1.default, { tightMargins: true, hotel: hotel })),
83
+ react_1.default.createElement("div", { className: "u-marg-bottom--heavy" },
84
+ react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.DarkGrey }, (_c = hotel.address) === null || _c === void 0 ? void 0 :
85
+ _c.line1,
86
+ ", ", (_d = hotel.address) === null || _d === void 0 ? void 0 :
87
+ _d.line2)),
88
+ !!hotel.perks.length && (react_1.default.createElement("div", null,
89
+ react_1.default.createElement(Text_1.default, { className: "u-marg-bottom", bold: true, color: Color_1.Color.Accent }, "And these come free..."),
90
+ react_1.default.createElement("div", { className: "u-flex row u-marg-bottom--massive" }, perksFree.map((perk) => {
91
+ return (react_1.default.createElement("div", { className: "u-flex u-flex-align-center u-flex-flex-start col-sm-4 col-6 u-marg-bottom--light", key: perk.name },
92
+ react_1.default.createElement("div", { style: { backgroundColor: Color_1.Color.Snow }, className: "u-rounded u-pad--light u-marg-right--light" },
93
+ react_1.default.createElement("div", { className: "u-mw-16 d-flex justify-content-center" }, perk.iconElement ? perk.iconElement : perk.icon && react_1.default.createElement(Icon_1.default, { icon: perk.icon }))),
94
+ react_1.default.createElement("div", { className: "u-marg-right u-block@m-" },
95
+ react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small }, perk.name))));
96
96
  })))),
97
- React.createElement("div", null,
98
- React.createElement(Text_1.default, { type: Text_1.TextType.Small },
99
- React.createElement("span", { dangerouslySetInnerHTML: { __html: hotel.description } }))),
100
- React.createElement(LineBreak_1.default, null),
101
- React.createElement("div", { className: "u-flex" },
102
- React.createElement("div", { style: { paddingLeft: '0' }, className: "col-md-6 u-flex justify-content-start flex-column align-items-start" },
103
- React.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.Navy, inline: true }, t(Translation_1.Translation.Misc.From)),
104
- React.createElement("div", { className: "room-details--content-price flex-row" },
105
- React.createElement(Headline_1.default, { bold: true },
106
- React.createElement(Currency_1.default, { hideDecimals: true, originalCurrencyCode: hotel.defaultCurrency }, currentPrice)),
107
- React.createElement(Text_1.default, { color: Color_1.Color.DarkGrey, inline: true },
97
+ react_1.default.createElement("div", null,
98
+ react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small },
99
+ react_1.default.createElement("span", { dangerouslySetInnerHTML: { __html: hotel.description || '' } }))),
100
+ react_1.default.createElement(LineBreak_1.default, null),
101
+ react_1.default.createElement("div", { className: "u-flex" },
102
+ react_1.default.createElement("div", { style: { paddingLeft: '0' }, className: "col-md-6 u-flex justify-content-start flex-column align-items-start" },
103
+ react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.Navy, inline: true }, t(Translation_1.Translation.Misc.From)),
104
+ react_1.default.createElement("div", { className: "room-details--content-price flex-row" },
105
+ react_1.default.createElement(Headline_1.default, { bold: true },
106
+ react_1.default.createElement(Currency_1.default, { hideDecimals: true, originalCurrencyCode: hotel.defaultCurrency }, currentPrice)),
107
+ react_1.default.createElement(Text_1.default, { color: Color_1.Color.DarkGrey, inline: true },
108
108
  "/",
109
109
  t(Translation_1.Translation.Misc.Night))),
110
- React.createElement("div", { className: "u-marg-bottom" },
111
- React.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.Grey, inline: true, className: "u-nowrap" }, t(Translation_1.Translation.Step.Room.ExcludingTaxes)))),
112
- React.createElement("div", null,
113
- React.createElement(BEButton_1.default, { primary: true, filled: true, icon: Icon_1.IconType.ArrowRight, iconPosition: "right", onClick: onClickViewRooms }, "View Rooms")))))));
110
+ react_1.default.createElement("div", { className: "u-marg-bottom" },
111
+ react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.Grey, inline: true, className: "u-nowrap" }, t(Translation_1.Translation.Step.Room.ExcludingTaxes)))),
112
+ react_1.default.createElement("div", null,
113
+ react_1.default.createElement(BEButton_1.default, { primary: true, filled: true, icon: Icon_1.IconType.ArrowRight, iconPosition: "right", onClick: onClickViewRooms }, "View Rooms")))))));
114
114
  };
115
115
  exports.default = HotelCardModal;
116
116
  //# sourceMappingURL=HotelCardModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HotelCardModal.js","sourceRoot":"/","sources":["src/components/steps/hotel/HotelCardModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router-dom';\nimport { CompanyContext } from '@frontend/contexts';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\n\nimport StepHotel from '@/pages/steps/StepHotel/StepHotel';\nimport { Translation } from 'translations/Translation';\nimport { Color } from '@/util/Color';\nimport StepManager from '@/util/StepManager';\nimport BEButton from '@/components/generic/BEButton';\nimport Currency from '@/components/generic/Currency';\nimport Headline from '@/components/generic/Headline';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport SimpleModal, { SimpleModalSize } from '@/components/generic/modal/SimpleModal';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TransportDistanceFromHotelBlock from '@/components/summary/TransportDistanceFromHotelBlock';\nimport ImageGallerySlider from '@/components/steps/room/ImageGallerySlider';\n\ninterface HotelCardModalProps {\n open: boolean;\n hotel: Hotel;\n\n onClose: () => void;\n\n container: HTMLElement;\n}\n\nconst HotelCardModal = (props: HotelCardModalProps) => {\n const hotel = props.hotel;\n\n const [images, setImages] = useState([props.hotel.heroImage]);\n const ccx = useContext(CompanyContext);\n const history = useHistory();\n\n const { t } = useTranslation();\n\n const currentPrice = hotel.lowestPrice?.value;\n\n useEffect(() => {\n const newImages: string[] = [hotel.heroImage];\n\n if (hotel.rooms) {\n for (const room of Object.values(hotel.rooms)) {\n room.images?.forEach((image) => {\n newImages.push(image);\n });\n }\n }\n\n setImages(newImages);\n }, [hotel.rooms]);\n\n const perksFree = hotel.perks;\n\n const onClickViewRooms = () => {\n ccx.changeHotel(hotel);\n history.push(StepManager.getNextStepUrl(StepHotel));\n };\n\n return (\n <SimpleModal style={{ overflow: 'scroll' }} size={SimpleModalSize.Small} open={props.open} onClose={props.onClose} title={hotel.name} modalTarget={props.container}>\n <div style={{ backgroundColor: Color.White }} id={`hotel-card-modal-${hotel.hotelID}`}>\n <div style={{ height: '350px' }}>\n <ImageGallerySlider images={images} />\n </div>\n <div className=\"container u-pad--heavy\">\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Headline size=\"large\" bold={true}>\n {hotel.name}\n </Headline>\n </div>\n <Text bold={true} color={Color.DarkGrey}>\n {hotel.address.city}\n </Text>\n </div>\n <div className=\"u-marg-top-bottom--heavy row\">\n <TransportDistanceFromHotelBlock tightMargins={true} hotel={hotel} />\n </div>\n <div className=\"u-marg-bottom--heavy\">\n <Text type={TextType.Small} color={Color.DarkGrey}>\n {hotel.address.line1}, {hotel.address.line2}\n </Text>\n </div>\n {!!hotel.perks.length && (\n <div>\n <Text className=\"u-marg-bottom\" bold={true} color={Color.Accent}>\n And these come free...\n </Text>\n <div className=\"u-flex row u-marg-bottom--massive\">\n {perksFree.map((perk) => {\n return (\n <div className=\"u-flex u-flex-align-center u-flex-flex-start col-sm-4 col-6 u-marg-bottom--light\" key={perk.name}>\n <div style={{ backgroundColor: Color.Snow }} className=\"u-rounded u-pad--light u-marg-right--light\">\n <div className=\"u-mw-16 d-flex justify-content-center\">{perk.iconElement ? perk.iconElement : <Icon icon={perk.icon} />}</div>\n </div>\n <div className=\"u-marg-right u-block@m-\">\n <Text type={TextType.Small}>{perk.name}</Text>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n )}\n <div>\n <Text type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: hotel.description }}></span>\n </Text>\n </div>\n <LineBreak />\n <div className=\"u-flex\">\n <div style={{ paddingLeft: '0' }} className=\"col-md-6 u-flex justify-content-start flex-column align-items-start\">\n <Text type={TextType.Small} color={Color.Navy} inline={true}>\n {t(Translation.Misc.From)}\n </Text>\n <div className=\"room-details--content-price flex-row\">\n <Headline bold={true}>\n <Currency hideDecimals={true} originalCurrencyCode={hotel.defaultCurrency}>\n {currentPrice}\n </Currency>\n </Headline>\n <Text color={Color.DarkGrey} inline={true}>\n /{t(Translation.Misc.Night)}\n </Text>\n </div>\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} color={Color.Grey} inline={true} className=\"u-nowrap\">\n {t(Translation.Step.Room.ExcludingTaxes)}\n </Text>\n </div>\n </div>\n <div>\n <BEButton primary={true} filled={true} icon={IconType.ArrowRight} iconPosition=\"right\" onClick={onClickViewRooms}>\n View Rooms\n </BEButton>\n </div>\n </div>\n </div>\n </div>\n </SimpleModal>\n );\n};\n\nexport default HotelCardModal;\n"]}
1
+ {"version":3,"file":"HotelCardModal.js","sourceRoot":"/","sources":["src/components/steps/hotel/HotelCardModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router-dom';\nimport { CompanyContext } from '@frontend/contexts';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\n\nimport StepHotel from '@/pages/steps/StepHotel/StepHotel';\nimport { Translation } from 'translations/Translation';\nimport { Color } from '@/util/Color';\nimport StepManager from '@/util/StepManager';\nimport BEButton from '@/components/generic/BEButton';\nimport Currency from '@/components/generic/Currency';\nimport Headline from '@/components/generic/Headline';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport SimpleModal, { SimpleModalSize } from '@/components/generic/modal/SimpleModal';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TransportDistanceFromHotelBlock from '@/components/summary/TransportDistanceFromHotelBlock';\nimport ImageGallerySlider from '@/components/steps/room/ImageGallerySlider';\n\ninterface HotelCardModalProps {\n open: boolean;\n hotel: Hotel;\n\n onClose: () => void;\n\n container?: HTMLElement | null;\n}\n\nconst HotelCardModal = (props: HotelCardModalProps) => {\n const hotel = props.hotel;\n\n const [images, setImages] = useState([props.hotel.heroImage]);\n const ccx = useContext(CompanyContext);\n const history = useHistory();\n\n const { t } = useTranslation();\n\n const currentPrice = hotel.lowestPrice?.value;\n\n useEffect(() => {\n const newImages: string[] = [hotel.heroImage];\n\n if (hotel.rooms) {\n for (const room of Object.values(hotel.rooms)) {\n room.images?.forEach((image) => {\n newImages.push(image);\n });\n }\n }\n\n setImages(newImages);\n }, [hotel.rooms]);\n\n const perksFree = hotel.perks;\n\n const onClickViewRooms = () => {\n ccx.changeHotel(hotel);\n history.push(StepManager.getNextStepUrl(StepHotel));\n };\n\n return (\n <SimpleModal style={{ overflow: 'scroll' }} size={SimpleModalSize.Small} open={props.open} onClose={props.onClose} title={hotel.name} modalTarget={props.container}>\n <div style={{ backgroundColor: Color.White }} id={`hotel-card-modal-${hotel.hotelID}`}>\n <div style={{ height: '350px' }}>\n <ImageGallerySlider images={images} />\n </div>\n <div className=\"container u-pad--heavy\">\n <div className=\"u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--light\">\n <Headline size=\"large\" bold>\n {hotel.name}\n </Headline>\n </div>\n <Text bold color={Color.DarkGrey}>\n {hotel.address?.city}\n </Text>\n </div>\n <div className=\"u-marg-top-bottom--heavy row\">\n <TransportDistanceFromHotelBlock tightMargins hotel={hotel} />\n </div>\n <div className=\"u-marg-bottom--heavy\">\n <Text type={TextType.Small} color={Color.DarkGrey}>\n {hotel.address?.line1}, {hotel.address?.line2}\n </Text>\n </div>\n {!!hotel.perks.length && (\n <div>\n <Text className=\"u-marg-bottom\" bold color={Color.Accent}>\n And these come free...\n </Text>\n <div className=\"u-flex row u-marg-bottom--massive\">\n {perksFree.map((perk) => {\n return (\n <div className=\"u-flex u-flex-align-center u-flex-flex-start col-sm-4 col-6 u-marg-bottom--light\" key={perk.name}>\n <div style={{ backgroundColor: Color.Snow }} className=\"u-rounded u-pad--light u-marg-right--light\">\n <div className=\"u-mw-16 d-flex justify-content-center\">\n {perk.iconElement ? perk.iconElement : perk.icon && <Icon icon={perk.icon} />}\n </div>\n </div>\n <div className=\"u-marg-right u-block@m-\">\n <Text type={TextType.Small}>{perk.name}</Text>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n )}\n <div>\n <Text type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: hotel.description || '' }}></span>\n </Text>\n </div>\n <LineBreak />\n <div className=\"u-flex\">\n <div style={{ paddingLeft: '0' }} className=\"col-md-6 u-flex justify-content-start flex-column align-items-start\">\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\">\n <Headline bold>\n <Currency hideDecimals originalCurrencyCode={hotel.defaultCurrency}>\n {currentPrice}\n </Currency>\n </Headline>\n <Text color={Color.DarkGrey} inline>\n /{t(Translation.Misc.Night)}\n </Text>\n </div>\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} color={Color.Grey} inline className=\"u-nowrap\">\n {t(Translation.Step.Room.ExcludingTaxes)}\n </Text>\n </div>\n </div>\n <div>\n <BEButton primary filled icon={IconType.ArrowRight} iconPosition=\"right\" onClick={onClickViewRooms}>\n View Rooms\n </BEButton>\n </div>\n </div>\n </div>\n </div>\n </SimpleModal>\n );\n};\n\nexport default HotelCardModal;\n"]}
@@ -26,8 +26,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const React = __importStar(require("react"));
30
- const react_1 = require("react");
29
+ const react_1 = __importDefault(require("react"));
30
+ const react_2 = require("react");
31
31
  const react_i18next_1 = require("react-i18next");
32
32
  const contexts_1 = require("../../../contexts/index.js");
33
33
  const Translation_1 = require("translations/Translation");
@@ -45,10 +45,10 @@ const Overlay_1 = require("../../generic/Overlay/Overlay");
45
45
  const Select_1 = require("../../generic/Select/Select");
46
46
  const HotelSearchParameters = () => {
47
47
  var _a, _b, _c, _d, _e;
48
- const context = (0, react_1.useContext)(contexts_1.BasketContext);
48
+ const context = (0, react_2.useContext)(contexts_1.BasketContext);
49
49
  const row = context.currentBasketRows[0];
50
50
  const { t } = (0, react_i18next_1.useTranslation)();
51
- const engineContext = (0, react_1.useContext)(contexts_1.BookingEngineContext);
51
+ const engineContext = (0, react_2.useContext)(contexts_1.BookingEngineContext);
52
52
  let promoCodeTooltip = '';
53
53
  if ((row === null || row === void 0 ? void 0 : row.getPromoCodeStatus()) === 'new') {
54
54
  promoCodeTooltip = row.getPromoCode() ? 'Promo Code is being checked... please wait.' : 'Set a Promo Code for a possible offer!';
@@ -85,8 +85,8 @@ const HotelSearchParameters = () => {
85
85
  }
86
86
  context.updateBasketRow(row);
87
87
  };
88
- const [isPromoModalOpen, setIsPromoModalOpen] = (0, react_1.useState)(false);
89
- const [promoCode, setPromoCode] = (0, react_1.useState)(row.getPromoCode());
88
+ const [isPromoModalOpen, setIsPromoModalOpen] = (0, react_2.useState)(false);
89
+ const [promoCode, setPromoCode] = (0, react_2.useState)(row.getPromoCode());
90
90
  const updatePromoCode = (code) => {
91
91
  DataLayer_1.default.instance.sendInteraction('Promo Code', DataLayer_1.InteractionType.FORM_FIELD, DataLayer_1.InteractionStep.ROOMS);
92
92
  if (context.selectedBasketRow) {
@@ -97,7 +97,7 @@ const HotelSearchParameters = () => {
97
97
  }
98
98
  }
99
99
  };
100
- const thisElement = (0, react_1.useRef)();
100
+ const thisElement = (0, react_2.useRef)(null);
101
101
  const openPromoModalOnClick = () => {
102
102
  return setIsPromoModalOpen(true);
103
103
  };
@@ -119,50 +119,50 @@ const HotelSearchParameters = () => {
119
119
  const updateNumberOfChildrenOnChange = (value) => {
120
120
  updatePeopleValues({ children: +value });
121
121
  };
122
- return (React.createElement("div", { className: "u-pad u-rounded hotel-search-parameters u-marg-bottom--heavy" },
123
- React.createElement("div", null,
124
- React.createElement("div", { className: "u-flex w-100" },
125
- React.createElement("div", { className: "u-flex flex-wrap flex-xl-nowrap flex-row u-w-100@xl-" },
126
- React.createElement("div", { className: engineContext.screenSize <= ScreenSize_1.default.Large ? 'u-marg-bottom--light' : '' },
127
- React.createElement(Text_1.default, null,
128
- React.createElement("strong", { className: "u-nowrap" }, "Select your dates"))),
129
- React.createElement(React.Fragment, null,
130
- React.createElement(Tooltip_1.default, { title: "Update number of adults", wrapperClasses: 'u-w-100@xl-' },
131
- React.createElement("div", { className: "room-builder-progress--value" },
132
- React.createElement(Select_1.Select, { nativeOnMobile: true, options: [...Array(15)].map((v, value) => {
122
+ return (react_1.default.createElement("div", { className: "u-pad u-rounded hotel-search-parameters u-marg-bottom--heavy" },
123
+ react_1.default.createElement("div", null,
124
+ react_1.default.createElement("div", { className: "u-flex w-100" },
125
+ react_1.default.createElement("div", { className: "u-flex flex-wrap flex-xl-nowrap flex-row u-w-100@xl-" },
126
+ react_1.default.createElement("div", { className: engineContext.screenSize <= ScreenSize_1.default.Large ? 'u-marg-bottom--light' : '' },
127
+ react_1.default.createElement(Text_1.default, null,
128
+ react_1.default.createElement("strong", { className: "u-nowrap" }, "Select your dates"))),
129
+ react_1.default.createElement(react_1.default.Fragment, null,
130
+ react_1.default.createElement(Tooltip_1.default, { title: "Update number of adults", wrapperClasses: "u-w-100@xl-" },
131
+ react_1.default.createElement("div", { className: "room-builder-progress--value" },
132
+ react_1.default.createElement(Select_1.Select, { nativeOnMobile: true, options: [...Array(15)].map((v, value) => {
133
133
  value += 1;
134
134
  return {
135
135
  text: StringHelper_1.default.pluralWithDictAndCount(value, Translation_1.Translation.Step.Date.Adult, t),
136
136
  value: value.toString(),
137
137
  };
138
138
  }), value: (_a = row.getAdults()) === null || _a === void 0 ? void 0 : _a.toString(), onChange: updateNumberOfAdultsOnChange, keyName: "value", labelName: "text" }))),
139
- React.createElement(Tooltip_1.default, { title: "Update number of children", wrapperClasses: 'u-w-100@xl-' },
140
- React.createElement("div", { className: "room-builder-progress--value" },
141
- React.createElement(Select_1.Select, { nativeOnMobile: true, options: [...Array(15)].map((v, value) => {
139
+ react_1.default.createElement(Tooltip_1.default, { title: "Update number of children", wrapperClasses: "u-w-100@xl-" },
140
+ react_1.default.createElement("div", { className: "room-builder-progress--value" },
141
+ react_1.default.createElement(Select_1.Select, { nativeOnMobile: true, options: [...Array(15)].map((v, value) => {
142
142
  return {
143
143
  text: StringHelper_1.default.pluralWithDictAndCount(value, Translation_1.Translation.Step.Date.Child, t),
144
144
  value: value.toString(),
145
145
  };
146
146
  }), value: (_b = row.getChildren()) === null || _b === void 0 ? void 0 : _b.toString(), onChange: updateNumberOfChildrenOnChange, keyName: "value", labelName: "text" }))),
147
- React.createElement(React.Fragment, null,
148
- React.createElement("div", { className: "room-builder-progress--value" },
149
- React.createElement(FloatingDatePicker_1.default, { startDate: row.getStartDate(), selectedDateChanged: updateDateValues, className: "u-w-100@xl- d-flex align-items-center justify-content-center" },
150
- React.createElement(Tooltip_1.default, { title: "Select Arrival and departure dates by clicking here" },
151
- React.createElement("div", { className: "u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer" },
152
- React.createElement(Text_1.default, { color: Color_1.Color.Accent, bold: true }, row.getArrivalDate()),
153
- React.createElement(Icon_1.default, { icon: Icon_1.IconType.ArrowRight2 }),
154
- React.createElement(Text_1.default, { color: Color_1.Color.Accent, bold: true }, row.getDepartureDate()))))),
155
- React.createElement(Tooltip_1.default, { title: promoCodeTooltip, wrapperClasses: 'u-w-100@xl-' },
156
- React.createElement("div", { className: "room-builder-progress--value u-cursor-pointer", ref: thisElement, onClick: openPromoModalOnClick },
157
- React.createElement("div", { className: "u-flex align-items-center justify-content-center u-w-100@xl-" },
158
- React.createElement(Text_1.default, { className: "u-pad-right--light", type: Text_1.TextType.Body, color: row.getPromoCode() ? row.getPromoCodeColour() : Color_1.Color.Navy }, row.getPromoCode() ? row.getPromoCode() : 'Promo Code'),
159
- React.createElement(Icon_1.default, { icon: Icon_1.IconType.Dropdown, color: Color_1.Color.DarkGrey }))))),
160
- React.createElement(Overlay_1.Overlay, { open: isPromoModalOpen, followElement: thisElement.current, onClose: setPromoCodeOnClose },
161
- React.createElement("div", { className: "u-pad--heavy" },
162
- React.createElement("div", null,
163
- React.createElement(PromoCodeInput_1.default, { value: (_c = context.selectedBasketRow) === null || _c === void 0 ? void 0 : _c.getPromoCode(), onChange: changePromoCode, valid: ((_d = context.selectedBasketRow) === null || _d === void 0 ? void 0 : _d.getPromoCodeStatus()) !== 'new' ? ((_e = context.selectedBasketRow) === null || _e === void 0 ? void 0 : _e.getPromoCodeStatus()) === 'valid' : null })),
164
- React.createElement("div", { className: "u-flex justify-content-end align-items-center u-marg-top" },
165
- React.createElement(BEButton_1.default, { isText: true, size: "small", onClick: cancelPromoPopupOnClick }, "Cancel"))))))))));
147
+ react_1.default.createElement(react_1.default.Fragment, null,
148
+ react_1.default.createElement("div", { className: "room-builder-progress--value" },
149
+ react_1.default.createElement(FloatingDatePicker_1.default, { startDate: row.getStartDate(), selectedDateChanged: updateDateValues, className: "u-w-100@xl- d-flex align-items-center justify-content-center" },
150
+ react_1.default.createElement(Tooltip_1.default, { title: "Select Arrival and departure dates by clicking here" },
151
+ react_1.default.createElement("div", { className: "u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer" },
152
+ react_1.default.createElement(Text_1.default, { color: Color_1.Color.Accent, bold: true }, row.getArrivalDate()),
153
+ react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.ArrowRight2 }),
154
+ react_1.default.createElement(Text_1.default, { color: Color_1.Color.Accent, bold: true }, row.getDepartureDate()))))),
155
+ react_1.default.createElement(Tooltip_1.default, { title: promoCodeTooltip, wrapperClasses: "u-w-100@xl-" },
156
+ react_1.default.createElement("div", { className: "room-builder-progress--value u-cursor-pointer", ref: thisElement, onClick: openPromoModalOnClick },
157
+ react_1.default.createElement("div", { className: "u-flex align-items-center justify-content-center u-w-100@xl-" },
158
+ react_1.default.createElement(Text_1.default, { className: "u-pad-right--light", type: Text_1.TextType.Body, color: row.getPromoCode() ? row.getPromoCodeColour() : Color_1.Color.Navy }, row.getPromoCode() ? row.getPromoCode() : 'Promo Code'),
159
+ react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.Dropdown, color: Color_1.Color.DarkGrey }))))),
160
+ react_1.default.createElement(Overlay_1.Overlay, { open: isPromoModalOpen, followElement: thisElement.current, onClose: setPromoCodeOnClose },
161
+ react_1.default.createElement("div", { className: "u-pad--heavy" },
162
+ react_1.default.createElement("div", null,
163
+ react_1.default.createElement(PromoCodeInput_1.default, { value: (_c = context.selectedBasketRow) === null || _c === void 0 ? void 0 : _c.getPromoCode(), onChange: changePromoCode, valid: ((_d = context.selectedBasketRow) === null || _d === void 0 ? void 0 : _d.getPromoCodeStatus()) !== 'new' ? ((_e = context.selectedBasketRow) === null || _e === void 0 ? void 0 : _e.getPromoCodeStatus()) === 'valid' : undefined })),
164
+ react_1.default.createElement("div", { className: "u-flex justify-content-end align-items-center u-marg-top" },
165
+ react_1.default.createElement(BEButton_1.default, { isText: true, size: "small", onClick: cancelPromoPopupOnClick }, "Cancel"))))))))));
166
166
  };
167
167
  exports.default = HotelSearchParameters;
168
168
  //# sourceMappingURL=HotelSearchParameters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HotelSearchParameters.js","sourceRoot":"/","sources":["src/components/steps/hotel/HotelSearchParameters.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useContext, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport { Translation } from 'translations/Translation';\nimport { Color } from '@/util/Color';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nimport ScreenSize from '@/util/ScreenSize';\nimport StringHelper from '@/util/StringHelper';\nimport BEButton from '@/components/generic/BEButton';\nimport Tooltip from '@/components/generic/Tooltip/Tooltip';\nimport FloatingDatePicker from '@/components/generic/date/FloatingDatePicker';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport PromoCodeInput from '@/components/generic/PromoCodeInput';\nimport Text, { TextType } from '@/components/generic/Text';\nimport dayjs from 'dayjs';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { Overlay } from '@/components/generic/Overlay/Overlay';\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\n\nconst HotelSearchParameters = () => {\n const context = useContext(BasketContext);\n const row = context.currentBasketRows[0];\n\n const { t } = useTranslation();\n const engineContext = useContext(BookingEngineContext);\n let promoCodeTooltip = '';\n\n if (row?.getPromoCodeStatus() === 'new') {\n promoCodeTooltip = row.getPromoCode() ? 'Promo Code is being checked... please wait.' : 'Set a Promo Code for a possible offer!';\n } else {\n if (row?.getPromoCodeStatus() === 'valid') {\n promoCodeTooltip = 'Successful promo code entered';\n } else {\n promoCodeTooltip = 'Error code not valid';\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 const updatePeopleValues = ({ adults, children, updatedPromoCode }: { adults?: number; children?: 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\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 [isPromoModalOpen, setIsPromoModalOpen] = useState(false);\n const [promoCode, setPromoCode] = useState(row.getPromoCode());\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.updateBasketRow(context.selectedBasketRow);\n\n if (code) {\n setIsPromoModalOpen(false);\n }\n }\n };\n const thisElement = useRef();\n const openPromoModalOnClick = () => {\n return setIsPromoModalOpen(true);\n };\n const setPromoCodeOnClose = () => {\n setPromoCode(row.getPromoCode());\n setIsPromoModalOpen(false);\n };\n const cancelPromoPopupOnClick = () => {\n DataLayer.instance.sendInteraction('Cancel Promo Popup', InteractionType.BUTTON, InteractionStep.ROOMS);\n setPromoCode(row.getPromoCode());\n setIsPromoModalOpen(false);\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 return (\n <div className=\"u-pad u-rounded hotel-search-parameters u-marg-bottom--heavy\">\n <div>\n <div className=\"u-flex w-100\">\n <div className=\"u-flex flex-wrap flex-xl-nowrap flex-row u-w-100@xl-\">\n <div className={engineContext.screenSize <= ScreenSize.Large ? 'u-marg-bottom--light' : ''}>\n <Text>\n <strong className=\"u-nowrap\">Select your dates</strong>\n </Text>\n </div>\n <>\n <Tooltip title=\"Update number of adults\" wrapperClasses={'u-w-100@xl-'}>\n <div className=\"room-builder-progress--value\">\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(15)].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={row.getAdults()?.toString()}\n onChange={updateNumberOfAdultsOnChange}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </Tooltip>\n <Tooltip title=\"Update number of children\" wrapperClasses={'u-w-100@xl-'}>\n <div className=\"room-builder-progress--value\">\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(15)].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={row.getChildren()?.toString()}\n onChange={updateNumberOfChildrenOnChange}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </Tooltip>\n\n <>\n <div className=\"room-builder-progress--value\">\n <FloatingDatePicker\n startDate={row.getStartDate()}\n selectedDateChanged={updateDateValues}\n className=\"u-w-100@xl- d-flex align-items-center justify-content-center\"\n >\n <Tooltip title=\"Select Arrival and departure dates by clicking here\">\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer\">\n <Text color={Color.Accent} bold={true}>\n {row.getArrivalDate()}\n </Text>\n <Icon icon={IconType.ArrowRight2} />\n <Text color={Color.Accent} bold={true}>\n {row.getDepartureDate()}\n </Text>\n </div>\n </Tooltip>\n </FloatingDatePicker>\n </div>\n\n <Tooltip title={promoCodeTooltip} wrapperClasses={'u-w-100@xl-'}>\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={row.getPromoCode() ? row.getPromoCodeColour() : Color.Navy}>\n {row.getPromoCode() ? row.getPromoCode() : 'Promo Code'}\n </Text>\n <Icon icon={IconType.Dropdown} color={Color.DarkGrey} />\n </div>\n </div>\n </Tooltip>\n </>\n\n <Overlay open={isPromoModalOpen} followElement={thisElement.current} onClose={setPromoCodeOnClose}>\n <div className=\"u-pad--heavy\">\n <div>\n <PromoCodeInput\n value={context.selectedBasketRow?.getPromoCode()}\n onChange={changePromoCode}\n valid={context.selectedBasketRow?.getPromoCodeStatus() !== 'new' ? context.selectedBasketRow?.getPromoCodeStatus() === 'valid' : null}\n />\n </div>\n <div className=\"u-flex justify-content-end align-items-center u-marg-top\">\n <BEButton isText={true} size=\"small\" onClick={cancelPromoPopupOnClick}>\n Cancel\n </BEButton>\n </div>\n </div>\n </Overlay>\n </>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default HotelSearchParameters;\n"]}
1
+ {"version":3,"file":"HotelSearchParameters.js","sourceRoot":"/","sources":["src/components/steps/hotel/HotelSearchParameters.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { useContext, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport { Translation } from 'translations/Translation';\nimport { Color } from '@/util/Color';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nimport ScreenSize from '@/util/ScreenSize';\nimport StringHelper from '@/util/StringHelper';\nimport BEButton from '@/components/generic/BEButton';\nimport Tooltip from '@/components/generic/Tooltip/Tooltip';\nimport FloatingDatePicker from '@/components/generic/date/FloatingDatePicker';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport PromoCodeInput from '@/components/generic/PromoCodeInput';\nimport Text, { TextType } from '@/components/generic/Text';\nimport dayjs from 'dayjs';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { Overlay } from '@/components/generic/Overlay/Overlay';\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\n\nconst HotelSearchParameters = () => {\n const context = useContext(BasketContext);\n const row = context.currentBasketRows[0];\n\n const { t } = useTranslation();\n const engineContext = useContext(BookingEngineContext);\n let promoCodeTooltip = '';\n\n if (row?.getPromoCodeStatus() === 'new') {\n promoCodeTooltip = row.getPromoCode() ? 'Promo Code is being checked... please wait.' : 'Set a Promo Code for a possible offer!';\n } else {\n if (row?.getPromoCodeStatus() === 'valid') {\n promoCodeTooltip = 'Successful promo code entered';\n } else {\n promoCodeTooltip = 'Error code not valid';\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 const updatePeopleValues = ({ adults, children, updatedPromoCode }: { adults?: number; children?: 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\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 [isPromoModalOpen, setIsPromoModalOpen] = useState(false);\n const [promoCode, setPromoCode] = useState(row.getPromoCode());\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.updateBasketRow(context.selectedBasketRow);\n\n if (code) {\n setIsPromoModalOpen(false);\n }\n }\n };\n const thisElement = useRef<HTMLDivElement | null>(null);\n const openPromoModalOnClick = () => {\n return setIsPromoModalOpen(true);\n };\n const setPromoCodeOnClose = () => {\n setPromoCode(row.getPromoCode());\n setIsPromoModalOpen(false);\n };\n const cancelPromoPopupOnClick = () => {\n DataLayer.instance.sendInteraction('Cancel Promo Popup', InteractionType.BUTTON, InteractionStep.ROOMS);\n setPromoCode(row.getPromoCode());\n setIsPromoModalOpen(false);\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 return (\n <div className=\"u-pad u-rounded hotel-search-parameters u-marg-bottom--heavy\">\n <div>\n <div className=\"u-flex w-100\">\n <div className=\"u-flex flex-wrap flex-xl-nowrap flex-row u-w-100@xl-\">\n <div className={engineContext.screenSize <= ScreenSize.Large ? 'u-marg-bottom--light' : ''}>\n <Text>\n <strong className=\"u-nowrap\">Select your dates</strong>\n </Text>\n </div>\n <>\n <Tooltip title=\"Update number of adults\" wrapperClasses=\"u-w-100@xl-\">\n <div className=\"room-builder-progress--value\">\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(15)].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={row.getAdults()?.toString()}\n onChange={updateNumberOfAdultsOnChange}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </Tooltip>\n <Tooltip title=\"Update number of children\" wrapperClasses=\"u-w-100@xl-\">\n <div className=\"room-builder-progress--value\">\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(15)].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={row.getChildren()?.toString()}\n onChange={updateNumberOfChildrenOnChange}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </Tooltip>\n\n <>\n <div className=\"room-builder-progress--value\">\n <FloatingDatePicker\n startDate={row.getStartDate()}\n selectedDateChanged={updateDateValues}\n className=\"u-w-100@xl- d-flex align-items-center justify-content-center\"\n >\n <Tooltip title=\"Select Arrival and departure dates by clicking here\">\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer\">\n <Text color={Color.Accent} bold>\n {row.getArrivalDate()}\n </Text>\n <Icon icon={IconType.ArrowRight2} />\n <Text color={Color.Accent} bold>\n {row.getDepartureDate()}\n </Text>\n </div>\n </Tooltip>\n </FloatingDatePicker>\n </div>\n\n <Tooltip title={promoCodeTooltip} wrapperClasses=\"u-w-100@xl-\">\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={row.getPromoCode() ? row.getPromoCodeColour() : Color.Navy}>\n {row.getPromoCode() ? row.getPromoCode() : 'Promo Code'}\n </Text>\n <Icon icon={IconType.Dropdown} color={Color.DarkGrey} />\n </div>\n </div>\n </Tooltip>\n </>\n\n <Overlay open={isPromoModalOpen} followElement={thisElement.current} onClose={setPromoCodeOnClose}>\n <div className=\"u-pad--heavy\">\n <div>\n <PromoCodeInput\n value={context.selectedBasketRow?.getPromoCode()}\n onChange={changePromoCode}\n valid={\n context.selectedBasketRow?.getPromoCodeStatus() !== 'new' ? context.selectedBasketRow?.getPromoCodeStatus() === 'valid' : undefined\n }\n />\n </div>\n <div className=\"u-flex justify-content-end align-items-center u-marg-top\">\n <BEButton isText size=\"small\" onClick={cancelPromoPopupOnClick}>\n Cancel\n </BEButton>\n </div>\n </div>\n </Overlay>\n </>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default HotelSearchParameters;\n"]}