@roomstay/frontend 2.0.11 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (834) hide show
  1. package/dist/201.bundle.js +1 -1
  2. package/dist/218.bundle.js +1 -1
  3. package/dist/423.bundle.js +1 -1
  4. package/dist/449.bundle.js +1 -1
  5. package/dist/873.bundle.js +1 -1
  6. package/dist/882.bundle.js +1 -1
  7. package/dist/main.bundle.js +1 -1
  8. package/dist/src/animations/AutoAutoHeight.js +28 -2
  9. package/dist/src/animations/AutoAutoHeight.js.map +1 -1
  10. package/dist/src/animations/Fade.js +24 -1
  11. package/dist/src/animations/Fade.js.map +1 -1
  12. package/dist/src/api/AddonAPI.js +29 -3
  13. package/dist/src/api/AddonAPI.js.map +1 -1
  14. package/dist/src/api/AvailabilityAPI.d.ts +1 -1
  15. package/dist/src/api/AvailabilityAPI.js +40 -14
  16. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  17. package/dist/src/api/BaseAPI.d.ts +1 -1
  18. package/dist/src/api/BaseAPI.js +7 -4
  19. package/dist/src/api/BaseAPI.js.map +1 -1
  20. package/dist/src/api/BookingAPI.js +12 -9
  21. package/dist/src/api/BookingAPI.js.map +1 -1
  22. package/dist/src/api/ErrorAPI.js +4 -1
  23. package/dist/src/api/ErrorAPI.js.map +1 -1
  24. package/dist/src/api/ExchangeRateAPI.js +4 -1
  25. package/dist/src/api/ExchangeRateAPI.js.map +1 -1
  26. package/dist/src/api/HotelAPI.js +4 -1
  27. package/dist/src/api/HotelAPI.js.map +1 -1
  28. package/dist/src/api/MemberAPI.js +24 -1
  29. package/dist/src/api/MemberAPI.js.map +1 -1
  30. package/dist/src/api/ReservationAPI.js +24 -1
  31. package/dist/src/api/ReservationAPI.js.map +1 -1
  32. package/dist/src/api/SessionAPI.js +24 -1
  33. package/dist/src/api/SessionAPI.js.map +1 -1
  34. package/dist/src/api/members-service/MembersServiceAPI.js +4 -1
  35. package/dist/src/api/members-service/MembersServiceAPI.js.map +1 -1
  36. package/dist/src/components/User/Forms/ForgotPasswordForm.js +33 -7
  37. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  38. package/dist/src/components/User/Forms/SignInForm.js +33 -7
  39. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  40. package/dist/src/components/User/Forms/SignUpForm.js +36 -10
  41. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  42. package/dist/src/components/generic/Alert.js +30 -4
  43. package/dist/src/components/generic/Alert.js.map +1 -1
  44. package/dist/src/components/generic/BEButton.js +30 -4
  45. package/dist/src/components/generic/BEButton.js.map +1 -1
  46. package/dist/src/components/generic/BackButton.js +28 -2
  47. package/dist/src/components/generic/BackButton.js.map +1 -1
  48. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +29 -3
  49. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  50. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +19 -0
  51. package/dist/src/components/generic/BookingWizard/BookingWizard.js +106 -0
  52. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -0
  53. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +6 -0
  54. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js +28 -0
  55. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js.map +1 -0
  56. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +10 -0
  57. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +113 -0
  58. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -0
  59. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +35 -0
  60. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js +8 -0
  61. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -0
  62. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +7 -0
  63. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +146 -0
  64. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -0
  65. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +9 -0
  66. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +111 -0
  67. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -0
  68. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +10 -0
  69. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +144 -0
  70. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -0
  71. package/dist/src/components/generic/Card/Card/Card.js +30 -4
  72. package/dist/src/components/generic/Card/Card/Card.js.map +1 -1
  73. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +31 -5
  74. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
  75. package/dist/src/components/generic/Checkbox/Checkbox.js +30 -4
  76. package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
  77. package/dist/src/components/generic/Countdown.d.ts +1 -1
  78. package/dist/src/components/generic/Countdown.js +29 -3
  79. package/dist/src/components/generic/Countdown.js.map +1 -1
  80. package/dist/src/components/generic/Currency.js +29 -3
  81. package/dist/src/components/generic/Currency.js.map +1 -1
  82. package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +14 -0
  83. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +155 -0
  84. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -0
  85. package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.d.ts +10 -0
  86. package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js +44 -0
  87. package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js.map +1 -0
  88. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +21 -0
  89. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +134 -0
  90. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -0
  91. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +6 -0
  92. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +44 -0
  93. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -0
  94. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +7 -0
  95. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +57 -0
  96. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -0
  97. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.d.ts +25 -0
  98. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +87 -0
  99. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -0
  100. package/dist/src/components/generic/Distance.js +28 -2
  101. package/dist/src/components/generic/Distance.js.map +1 -1
  102. package/dist/src/components/generic/ForwardedSelect.d.ts +1 -1
  103. package/dist/src/components/generic/ForwardedSelect.js +24 -1
  104. package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
  105. package/dist/src/components/generic/Headline.js +29 -3
  106. package/dist/src/components/generic/Headline.js.map +1 -1
  107. package/dist/src/components/generic/Icon/Icon.js +30 -4
  108. package/dist/src/components/generic/Icon/Icon.js.map +1 -1
  109. package/dist/src/components/generic/IconText/IconText.js +31 -5
  110. package/dist/src/components/generic/IconText/IconText.js.map +1 -1
  111. package/dist/src/components/generic/InputGroup/InputGroup.js +29 -3
  112. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  113. package/dist/src/components/generic/LineBreak.js +29 -3
  114. package/dist/src/components/generic/LineBreak.js.map +1 -1
  115. package/dist/src/components/generic/Notification.js +25 -2
  116. package/dist/src/components/generic/Notification.js.map +1 -1
  117. package/dist/src/components/generic/NumberIncrement.js +30 -4
  118. package/dist/src/components/generic/NumberIncrement.js.map +1 -1
  119. package/dist/src/components/generic/Overlay/Overlay.d.ts +3 -2
  120. package/dist/src/components/generic/Overlay/Overlay.js +33 -6
  121. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  122. package/dist/src/components/generic/PasswordBox/PasswordBox.js +30 -4
  123. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  124. package/dist/src/components/generic/PaymentCard/CardTypeSelect.d.ts +1 -2
  125. package/dist/src/components/generic/PaymentCard/CardTypeSelect.js +30 -4
  126. package/dist/src/components/generic/PaymentCard/CardTypeSelect.js.map +1 -1
  127. package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +2 -3
  128. package/dist/src/components/generic/PaymentCard/PaymentCard.js +30 -4
  129. package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
  130. package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +2 -3
  131. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +34 -8
  132. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  133. package/dist/src/components/generic/Pill.js +30 -4
  134. package/dist/src/components/generic/Pill.js.map +1 -1
  135. package/dist/src/components/generic/Placeholder.js +29 -3
  136. package/dist/src/components/generic/Placeholder.js.map +1 -1
  137. package/dist/src/components/generic/PlanpayButton/PlanpayButton.d.ts +1 -2
  138. package/dist/src/components/generic/PlanpayButton/PlanpayButton.js +28 -2
  139. package/dist/src/components/generic/PlanpayButton/PlanpayButton.js.map +1 -1
  140. package/dist/src/components/generic/Portal/Portal.js +24 -1
  141. package/dist/src/components/generic/Portal/Portal.js.map +1 -1
  142. package/dist/src/components/generic/PromoCodeInput.js +32 -6
  143. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  144. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +30 -4
  145. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  146. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +30 -4
  147. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  148. package/dist/src/components/generic/RecentSearchesCard.d.ts +1 -1
  149. package/dist/src/components/generic/RecentSearchesCard.js +35 -9
  150. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  151. package/dist/src/components/generic/Select/Select.d.ts +20 -6
  152. package/dist/src/components/generic/Select/Select.js +92 -25
  153. package/dist/src/components/generic/Select/Select.js.map +1 -1
  154. package/dist/src/components/generic/Slider/Slider.js +29 -3
  155. package/dist/src/components/generic/Slider/Slider.js.map +1 -1
  156. package/dist/src/components/generic/Tabs/ElementChildren.js +24 -1
  157. package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
  158. package/dist/src/components/generic/Tabs/Tab.js +24 -1
  159. package/dist/src/components/generic/Tabs/Tab.js.map +1 -1
  160. package/dist/src/components/generic/Tabs/TabContext.js +24 -1
  161. package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
  162. package/dist/src/components/generic/Tabs/TabLink.js +30 -4
  163. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  164. package/dist/src/components/generic/Tabs/TabRouteContainer.js +28 -2
  165. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
  166. package/dist/src/components/generic/Tabs/Tabs.js +29 -3
  167. package/dist/src/components/generic/Tabs/Tabs.js.map +1 -1
  168. package/dist/src/components/generic/Text.js +29 -3
  169. package/dist/src/components/generic/Text.js.map +1 -1
  170. package/dist/src/components/generic/TextArea.js +24 -1
  171. package/dist/src/components/generic/TextArea.js.map +1 -1
  172. package/dist/src/components/generic/TextBox.js +30 -4
  173. package/dist/src/components/generic/TextBox.js.map +1 -1
  174. package/dist/src/components/generic/Tooltip/Tooltip.js +28 -2
  175. package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
  176. package/dist/src/components/generic/badging/SSLSecureBadge.js +29 -3
  177. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  178. package/dist/src/components/generic/buttons/NextStepButton.js +30 -4
  179. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  180. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +34 -8
  181. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  182. package/dist/src/components/generic/date/DatePicker.d.ts +1 -1
  183. package/dist/src/components/generic/date/DatePicker.js +43 -16
  184. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  185. package/dist/src/components/generic/date/DatePickerDay.d.ts +1 -1
  186. package/dist/src/components/generic/date/DatePickerDay.js +33 -7
  187. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  188. package/dist/src/components/generic/date/DatePickerDays.d.ts +1 -1
  189. package/dist/src/components/generic/date/DatePickerDays.js +29 -3
  190. package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
  191. package/dist/src/components/generic/date/DatePickerMonth.d.ts +1 -1
  192. package/dist/src/components/generic/date/DatePickerMonth.js +30 -4
  193. package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
  194. package/dist/src/components/generic/date/DatePickerWeek.js +38 -12
  195. package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
  196. package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
  197. package/dist/src/components/generic/date/FloatingDatePicker.js +29 -3
  198. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  199. package/dist/src/components/generic/date/WeekViewSkeleton.js +31 -5
  200. package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
  201. package/dist/src/components/generic/loader/ImageLoader.js +29 -3
  202. package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
  203. package/dist/src/components/generic/loader/LargeLoader.js +28 -2
  204. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  205. package/dist/src/components/generic/loader/SmallSpinner.js +25 -2
  206. package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
  207. package/dist/src/components/generic/map/HotelLocationMap.js +28 -2
  208. package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
  209. package/dist/src/components/generic/modal/ConfirmationModal.d.ts +1 -2
  210. package/dist/src/components/generic/modal/ConfirmationModal.js +30 -4
  211. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  212. package/dist/src/components/generic/modal/ErrorModal.js +29 -3
  213. package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
  214. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +32 -6
  215. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  216. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +33 -7
  217. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  218. package/dist/src/components/generic/modal/SimpleModal.d.ts +2 -0
  219. package/dist/src/components/generic/modal/SimpleModal.js +36 -9
  220. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  221. package/dist/src/components/generic/modal/TabbedModal.js +29 -3
  222. package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
  223. package/dist/src/components/generic/radio/RadioFields.js +32 -6
  224. package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
  225. package/dist/src/components/iconComponents/BookNowPayLaterIcon.js +24 -1
  226. package/dist/src/components/iconComponents/BookNowPayLaterIcon.js.map +1 -1
  227. package/dist/src/components/members/EditMyProfile.js +32 -6
  228. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  229. package/dist/src/components/navigation/Header.js +40 -14
  230. package/dist/src/components/navigation/Header.js.map +1 -1
  231. package/dist/src/components/navigation/StepSelector.js +34 -8
  232. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  233. package/dist/src/components/navigation/StepSelectorModal.js +33 -7
  234. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  235. package/dist/src/components/pages/Account/Card/CardList.js +30 -4
  236. package/dist/src/components/pages/Account/Card/CardList.js.map +1 -1
  237. package/dist/src/components/pages/Account/Card/MemberCardItem.js +34 -8
  238. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  239. package/dist/src/components/pages/PageColorComponent.js +28 -2
  240. package/dist/src/components/pages/PageColorComponent.js.map +1 -1
  241. package/dist/src/components/reservation/ReservationItem.js +42 -16
  242. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  243. package/dist/src/components/reservation/ReservationList.js +28 -2
  244. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  245. package/dist/src/components/steps/DaysSelectedInformer.js +25 -2
  246. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  247. package/dist/src/components/steps/MinimumNightStayPill.js +30 -4
  248. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  249. package/dist/src/components/steps/addons/AddonCard.js +37 -12
  250. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  251. package/dist/src/components/steps/addons/AddonList.js +33 -7
  252. package/dist/src/components/steps/addons/AddonList.js.map +1 -1
  253. package/dist/src/components/steps/addons/AddonsNotFound.js +29 -3
  254. package/dist/src/components/steps/addons/AddonsNotFound.js.map +1 -1
  255. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +29 -3
  256. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
  257. package/dist/src/components/steps/confirmation/AccountDetails.js +29 -3
  258. package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
  259. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js +30 -4
  260. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  261. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +24 -1
  262. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  263. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +32 -6
  264. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  265. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +28 -2
  266. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
  267. package/dist/src/components/steps/confirmation/RoomContactDetails.js +41 -15
  268. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  269. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +33 -7
  270. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  271. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +37 -11
  272. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  273. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +30 -4
  274. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
  275. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +31 -5
  276. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  277. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +54 -28
  278. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  279. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +28 -2
  280. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
  281. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +1 -1
  282. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +32 -6
  283. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  284. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +29 -3
  285. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
  286. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +25 -2
  287. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  288. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +36 -10
  289. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  290. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +26 -3
  291. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  292. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +37 -12
  293. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
  294. package/dist/src/components/steps/date/PeoplePicker.js +32 -6
  295. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  296. package/dist/src/components/steps/date/PeoplePickerRow.js +31 -5
  297. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  298. package/dist/src/components/steps/date/StepDatePricePerRoom.js +32 -6
  299. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  300. package/dist/src/components/steps/date/StepOneDateRange.js +29 -3
  301. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  302. package/dist/src/components/steps/date/StepOneDateRangePicker.js +30 -4
  303. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  304. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +29 -3
  305. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
  306. package/dist/src/components/steps/date/StepOneNextStepButton.js +29 -3
  307. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  308. package/dist/src/components/steps/date/StepOneStatusPeople.js +28 -2
  309. package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
  310. package/dist/src/components/steps/hotel/HotelCard.js +39 -13
  311. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  312. package/dist/src/components/steps/hotel/HotelCardList.js +29 -3
  313. package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
  314. package/dist/src/components/steps/hotel/HotelCardModal.js +38 -12
  315. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  316. package/dist/src/components/steps/hotel/HotelSearchParameters.js +47 -21
  317. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  318. package/dist/src/components/steps/hotel/NoHotelsAvailable.js +29 -3
  319. package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
  320. package/dist/src/components/steps/room/AvailableUpgradesModal.js +37 -11
  321. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  322. package/dist/src/components/steps/room/ImageGallerySlider.js +32 -6
  323. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  324. package/dist/src/components/steps/room/InactivityWindow.js +37 -11
  325. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  326. package/dist/src/components/steps/room/LargeRoomCard.js +35 -9
  327. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  328. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +38 -12
  329. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
  330. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +35 -9
  331. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  332. package/dist/src/components/steps/room/RatesNotFound.js +29 -3
  333. package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
  334. package/dist/src/components/steps/room/RoomList.js +38 -12
  335. package/dist/src/components/steps/room/RoomList.js.map +1 -1
  336. package/dist/src/components/steps/room/RoomListAlert.js +31 -5
  337. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
  338. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +34 -8
  339. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  340. package/dist/src/components/steps/room/RoomModal.js +34 -8
  341. package/dist/src/components/steps/room/RoomModal.js.map +1 -1
  342. package/dist/src/components/steps/room/StepRoomAlertBlocks.js +31 -5
  343. package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
  344. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +29 -3
  345. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  346. package/dist/src/components/steps/room/StepRoomErrorForm.js +37 -11
  347. package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
  348. package/dist/src/components/steps/room/StepRoomHotelDetails.js +29 -3
  349. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  350. package/dist/src/components/steps/room/StepRoomNextStepButton.js +29 -3
  351. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  352. package/dist/src/components/steps/room/StepRoomSortBy.js +34 -9
  353. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  354. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +31 -5
  355. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  356. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +1 -1
  357. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +32 -7
  358. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
  359. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +1 -1
  360. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +32 -7
  361. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
  362. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +31 -5
  363. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  364. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +43 -17
  365. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  366. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +41 -15
  367. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  368. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +25 -2
  369. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  370. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +31 -5
  371. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  372. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +35 -9
  373. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  374. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +37 -11
  375. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  376. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +29 -3
  377. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
  378. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +35 -9
  379. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  380. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +34 -8
  381. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  382. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +34 -8
  383. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  384. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +30 -4
  385. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  386. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +30 -4
  387. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  388. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +32 -6
  389. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  390. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +38 -12
  391. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  392. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +33 -7
  393. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  394. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +30 -4
  395. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  396. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +38 -12
  397. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  398. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +33 -7
  399. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
  400. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +32 -6
  401. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
  402. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +32 -6
  403. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  404. package/dist/src/components/summary/BEMapWidget.d.ts +3 -5
  405. package/dist/src/components/summary/BEMapWidget.js +66 -18
  406. package/dist/src/components/summary/BEMapWidget.js.map +1 -1
  407. package/dist/src/components/summary/BEMobileSummary.js +35 -9
  408. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  409. package/dist/src/components/summary/BEMobileSummaryModal.js +41 -15
  410. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  411. package/dist/src/components/summary/BESummary.js +37 -11
  412. package/dist/src/components/summary/BESummary.js.map +1 -1
  413. package/dist/src/components/summary/BESummaryAddonRow.js +34 -8
  414. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  415. package/dist/src/components/summary/BESummaryPerkBlock.js +30 -4
  416. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  417. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +25 -2
  418. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  419. package/dist/src/components/summary/BESummaryRoomRow.js +35 -9
  420. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  421. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +30 -4
  422. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  423. package/dist/src/components/temp/Login.js +29 -3
  424. package/dist/src/components/temp/Login.js.map +1 -1
  425. package/dist/src/containers/PrivateRoute.js +24 -1
  426. package/dist/src/containers/PrivateRoute.js.map +1 -1
  427. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +1 -1
  428. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  429. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +42 -16
  430. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  431. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +28 -2
  432. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  433. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +34 -8
  434. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  435. package/dist/src/contexts/ConfirmationFormContext.js +24 -1
  436. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  437. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +30 -4
  438. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  439. package/dist/src/contexts/DatePickerContext.d.ts +1 -1
  440. package/dist/src/contexts/DatePickerContext.js +24 -1
  441. package/dist/src/contexts/DatePickerContext.js.map +1 -1
  442. package/dist/src/contexts/ErrorContext.js +29 -3
  443. package/dist/src/contexts/ErrorContext.js.map +1 -1
  444. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.d.ts +1 -1
  445. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.js.map +1 -1
  446. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +52 -26
  447. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  448. package/dist/src/contexts/HotelOverridesContext.js +28 -2
  449. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  450. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +30 -4
  451. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  452. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +30 -4
  453. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  454. package/dist/src/contexts/ModalContext.js +24 -1
  455. package/dist/src/contexts/ModalContext.js.map +1 -1
  456. package/dist/src/contexts/NotificationContext.js +28 -2
  457. package/dist/src/contexts/NotificationContext.js.map +1 -1
  458. package/dist/src/engines/BaseEngine.d.ts +4 -5
  459. package/dist/src/engines/BaseEngine.js +6 -2
  460. package/dist/src/engines/BaseEngine.js.map +1 -1
  461. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +17 -0
  462. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js +31 -0
  463. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -0
  464. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +6 -0
  465. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +54 -0
  466. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -0
  467. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.d.ts +6 -2
  468. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +24 -1
  469. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
  470. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +24 -1
  471. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  472. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.d.ts +6 -2
  473. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js +4 -1
  474. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js.map +1 -1
  475. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +61 -35
  476. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  477. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.d.ts +6 -2
  478. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js +4 -1
  479. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -1
  480. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +35 -9
  481. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  482. package/dist/src/errors/GetAvailabilityError.d.ts +1 -1
  483. package/dist/src/errors/GetAvailabilityError.js.map +1 -1
  484. package/dist/src/hooks/AutoFocusOnSelect.d.ts +2 -0
  485. package/dist/src/hooks/AutoFocusOnSelect.js +1 -0
  486. package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
  487. package/dist/src/hooks/ConfirmationQuery.js +2 -2
  488. package/dist/src/hooks/ConfirmationQuery.js.map +1 -1
  489. package/dist/src/hooks/ElementSortHook.js +24 -1
  490. package/dist/src/hooks/ElementSortHook.js.map +1 -1
  491. package/dist/src/hooks/EventHook.js +4 -1
  492. package/dist/src/hooks/EventHook.js.map +1 -1
  493. package/dist/src/hooks/KeyboardControlOnSelect.d.ts +14 -8
  494. package/dist/src/hooks/KeyboardControlOnSelect.js +45 -37
  495. package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
  496. package/dist/src/hooks/Query.d.ts +1 -1
  497. package/dist/src/hooks/Query.js +29 -6
  498. package/dist/src/hooks/Query.js.map +1 -1
  499. package/dist/src/hooks/VGSHooks.js +6 -3
  500. package/dist/src/hooks/VGSHooks.js.map +1 -1
  501. package/dist/src/hooks/WindowSize.d.ts +9 -3
  502. package/dist/src/hooks/WindowSize.js +13 -2
  503. package/dist/src/hooks/WindowSize.js.map +1 -1
  504. package/dist/src/icons/Check.js +24 -1
  505. package/dist/src/icons/Check.js.map +1 -1
  506. package/dist/src/index.d.ts +1 -0
  507. package/dist/src/index.js +60 -44
  508. package/dist/src/index.js.map +1 -1
  509. package/dist/src/mockApi/AddonAPI.js +5 -2
  510. package/dist/src/mockApi/AddonAPI.js.map +1 -1
  511. package/dist/src/mockApi/BookingAPI.js +9 -6
  512. package/dist/src/mockApi/BookingAPI.js.map +1 -1
  513. package/dist/src/mockApi/ExchangeRateAPI.js +4 -1
  514. package/dist/src/mockApi/ExchangeRateAPI.js.map +1 -1
  515. package/dist/src/mockApi/HotelAPI.js +4 -1
  516. package/dist/src/mockApi/HotelAPI.js.map +1 -1
  517. package/dist/src/mockApi/MemberAPI.js +24 -1
  518. package/dist/src/mockApi/MemberAPI.js.map +1 -1
  519. package/dist/src/mockApi/MockAPI.d.ts +1 -1
  520. package/dist/src/mockApi/MockAPI.js +6 -3
  521. package/dist/src/mockApi/MockAPI.js.map +1 -1
  522. package/dist/src/mockApi/ReservationAPI.js +24 -1
  523. package/dist/src/mockApi/ReservationAPI.js.map +1 -1
  524. package/dist/src/models/Addon/Addon.d.ts +1 -1
  525. package/dist/src/models/Addon/Addon.js +7 -4
  526. package/dist/src/models/Addon/Addon.js.map +1 -1
  527. package/dist/src/models/BasketRow.d.ts +1 -1
  528. package/dist/src/models/BasketRow.js.map +1 -1
  529. package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +6 -0
  530. package/dist/src/models/BookingWizard/BookingWizardProperty.js +3 -0
  531. package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -0
  532. package/dist/src/models/BookingWizard/BookingWizardTypes.d.ts +4 -0
  533. package/dist/src/models/BookingWizard/BookingWizardTypes.js +3 -0
  534. package/dist/src/models/BookingWizard/BookingWizardTypes.js.map +1 -0
  535. package/dist/src/models/Promotion/IPromotion.type.d.ts +1 -1
  536. package/dist/src/models/Promotion/IPromotion.type.js.map +1 -1
  537. package/dist/src/models/Reservation/Reservation.d.ts +1 -1
  538. package/dist/src/models/Reservation/Reservation.js.map +1 -1
  539. package/dist/src/models/Room/Filters/BudgetFilter.js +4 -1
  540. package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
  541. package/dist/src/models/Room/Filters/RateTypeFilter.js +4 -1
  542. package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
  543. package/dist/src/models/Room/Filters/RoomTypeFilter.js +4 -1
  544. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  545. package/dist/src/models/Room/RoomRate.js +6 -3
  546. package/dist/src/models/Room/RoomRate.js.map +1 -1
  547. package/dist/src/models/Room/RoomRateNight.d.ts +1 -1
  548. package/dist/src/models/Room/RoomRateNight.js +5 -2
  549. package/dist/src/models/Room/RoomRateNight.js.map +1 -1
  550. package/dist/src/models/RoomstaySession.d.ts +1 -1
  551. package/dist/src/models/RoomstaySession.js.map +1 -1
  552. package/dist/src/pages/account/AccountHome/AccountHomePage.js +34 -8
  553. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  554. package/dist/src/pages/account/AccountOutlet.js +24 -1
  555. package/dist/src/pages/account/AccountOutlet.js.map +1 -1
  556. package/dist/src/pages/account/AccountRouter.js +24 -1
  557. package/dist/src/pages/account/AccountRouter.js.map +1 -1
  558. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +33 -7
  559. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  560. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +32 -6
  561. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  562. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +34 -8
  563. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  564. package/dist/src/pages/account/Help/AccountHelpPage.js +36 -10
  565. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  566. package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js +40 -14
  567. package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js.map +1 -1
  568. package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js +39 -13
  569. package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js.map +1 -1
  570. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +39 -13
  571. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  572. package/dist/src/pages/account/Reservations/AccountReservationsPage.js +31 -5
  573. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  574. package/dist/src/pages/findReservation/FindReservation.js +39 -13
  575. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  576. package/dist/src/pages/findReservation/FindReservationResults.js +40 -14
  577. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  578. package/dist/src/pages/findReservation/ReservationRow.js +40 -14
  579. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  580. package/dist/src/pages/findReservation/ReservationRowModal.js +39 -13
  581. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  582. package/dist/src/pages/hotel/HotelInfo.js +36 -10
  583. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  584. package/dist/src/pages/hotel/HotelInfoPlaceholder.js +28 -2
  585. package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
  586. package/dist/src/pages/steps/StepAddon/StepAddon.js +6 -3
  587. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  588. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +35 -9
  589. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  590. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +29 -3
  591. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
  592. package/dist/src/pages/steps/StepAddon/StepAddonValidator.js +4 -1
  593. package/dist/src/pages/steps/StepAddon/StepAddonValidator.js.map +1 -1
  594. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js +6 -3
  595. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  596. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +41 -15
  597. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  598. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +29 -3
  599. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
  600. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js +4 -1
  601. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
  602. package/dist/src/pages/steps/StepDate/StepDate.js +6 -3
  603. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  604. package/dist/src/pages/steps/StepDate/StepDateComponent.js +39 -13
  605. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  606. package/dist/src/pages/steps/StepDate/StepDateValidator.js +4 -1
  607. package/dist/src/pages/steps/StepDate/StepDateValidator.js.map +1 -1
  608. package/dist/src/pages/steps/StepGuide.js +29 -3
  609. package/dist/src/pages/steps/StepGuide.js.map +1 -1
  610. package/dist/src/pages/steps/StepHotel/StepHotel.js +6 -3
  611. package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
  612. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +39 -13
  613. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  614. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +31 -5
  615. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
  616. package/dist/src/pages/steps/StepHotel/StepHotelValidator.js +4 -1
  617. package/dist/src/pages/steps/StepHotel/StepHotelValidator.js.map +1 -1
  618. package/dist/src/pages/steps/StepRoom/StepRoom.js +6 -3
  619. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  620. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +42 -16
  621. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  622. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +29 -3
  623. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
  624. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js +4 -1
  625. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
  626. package/dist/src/pages/steps/StepThanks/StepThanks.js +7 -4
  627. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  628. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +39 -13
  629. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  630. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js +4 -1
  631. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
  632. package/dist/src/providers/CurrencyProvider.js +4 -1
  633. package/dist/src/providers/CurrencyProvider.js.map +1 -1
  634. package/dist/src/providers/DIProvider.js +24 -1
  635. package/dist/src/providers/DIProvider.js.map +1 -1
  636. package/dist/src/providers/FeatureProvider.d.ts +2 -2
  637. package/dist/src/providers/FeatureProvider.js +12 -9
  638. package/dist/src/providers/FeatureProvider.js.map +1 -1
  639. package/dist/src/providers/FilterProvider.js +4 -1
  640. package/dist/src/providers/FilterProvider.js.map +1 -1
  641. package/dist/src/providers/LanguageProvider.js +6 -3
  642. package/dist/src/providers/LanguageProvider.js.map +1 -1
  643. package/dist/src/providers/PromotionProvider.js +7 -4
  644. package/dist/src/providers/PromotionProvider.js.map +1 -1
  645. package/dist/src/providers/RoomstayThemeEngine.js +35 -9
  646. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  647. package/dist/src/providers/SessionProvider.js +9 -6
  648. package/dist/src/providers/SessionProvider.js.map +1 -1
  649. package/dist/src/providers/feature/InlineAddonStepFeature.js +5 -2
  650. package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
  651. package/dist/src/providers/storage/LocalStorageProvider.js +24 -1
  652. package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -1
  653. package/dist/src/reducers/BasketReducer.js +7 -4
  654. package/dist/src/reducers/BasketReducer.js.map +1 -1
  655. package/dist/src/routes/NaturallyProgressedStepRoute.js +33 -7
  656. package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -1
  657. package/dist/src/stories/Alert.stories.d.ts +5 -0
  658. package/dist/src/stories/Alert.stories.js +42 -0
  659. package/dist/src/stories/Alert.stories.js.map +1 -0
  660. package/dist/src/stories/{Button.stories.d.ts → BEButton.stories.d.ts} +1 -1
  661. package/dist/src/stories/BEButton.stories.js +43 -0
  662. package/dist/src/stories/BEButton.stories.js.map +1 -0
  663. package/dist/src/stories/BackButton.stories.d.ts +5 -0
  664. package/dist/src/stories/BackButton.stories.js +40 -0
  665. package/dist/src/stories/BackButton.stories.js.map +1 -0
  666. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.d.ts +5 -0
  667. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js +37 -0
  668. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js.map +1 -0
  669. package/dist/src/stories/BookingWizard.stories.d.ts +9 -0
  670. package/dist/src/stories/BookingWizard.stories.js +58 -0
  671. package/dist/src/stories/BookingWizard.stories.js.map +1 -0
  672. package/dist/src/stories/Card.stories.d.ts +3 -3
  673. package/dist/src/stories/Card.stories.js +4 -1
  674. package/dist/src/stories/Card.stories.js.map +1 -1
  675. package/dist/src/stories/CardTypeSelect.stories.d.ts +5 -0
  676. package/dist/src/stories/CardTypeSelect.stories.js +37 -0
  677. package/dist/src/stories/CardTypeSelect.stories.js.map +1 -0
  678. package/dist/src/stories/Checkbox.stories.js +28 -2
  679. package/dist/src/stories/Checkbox.stories.js.map +1 -1
  680. package/dist/src/stories/ConfirmationModal.stories.d.ts +5 -0
  681. package/dist/src/stories/ConfirmationModal.stories.js +45 -0
  682. package/dist/src/stories/ConfirmationModal.stories.js.map +1 -0
  683. package/dist/src/stories/Countdown.stories.d.ts +5 -0
  684. package/dist/src/stories/Countdown.stories.js +43 -0
  685. package/dist/src/stories/Countdown.stories.js.map +1 -0
  686. package/dist/src/stories/Currency.stories.d.ts +5 -0
  687. package/dist/src/stories/Currency.stories.js +42 -0
  688. package/dist/src/stories/Currency.stories.js.map +1 -0
  689. package/dist/src/stories/DateRangePicker.stories.d.ts +8 -0
  690. package/dist/src/stories/DateRangePicker.stories.js +80 -0
  691. package/dist/src/stories/DateRangePicker.stories.js.map +1 -0
  692. package/dist/src/stories/Distance.stories.d.ts +5 -0
  693. package/dist/src/stories/Distance.stories.js +42 -0
  694. package/dist/src/stories/Distance.stories.js.map +1 -0
  695. package/dist/src/stories/EnhancedPhoneNumberField.stories.js +28 -2
  696. package/dist/src/stories/EnhancedPhoneNumberField.stories.js.map +1 -1
  697. package/dist/src/stories/ErrorModal.stories.d.ts +5 -0
  698. package/dist/src/stories/ErrorModal.stories.js +46 -0
  699. package/dist/src/stories/ErrorModal.stories.js.map +1 -0
  700. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +6 -0
  701. package/dist/src/stories/FloatingDateRangePicker.stories.js +75 -0
  702. package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -0
  703. package/dist/src/stories/ForwardedSelect.stories.d.ts +5 -0
  704. package/dist/src/stories/ForwardedSelect.stories.js +51 -0
  705. package/dist/src/stories/ForwardedSelect.stories.js.map +1 -0
  706. package/dist/src/stories/Headline.stories.d.ts +5 -0
  707. package/dist/src/stories/Headline.stories.js +42 -0
  708. package/dist/src/stories/Headline.stories.js.map +1 -0
  709. package/dist/src/stories/Icon.stories.js +25 -2
  710. package/dist/src/stories/Icon.stories.js.map +1 -1
  711. package/dist/src/stories/IconNavCard.stories.js +24 -1
  712. package/dist/src/stories/IconNavCard.stories.js.map +1 -1
  713. package/dist/src/stories/IconText.stories.js +28 -2
  714. package/dist/src/stories/IconText.stories.js.map +1 -1
  715. package/dist/src/stories/ImageLoader.stories.js +28 -2
  716. package/dist/src/stories/ImageLoader.stories.js.map +1 -1
  717. package/dist/src/stories/InputGroup.stories.js +28 -2
  718. package/dist/src/stories/InputGroup.stories.js.map +1 -1
  719. package/dist/src/stories/LargeLoader.stories.js +28 -2
  720. package/dist/src/stories/LargeLoader.stories.js.map +1 -1
  721. package/dist/src/stories/LineBreak.stories.d.ts +5 -0
  722. package/dist/src/stories/LineBreak.stories.js +40 -0
  723. package/dist/src/stories/LineBreak.stories.js.map +1 -0
  724. package/dist/src/stories/Notification.stories.d.ts +5 -0
  725. package/dist/src/stories/Notification.stories.js +46 -0
  726. package/dist/src/stories/Notification.stories.js.map +1 -0
  727. package/dist/src/stories/NumberIncrement.stories.d.ts +5 -0
  728. package/dist/src/stories/NumberIncrement.stories.js +46 -0
  729. package/dist/src/stories/NumberIncrement.stories.js.map +1 -0
  730. package/dist/src/stories/PasswordBox.stories.js +24 -1
  731. package/dist/src/stories/PasswordBox.stories.js.map +1 -1
  732. package/dist/src/stories/PaymentCard.stories.d.ts +4 -0
  733. package/dist/src/stories/PaymentCard.stories.js +47 -0
  734. package/dist/src/stories/PaymentCard.stories.js.map +1 -0
  735. package/dist/src/stories/PaymentCardInput.stories.d.ts +6 -0
  736. package/dist/src/stories/PaymentCardInput.stories.js +51 -0
  737. package/dist/src/stories/PaymentCardInput.stories.js.map +1 -0
  738. package/dist/src/stories/Pill.stories.d.ts +5 -0
  739. package/dist/src/stories/Pill.stories.js +42 -0
  740. package/dist/src/stories/Pill.stories.js.map +1 -0
  741. package/dist/src/stories/Placeholder.stories.d.ts +5 -0
  742. package/dist/src/stories/Placeholder.stories.js +45 -0
  743. package/dist/src/stories/Placeholder.stories.js.map +1 -0
  744. package/dist/src/stories/PlanpayButton.stories.d.ts +5 -0
  745. package/dist/src/stories/PlanpayButton.stories.js +39 -0
  746. package/dist/src/stories/PlanpayButton.stories.js.map +1 -0
  747. package/dist/src/stories/PromoCodeInput.stories.d.ts +5 -0
  748. package/dist/src/stories/PromoCodeInput.stories.js +40 -0
  749. package/dist/src/stories/PromoCodeInput.stories.js.map +1 -0
  750. package/dist/src/stories/RadioButton.stories.d.ts +6 -0
  751. package/dist/src/stories/RadioButton.stories.js +47 -0
  752. package/dist/src/stories/RadioButton.stories.js.map +1 -0
  753. package/dist/src/stories/RadioButtonGroup.stories.d.ts +5 -0
  754. package/dist/src/stories/RadioButtonGroup.stories.js +55 -0
  755. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -0
  756. package/dist/src/stories/RadioFields.stories.d.ts +5 -0
  757. package/dist/src/stories/RadioFields.stories.js +54 -0
  758. package/dist/src/stories/RadioFields.stories.js.map +1 -0
  759. package/dist/src/stories/SSLSecureBadge.stories.js +5 -2
  760. package/dist/src/stories/SSLSecureBadge.stories.js.map +1 -1
  761. package/dist/src/stories/Select.stories.d.ts +25 -0
  762. package/dist/src/stories/Select.stories.js +96 -0
  763. package/dist/src/stories/Select.stories.js.map +1 -0
  764. package/dist/src/stories/SimpleModal.stories.d.ts +5 -0
  765. package/dist/src/stories/SimpleModal.stories.js +52 -0
  766. package/dist/src/stories/SimpleModal.stories.js.map +1 -0
  767. package/dist/src/stories/Slider.stories.d.ts +10 -0
  768. package/dist/src/stories/Slider.stories.js +53 -0
  769. package/dist/src/stories/Slider.stories.js.map +1 -0
  770. package/dist/src/stories/SmallSpinner.stories.js +28 -2
  771. package/dist/src/stories/SmallSpinner.stories.js.map +1 -1
  772. package/dist/src/stories/TabbedModal.stories.d.ts +5 -0
  773. package/dist/src/stories/TabbedModal.stories.js +61 -0
  774. package/dist/src/stories/TabbedModal.stories.js.map +1 -0
  775. package/dist/src/stories/Tabs.stories.d.ts +5 -0
  776. package/dist/src/stories/Tabs.stories.js +52 -0
  777. package/dist/src/stories/Tabs.stories.js.map +1 -0
  778. package/dist/src/stories/Text.stories.d.ts +5 -0
  779. package/dist/src/stories/Text.stories.js +42 -0
  780. package/dist/src/stories/Text.stories.js.map +1 -0
  781. package/dist/src/stories/TextArea.stories.d.ts +5 -0
  782. package/dist/src/stories/TextArea.stories.js +40 -0
  783. package/dist/src/stories/TextArea.stories.js.map +1 -0
  784. package/dist/src/stories/TextBox.stories.d.ts +5 -0
  785. package/dist/src/stories/TextBox.stories.js +40 -0
  786. package/dist/src/stories/TextBox.stories.js.map +1 -0
  787. package/dist/src/stories/Tooltip.stories.d.ts +5 -0
  788. package/dist/src/stories/Tooltip.stories.js +43 -0
  789. package/dist/src/stories/Tooltip.stories.js.map +1 -0
  790. package/dist/src/util/CalendarHelper.d.ts +1 -1
  791. package/dist/src/util/CalendarHelper.js +5 -2
  792. package/dist/src/util/CalendarHelper.js.map +1 -1
  793. package/dist/src/util/DataLayer.js +30 -4
  794. package/dist/src/util/DataLayer.js.map +1 -1
  795. package/dist/src/util/ObjectHelper.js +1 -1
  796. package/dist/src/util/ObjectHelper.js.map +1 -1
  797. package/dist/src/util/PaymentCardHelper.js +4 -1
  798. package/dist/src/util/PaymentCardHelper.js.map +1 -1
  799. package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +4 -1
  800. package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -1
  801. package/dist/tests/jest/events/EventManager.test.js +5 -2
  802. package/dist/tests/jest/events/EventManager.test.js.map +1 -1
  803. package/dist/tests/jest/models/RoomRate.test.js +5 -2
  804. package/dist/tests/jest/models/RoomRate.test.js.map +1 -1
  805. package/dist/tests/jest/providers/LanguageProvider.test.js +11 -0
  806. package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -1
  807. package/dist/tests/jest/providers/SessionProvider.test.js +26 -15
  808. package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -1
  809. package/dist/tests/jest/reducers/BasketReducer.test.js +4 -1
  810. package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -1
  811. package/dist/tests/offline/RoomstayBestRateAlert.js +29 -3
  812. package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -1
  813. package/dist/tests/offline/entry/RSCompany.js +13 -1
  814. package/dist/tests/offline/entry/RSCompany.js.map +1 -1
  815. package/dist/tests/offline/entry/ReactWrapper.js +105 -9
  816. package/dist/tests/offline/entry/ReactWrapper.js.map +1 -1
  817. package/dist/tests/offline/entry/allEngines.js +32 -6
  818. package/dist/tests/offline/entry/allEngines.js.map +1 -1
  819. package/dist/tests/offline/entry/components/TestPicker.js +79 -36
  820. package/dist/tests/offline/entry/components/TestPicker.js.map +1 -1
  821. package/dist/tests/setupTests.js +2 -0
  822. package/dist/tests/setupTests.js.map +1 -1
  823. package/dist/vendors.bundle.js +1 -1
  824. package/dist/vendors.bundle.js.LICENSE.txt +5 -9
  825. package/package.json +10 -7
  826. package/dist/src/components/generic/BESelect.d.ts +0 -16
  827. package/dist/src/components/generic/BESelect.js +0 -12
  828. package/dist/src/components/generic/BESelect.js.map +0 -1
  829. package/dist/src/components/generic/Select.d.ts +0 -11
  830. package/dist/src/components/generic/Select.js +0 -18
  831. package/dist/src/components/generic/Select.js.map +0 -1
  832. package/dist/src/stories/Button.stories.js +0 -17
  833. package/dist/src/stories/Button.stories.js.map +0 -1
  834. package/dist/test.bundle.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RoomDetails.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/RoomDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["import Headline from 'components/generic/Headline';\nimport Text, { TextType } from 'components/generic/Text';\nimport { Color } from 'util/Color';\nimport BEButton from 'components/generic/BEButton';\nimport { IconType } from 'components/generic/Icon/Icon';\nimport { useState, useContext, useEffect } from 'react';\nimport * as classNames from 'classnames';\nimport * as React from 'react';\nimport RoomRates from 'components/steps/room/roomDetails/roomRates/RoomRates';\nimport RoomModal from 'components/steps/room/RoomModal';\nimport Currency from 'components/generic/Currency';\nimport ImageGallerySlider from 'components/steps/room/ImageGallerySlider';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport ScreenSize from 'util/ScreenSize';\nimport { Room } from 'models/Room/Room';\nimport AutoAutoHeight from 'animations/AutoAutoHeight';\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport DataLayer, { InteractionStep, InteractionType } from 'util/DataLayer';\nimport { RoomDetailsPerkBlock } from 'components/steps/room/roomDetails/RoomDetailsPerkBlock';\nimport { RoomDetailsBedsBlock } from 'components/steps/room/roomDetails/RoomDetailsBedsBlock';\nimport { RoomRate, RoomRatePriceInclusion } from 'models/Room/RoomRate';\nimport FeaturedPromoFeature from 'providers/feature/FeaturedPromoFeature';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { CompanyContext } from '@frontend/contexts';\nimport RoomRatePills from 'components/steps/room/roomDetails/roomRates/RoomRatePills';\nimport { ImageSize } from 'providers/ImageProvider';\n\nexport interface RoomDetailsProps {\n room: Room;\n disableMarginBottom?: boolean;\n}\n\nexport default function RoomDetails(props: RoomDetailsProps) {\n const [featuredRates, setFeaturedRates] = useState<RoomRate[]>([]);\n const [standardRates, setStandardRates] = useState<RoomRate[]>([]);\n\n const [viewingRates, setViewingRates] = useState<boolean>(null);\n const [viewingDescription, setViewingDescription] = useState(false);\n\n const { t } = useTranslation();\n\n const context = useContext(BookingEngineContext);\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n const { hotel } = useCurrentHotel();\n\n const { room } = props;\n\n const classes = classNames('room-details', {\n ['+is-open']: viewingRates,\n });\n\n useEffect(() => {\n if (basketContext.selectedBasketRow?.getRoom() && basketContext.selectedBasketRow.getRoom().code === props.room.code) {\n setViewingRates(true);\n }\n\n DataLayer.instance.addRoomImpression(room);\n }, [basketContext.selectedBasketRow]);\n\n useEffect(() => {\n let nonPromoRates: RoomRate[] = [];\n let toSetFeaturedRate: RoomRate[] = [];\n\n if (FeaturedPromoFeature.isActive()) {\n for (const currentRate of room.getRates()) {\n if (currentRate.promoCode?.toLowerCase() === basketContext.selectedBasketRow?.getPromoCode()?.toLowerCase()) {\n toSetFeaturedRate.unshift(currentRate);\n } else {\n nonPromoRates.push(currentRate);\n }\n }\n\n if (toSetFeaturedRate.length > 0) {\n setViewingRates(true);\n setFeaturedRates(toSetFeaturedRate);\n }\n } else {\n nonPromoRates = room.getRates();\n }\n\n setStandardRates(nonPromoRates);\n }, [room.getRates()]);\n\n const perks = hotel.perks?.slice(0, 5);\n\n const trimmedDescription = room.getShortDescription();\n\n const isMobile = context.screenSize <= ScreenSize.Large;\n\n const ratesOpen = viewingRates || (context.screenSize <= ScreenSize.Medium && viewingRates === null);\n const moreDetailsOnClick = () => {\n DataLayer.instance.sendInteraction('More Room Details', InteractionType.LINK, InteractionStep.ROOMS);\n setViewingDescription(true);\n };\n const sendRoomClickOnClick = () => {\n if (!ratesOpen) {\n DataLayer.instance.sendRoomClick(room, basketContext.startDate, basketContext.endDate);\n }\n setViewingRates(!ratesOpen);\n };\n const closeDescriptionOnClose = () => {\n setViewingDescription(false);\n };\n\n const lowestPrice = Math.round(room.getLowestPrice(false, true));\n const currencySize = context.screenSize > ScreenSize.Medium && lowestPrice.toLocaleString().length < 7 ? 'large' : 'normal';\n\n return (\n <div className={`room-details-container ${props.disableMarginBottom ? '' : 'u-marg-bottom'}`}>\n <div className={classes}>\n <div className=\"room-details--image\">\n <ImageGallerySlider images={props.room.getImages()} imageSize={ImageSize.Medium} />\n </div>\n <div className=\"room-details--content u-pad--heavy u-pad@l-\">\n <div className=\"u-marg-bottom\">\n {context.screenSize > ScreenSize.Large && (\n <>\n <div className=\"u-marg-bottom\">\n <RoomRatePills room={room} limit={2} />\n </div>\n </>\n )}\n <div className=\"room-details--content-title u-marg-bottom--light\">\n <Headline bold={true}>{room.name}</Headline>\n </div>\n <RoomDetailsBedsBlock room={room} />\n <div className=\"room-details--content-description u-marg-bottom--light\">\n <Text color={Color.DarkGrey} type={TextType.Small}>\n {<span dangerouslySetInnerHTML={{ __html: trimmedDescription.replace(/<br(\\/|)>/g, '') }} />}\n </Text>\n </div>\n </div>\n\n <div className=\"row\">\n <div className=\"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start\">\n <div className=\"room-details--content-perks u-marg-bottom@m-\">\n {isMobile && (\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} bold={true} color={Color.Accent}>\n {t(Translation.Misc.Perks.AndYouGetAll)}\n </Text>\n </div>\n )}\n <RoomDetailsPerkBlock perks={perks} />\n </div>\n <BEButton icon={IconType.ArrowRight2} isText={true} primary={true} size=\"tiny\" iconPosition=\"right\" onClick={moreDetailsOnClick}>\n {t(Translation.Step.Room.RoomInfo.MoreDetails)}\n </BEButton>\n </div>\n <div className=\"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end\">\n <Text type={TextType.Small} color={Color.Navy} inline={true}>\n {t(Translation.Misc.From)}\n </Text>\n <div className=\"room-details--content-price flex-row align-items-end\">\n <Headline size={currencySize} bold={true}>\n <Currency hideDecimals={true}>{lowestPrice}</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 {room.getLowestPriceType() === RoomRatePriceInclusion.IncludingFeesAndTaxes\n ? t(Translation.Step.Room.RoomInfo.IncludesTaxes)\n : t(Translation.Step.Room.ExcludingTaxes)}\n </Text>\n </div>\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={ratesOpen}\n filled={true}\n stopIconAnimation={true}\n icon={ratesOpen ? IconType.ArrowUp2 : IconType.ArrowDown2}\n iconPosition={'right'}\n onClick={sendRoomClickOnClick}\n wide={context.screenSize <= ScreenSize.Large}\n >\n {ratesOpen ? t(Translation.Step.Room.RoomInfo.CloseRates) : t(Translation.Step.Room.RoomInfo.ViewRates)}\n </BEButton>\n </div>\n </div>\n </div>\n </div>\n </div>\n <AutoAutoHeight open={ratesOpen}>\n <RoomRates roomCode={room.code} rates={standardRates} featuredRates={featuredRates} />\n </AutoAutoHeight>\n {<RoomModal open={viewingDescription} room={props.room} rates={standardRates} featuredRates={featuredRates} onClose={closeDescriptionOnClose} />}\n {room.getRates().map((rate) => {\n return (\n <script key={room.code + '-' + rate.code} type=\"application/ld+json\">\n {JSON.stringify({\n '@context': 'http://schema.org/',\n '@type': 'Offer',\n itemOffered: {\n '@type': 'HotelRoom',\n name: room.name,\n },\n name: rate.name,\n identifier: rate.code,\n priceSpecification: {\n '@type': 'UnitPriceSpecification',\n price: rate.getAveragePrice(),\n priceCurrency: ccx.currentCurrency,\n unitText: 'Nightly',\n },\n })}\n </script>\n );\n })}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"RoomDetails.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/RoomDetails.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAAmD;AACnD,gEAAyD;AACzD,sCAAmC;AACnC,2EAAmD;AACnD,uDAAwD;AACxD,iCAAwD;AACxD,4DAAoC;AACpC,6CAA+B;AAC/B,sGAA8E;AAC9E,gFAAwD;AACxD,2EAAmD;AACnD,kGAA0E;AAC1E,iDAA+C;AAC/C,0DAAuD;AACvD,iEAAyC;AAEzC,+EAAuD;AACvD,iDAAyE;AACzE,4DAA6E;AAC7E,iGAA8F;AAC9F,iGAA8F;AAC9F,mDAAwE;AACxE,kGAA0E;AAC1E,2CAAkD;AAClD,iDAAoD;AACpD,8GAAsF;AACtF,2DAAoD;AAOpD,SAAwB,WAAW,CAAC,KAAuB;;IACvD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAa,EAAE,CAAC,CAAC;IACnE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAa,EAAE,CAAC,CAAC;IAEnE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAU,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEpE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAC;IACvC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEvB,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,cAAc,EAAE;QACvC,CAAC,UAAU,CAAC,EAAE,YAAY;KAC7B,CAAC,CAAC;IAEH,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACX,IAAI,CAAA,MAAA,aAAa,CAAC,iBAAiB,0CAAE,OAAO,EAAE,KAAI,aAAa,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YAClH,eAAe,CAAC,IAAI,CAAC,CAAC;SACzB;QAED,mBAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEtC,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACX,IAAI,aAAa,GAAe,EAAE,CAAC;QACnC,IAAI,iBAAiB,GAAe,EAAE,CAAC;QAEvC,IAAI,8BAAoB,CAAC,QAAQ,EAAE,EAAE;YACjC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACvC,IAAI,CAAA,MAAA,WAAW,CAAC,SAAS,0CAAE,WAAW,EAAE,OAAK,MAAA,MAAA,aAAa,CAAC,iBAAiB,0CAAE,YAAY,EAAE,0CAAE,WAAW,EAAE,CAAA,EAAE;oBACzG,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;iBAC1C;qBAAM;oBACH,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBACnC;aACJ;YAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtB,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;aACvC;SACJ;aAAM;YACH,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;SACnC;QAED,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEtB,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,0CAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvC,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAEtD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,KAAK,CAAC;IAExD,MAAM,SAAS,GAAG,YAAY,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,MAAM,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC;IACrG,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,mBAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,mBAAmB,EAAE,2BAAe,CAAC,IAAI,EAAE,2BAAe,CAAC,KAAK,CAAC,CAAC;QACrG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAC9B,IAAI,CAAC,SAAS,EAAE;YACZ,mBAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;SAC1F;QACD,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC,CAAC;IACF,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACjC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE5H,OAAO,CACH,6BAAK,SAAS,EAAE,0BAA0B,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;QACxF,6BAAK,SAAS,EAAE,OAAO;YACnB,6BAAK,SAAS,EAAC,qBAAqB;gBAChC,oBAAC,4BAAkB,IAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,yBAAS,CAAC,MAAM,GAAI,CACjF;YACN,6BAAK,SAAS,EAAC,6CAA6C;gBACxD,6BAAK,SAAS,EAAC,eAAe;oBACzB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,KAAK,IAAI,CACtC;wBACI,6BAAK,SAAS,EAAC,eAAe;4BAC1B,oBAAC,uBAAa,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAI,CACrC,CACP,CACN;oBACD,6BAAK,SAAS,EAAC,kDAAkD;wBAC7D,oBAAC,kBAAQ,IAAC,IAAI,EAAE,IAAI,IAAG,IAAI,CAAC,IAAI,CAAY,CAC1C;oBACN,oBAAC,2CAAoB,IAAC,IAAI,EAAE,IAAI,GAAI;oBACpC,6BAAK,SAAS,EAAC,wDAAwD;wBACnE,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK,IAC5C,8BAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,GAAI,CACzF,CACL,CACJ;gBAEN,6BAAK,SAAS,EAAC,KAAK;oBAChB,6BAAK,SAAS,EAAC,gEAAgE;wBAC3E,6BAAK,SAAS,EAAC,8CAA8C;4BACxD,QAAQ,IAAI,CACT,6BAAK,SAAS,EAAC,eAAe;gCAC1B,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAK,CAAC,MAAM,IACtD,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CACpC,CACL,CACT;4BACD,oBAAC,2CAAoB,IAAC,KAAK,EAAE,KAAK,GAAI,CACpC;wBACN,oBAAC,kBAAQ,IAAC,IAAI,EAAE,eAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,EAAC,YAAY,EAAC,OAAO,EAAC,OAAO,EAAE,kBAAkB,IAC1H,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CACvC,CACT;oBACN,6BAAK,SAAS,EAAC,sFAAsF;wBACjG,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,IACtD,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CACtB;wBACP,6BAAK,SAAS,EAAC,sDAAsD;4BACjE,oBAAC,kBAAQ,IAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI;gCACpC,oBAAC,kBAAQ,IAAC,YAAY,EAAE,IAAI,IAAG,WAAW,CAAY,CAC/C;4BACX,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI;;gCACnC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CACxB,CACL;wBACN,6BAAK,SAAS,EAAC,eAAe;4BAC1B,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,UAAU,IAC5E,IAAI,CAAC,kBAAkB,EAAE,KAAK,iCAAsB,CAAC,qBAAqB;gCACvE,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gCACjD,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAC1C,CACL;wBACN,6BAAK,SAAS,EAAC,yDAAyD;4BACpE,oBAAC,kBAAQ,IACL,IAAI,EAAC,oBAAoB,EACzB,OAAO,EAAE,IAAI,EACb,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE,IAAI,EACZ,iBAAiB,EAAE,IAAI,EACvB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,eAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAQ,CAAC,UAAU,EACzD,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,KAAK,IAE3C,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAChG,CACT,CACJ,CACJ,CACJ,CACJ;QACN,oBAAC,wBAAc,IAAC,IAAI,EAAE,SAAS;YAC3B,oBAAC,mBAAS,IAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,GAAI,CACzE;QAChB,oBAAC,mBAAS,IAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,uBAAuB,GAAI;QAC/I,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,OAAO,CACH,gCAAQ,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,qBAAqB,IAC/D,IAAI,CAAC,SAAS,CAAC;gBACZ,UAAU,EAAE,oBAAoB;gBAChC,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE;oBACT,OAAO,EAAE,WAAW;oBACpB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAClB;gBACD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,kBAAkB,EAAE;oBAChB,OAAO,EAAE,wBAAwB;oBACjC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE;oBAC7B,aAAa,EAAE,GAAG,CAAC,eAAe;oBAClC,QAAQ,EAAE,SAAS;iBACtB;aACJ,CAAC,CACG,CACZ,CAAC;QACN,CAAC,CAAC,CACA,CACT,CAAC;AACN,CAAC;AAxLD,8BAwLC","sourcesContent":["import Headline from 'components/generic/Headline';\nimport Text, { TextType } from 'components/generic/Text';\nimport { Color } from 'util/Color';\nimport BEButton from 'components/generic/BEButton';\nimport { IconType } from 'components/generic/Icon/Icon';\nimport { useState, useContext, useEffect } from 'react';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport RoomRates from 'components/steps/room/roomDetails/roomRates/RoomRates';\nimport RoomModal from 'components/steps/room/RoomModal';\nimport Currency from 'components/generic/Currency';\nimport ImageGallerySlider from 'components/steps/room/ImageGallerySlider';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport ScreenSize from 'util/ScreenSize';\nimport { Room } from 'models/Room/Room';\nimport AutoAutoHeight from 'animations/AutoAutoHeight';\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport DataLayer, { InteractionStep, InteractionType } from 'util/DataLayer';\nimport { RoomDetailsPerkBlock } from 'components/steps/room/roomDetails/RoomDetailsPerkBlock';\nimport { RoomDetailsBedsBlock } from 'components/steps/room/roomDetails/RoomDetailsBedsBlock';\nimport { RoomRate, RoomRatePriceInclusion } from 'models/Room/RoomRate';\nimport FeaturedPromoFeature from 'providers/feature/FeaturedPromoFeature';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { CompanyContext } from '@frontend/contexts';\nimport RoomRatePills from 'components/steps/room/roomDetails/roomRates/RoomRatePills';\nimport { ImageSize } from 'providers/ImageProvider';\n\nexport interface RoomDetailsProps {\n room: Room;\n disableMarginBottom?: boolean;\n}\n\nexport default function RoomDetails(props: RoomDetailsProps) {\n const [featuredRates, setFeaturedRates] = useState<RoomRate[]>([]);\n const [standardRates, setStandardRates] = useState<RoomRate[]>([]);\n\n const [viewingRates, setViewingRates] = useState<boolean>(null);\n const [viewingDescription, setViewingDescription] = useState(false);\n\n const { t } = useTranslation();\n\n const context = useContext(BookingEngineContext);\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n const { hotel } = useCurrentHotel();\n\n const { room } = props;\n\n const classes = classNames('room-details', {\n ['+is-open']: viewingRates,\n });\n\n useEffect(() => {\n if (basketContext.selectedBasketRow?.getRoom() && basketContext.selectedBasketRow.getRoom().code === props.room.code) {\n setViewingRates(true);\n }\n\n DataLayer.instance.addRoomImpression(room);\n }, [basketContext.selectedBasketRow]);\n\n useEffect(() => {\n let nonPromoRates: RoomRate[] = [];\n let toSetFeaturedRate: RoomRate[] = [];\n\n if (FeaturedPromoFeature.isActive()) {\n for (const currentRate of room.getRates()) {\n if (currentRate.promoCode?.toLowerCase() === basketContext.selectedBasketRow?.getPromoCode()?.toLowerCase()) {\n toSetFeaturedRate.unshift(currentRate);\n } else {\n nonPromoRates.push(currentRate);\n }\n }\n\n if (toSetFeaturedRate.length > 0) {\n setViewingRates(true);\n setFeaturedRates(toSetFeaturedRate);\n }\n } else {\n nonPromoRates = room.getRates();\n }\n\n setStandardRates(nonPromoRates);\n }, [room.getRates()]);\n\n const perks = hotel.perks?.slice(0, 5);\n\n const trimmedDescription = room.getShortDescription();\n\n const isMobile = context.screenSize <= ScreenSize.Large;\n\n const ratesOpen = viewingRates || (context.screenSize <= ScreenSize.Medium && viewingRates === null);\n const moreDetailsOnClick = () => {\n DataLayer.instance.sendInteraction('More Room Details', InteractionType.LINK, InteractionStep.ROOMS);\n setViewingDescription(true);\n };\n const sendRoomClickOnClick = () => {\n if (!ratesOpen) {\n DataLayer.instance.sendRoomClick(room, basketContext.startDate, basketContext.endDate);\n }\n setViewingRates(!ratesOpen);\n };\n const closeDescriptionOnClose = () => {\n setViewingDescription(false);\n };\n\n const lowestPrice = Math.round(room.getLowestPrice(false, true));\n const currencySize = context.screenSize > ScreenSize.Medium && lowestPrice.toLocaleString().length < 7 ? 'large' : 'normal';\n\n return (\n <div className={`room-details-container ${props.disableMarginBottom ? '' : 'u-marg-bottom'}`}>\n <div className={classes}>\n <div className=\"room-details--image\">\n <ImageGallerySlider images={props.room.getImages()} imageSize={ImageSize.Medium} />\n </div>\n <div className=\"room-details--content u-pad--heavy u-pad@l-\">\n <div className=\"u-marg-bottom\">\n {context.screenSize > ScreenSize.Large && (\n <>\n <div className=\"u-marg-bottom\">\n <RoomRatePills room={room} limit={2} />\n </div>\n </>\n )}\n <div className=\"room-details--content-title u-marg-bottom--light\">\n <Headline bold={true}>{room.name}</Headline>\n </div>\n <RoomDetailsBedsBlock room={room} />\n <div className=\"room-details--content-description u-marg-bottom--light\">\n <Text color={Color.DarkGrey} type={TextType.Small}>\n {<span dangerouslySetInnerHTML={{ __html: trimmedDescription.replace(/<br(\\/|)>/g, '') }} />}\n </Text>\n </div>\n </div>\n\n <div className=\"row\">\n <div className=\"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start\">\n <div className=\"room-details--content-perks u-marg-bottom@m-\">\n {isMobile && (\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} bold={true} color={Color.Accent}>\n {t(Translation.Misc.Perks.AndYouGetAll)}\n </Text>\n </div>\n )}\n <RoomDetailsPerkBlock perks={perks} />\n </div>\n <BEButton icon={IconType.ArrowRight2} isText={true} primary={true} size=\"tiny\" iconPosition=\"right\" onClick={moreDetailsOnClick}>\n {t(Translation.Step.Room.RoomInfo.MoreDetails)}\n </BEButton>\n </div>\n <div className=\"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end\">\n <Text type={TextType.Small} color={Color.Navy} inline={true}>\n {t(Translation.Misc.From)}\n </Text>\n <div className=\"room-details--content-price flex-row align-items-end\">\n <Headline size={currencySize} bold={true}>\n <Currency hideDecimals={true}>{lowestPrice}</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 {room.getLowestPriceType() === RoomRatePriceInclusion.IncludingFeesAndTaxes\n ? t(Translation.Step.Room.RoomInfo.IncludesTaxes)\n : t(Translation.Step.Room.ExcludingTaxes)}\n </Text>\n </div>\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={ratesOpen}\n filled={true}\n stopIconAnimation={true}\n icon={ratesOpen ? IconType.ArrowUp2 : IconType.ArrowDown2}\n iconPosition={'right'}\n onClick={sendRoomClickOnClick}\n wide={context.screenSize <= ScreenSize.Large}\n >\n {ratesOpen ? t(Translation.Step.Room.RoomInfo.CloseRates) : t(Translation.Step.Room.RoomInfo.ViewRates)}\n </BEButton>\n </div>\n </div>\n </div>\n </div>\n </div>\n <AutoAutoHeight open={ratesOpen}>\n <RoomRates roomCode={room.code} rates={standardRates} featuredRates={featuredRates} />\n </AutoAutoHeight>\n {<RoomModal open={viewingDescription} room={props.room} rates={standardRates} featuredRates={featuredRates} onClose={closeDescriptionOnClose} />}\n {room.getRates().map((rate) => {\n return (\n <script key={room.code + '-' + rate.code} type=\"application/ld+json\">\n {JSON.stringify({\n '@context': 'http://schema.org/',\n '@type': 'Offer',\n itemOffered: {\n '@type': 'HotelRoom',\n name: room.name,\n },\n name: rate.name,\n identifier: rate.code,\n priceSpecification: {\n '@type': 'UnitPriceSpecification',\n price: rate.getAveragePrice(),\n priceCurrency: ccx.currentCurrency,\n unitText: 'Nightly',\n },\n })}\n </script>\n );\n })}\n </div>\n );\n}\n"]}
@@ -1,8 +1,31 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.RoomDetailsBedsBlock = void 0;
4
- const React = require("react");
5
- const Icon_1 = require("components/generic/Icon/Icon");
27
+ const React = __importStar(require("react"));
28
+ const Icon_1 = __importStar(require("components/generic/Icon/Icon"));
6
29
  const Color_1 = require("util/Color");
7
30
  const Text_1 = require("components/generic/Text");
8
31
  const hooks_1 = require("@frontend/hooks");
@@ -1 +1 @@
1
- {"version":3,"file":"RoomDetailsBedsBlock.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/RoomDetailsBedsBlock.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,uDAA8D;AAC9D,sCAAmC;AACnC,kDAAyD;AACzD,2CAAkD;AAQlD,SAAgB,oBAAoB,CAAC,KAAgC;;IACjE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,aAAa,GAAG,MAAA,KAAK,CAAC,KAAK,0CAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC;IAEvD,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,aAAK,CAAC,QAAQ,CAAC;IAEpD,OAAO,CACH,4BAAI,SAAS,EAAC,kCAAkC;QAC5C,4BAAI,SAAS,EAAC,oBAAoB;YAC9B,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,aAAK,CAAC,IAAI,GAAI;YAC9D,6BAAK,SAAS,EAAC,mBAAmB;gBAC9B,oBAAC,WAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS;+BAC9C,aAAa,aAAb,aAAa;oBAAb,aAAa,CAAE,YAAY,CAChC,CACL,CACL;QACL,4BAAI,SAAS,EAAC,+BAA+B;YACzC,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,GAAG,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,aAAK,CAAC,IAAI,GAAI;YAC3D,6BAAK,SAAS,EAAC,mBAAmB;gBAC9B,oBAAC,WAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS;oBACrD,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,IAAG,CAAC,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,CAAC,CAAC,CAAC,EAAE;yBAAG,aAAa,aAAb,aAAa;oBAAb,aAAa,CAAE,OAAO,CACvF,CACL,CACL;QACJ,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,CAAA,IAAI,CAC3B,4BAAI,SAAS,EAAC,+BAA+B;YACzC,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,aAAK,CAAC,IAAI,GAAI;YAChE,6BAAK,SAAS,EAAC,mBAAmB;gBAC9B,oBAAC,WAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,IACrD,QAAQ,CAAC,cAAc,CACrB,CACL,CACL,CACR,CACA,CACR,CAAC;AACN,CAAC;AAtCD,oDAsCC","sourcesContent":["import * as React from 'react';\nimport { Room } from 'models/Room/Room';\nimport Icon, { IconType } from 'components/generic/Icon/Icon';\nimport { Color } from 'util/Color';\nimport { Text, TextType } from 'components/generic/Text';\nimport { useCurrentHotel } from '@frontend/hooks';\n\ninterface RoomDetailsBedsBlockProps {\n room: Room;\n\n textColor?: Color;\n}\n\nexport function RoomDetailsBedsBlock(props: RoomDetailsBedsBlockProps) {\n const { hotel } = useCurrentHotel();\n\n const extraRoomData = hotel.rooms?.[props.room?.code];\n const roomSize = hotel?.overwrites?.[props.room?.code];\n\n const textColor = props.textColor ?? Color.DarkGrey;\n\n return (\n <ul className=\"u-list-inline-flex u-marg-bottom\">\n <li className=\"align-items-center\">\n <Icon icon={IconType.People} size=\"24px\" color={Color.Navy} />\n <div className=\"u-pad-left--light\">\n <Text type={TextType.Small} inline={true} color={textColor}>\n Sleeps {extraRoomData?.maxOccupancy}\n </Text>\n </div>\n </li>\n <li className=\"u-pad-left align-items-center\">\n <Icon icon={IconType.Bed} size=\"24px\" color={Color.Navy} />\n <div className=\"u-pad-left--light\">\n <Text type={TextType.Small} inline={true} color={textColor}>\n {extraRoomData?.bedQuantity > 0 ? extraRoomData?.bedQuantity : ''} {extraRoomData?.bedType}\n </Text>\n </div>\n </li>\n {!!roomSize?.RoomDimensions && (\n <li className=\"u-pad-left align-items-center\">\n <Icon icon={IconType.RoomSize} size=\"24px\" color={Color.Navy} />\n <div className=\"u-pad-left--light\">\n <Text type={TextType.Small} inline={true} color={textColor}>\n {roomSize.RoomDimensions}\n </Text>\n </div>\n </li>\n )}\n </ul>\n );\n}\n"]}
1
+ {"version":3,"file":"RoomDetailsBedsBlock.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/RoomDetailsBedsBlock.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAE/B,qEAA8D;AAC9D,sCAAmC;AACnC,kDAAyD;AACzD,2CAAkD;AAQlD,SAAgB,oBAAoB,CAAC,KAAgC;;IACjE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,MAAM,aAAa,GAAG,MAAA,KAAK,CAAC,KAAK,0CAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC;IAEvD,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,aAAK,CAAC,QAAQ,CAAC;IAEpD,OAAO,CACH,4BAAI,SAAS,EAAC,kCAAkC;QAC5C,4BAAI,SAAS,EAAC,oBAAoB;YAC9B,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,aAAK,CAAC,IAAI,GAAI;YAC9D,6BAAK,SAAS,EAAC,mBAAmB;gBAC9B,oBAAC,WAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS;+BAC9C,aAAa,aAAb,aAAa;oBAAb,aAAa,CAAE,YAAY,CAChC,CACL,CACL;QACL,4BAAI,SAAS,EAAC,+BAA+B;YACzC,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,GAAG,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,aAAK,CAAC,IAAI,GAAI;YAC3D,6BAAK,SAAS,EAAC,mBAAmB;gBAC9B,oBAAC,WAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS;oBACrD,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,IAAG,CAAC,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,CAAC,CAAC,CAAC,EAAE;yBAAG,aAAa,aAAb,aAAa;oBAAb,aAAa,CAAE,OAAO,CACvF,CACL,CACL;QACJ,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,CAAA,IAAI,CAC3B,4BAAI,SAAS,EAAC,+BAA+B;YACzC,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,aAAK,CAAC,IAAI,GAAI;YAChE,6BAAK,SAAS,EAAC,mBAAmB;gBAC9B,oBAAC,WAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,IACrD,QAAQ,CAAC,cAAc,CACrB,CACL,CACL,CACR,CACA,CACR,CAAC;AACN,CAAC;AAtCD,oDAsCC","sourcesContent":["import * as React from 'react';\nimport { Room } from 'models/Room/Room';\nimport Icon, { IconType } from 'components/generic/Icon/Icon';\nimport { Color } from 'util/Color';\nimport { Text, TextType } from 'components/generic/Text';\nimport { useCurrentHotel } from '@frontend/hooks';\n\ninterface RoomDetailsBedsBlockProps {\n room: Room;\n\n textColor?: Color;\n}\n\nexport function RoomDetailsBedsBlock(props: RoomDetailsBedsBlockProps) {\n const { hotel } = useCurrentHotel();\n\n const extraRoomData = hotel.rooms?.[props.room?.code];\n const roomSize = hotel?.overwrites?.[props.room?.code];\n\n const textColor = props.textColor ?? Color.DarkGrey;\n\n return (\n <ul className=\"u-list-inline-flex u-marg-bottom\">\n <li className=\"align-items-center\">\n <Icon icon={IconType.People} size=\"24px\" color={Color.Navy} />\n <div className=\"u-pad-left--light\">\n <Text type={TextType.Small} inline={true} color={textColor}>\n Sleeps {extraRoomData?.maxOccupancy}\n </Text>\n </div>\n </li>\n <li className=\"u-pad-left align-items-center\">\n <Icon icon={IconType.Bed} size=\"24px\" color={Color.Navy} />\n <div className=\"u-pad-left--light\">\n <Text type={TextType.Small} inline={true} color={textColor}>\n {extraRoomData?.bedQuantity > 0 ? extraRoomData?.bedQuantity : ''} {extraRoomData?.bedType}\n </Text>\n </div>\n </li>\n {!!roomSize?.RoomDimensions && (\n <li className=\"u-pad-left align-items-center\">\n <Icon icon={IconType.RoomSize} size=\"24px\" color={Color.Navy} />\n <div className=\"u-pad-left--light\">\n <Text type={TextType.Small} inline={true} color={textColor}>\n {roomSize.RoomDimensions}\n </Text>\n </div>\n </li>\n )}\n </ul>\n );\n}\n"]}
@@ -1,12 +1,38 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
29
  exports.RoomDetailsPerkBlock = void 0;
4
- const React = require("react");
30
+ const React = __importStar(require("react"));
5
31
  const react_1 = require("react");
6
- const ScreenSize_1 = require("util/ScreenSize");
7
- const Icon_1 = require("components/generic/Icon/Icon");
32
+ const ScreenSize_1 = __importDefault(require("util/ScreenSize"));
33
+ const Icon_1 = __importDefault(require("components/generic/Icon/Icon"));
8
34
  const Text_1 = require("components/generic/Text");
9
- const classNames = require("classnames");
35
+ const classnames_1 = __importDefault(require("classnames"));
10
36
  const contexts_1 = require("@frontend/contexts");
11
37
  function RoomDetailsPerkBlock(props) {
12
38
  var _a;
@@ -14,7 +40,7 @@ function RoomDetailsPerkBlock(props) {
14
40
  const perks = props.perks;
15
41
  const isMobile = context.screenSize <= ScreenSize_1.default.Large;
16
42
  const [openPerk, setOpenPerk] = (0, react_1.useState)((_a = perks[0]) === null || _a === void 0 ? void 0 : _a.name);
17
- const perkIconClasses = classNames('room-perk-icon', {
43
+ const perkIconClasses = (0, classnames_1.default)('room-perk-icon', {
18
44
  '--has-bg': isMobile,
19
45
  });
20
46
  return (React.createElement(React.Fragment, null, !!(perks === null || perks === void 0 ? void 0 : perks.length) && (React.createElement("ul", null, perks.map((perk, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"RoomDetailsPerkBlock.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/RoomDetailsPerkBlock.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,iCAA6C;AAC7C,gDAAyC;AACzC,uDAAgD;AAEhD,kDAAyD;AACzD,yCAAyC;AACzC,iDAA0D;AAM1D,SAAgB,oBAAoB,CAAC,KAAgC;;IACjE,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,KAAK,CAAC;IAExD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC,CAAC;IAEzD,MAAM,eAAe,GAAG,UAAU,CAAC,gBAAgB,EAAE;QACjD,UAAU,EAAE,QAAQ;KACvB,CAAC,CAAC;IAEH,OAAO,CACH,0CACK,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA,IAAI,CAChB,gCACK,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvB,IAAI,QAAQ,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO;QAEnC,MAAM,cAAc,GAAG,GAAG,EAAE;YACxB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEF,OAAO,CACH,4BAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc;YACnC,6BAAK,SAAS,EAAE,eAAe,IAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAC,cAAI,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,CAAO;YACxG,6BACI,SAAS,EACL,oCAAoC,GAAG,CAAC,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,oBAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAG7I,oBAAC,WAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,IAAG,IAAI,CAAC,IAAI,CAAQ,CAC5C,CACL,CACR,CAAC;IACN,CAAC,CAAC,CACD,CACR,CACF,CACN,CAAC;AACN,CAAC;AAxCD,oDAwCC","sourcesContent":["import * as React from 'react';\nimport { HotelPerk } from 'models/Client/Hotel/HotelPerk';\nimport { useContext, useState } from 'react';\nimport ScreenSize from 'util/ScreenSize';\nimport Icon from 'components/generic/Icon/Icon';\nimport { Color } from 'util/Color';\nimport { Text, TextType } from 'components/generic/Text';\nimport * as classNames from 'classnames';\nimport { BookingEngineContext } from '@frontend/contexts';\n\ninterface RoomDetailsPerkBlockProps {\n perks: HotelPerk[];\n}\n\nexport function RoomDetailsPerkBlock(props: RoomDetailsPerkBlockProps) {\n const context = useContext(BookingEngineContext);\n\n const perks = props.perks;\n const isMobile = context.screenSize <= ScreenSize.Large;\n\n const [openPerk, setOpenPerk] = useState(perks[0]?.name);\n\n const perkIconClasses = classNames('room-perk-icon', {\n '--has-bg': isMobile,\n });\n\n return (\n <>\n {!!perks?.length && (\n <ul>\n {perks.map((perk, index) => {\n if (isMobile && index >= 4) return;\n\n const setPerkOnClick = () => {\n setOpenPerk(perk.name);\n };\n\n return (\n <li key={index} onClick={setPerkOnClick}>\n <div className={perkIconClasses}>{perk.iconElement ? perk.iconElement : <Icon icon={perk.icon} />}</div>\n <div\n className={\n 'u-marg-right u-none@l- u-block@m- ' + ((isMobile && openPerk !== perk.name) || context.screenSize === ScreenSize.Tiny ? 'u-none-2' : '')\n }\n >\n <Text type={TextType.Small}>{perk.name}</Text>\n </div>\n </li>\n );\n })}\n </ul>\n )}\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"RoomDetailsPerkBlock.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/RoomDetailsPerkBlock.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAE/B,iCAA6C;AAC7C,iEAAyC;AACzC,wEAAgD;AAEhD,kDAAyD;AACzD,4DAAoC;AACpC,iDAA0D;AAM1D,SAAgB,oBAAoB,CAAC,KAAgC;;IACjE,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,KAAK,CAAC;IAExD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC,CAAC;IAEzD,MAAM,eAAe,GAAG,IAAA,oBAAU,EAAC,gBAAgB,EAAE;QACjD,UAAU,EAAE,QAAQ;KACvB,CAAC,CAAC;IAEH,OAAO,CACH,0CACK,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA,IAAI,CAChB,gCACK,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvB,IAAI,QAAQ,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO;QAEnC,MAAM,cAAc,GAAG,GAAG,EAAE;YACxB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEF,OAAO,CACH,4BAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc;YACnC,6BAAK,SAAS,EAAE,eAAe,IAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAC,cAAI,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,CAAO;YACxG,6BACI,SAAS,EACL,oCAAoC,GAAG,CAAC,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,oBAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAG7I,oBAAC,WAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,IAAG,IAAI,CAAC,IAAI,CAAQ,CAC5C,CACL,CACR,CAAC;IACN,CAAC,CAAC,CACD,CACR,CACF,CACN,CAAC;AACN,CAAC;AAxCD,oDAwCC","sourcesContent":["import * as React from 'react';\nimport { HotelPerk } from 'models/Client/Hotel/HotelPerk';\nimport { useContext, useState } from 'react';\nimport ScreenSize from 'util/ScreenSize';\nimport Icon from 'components/generic/Icon/Icon';\nimport { Color } from 'util/Color';\nimport { Text, TextType } from 'components/generic/Text';\nimport classNames from 'classnames';\nimport { BookingEngineContext } from '@frontend/contexts';\n\ninterface RoomDetailsPerkBlockProps {\n perks: HotelPerk[];\n}\n\nexport function RoomDetailsPerkBlock(props: RoomDetailsPerkBlockProps) {\n const context = useContext(BookingEngineContext);\n\n const perks = props.perks;\n const isMobile = context.screenSize <= ScreenSize.Large;\n\n const [openPerk, setOpenPerk] = useState(perks[0]?.name);\n\n const perkIconClasses = classNames('room-perk-icon', {\n '--has-bg': isMobile,\n });\n\n return (\n <>\n {!!perks?.length && (\n <ul>\n {perks.map((perk, index) => {\n if (isMobile && index >= 4) return;\n\n const setPerkOnClick = () => {\n setOpenPerk(perk.name);\n };\n\n return (\n <li key={index} onClick={setPerkOnClick}>\n <div className={perkIconClasses}>{perk.iconElement ? perk.iconElement : <Icon icon={perk.icon} />}</div>\n <div\n className={\n 'u-marg-right u-none@l- u-block@m- ' + ((isMobile && openPerk !== perk.name) || context.screenSize === ScreenSize.Tiny ? 'u-none-2' : '')\n }\n >\n <Text type={TextType.Small}>{perk.name}</Text>\n </div>\n </li>\n );\n })}\n </ul>\n )}\n </>\n );\n}\n"]}
@@ -1,23 +1,49 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const React = require("react");
29
+ const React = __importStar(require("react"));
4
30
  const react_i18next_1 = require("react-i18next");
5
31
  const Color_1 = require("util/Color");
6
- const Text_1 = require("components/generic/Text");
32
+ const Text_1 = __importStar(require("components/generic/Text"));
7
33
  const Translation_1 = require("translations/Translation");
8
- const Headline_1 = require("components/generic/Headline");
9
- const ScreenSize_1 = require("util/ScreenSize");
10
- const Tooltip_1 = require("components/generic/Tooltip/Tooltip");
11
- const Icon_1 = require("components/generic/Icon/Icon");
12
- const Currency_1 = require("components/generic/Currency");
13
- const classNames = require("classnames");
34
+ const Headline_1 = __importDefault(require("components/generic/Headline"));
35
+ const ScreenSize_1 = __importDefault(require("util/ScreenSize"));
36
+ const Tooltip_1 = __importDefault(require("components/generic/Tooltip/Tooltip"));
37
+ const Icon_1 = __importStar(require("components/generic/Icon/Icon"));
38
+ const Currency_1 = __importDefault(require("components/generic/Currency"));
39
+ const classnames_1 = __importDefault(require("classnames"));
14
40
  const contexts_1 = require("@frontend/contexts");
15
41
  function RoomDetailsPriceBlock(props) {
16
42
  const { t } = (0, react_i18next_1.useTranslation)();
17
43
  const context = React.useContext(contexts_1.BookingEngineContext);
18
44
  const { isLocked, averagePreDiscount, averagePrice } = props;
19
45
  const discountApplied = averagePreDiscount > averagePrice;
20
- const headlineClasses = classNames('room-details--content-price-protection', {
46
+ const headlineClasses = (0, classnames_1.default)('room-details--content-price-protection', {
21
47
  '--accent-headline': discountApplied,
22
48
  '--accent-success': props.isMemberOnly,
23
49
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RoomDetailsPriceBlock.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/RoomDetailsPriceBlock.tsx"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,iDAA+C;AAC/C,sCAAmC;AACnC,kDAAyD;AACzD,0DAAuD;AACvD,0DAAmD;AACnD,gDAAyC;AACzC,gEAAyD;AACzD,uDAA8D;AAC9D,0DAAmD;AAEnD,yCAAyC;AACzC,iDAA0D;AAY1D,SAAwB,qBAAqB,CAAC,KAAiC;IAC3E,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,+BAAoB,CAAC,CAAC;IAEvD,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAE7D,MAAM,eAAe,GAAG,kBAAkB,GAAG,YAAY,CAAC;IAE1D,MAAM,eAAe,GAAG,UAAU,CAAC,wCAAwC,EAAE;QACzE,mBAAmB,EAAE,eAAe;QACpC,kBAAkB,EAAE,KAAK,CAAC,YAAY;KACzC,CAAC,CAAC;IAEH,OAAO,CACH;QACI,6BAAK,SAAS,EAAE,0FAA0F,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACrI,CAAC,QAAQ,IAAI,eAAe,IAAI,CAC7B,8BAAM,SAAS,EAAC,kEAAkE;gBAC9E,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ;oBACvB;wBACI,oBAAC,kBAAQ,QAAE,kBAAkB,CAAY,CACpC,CACN;gBACN,CAAC,KAAK,CAAC,YAAY,IAAI,CACpB,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAQ,CAAC,OAAO;;oBAC7C,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CACxB,CACV,CACE,CACV;YACD,8BAAM,SAAS,EAAE,eAAe;gBAC5B,oBAAC,kBAAQ,IAAC,IAAI,EAAE,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;oBACrI,oBAAC,kBAAQ,IAAC,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,IAC7C,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CACvB,CACJ;gBACV,CAAC,KAAK,CAAC,YAAY,IAAI,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ;;oBAAI,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAQ,CACrF;YACP,oBAAC,iBAAO,IAAC,KAAK,EAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBACrE,8BAAM,SAAS,EAAC,kCAAkC;oBAC9C,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,aAAK,CAAC,OAAO,GAAI,CAChD,CACD,CACR,CACP,CACN,CAAC;AACN,CAAC;AA/CD,wCA+CC","sourcesContent":["import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Color } from 'util/Color';\nimport Text, { TextType } from 'components/generic/Text';\nimport { Translation } from 'translations/Translation';\nimport Headline from 'components/generic/Headline';\nimport ScreenSize from 'util/ScreenSize';\nimport Tooltip from 'components/generic/Tooltip/Tooltip';\nimport Icon, { IconType } from 'components/generic/Icon/Icon';\nimport Currency from 'components/generic/Currency';\n\nimport * as classNames from 'classnames';\nimport { BookingEngineContext } from '@frontend/contexts';\n\ninterface RoomDetailsPriceBlockProps {\n isLocked: boolean;\n averagePreDiscount: number;\n averagePrice: number;\n\n isMemberOnly?: boolean;\n\n hidePerNight?: boolean;\n}\n\nexport default function RoomDetailsPriceBlock(props: RoomDetailsPriceBlockProps) {\n const { t } = useTranslation();\n\n const context = React.useContext(BookingEngineContext);\n\n const { isLocked, averagePreDiscount, averagePrice } = props;\n\n const discountApplied = averagePreDiscount > averagePrice;\n\n const headlineClasses = classNames('room-details--content-price-protection', {\n '--accent-headline': discountApplied,\n '--accent-success': props.isMemberOnly,\n });\n\n return (\n <>\n <div className={'room-details--content-price u-flex u-flex-direction-column justify-content-end flex-wrap' + (isLocked ? ' --locked' : '')}>\n {!isLocked && discountApplied && (\n <span className=\"room-details--content-price-protection --original align-self-end\">\n <Text color={Color.DarkGrey}>\n <strong>\n <Currency>{averagePreDiscount}</Currency>\n </strong>\n </Text>\n {!props.hidePerNight && (\n <Text color={Color.DarkGrey} type={TextType.Caption}>\n /{t(Translation.Misc.Night)}\n </Text>\n )}\n </span>\n )}\n <span className={headlineClasses}>\n <Headline size={context.screenSize > ScreenSize.Medium ? 'large' : 'normal'} bold={true} className={props.isMemberOnly ? '--success' : ''}>\n <Currency disableLoading={true} hideDecimals={true}>\n {isLocked ? 321 : averagePrice}\n </Currency>\n </Headline>\n {!props.hidePerNight && <Text color={Color.DarkGrey}>/{t(Translation.Misc.Night)}</Text>}\n </span>\n <Tooltip title={t(Translation.Step.Room.RoomInfo.MemberRateLockedTooltip)}>\n <span className=\"room-details--content-price-lock\">\n <Icon icon={IconType.Lock} color={Color.Success} />\n </span>\n </Tooltip>\n </div>\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"RoomDetailsPriceBlock.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/RoomDetailsPriceBlock.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,iDAA+C;AAC/C,sCAAmC;AACnC,gEAAyD;AACzD,0DAAuD;AACvD,2EAAmD;AACnD,iEAAyC;AACzC,iFAAyD;AACzD,qEAA8D;AAC9D,2EAAmD;AAEnD,4DAAoC;AACpC,iDAA0D;AAY1D,SAAwB,qBAAqB,CAAC,KAAiC;IAC3E,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,+BAAoB,CAAC,CAAC;IAEvD,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAE7D,MAAM,eAAe,GAAG,kBAAkB,GAAG,YAAY,CAAC;IAE1D,MAAM,eAAe,GAAG,IAAA,oBAAU,EAAC,wCAAwC,EAAE;QACzE,mBAAmB,EAAE,eAAe;QACpC,kBAAkB,EAAE,KAAK,CAAC,YAAY;KACzC,CAAC,CAAC;IAEH,OAAO,CACH;QACI,6BAAK,SAAS,EAAE,0FAA0F,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACrI,CAAC,QAAQ,IAAI,eAAe,IAAI,CAC7B,8BAAM,SAAS,EAAC,kEAAkE;gBAC9E,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ;oBACvB;wBACI,oBAAC,kBAAQ,QAAE,kBAAkB,CAAY,CACpC,CACN;gBACN,CAAC,KAAK,CAAC,YAAY,IAAI,CACpB,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAQ,CAAC,OAAO;;oBAC7C,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CACxB,CACV,CACE,CACV;YACD,8BAAM,SAAS,EAAE,eAAe;gBAC5B,oBAAC,kBAAQ,IAAC,IAAI,EAAE,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;oBACrI,oBAAC,kBAAQ,IAAC,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,IAC7C,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CACvB,CACJ;gBACV,CAAC,KAAK,CAAC,YAAY,IAAI,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ;;oBAAI,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAQ,CACrF;YACP,oBAAC,iBAAO,IAAC,KAAK,EAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBACrE,8BAAM,SAAS,EAAC,kCAAkC;oBAC9C,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,aAAK,CAAC,OAAO,GAAI,CAChD,CACD,CACR,CACP,CACN,CAAC;AACN,CAAC;AA/CD,wCA+CC","sourcesContent":["import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Color } from 'util/Color';\nimport Text, { TextType } from 'components/generic/Text';\nimport { Translation } from 'translations/Translation';\nimport Headline from 'components/generic/Headline';\nimport ScreenSize from 'util/ScreenSize';\nimport Tooltip from 'components/generic/Tooltip/Tooltip';\nimport Icon, { IconType } from 'components/generic/Icon/Icon';\nimport Currency from 'components/generic/Currency';\n\nimport classNames from 'classnames';\nimport { BookingEngineContext } from '@frontend/contexts';\n\ninterface RoomDetailsPriceBlockProps {\n isLocked: boolean;\n averagePreDiscount: number;\n averagePrice: number;\n\n isMemberOnly?: boolean;\n\n hidePerNight?: boolean;\n}\n\nexport default function RoomDetailsPriceBlock(props: RoomDetailsPriceBlockProps) {\n const { t } = useTranslation();\n\n const context = React.useContext(BookingEngineContext);\n\n const { isLocked, averagePreDiscount, averagePrice } = props;\n\n const discountApplied = averagePreDiscount > averagePrice;\n\n const headlineClasses = classNames('room-details--content-price-protection', {\n '--accent-headline': discountApplied,\n '--accent-success': props.isMemberOnly,\n });\n\n return (\n <>\n <div className={'room-details--content-price u-flex u-flex-direction-column justify-content-end flex-wrap' + (isLocked ? ' --locked' : '')}>\n {!isLocked && discountApplied && (\n <span className=\"room-details--content-price-protection --original align-self-end\">\n <Text color={Color.DarkGrey}>\n <strong>\n <Currency>{averagePreDiscount}</Currency>\n </strong>\n </Text>\n {!props.hidePerNight && (\n <Text color={Color.DarkGrey} type={TextType.Caption}>\n /{t(Translation.Misc.Night)}\n </Text>\n )}\n </span>\n )}\n <span className={headlineClasses}>\n <Headline size={context.screenSize > ScreenSize.Medium ? 'large' : 'normal'} bold={true} className={props.isMemberOnly ? '--success' : ''}>\n <Currency disableLoading={true} hideDecimals={true}>\n {isLocked ? 321 : averagePrice}\n </Currency>\n </Headline>\n {!props.hidePerNight && <Text color={Color.DarkGrey}>/{t(Translation.Misc.Night)}</Text>}\n </span>\n <Tooltip title={t(Translation.Step.Room.RoomInfo.MemberRateLockedTooltip)}>\n <span className=\"room-details--content-price-lock\">\n <Icon icon={IconType.Lock} color={Color.Success} />\n </span>\n </Tooltip>\n </div>\n </>\n );\n}\n"]}
@@ -1,25 +1,51 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
29
  exports.RoomDetailsRetargeting = void 0;
4
30
  const contexts_1 = require("@frontend/contexts");
5
- const BEButton_1 = require("components/generic/BEButton");
6
- const Currency_1 = require("components/generic/Currency");
7
- const Headline_1 = require("components/generic/Headline");
31
+ const BEButton_1 = __importDefault(require("components/generic/BEButton"));
32
+ const Currency_1 = __importDefault(require("components/generic/Currency"));
33
+ const Headline_1 = __importDefault(require("components/generic/Headline"));
8
34
  const Icon_1 = require("components/generic/Icon/Icon");
9
- const Pill_1 = require("components/generic/Pill");
10
- const Text_1 = require("components/generic/Text");
35
+ const Pill_1 = __importStar(require("components/generic/Pill"));
36
+ const Text_1 = __importStar(require("components/generic/Text"));
11
37
  const RoomRate_1 = require("models/Room/RoomRate");
12
- const FeaturedPromoFeature_1 = require("providers/feature/FeaturedPromoFeature");
38
+ const FeaturedPromoFeature_1 = __importDefault(require("providers/feature/FeaturedPromoFeature"));
13
39
  const ImageProvider_1 = require("providers/ImageProvider");
14
- const React = require("react");
40
+ const React = __importStar(require("react"));
15
41
  const react_1 = require("react");
16
42
  const react_i18next_1 = require("react-i18next");
17
43
  const Translation_1 = require("translations/Translation");
18
44
  const Color_1 = require("util/Color");
19
- const DataLayer_1 = require("util/DataLayer");
20
- const ScreenSize_1 = require("util/ScreenSize");
21
- const ImageGallerySlider_1 = require("../ImageGallerySlider");
22
- const RoomModal_1 = require("../RoomModal");
45
+ const DataLayer_1 = __importStar(require("util/DataLayer"));
46
+ const ScreenSize_1 = __importDefault(require("util/ScreenSize"));
47
+ const ImageGallerySlider_1 = __importDefault(require("../ImageGallerySlider"));
48
+ const RoomModal_1 = __importDefault(require("../RoomModal"));
23
49
  const RoomDetailsBedsBlock_1 = require("./RoomDetailsBedsBlock");
24
50
  const RoomDetailsRetargeting = (props) => {
25
51
  const { room } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"RoomDetailsRetargeting.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/RoomDetailsRetargeting.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport BEButton from 'components/generic/BEButton';\nimport Currency from 'components/generic/Currency';\nimport Headline from 'components/generic/Headline';\nimport { IconType } from 'components/generic/Icon/Icon';\nimport Pill, { PillType } from 'components/generic/Pill';\nimport Text, { TextType } from 'components/generic/Text';\n\nimport { Room } from 'models/Room/Room';\nimport { RoomRate, RoomRatePriceInclusion } from 'models/Room/RoomRate';\nimport FeaturedPromoFeature from 'providers/feature/FeaturedPromoFeature';\nimport { ImageSize } from 'providers/ImageProvider';\nimport * as React from 'react';\nimport { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport { Color } from 'util/Color';\nimport DataLayer, { InteractionType, InteractionStep } from 'util/DataLayer';\nimport ScreenSize from 'util/ScreenSize';\nimport ImageGallerySlider from '../ImageGallerySlider';\nimport RoomModal from '../RoomModal';\nimport { RoomDetailsBedsBlock } from './RoomDetailsBedsBlock';\nimport RoomRatePills from './roomRates/RoomRatePills';\n\ninterface RoomDetailsRetargetingProps {\n room: Room;\n}\n\nexport const RoomDetailsRetargeting: React.FC<RoomDetailsRetargetingProps> = (props) => {\n const { room } = props;\n\n const [featuredRates, setFeaturedRates] = useState<RoomRate[]>([]);\n const [standardRates, setStandardRates] = useState<RoomRate[]>([]);\n\n const [viewingDescription, setViewingDescription] = useState(false);\n\n const context = React.useContext(BookingEngineContext);\n const basketContext = useContext(BasketContext);\n\n const { t } = useTranslation();\n\n useEffect(() => {\n let nonPromoRates: RoomRate[] = [];\n const toSetFeaturedRate: RoomRate[] = [];\n\n if (FeaturedPromoFeature.isActive()) {\n for (const currentRate of room.getRates()) {\n if (currentRate.promoCode?.toLowerCase() === basketContext.selectedBasketRow?.getPromoCode()?.toLowerCase()) {\n toSetFeaturedRate.unshift(currentRate);\n } else {\n nonPromoRates.push(currentRate);\n }\n }\n\n if (toSetFeaturedRate.length > 0) {\n setFeaturedRates(toSetFeaturedRate);\n }\n } else {\n nonPromoRates = room.getRates();\n }\n\n setStandardRates(nonPromoRates);\n }, [room.getRates()]);\n\n const trimmedDescription = room.getShortDescription();\n\n const isMobile = context.screenSize <= ScreenSize.Large;\n\n const lowestPrice = Math.round(room.getLowestPrice(false, true));\n const currencySize = context.screenSize > ScreenSize.Medium && lowestPrice.toLocaleString().length < 7 ? 'large' : 'normal';\n\n const moreDetailsOnClick = () => {\n DataLayer.instance.sendInteraction('More Room Details', InteractionType.LINK, InteractionStep.ROOMS);\n setViewingDescription(true);\n };\n\n const closeDescriptionOnClose = () => {\n setViewingDescription(false);\n };\n\n return (\n <div className=\"room-details-container --theme-retargeting u-marg-top u-marg-bottom\">\n <div className=\"room-details\">\n <div className=\"room-details--image\">\n <ImageGallerySlider images={room.getImages()} imageSize={ImageSize.Medium} />\n </div>\n <div className=\"room-details--content u-pad--heavy u-pad@l-\">\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom\">\n <Pill type={PillType.Primary} icon={IconType.Add}>\n You booked this room recently!\n </Pill>\n </div>\n <div className=\"room-details--content-title u-marg-bottom--light\">\n <Headline bold={true}>{room.name}</Headline>\n </div>\n <RoomDetailsBedsBlock room={room} textColor={Color.Navy} />\n <div className=\"room-details--content-description u-marg-bottom--light\">\n <Text color={Color.Navy} type={TextType.Small}>\n {<span dangerouslySetInnerHTML={{ __html: trimmedDescription.replace(/<br(\\/|)>/g, '') }} />}\n </Text>\n </div>\n </div>\n\n <div className=\"row\">\n <div className=\"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start\">\n <div className=\"room-details--content-perks u-marg-bottom@m-\">\n {isMobile && (\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} bold={true} color={Color.Accent}>\n {t(Translation.Misc.Perks.AndYouGetAll)}\n </Text>\n </div>\n )}\n </div>\n </div>\n <div className=\"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end\">\n <Text type={TextType.Small} color={Color.Navy} inline={true}>\n {t(Translation.Misc.From)}\n </Text>\n <div className=\"room-details--content-price flex-row align-items-end\">\n <Headline size={currencySize} bold={true}>\n <Currency hideDecimals={true}>{lowestPrice}</Currency>\n </Headline>\n <Text color={Color.Navy} inline={true}>\n /{t(Translation.Misc.Night)}\n </Text>\n </div>\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} color={Color.Navy} inline={true} className=\"u-nowrap\">\n {room.getLowestPriceType() === RoomRatePriceInclusion.IncludingFeesAndTaxes\n ? t(Translation.Step.Room.RoomInfo.IncludesTaxes)\n : t(Translation.Step.Room.ExcludingTaxes)}\n </Text>\n </div>\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 filled={true}\n stopIconAnimation={true}\n iconPosition={'right'}\n wide={context.screenSize <= ScreenSize.Large}\n onClick={moreDetailsOnClick}\n >\n {t(Translation.Step.Room.RoomInfo.ViewRates)}\n </BEButton>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {<RoomModal open={viewingDescription} room={props.room} rates={standardRates} featuredRates={featuredRates} onClose={closeDescriptionOnClose} />}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"RoomDetailsRetargeting.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/RoomDetailsRetargeting.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport BEButton from 'components/generic/BEButton';\nimport Currency from 'components/generic/Currency';\nimport Headline from 'components/generic/Headline';\nimport { IconType } from 'components/generic/Icon/Icon';\nimport Pill, { PillType } from 'components/generic/Pill';\nimport Text, { TextType } from 'components/generic/Text';\n\nimport { Room } from 'models/Room/Room';\nimport { RoomRate, RoomRatePriceInclusion } from 'models/Room/RoomRate';\nimport FeaturedPromoFeature from 'providers/feature/FeaturedPromoFeature';\nimport { ImageSize } from 'providers/ImageProvider';\nimport * as React from 'react';\nimport { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport { Color } from 'util/Color';\nimport DataLayer, { InteractionType, InteractionStep } from 'util/DataLayer';\nimport ScreenSize from 'util/ScreenSize';\nimport ImageGallerySlider from '../ImageGallerySlider';\nimport RoomModal from '../RoomModal';\nimport { RoomDetailsBedsBlock } from './RoomDetailsBedsBlock';\nimport RoomRatePills from './roomRates/RoomRatePills';\n\ninterface RoomDetailsRetargetingProps {\n room: Room;\n}\n\nexport const RoomDetailsRetargeting: React.FC<RoomDetailsRetargetingProps> = (props) => {\n const { room } = props;\n\n const [featuredRates, setFeaturedRates] = useState<RoomRate[]>([]);\n const [standardRates, setStandardRates] = useState<RoomRate[]>([]);\n\n const [viewingDescription, setViewingDescription] = useState(false);\n\n const context = React.useContext(BookingEngineContext);\n const basketContext = useContext(BasketContext);\n\n const { t } = useTranslation();\n\n useEffect(() => {\n let nonPromoRates: RoomRate[] = [];\n const toSetFeaturedRate: RoomRate[] = [];\n\n if (FeaturedPromoFeature.isActive()) {\n for (const currentRate of room.getRates()) {\n if (currentRate.promoCode?.toLowerCase() === basketContext.selectedBasketRow?.getPromoCode()?.toLowerCase()) {\n toSetFeaturedRate.unshift(currentRate);\n } else {\n nonPromoRates.push(currentRate);\n }\n }\n\n if (toSetFeaturedRate.length > 0) {\n setFeaturedRates(toSetFeaturedRate);\n }\n } else {\n nonPromoRates = room.getRates();\n }\n\n setStandardRates(nonPromoRates);\n }, [room.getRates()]);\n\n const trimmedDescription = room.getShortDescription();\n\n const isMobile = context.screenSize <= ScreenSize.Large;\n\n const lowestPrice = Math.round(room.getLowestPrice(false, true));\n const currencySize = context.screenSize > ScreenSize.Medium && lowestPrice.toLocaleString().length < 7 ? 'large' : 'normal';\n\n const moreDetailsOnClick = () => {\n DataLayer.instance.sendInteraction('More Room Details', InteractionType.LINK, InteractionStep.ROOMS);\n setViewingDescription(true);\n };\n\n const closeDescriptionOnClose = () => {\n setViewingDescription(false);\n };\n\n return (\n <div className=\"room-details-container --theme-retargeting u-marg-top u-marg-bottom\">\n <div className=\"room-details\">\n <div className=\"room-details--image\">\n <ImageGallerySlider images={room.getImages()} imageSize={ImageSize.Medium} />\n </div>\n <div className=\"room-details--content u-pad--heavy u-pad@l-\">\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom\">\n <Pill type={PillType.Primary} icon={IconType.Add}>\n You booked this room recently!\n </Pill>\n </div>\n <div className=\"room-details--content-title u-marg-bottom--light\">\n <Headline bold={true}>{room.name}</Headline>\n </div>\n <RoomDetailsBedsBlock room={room} textColor={Color.Navy} />\n <div className=\"room-details--content-description u-marg-bottom--light\">\n <Text color={Color.Navy} type={TextType.Small}>\n {<span dangerouslySetInnerHTML={{ __html: trimmedDescription.replace(/<br(\\/|)>/g, '') }} />}\n </Text>\n </div>\n </div>\n\n <div className=\"row\">\n <div className=\"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start\">\n <div className=\"room-details--content-perks u-marg-bottom@m-\">\n {isMobile && (\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} bold={true} color={Color.Accent}>\n {t(Translation.Misc.Perks.AndYouGetAll)}\n </Text>\n </div>\n )}\n </div>\n </div>\n <div className=\"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end\">\n <Text type={TextType.Small} color={Color.Navy} inline={true}>\n {t(Translation.Misc.From)}\n </Text>\n <div className=\"room-details--content-price flex-row align-items-end\">\n <Headline size={currencySize} bold={true}>\n <Currency hideDecimals={true}>{lowestPrice}</Currency>\n </Headline>\n <Text color={Color.Navy} inline={true}>\n /{t(Translation.Misc.Night)}\n </Text>\n </div>\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Small} color={Color.Navy} inline={true} className=\"u-nowrap\">\n {room.getLowestPriceType() === RoomRatePriceInclusion.IncludingFeesAndTaxes\n ? t(Translation.Step.Room.RoomInfo.IncludesTaxes)\n : t(Translation.Step.Room.ExcludingTaxes)}\n </Text>\n </div>\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 filled={true}\n stopIconAnimation={true}\n iconPosition={'right'}\n wide={context.screenSize <= ScreenSize.Large}\n onClick={moreDetailsOnClick}\n >\n {t(Translation.Step.Room.RoomInfo.ViewRates)}\n </BEButton>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {<RoomModal open={viewingDescription} room={props.room} rates={standardRates} featuredRates={featuredRates} onClose={closeDescriptionOnClose} />}\n </div>\n );\n};\n"]}
@@ -1,10 +1,36 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const React = require("react");
29
+ const React = __importStar(require("react"));
4
30
  const react_1 = require("react");
5
31
  const contexts_1 = require("@frontend/contexts");
6
- const BEButton_1 = require("components/generic/BEButton");
7
- const ScreenSize_1 = require("util/ScreenSize");
32
+ const BEButton_1 = __importDefault(require("components/generic/BEButton"));
33
+ const ScreenSize_1 = __importDefault(require("util/ScreenSize"));
8
34
  function BookNowButton(props) {
9
35
  const basketContext = (0, react_1.useContext)(contexts_1.BasketContext);
10
36
  const [isLoading, setIsLoading] = (0, react_1.useState)(false);
@@ -1 +1 @@
1
- {"version":3,"file":"BookNowButton.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/BookNowButton.tsx"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,iCAAqD;AACrD,iDAAyE;AAEzE,0DAAmD;AACnD,gDAAyC;AAUzC,SAAwB,aAAa,CAAC,KAAyB;IAC3D,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAChD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IAEjD,MAAM,GAAG,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAEzB,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,IAAI,KAAK,CAAC,qBAAqB,EAAE;YAC7B,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC3C;aAAM;YACH,YAAY,CAAC,IAAI,CAAC,CAAC;YAEnB,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxC,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,EAAE;oBACd,YAAY,CAAC,KAAK,CAAC,CAAC;iBACvB;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC,CAAC;IAEF,OAAO,CACH,8BAAM,GAAG,EAAE,GAAG;QACV,oBAAC,kBAAQ,IACL,SAAS,EAAE,SAAS,EACpB,IAAI,EAAC,eAAe,EACpB,MAAM,EAAE,KAAK,CAAC,QAAQ,EACtB,OAAO,EAAE,IAAI,EACb,WAAW,EAAE,IAAI,EACjB,IAAI,EAAE,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,MAAM,EAC7C,OAAO,EAAE,cAAc,IAEtB,KAAK,CAAC,WAAW,CACX,CACR,CACV,CAAC;AACN,CAAC;AApCD,gCAoCC","sourcesContent":["import * as React from 'react';\nimport { useContext, useRef, useState } from 'react';\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport { RoomRate } from 'models/Room/RoomRate';\nimport BEButton from 'components/generic/BEButton';\nimport ScreenSize from 'util/ScreenSize';\n\ninterface BookNowButtonProps {\n buttonLabel: string;\n rate: RoomRate;\n onAddToBasketOverride?: (rate: RoomRate) => void;\n\n isFilled?: boolean;\n}\n\nexport default function BookNowButton(props: BookNowButtonProps) {\n const basketContext = useContext(BasketContext);\n const [isLoading, setIsLoading] = useState(false);\n const context = useContext(BookingEngineContext);\n\n const ref = useRef(null);\n\n const addRateOnClick = () => {\n if (props.onAddToBasketOverride) {\n props.onAddToBasketOverride(props.rate);\n } else {\n setIsLoading(true);\n\n basketContext.addRate(props.rate).then(() => {\n if (ref?.current) {\n setIsLoading(false);\n }\n });\n }\n };\n\n return (\n <span ref={ref}>\n <BEButton\n isLoading={isLoading}\n name=\"AddRateToCard\"\n filled={props.isFilled}\n primary={true}\n mobileWidth={true}\n wide={context.screenSize <= ScreenSize.Medium}\n onClick={addRateOnClick}\n >\n {props.buttonLabel}\n </BEButton>\n </span>\n );\n}\n"]}
1
+ {"version":3,"file":"BookNowButton.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/BookNowButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,iCAAqD;AACrD,iDAAyE;AAEzE,2EAAmD;AACnD,iEAAyC;AAUzC,SAAwB,aAAa,CAAC,KAAyB;IAC3D,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAChD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IAEjD,MAAM,GAAG,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAEzB,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,IAAI,KAAK,CAAC,qBAAqB,EAAE;YAC7B,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC3C;aAAM;YACH,YAAY,CAAC,IAAI,CAAC,CAAC;YAEnB,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxC,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,EAAE;oBACd,YAAY,CAAC,KAAK,CAAC,CAAC;iBACvB;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC,CAAC;IAEF,OAAO,CACH,8BAAM,GAAG,EAAE,GAAG;QACV,oBAAC,kBAAQ,IACL,SAAS,EAAE,SAAS,EACpB,IAAI,EAAC,eAAe,EACpB,MAAM,EAAE,KAAK,CAAC,QAAQ,EACtB,OAAO,EAAE,IAAI,EACb,WAAW,EAAE,IAAI,EACjB,IAAI,EAAE,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,MAAM,EAC7C,OAAO,EAAE,cAAc,IAEtB,KAAK,CAAC,WAAW,CACX,CACR,CACV,CAAC;AACN,CAAC;AApCD,gCAoCC","sourcesContent":["import * as React from 'react';\nimport { useContext, useRef, useState } from 'react';\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport { RoomRate } from 'models/Room/RoomRate';\nimport BEButton from 'components/generic/BEButton';\nimport ScreenSize from 'util/ScreenSize';\n\ninterface BookNowButtonProps {\n buttonLabel: string;\n rate: RoomRate;\n onAddToBasketOverride?: (rate: RoomRate) => void;\n\n isFilled?: boolean;\n}\n\nexport default function BookNowButton(props: BookNowButtonProps) {\n const basketContext = useContext(BasketContext);\n const [isLoading, setIsLoading] = useState(false);\n const context = useContext(BookingEngineContext);\n\n const ref = useRef(null);\n\n const addRateOnClick = () => {\n if (props.onAddToBasketOverride) {\n props.onAddToBasketOverride(props.rate);\n } else {\n setIsLoading(true);\n\n basketContext.addRate(props.rate).then(() => {\n if (ref?.current) {\n setIsLoading(false);\n }\n });\n }\n };\n\n return (\n <span ref={ref}>\n <BEButton\n isLoading={isLoading}\n name=\"AddRateToCard\"\n filled={props.isFilled}\n primary={true}\n mobileWidth={true}\n wide={context.screenSize <= ScreenSize.Medium}\n onClick={addRateOnClick}\n >\n {props.buttonLabel}\n </BEButton>\n </span>\n );\n}\n"]}
@@ -1,23 +1,49 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const React = require("react");
29
+ const React = __importStar(require("react"));
4
30
  const react_1 = require("react");
5
- const Text_1 = require("components/generic/Text");
31
+ const Text_1 = __importStar(require("components/generic/Text"));
6
32
  const Color_1 = require("util/Color");
7
- const BEButton_1 = require("components/generic/BEButton");
33
+ const BEButton_1 = __importDefault(require("components/generic/BEButton"));
8
34
  const Translation_1 = require("translations/Translation");
9
35
  const react_i18next_1 = require("react-i18next");
10
- const classNames = require("classnames");
11
- const Icon_1 = require("components/generic/Icon/Icon");
12
- const Pill_1 = require("components/generic/Pill");
13
- const DataLayer_1 = require("util/DataLayer");
14
- const RoomDetailsPriceBlock_1 = require("components/steps/room/roomDetails/RoomDetailsPriceBlock");
36
+ const classnames_1 = __importDefault(require("classnames"));
37
+ const Icon_1 = __importStar(require("components/generic/Icon/Icon"));
38
+ const Pill_1 = __importStar(require("components/generic/Pill"));
39
+ const DataLayer_1 = __importStar(require("util/DataLayer"));
40
+ const RoomDetailsPriceBlock_1 = __importDefault(require("components/steps/room/roomDetails/RoomDetailsPriceBlock"));
15
41
  const contexts_1 = require("@frontend/contexts");
16
42
  function MembersOnlyRow() {
17
43
  const ccx = (0, react_1.useContext)(contexts_1.CompanyContext);
18
44
  const { t } = (0, react_i18next_1.useTranslation)();
19
45
  const currentRow = (0, react_1.useRef)(null);
20
- const classes = classNames('room-info', {
46
+ const classes = (0, classnames_1.default)('room-info', {
21
47
  '--locked': true,
22
48
  });
23
49
  let isLocked = false;
@@ -1 +1 @@
1
- {"version":3,"file":"MembersOnlyRow.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.tsx"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,iCAA2C;AAC3C,kDAAyD;AACzD,sCAAmC;AACnC,0DAAmD;AACnD,0DAAuD;AACvD,iDAA+C;AAE/C,yCAAyC;AAEzC,uDAA8D;AAC9D,kDAAyD;AACzD,8CAA6E;AAC7E,mGAA4F;AAC5F,iDAAoD;AAEpD,SAAwB,cAAc;IAClC,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAC;IAEvC,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,UAAU,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE;QACpC,UAAU,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;QACnB,QAAQ,GAAG,IAAI,CAAC;KACnB;IAED,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAChC,mBAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,2BAAe,CAAC,MAAM,EAAE,2BAAe,CAAC,KAAK,CAAC,CAAC;QACzG,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU;QACpC,6BAAK,SAAS,EAAC,KAAK,IACf,QAAQ,CAAC,CAAC,CAAC,CACR;YACI,6BAAK,SAAS,EAAC,UAAU;gBACrB,6BAAK,SAAS,EAAC,0BAA0B;oBACrC;wBACI,6BAAK,SAAS,EAAC,oBAAoB;4BAC/B,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,aAAK,CAAC,OAAO;gCAC3C,oCAAS,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAU,CAChF,CACL;wBACN,6BACI,SAAS,EAAC,uDAAuD,EACjE,uBAAuB,EAAE;gCACrB,MAAM,EAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE;oCACjE,YAAY,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY;iCAClC,CAAC;6BACL,GACE;wBACP,6BAAK,SAAS,EAAC,eAAe,EAAC,OAAO,EAAE,sBAAsB;4BAC1D,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,eAAQ,CAAC,OAAO,IAC7C,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC3C,CACL,CACJ;oBACN,6BAAK,SAAS,EAAC,mDAAmD;wBAC9D,6BAAK,SAAS,EAAC,4BAA4B;4BACvC,oBAAC,kBAAQ,IAAC,IAAI,EAAE,eAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAC,OAAO,EAAC,YAAY,EAAC,OAAO,EAAC,OAAO,EAAE,sBAAsB,IAC/H,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3B,CACT,CACJ,CACJ,CACJ;YACN,6BAAK,SAAS,EAAC,wFAAwF;gBACnG,oBAAC,+BAAqB,IAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,GAAI;gBAC7G,6BAAK,SAAS,EAAC,uBAAuB,IACjC,QAAQ,IAAI,CACT,oBAAC,kBAAQ,IAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAsB,wBAE9E,CACd,CACC,CACJ,CACP,CACN,CAAC,CAAC,CAAC,CACA,6BAAK,SAAS,EAAC,qCAAqC;YAChD,6BAAK,SAAS,EAAC,2BAA2B;gBACtC,8BAAM,SAAS,EAAC,+CAA+C,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE;oBACvH,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,aAAK,CAAC,OAAO,GAAI,CAChD;gBACP,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,aAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI;oBACzD,oCAAS,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAU,CAC1E,CACL,CACJ,CACT,CACC,CACJ,CACT,CAAC;AACN,CAAC;AApFD,iCAoFC","sourcesContent":["import * as React from 'react';\nimport { useContext, useRef } from 'react';\nimport Text, { TextType } from 'components/generic/Text';\nimport { Color } from 'util/Color';\nimport BEButton from 'components/generic/BEButton';\nimport { Translation } from 'translations/Translation';\nimport { useTranslation } from 'react-i18next';\n\nimport * as classNames from 'classnames';\n\nimport Icon, { IconType } from 'components/generic/Icon/Icon';\nimport Pill, { PillType } from 'components/generic/Pill';\nimport DataLayer, { InteractionStep, InteractionType } from 'util/DataLayer';\nimport RoomDetailsPriceBlock from 'components/steps/room/roomDetails/RoomDetailsPriceBlock';\nimport { CompanyContext } from '@frontend/contexts';\n\nexport default function MembersOnlyRow() {\n const ccx = useContext(CompanyContext);\n\n const { t } = useTranslation();\n\n const currentRow = useRef(null);\n\n const classes = classNames('room-info', {\n '--locked': true,\n });\n\n let isLocked = false;\n\n if (!ccx.signedInUser) {\n isLocked = true;\n }\n\n const openSignupModalOnClick = () => {\n DataLayer.instance.sendInteraction('Member Signup Modal', InteractionType.BUTTON, InteractionStep.ROOMS);\n ccx.openMemberSignupModal();\n };\n\n return (\n <div className={classes} ref={currentRow}>\n <div className=\"row\">\n {isLocked ? (\n <>\n <div className=\"col-md-8\">\n <div className=\"u-flex flex-column h-100\">\n <div>\n <div className=\"u-marg-bottom-half\">\n <Text type={TextType.Body} color={Color.Success}>\n <strong>{t(Translation.Step.Room.RoomInfo.MemberOnlyRow.MemberOnlyPrices)}</strong>\n </Text>\n </div>\n <div\n className=\"u-marg-bottom u-h-ml-2 text-small u-clear-font-weight\"\n dangerouslySetInnerHTML={{\n __html: t(Translation.Step.Room.RoomInfo.MemberOnlyRow.DealsForOnly, {\n companyShort: ccx?.companyShort,\n }),\n }}\n ></div>\n <div className=\"u-marg-bottom\" onClick={openSignupModalOnClick}>\n <Pill icon={IconType.Money} type={PillType.Success}>\n {t(Translation.Step.Room.RoomInfo.SignUpToSee)}\n </Pill>\n </div>\n </div>\n <div className=\"u-flex justify-content-start u-marg-top-bottom@m-\">\n <div className=\"u-marg-right u-inline-flex\">\n <BEButton icon={IconType.ArrowRight2} isText={true} primary={true} size=\"small\" iconPosition=\"right\" onClick={openSignupModalOnClick}>\n {t(Translation.Step.Room.ReadMore)}\n </BEButton>\n </div>\n </div>\n </div>\n </div>\n <div className=\"col-md-4 u-flex flex-column align-items-start align-items-md-end justify-content-start\">\n <RoomDetailsPriceBlock isLocked={isLocked} averagePreDiscount={321} averagePrice={321} isMemberOnly={true} />\n <div className=\"u-marg-top u-w-100@m-\">\n {isLocked && (\n <BEButton filled={true} success={true} mobileWidth={true} onClick={openSignupModalOnClick}>\n Reveal Prices Now\n </BEButton>\n )}\n </div>\n </div>\n </>\n ) : (\n <div className=\"d-flex justify-content-center w-100\">\n <div className=\"d-flex align-items-center\">\n <span className=\"room-details--content-price-lock u-marg-right\" style={{ opacity: 1, position: 'unset', transform: 'none' }}>\n <Icon icon={IconType.Lock} color={Color.Success} />\n </span>\n <Text type={TextType.Body} color={Color.Success} inline={true}>\n <strong>{t(Translation.Step.Room.RoomInfo.MemberOnlyDealsActivated)}</strong>\n </Text>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"MembersOnlyRow.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useContext, useRef } from 'react';\nimport Text, { TextType } from 'components/generic/Text';\nimport { Color } from 'util/Color';\nimport BEButton from 'components/generic/BEButton';\nimport { Translation } from 'translations/Translation';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport Icon, { IconType } from 'components/generic/Icon/Icon';\nimport Pill, { PillType } from 'components/generic/Pill';\nimport DataLayer, { InteractionStep, InteractionType } from 'util/DataLayer';\nimport RoomDetailsPriceBlock from 'components/steps/room/roomDetails/RoomDetailsPriceBlock';\nimport { CompanyContext } from '@frontend/contexts';\n\nexport default function MembersOnlyRow() {\n const ccx = useContext(CompanyContext);\n\n const { t } = useTranslation();\n\n const currentRow = useRef(null);\n\n const classes = classNames('room-info', {\n '--locked': true,\n });\n\n let isLocked = false;\n\n if (!ccx.signedInUser) {\n isLocked = true;\n }\n\n const openSignupModalOnClick = () => {\n DataLayer.instance.sendInteraction('Member Signup Modal', InteractionType.BUTTON, InteractionStep.ROOMS);\n ccx.openMemberSignupModal();\n };\n\n return (\n <div className={classes} ref={currentRow}>\n <div className=\"row\">\n {isLocked ? (\n <>\n <div className=\"col-md-8\">\n <div className=\"u-flex flex-column h-100\">\n <div>\n <div className=\"u-marg-bottom-half\">\n <Text type={TextType.Body} color={Color.Success}>\n <strong>{t(Translation.Step.Room.RoomInfo.MemberOnlyRow.MemberOnlyPrices)}</strong>\n </Text>\n </div>\n <div\n className=\"u-marg-bottom u-h-ml-2 text-small u-clear-font-weight\"\n dangerouslySetInnerHTML={{\n __html: t(Translation.Step.Room.RoomInfo.MemberOnlyRow.DealsForOnly, {\n companyShort: ccx?.companyShort,\n }),\n }}\n ></div>\n <div className=\"u-marg-bottom\" onClick={openSignupModalOnClick}>\n <Pill icon={IconType.Money} type={PillType.Success}>\n {t(Translation.Step.Room.RoomInfo.SignUpToSee)}\n </Pill>\n </div>\n </div>\n <div className=\"u-flex justify-content-start u-marg-top-bottom@m-\">\n <div className=\"u-marg-right u-inline-flex\">\n <BEButton icon={IconType.ArrowRight2} isText={true} primary={true} size=\"small\" iconPosition=\"right\" onClick={openSignupModalOnClick}>\n {t(Translation.Step.Room.ReadMore)}\n </BEButton>\n </div>\n </div>\n </div>\n </div>\n <div className=\"col-md-4 u-flex flex-column align-items-start align-items-md-end justify-content-start\">\n <RoomDetailsPriceBlock isLocked={isLocked} averagePreDiscount={321} averagePrice={321} isMemberOnly={true} />\n <div className=\"u-marg-top u-w-100@m-\">\n {isLocked && (\n <BEButton filled={true} success={true} mobileWidth={true} onClick={openSignupModalOnClick}>\n Reveal Prices Now\n </BEButton>\n )}\n </div>\n </div>\n </>\n ) : (\n <div className=\"d-flex justify-content-center w-100\">\n <div className=\"d-flex align-items-center\">\n <span className=\"room-details--content-price-lock u-marg-right\" style={{ opacity: 1, position: 'unset', transform: 'none' }}>\n <Icon icon={IconType.Lock} color={Color.Success} />\n </span>\n <Text type={TextType.Body} color={Color.Success} inline={true}>\n <strong>{t(Translation.Step.Room.RoomInfo.MemberOnlyDealsActivated)}</strong>\n </Text>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n}\n"]}