@roomstay/frontend 2.0.12 → 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 +42 -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
@@ -0,0 +1,43 @@
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
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Default = void 0;
30
+ const React = __importStar(require("react"));
31
+ const Tooltip_1 = __importDefault(require("components/generic/Tooltip/Tooltip"));
32
+ exports.default = {
33
+ title: 'generic/Tooltip/Tooltip',
34
+ component: Tooltip_1.default,
35
+ argTypes: {},
36
+ };
37
+ const Template = (args) => React.createElement(Tooltip_1.default, Object.assign({}, args));
38
+ exports.Default = Template.bind({});
39
+ exports.Default.args = {
40
+ children: 'Hover me',
41
+ title: 'Tooltip',
42
+ };
43
+ //# sourceMappingURL=Tooltip.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.stories.js","sourceRoot":"/","sources":["src/stories/Tooltip.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAG/B,iFAAyD;AAEzD,kBAAe;IACX,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,iBAAO;IAClB,QAAQ,EAAE,EAAE;CACkB,CAAC;AAEnC,MAAM,QAAQ,GAAmC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAC,iBAAO,oBAAK,IAAI,EAAI,CAAC;AAEpE,QAAA,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,eAAO,CAAC,IAAI,GAAG;IACX,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,SAAS;CACnB,CAAC","sourcesContent":["import * as React from 'react';\nimport { ComponentStory, ComponentMeta } from '@storybook/react';\n\nimport Tooltip from 'components/generic/Tooltip/Tooltip';\n\nexport default {\n title: 'generic/Tooltip/Tooltip',\n component: Tooltip,\n argTypes: {},\n} as ComponentMeta<typeof Tooltip>;\n\nconst Template: ComponentStory<typeof Tooltip> = (args) => <Tooltip {...args} />;\n\nexport const Default = Template.bind({});\nDefault.args = {\n children: 'Hover me',\n title: 'Tooltip',\n};\n"]}
@@ -1,4 +1,4 @@
1
- import * as dayjs from 'dayjs';
1
+ import dayjs from 'dayjs';
2
2
  import { WeekdayStartsOn } from 'models/Client/Hotel/WeekdayStartsOn.types';
3
3
  export declare const getLetterDaysOfWeek: (startsWeekOnDay: string) => string[];
4
4
  export default class CalendarHelper {
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.getLetterDaysOfWeek = void 0;
4
- const dayjs = require("dayjs");
7
+ const dayjs_1 = __importDefault(require("dayjs"));
5
8
  const getLetterDaysOfWeek = (startsWeekOnDay) => {
6
9
  if (startsWeekOnDay === 'monday') {
7
10
  return ['M', 'T', 'W', 'T', 'F', 'S', 'S'];
@@ -53,7 +56,7 @@ CalendarHelper.getMonthArray = (date) => {
53
56
  const diff = monthEnd.diff(monthStart, 'day');
54
57
  const days = [];
55
58
  for (let i = 0; i < diff; i++) {
56
- days.push(dayjs(monthStart.add(i, 'day')));
59
+ days.push((0, dayjs_1.default)(monthStart.add(i, 'day')));
57
60
  }
58
61
  return days;
59
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarHelper.js","sourceRoot":"/","sources":["src/util/CalendarHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport { WeekdayStartsOn } from 'models/Client/Hotel/WeekdayStartsOn.types';\n\nexport const getLetterDaysOfWeek = (startsWeekOnDay: string) => {\n if (startsWeekOnDay === 'monday') {\n return ['M', 'T', 'W', 'T', 'F', 'S', 'S'];\n } else {\n return ['S', 'M', 'T', 'W', 'T', 'F', 'S'];\n }\n};\n\nexport default class CalendarHelper {\n /**\n * Returns an array always divisible by 7,\n *\n * Essentially no matter what what month is given, this function will always return the same number of days;\n * with each MOD 7 index representing the correct date.\n */\n public static getWeekPaddedMonthArrayForDate = (startWeekOnDay: WeekdayStartsOn, date: dayjs.Dayjs): string[] => {\n const monthStart = date.startOf('month');\n const monthEnd = date.endOf('month');\n // Get the day start so we know how many days we have to left pad\n let startDayIndex = parseInt(monthStart.format('d'), 10);\n\n if (startWeekOnDay === 'monday') {\n if (startDayIndex !== 0) {\n startDayIndex--;\n } else {\n startDayIndex = 6;\n }\n }\n // Get the end day so we can right pad 6 - x;\n const endDateNumber = parseInt(monthEnd.format('D'), 10);\n\n // We gotta pad it at the start, we'll do the same at the end\n const dayArray: string[] = [];\n\n for (let i = 0; i < endDateNumber + startDayIndex; i++) {\n if (i >= startDayIndex) {\n dayArray.push(String(i + 1 - startDayIndex));\n } else {\n dayArray.push('');\n }\n }\n\n return dayArray;\n };\n\n public static getMonthArray = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const monthStart = date.startOf('month');\n const monthEnd = date.endOf('month');\n\n const diff = monthEnd.diff(monthStart, 'day');\n\n const days = [];\n\n for (let i = 0; i < diff; i++) {\n days.push(dayjs(monthStart.add(i, 'day')));\n }\n\n return days;\n };\n\n public static getWeekFrom = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n\n for (let i = 1; i <= 7; i++) {\n days.push(date.add(i, 'day'));\n }\n\n return days;\n };\n\n public static getWeekTo = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n\n for (let i = 1; i <= 7; i++) {\n days.push(date.subtract(i, 'day'));\n }\n\n return days;\n };\n\n public static getDaysBetween = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n const diff = endDate.diff(startDate, 'day');\n\n for (let i = 0; i <= diff + 7; i++) {\n days.push(startDate.add(i, 'day'));\n }\n\n return days;\n };\n}\n"]}
1
+ {"version":3,"file":"CalendarHelper.js","sourceRoot":"/","sources":["src/util/CalendarHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\nimport { WeekdayStartsOn } from 'models/Client/Hotel/WeekdayStartsOn.types';\n\nexport const getLetterDaysOfWeek = (startsWeekOnDay: string) => {\n if (startsWeekOnDay === 'monday') {\n return ['M', 'T', 'W', 'T', 'F', 'S', 'S'];\n } else {\n return ['S', 'M', 'T', 'W', 'T', 'F', 'S'];\n }\n};\n\nexport default class CalendarHelper {\n /**\n * Returns an array always divisible by 7,\n *\n * Essentially no matter what what month is given, this function will always return the same number of days;\n * with each MOD 7 index representing the correct date.\n */\n public static getWeekPaddedMonthArrayForDate = (startWeekOnDay: WeekdayStartsOn, date: dayjs.Dayjs): string[] => {\n const monthStart = date.startOf('month');\n const monthEnd = date.endOf('month');\n // Get the day start so we know how many days we have to left pad\n let startDayIndex = parseInt(monthStart.format('d'), 10);\n\n if (startWeekOnDay === 'monday') {\n if (startDayIndex !== 0) {\n startDayIndex--;\n } else {\n startDayIndex = 6;\n }\n }\n // Get the end day so we can right pad 6 - x;\n const endDateNumber = parseInt(monthEnd.format('D'), 10);\n\n // We gotta pad it at the start, we'll do the same at the end\n const dayArray: string[] = [];\n\n for (let i = 0; i < endDateNumber + startDayIndex; i++) {\n if (i >= startDayIndex) {\n dayArray.push(String(i + 1 - startDayIndex));\n } else {\n dayArray.push('');\n }\n }\n\n return dayArray;\n };\n\n public static getMonthArray = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const monthStart = date.startOf('month');\n const monthEnd = date.endOf('month');\n\n const diff = monthEnd.diff(monthStart, 'day');\n\n const days = [];\n\n for (let i = 0; i < diff; i++) {\n days.push(dayjs(monthStart.add(i, 'day')));\n }\n\n return days;\n };\n\n public static getWeekFrom = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n\n for (let i = 1; i <= 7; i++) {\n days.push(date.add(i, 'day'));\n }\n\n return days;\n };\n\n public static getWeekTo = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n\n for (let i = 1; i <= 7; i++) {\n days.push(date.subtract(i, 'day'));\n }\n\n return days;\n };\n\n public static getDaysBetween = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n const diff = endDate.diff(startDate, 'day');\n\n for (let i = 0; i <= diff + 7; i++) {\n days.push(startDate.add(i, 'day'));\n }\n\n return days;\n };\n}\n"]}
@@ -1,9 +1,35 @@
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.InteractionStep = exports.InteractionType = void 0;
4
- const react_gtm_module_1 = require("react-gtm-module");
5
- const dayjs = require("dayjs");
6
- const Sentry = require("@sentry/browser");
30
+ const react_gtm_module_1 = __importDefault(require("react-gtm-module"));
31
+ const dayjs_1 = __importDefault(require("dayjs"));
32
+ const Sentry = __importStar(require("@sentry/browser"));
7
33
  const types_1 = require("@sentry/types");
8
34
  const DATALAYER_DATE_FORMAT = 'YYYY-M-D';
9
35
  class DataLayer {
@@ -235,7 +261,7 @@ class DataLayer {
235
261
  },
236
262
  StartDate: row.getStartDate().format(DATALAYER_DATE_FORMAT),
237
263
  EndDate: row.getEndDate().format(DATALAYER_DATE_FORMAT),
238
- BookingDate: dayjs().format(DATALAYER_DATE_FORMAT),
264
+ BookingDate: (0, dayjs_1.default)().format(DATALAYER_DATE_FORMAT),
239
265
  PageType: 'conversion',
240
266
  paymentType: reservations.reservations[i].paymentMethod,
241
267
  },
@@ -1 +1 @@
1
- {"version":3,"file":"DataLayer.js","sourceRoot":"/","sources":["src/util/DataLayer.ts"],"names":[],"mappings":"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","sourcesContent":["import TagManager from 'react-gtm-module';\nimport { RoomRate } from 'models/Room/RoomRate';\nimport { Room } from 'models/Room/Room';\nimport * as dayjs from 'dayjs';\nimport { Dayjs } from 'dayjs';\nimport BasketRow from 'models/BasketRow';\nimport BasketAddonRow from 'models/BasketAddonRow';\nimport ReservationsDTO from 'models/Api/ReservationsDTO';\nimport * as Sentry from '@sentry/browser';\nimport { Severity } from '@sentry/types';\nimport { ConfigCompany, HasDatalayerTags } from 'models/Client/Hotel/Company';\n\nconst DATALAYER_DATE_FORMAT = 'YYYY-M-D';\nexport default class DataLayer {\n static instance = new DataLayer();\n\n private enableLogging = true;\n\n private hotelName: string;\n private providerHotelID: string;\n\n private originalCurrencyCode?: string;\n\n private impressions: Product[] = [];\n\n private brandSuffix?: ConfigCompany['brandSuffix'];\n\n // TODO: Move this GTM initialize call to config, so gtm IDs are always in Client world\n static initialiseGTM(hotelConfig?: HasDatalayerTags) {\n const gtmIds = hotelConfig?.datalayer?.gtmIds;\n gtmIds.forEach((gtmId) => {\n TagManager.initialize({ gtmId });\n });\n }\n\n public setProviderHotelID(id: string) {\n this.providerHotelID = id;\n }\n\n public setHotelName(hotelName: string) {\n this.hotelName = hotelName;\n }\n\n public setCurrencyCodes(currentCurrencyCode: string, originalCurrencyCode?: string) {\n if (originalCurrencyCode) {\n this.originalCurrencyCode = originalCurrencyCode;\n }\n }\n\n public setBrandSuffix(brandSuffix?: ConfigCompany['brandSuffix']) {\n this.brandSuffix = brandSuffix;\n }\n\n generateProductInfo(room: Room, rate?: RoomRate, listPosition?: number, quantity?: number): Product {\n const price = rate ? rate.getAveragePrice() : room.getLowestPrice();\n const nameParts = [room.name];\n const idParts = [this.providerHotelID, room.code];\n if (rate) {\n nameParts.push(rate.name);\n idParts.push(rate.code);\n }\n\n const product: Product = {\n name: nameParts.join(' - '),\n id: idParts.join(' - '),\n price: price,\n brand: [this.hotelName, this.providerHotelID, this.brandSuffix].filter(Boolean).join(' - '),\n category: room.name,\n };\n\n if (rate) {\n product.variant = rate.name;\n }\n\n if (listPosition !== undefined) {\n product.list = 'BE List';\n product.position = listPosition;\n }\n\n if (quantity !== undefined) {\n product.quantity = quantity;\n }\n\n return product;\n }\n\n generateAddonProductInfo(addonRow: BasketAddonRow): Product {\n const addon = addonRow.getAddon();\n return {\n name: addon.name,\n id: addon.code,\n price: addonRow.getTotalPrice(),\n brand: [this.hotelName, this.providerHotelID, this.brandSuffix].filter(Boolean).join(' - '),\n category: addon.category,\n quantity: addonRow.getTotalQuantity(),\n };\n }\n\n addRoomImpression(room: Room) {\n const product = this.generateProductInfo(room, undefined, this.impressions.length + 1);\n this.log('room impression', product);\n this.impressions.push(product);\n }\n\n addRoomRateImpression(room: Room, rate: RoomRate) {\n const product = this.generateProductInfo(room, rate, this.impressions.length + 1);\n this.log('rate impression', product);\n this.impressions.push(product);\n }\n\n sendRoomImpressions() {\n this.log('sending ' + this.impressions.length + ' impressions');\n\n if (this.impressions.length > 0) {\n TagManager.dataLayer({\n dataLayer: {\n event: 'Product impressions',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n impressions: this.impressions,\n },\n },\n });\n\n this.impressions = [];\n }\n }\n\n sendRoomClick(room: Room, startDate: Dayjs, endDate: Dayjs) {\n const product = this.generateProductInfo(room);\n this.log('sending room rate click', product);\n TagManager.dataLayer({\n dataLayer: {\n event: 'productClick',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n click: {\n products: [product],\n },\n StartDate: startDate.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate.format(DATALAYER_DATE_FORMAT),\n },\n },\n });\n }\n\n sendAwayWindowOpen() {\n this.log('away window triggered');\n TagManager.dataLayer({\n dataLayer: {\n event: 'awayWindow',\n },\n });\n }\n\n sendRoomRateAddToCart(rate: RoomRate, quantity: number, startDate: Dayjs, endDate: Dayjs) {\n const product = this.generateProductInfo(rate.getRoom(), rate, undefined, quantity);\n this.log('sending room rate add to cart', product);\n TagManager.dataLayer({\n dataLayer: {\n event: 'addToCart',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n add: {\n products: [product],\n },\n StartDate: startDate.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate.format(DATALAYER_DATE_FORMAT),\n },\n },\n });\n }\n\n sendUpsellCancelled(rate: RoomRate) {\n const product = this.generateProductInfo(rate.getRoom(), rate, undefined, undefined);\n\n this.log('sending room upgrade cancellation event');\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'upsellCancelled',\n item: [product],\n },\n });\n }\n\n sendUpsellConfirmed(oldRate: RoomRate, newRate: RoomRate) {\n this.log('sending room upgrade notification');\n\n const oldProduct = this.generateProductInfo(oldRate.getRoom(), oldRate, undefined, undefined);\n const newProduct = this.generateProductInfo(newRate.getRoom(), newRate, undefined, undefined);\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'upsellConfirmed',\n priceDifference: newRate.getTotalPrice() - oldRate.getTotalPrice(),\n old: {\n products: [oldProduct],\n },\n new: {\n products: [newProduct],\n },\n },\n });\n }\n\n sendRoomView(startDate: Dayjs, endDate: Dayjs) {\n this.log('sending room view');\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'room',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n StartDate: startDate?.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate?.format(DATALAYER_DATE_FORMAT),\n PageType: 'offerdetail',\n },\n },\n });\n }\n\n sendCheckoutView(basketRows: BasketRow[], addonRows: BasketAddonRow[]) {\n const products: Product[] = [];\n\n let startDate: Dayjs;\n let endDate: Dayjs;\n\n basketRows.forEach((row) => {\n startDate = row.getStartDate();\n endDate = row.getEndDate();\n products.push(this.generateProductInfo(row.getRoom(), row.getRate(), undefined, row.getNumberOfDays()));\n });\n\n addonRows.forEach((row) => {\n products.push(this.generateAddonProductInfo(row));\n });\n\n this.log('sending checkout view', products);\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'checkout',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n checkout: {\n actionField: { step: 1 },\n products,\n },\n StartDate: startDate?.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate?.format(DATALAYER_DATE_FORMAT),\n PageType: 'conversionintent',\n },\n },\n });\n }\n\n sendReservationConfirmed(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO) {\n let i = 0;\n basketRows.forEach((row) => {\n const products = [this.generateProductInfo(row.getRoom(), row.getRate(), undefined, row.getNumberOfDays())];\n\n if (i === 0) {\n addonRows.forEach((addonRow) => {\n products.push(this.generateAddonProductInfo(addonRow));\n });\n }\n\n this.log('sending reservation confirmation', products);\n\n try {\n TagManager.dataLayer({\n dataLayer: {\n event: 'roomPurchase',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n purchase: {\n actionField: {\n id: reservations.reservations[i].reservationNumber,\n revenue: reservations.reservations[i].total.afterTax,\n tax: reservations.reservations[i].total.afterTax - reservations.reservations[i].total.beforeTax,\n coupon: row.getPromoCode(),\n },\n products,\n },\n StartDate: row.getStartDate().format(DATALAYER_DATE_FORMAT),\n EndDate: row.getEndDate().format(DATALAYER_DATE_FORMAT),\n BookingDate: dayjs().format(DATALAYER_DATE_FORMAT),\n PageType: 'conversion',\n paymentType: reservations.reservations[i].paymentMethod,\n },\n },\n });\n } catch (e) {\n Sentry.addBreadcrumb({\n level: Severity.Error,\n message: 'sending reservation confirmation failed',\n data: { ...reservations, index: i },\n });\n Sentry.captureException(e);\n }\n\n i++;\n });\n }\n\n sendMemberSignUp() {\n TagManager.dataLayer({\n dataLayer: {\n event: 'Email Sign up',\n },\n });\n }\n\n sendInteraction(name: string, type: InteractionType, step: InteractionStep) {\n const interaction = {\n 'Interaction Name': name,\n 'Interaction Type': type,\n 'Interaction Step': step,\n };\n\n this.log('sending interaction', interaction);\n\n TagManager.dataLayer({\n dataLayer: interaction,\n });\n }\n\n sendCancellation(reservationNumber: string) {\n this.log('sending cancellation for reservation ' + reservationNumber);\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'refund',\n ecommerce: {\n refund: {\n actionField: {\n id: reservationNumber,\n },\n },\n },\n },\n });\n }\n\n protected log(...output: any) {\n if (!this.enableLogging) {\n return;\n }\n\n console.log(\n '[DATALAYER]: ' +\n output\n .map((it: any) => {\n if (typeof it === 'object') {\n return JSON.stringify(it);\n }\n return it;\n })\n .join('; ')\n );\n }\n}\n\ntype Product = {\n name: string; // <Put the Room Variant here example - ‘BAE - Best Available Everyday - Superoo’>\n id: string; // <Put the SKU for Room variant here example - ‘62991 - VEK - 04BAE’>\n price: number; // <Put the PER DAY price of room>\n brand: string; // <Put the hotel brand here example - ‘Australia - Ovolo Woolloomooloo - 62991’>\n category: string; // <Put the Category of room here example - ‘Superoo’>\n variant?: string; // <Put the Variant of room here example - ‘BAE - Best Available Everyday - Prepaid Rate’>\n list?: string; // <Put ‘BE List’ if shown in Booking Engine else put ‘Hotel List’>\n position?: number; // <Put the position of hotel in the list here example 1’>\n quantity?: number; // <Put the rooms X nights>\n};\n\nexport enum InteractionType {\n NUMBER_INPUT = '+-widget',\n CALENDAR = 'Calendar',\n BUTTON = 'Button',\n DROPDOWN = 'Dropdown',\n LINK_DROPDOWN = 'Link dropdown',\n LINK = 'Link',\n FORM_FIELD = 'Form field',\n CHECKBOX = 'Checkbox',\n}\n\nexport enum InteractionStep {\n DATES = 'Dates',\n ROOMS = 'Rooms',\n GUEST_DETAILS = 'Guest Details',\n}\n"]}
1
+ {"version":3,"file":"DataLayer.js","sourceRoot":"/","sources":["src/util/DataLayer.ts"],"names":[],"mappings":"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","sourcesContent":["import TagManager from 'react-gtm-module';\nimport { RoomRate } from 'models/Room/RoomRate';\nimport { Room } from 'models/Room/Room';\nimport dayjs from 'dayjs';\nimport { Dayjs } from 'dayjs';\nimport BasketRow from 'models/BasketRow';\nimport BasketAddonRow from 'models/BasketAddonRow';\nimport ReservationsDTO from 'models/Api/ReservationsDTO';\nimport * as Sentry from '@sentry/browser';\nimport { Severity } from '@sentry/types';\nimport { ConfigCompany, HasDatalayerTags } from 'models/Client/Hotel/Company';\n\nconst DATALAYER_DATE_FORMAT = 'YYYY-M-D';\nexport default class DataLayer {\n static instance = new DataLayer();\n\n private enableLogging = true;\n\n private hotelName: string;\n private providerHotelID: string;\n\n private originalCurrencyCode?: string;\n\n private impressions: Product[] = [];\n\n private brandSuffix?: ConfigCompany['brandSuffix'];\n\n // TODO: Move this GTM initialize call to config, so gtm IDs are always in Client world\n static initialiseGTM(hotelConfig?: HasDatalayerTags) {\n const gtmIds = hotelConfig?.datalayer?.gtmIds;\n gtmIds.forEach((gtmId) => {\n TagManager.initialize({ gtmId });\n });\n }\n\n public setProviderHotelID(id: string) {\n this.providerHotelID = id;\n }\n\n public setHotelName(hotelName: string) {\n this.hotelName = hotelName;\n }\n\n public setCurrencyCodes(currentCurrencyCode: string, originalCurrencyCode?: string) {\n if (originalCurrencyCode) {\n this.originalCurrencyCode = originalCurrencyCode;\n }\n }\n\n public setBrandSuffix(brandSuffix?: ConfigCompany['brandSuffix']) {\n this.brandSuffix = brandSuffix;\n }\n\n generateProductInfo(room: Room, rate?: RoomRate, listPosition?: number, quantity?: number): Product {\n const price = rate ? rate.getAveragePrice() : room.getLowestPrice();\n const nameParts = [room.name];\n const idParts = [this.providerHotelID, room.code];\n if (rate) {\n nameParts.push(rate.name);\n idParts.push(rate.code);\n }\n\n const product: Product = {\n name: nameParts.join(' - '),\n id: idParts.join(' - '),\n price: price,\n brand: [this.hotelName, this.providerHotelID, this.brandSuffix].filter(Boolean).join(' - '),\n category: room.name,\n };\n\n if (rate) {\n product.variant = rate.name;\n }\n\n if (listPosition !== undefined) {\n product.list = 'BE List';\n product.position = listPosition;\n }\n\n if (quantity !== undefined) {\n product.quantity = quantity;\n }\n\n return product;\n }\n\n generateAddonProductInfo(addonRow: BasketAddonRow): Product {\n const addon = addonRow.getAddon();\n return {\n name: addon.name,\n id: addon.code,\n price: addonRow.getTotalPrice(),\n brand: [this.hotelName, this.providerHotelID, this.brandSuffix].filter(Boolean).join(' - '),\n category: addon.category,\n quantity: addonRow.getTotalQuantity(),\n };\n }\n\n addRoomImpression(room: Room) {\n const product = this.generateProductInfo(room, undefined, this.impressions.length + 1);\n this.log('room impression', product);\n this.impressions.push(product);\n }\n\n addRoomRateImpression(room: Room, rate: RoomRate) {\n const product = this.generateProductInfo(room, rate, this.impressions.length + 1);\n this.log('rate impression', product);\n this.impressions.push(product);\n }\n\n sendRoomImpressions() {\n this.log('sending ' + this.impressions.length + ' impressions');\n\n if (this.impressions.length > 0) {\n TagManager.dataLayer({\n dataLayer: {\n event: 'Product impressions',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n impressions: this.impressions,\n },\n },\n });\n\n this.impressions = [];\n }\n }\n\n sendRoomClick(room: Room, startDate: Dayjs, endDate: Dayjs) {\n const product = this.generateProductInfo(room);\n this.log('sending room rate click', product);\n TagManager.dataLayer({\n dataLayer: {\n event: 'productClick',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n click: {\n products: [product],\n },\n StartDate: startDate.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate.format(DATALAYER_DATE_FORMAT),\n },\n },\n });\n }\n\n sendAwayWindowOpen() {\n this.log('away window triggered');\n TagManager.dataLayer({\n dataLayer: {\n event: 'awayWindow',\n },\n });\n }\n\n sendRoomRateAddToCart(rate: RoomRate, quantity: number, startDate: Dayjs, endDate: Dayjs) {\n const product = this.generateProductInfo(rate.getRoom(), rate, undefined, quantity);\n this.log('sending room rate add to cart', product);\n TagManager.dataLayer({\n dataLayer: {\n event: 'addToCart',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n add: {\n products: [product],\n },\n StartDate: startDate.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate.format(DATALAYER_DATE_FORMAT),\n },\n },\n });\n }\n\n sendUpsellCancelled(rate: RoomRate) {\n const product = this.generateProductInfo(rate.getRoom(), rate, undefined, undefined);\n\n this.log('sending room upgrade cancellation event');\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'upsellCancelled',\n item: [product],\n },\n });\n }\n\n sendUpsellConfirmed(oldRate: RoomRate, newRate: RoomRate) {\n this.log('sending room upgrade notification');\n\n const oldProduct = this.generateProductInfo(oldRate.getRoom(), oldRate, undefined, undefined);\n const newProduct = this.generateProductInfo(newRate.getRoom(), newRate, undefined, undefined);\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'upsellConfirmed',\n priceDifference: newRate.getTotalPrice() - oldRate.getTotalPrice(),\n old: {\n products: [oldProduct],\n },\n new: {\n products: [newProduct],\n },\n },\n });\n }\n\n sendRoomView(startDate: Dayjs, endDate: Dayjs) {\n this.log('sending room view');\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'room',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n StartDate: startDate?.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate?.format(DATALAYER_DATE_FORMAT),\n PageType: 'offerdetail',\n },\n },\n });\n }\n\n sendCheckoutView(basketRows: BasketRow[], addonRows: BasketAddonRow[]) {\n const products: Product[] = [];\n\n let startDate: Dayjs;\n let endDate: Dayjs;\n\n basketRows.forEach((row) => {\n startDate = row.getStartDate();\n endDate = row.getEndDate();\n products.push(this.generateProductInfo(row.getRoom(), row.getRate(), undefined, row.getNumberOfDays()));\n });\n\n addonRows.forEach((row) => {\n products.push(this.generateAddonProductInfo(row));\n });\n\n this.log('sending checkout view', products);\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'checkout',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n checkout: {\n actionField: { step: 1 },\n products,\n },\n StartDate: startDate?.format(DATALAYER_DATE_FORMAT),\n EndDate: endDate?.format(DATALAYER_DATE_FORMAT),\n PageType: 'conversionintent',\n },\n },\n });\n }\n\n sendReservationConfirmed(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO) {\n let i = 0;\n basketRows.forEach((row) => {\n const products = [this.generateProductInfo(row.getRoom(), row.getRate(), undefined, row.getNumberOfDays())];\n\n if (i === 0) {\n addonRows.forEach((addonRow) => {\n products.push(this.generateAddonProductInfo(addonRow));\n });\n }\n\n this.log('sending reservation confirmation', products);\n\n try {\n TagManager.dataLayer({\n dataLayer: {\n event: 'roomPurchase',\n ecommerce: {\n currencyCode: this.originalCurrencyCode,\n purchase: {\n actionField: {\n id: reservations.reservations[i].reservationNumber,\n revenue: reservations.reservations[i].total.afterTax,\n tax: reservations.reservations[i].total.afterTax - reservations.reservations[i].total.beforeTax,\n coupon: row.getPromoCode(),\n },\n products,\n },\n StartDate: row.getStartDate().format(DATALAYER_DATE_FORMAT),\n EndDate: row.getEndDate().format(DATALAYER_DATE_FORMAT),\n BookingDate: dayjs().format(DATALAYER_DATE_FORMAT),\n PageType: 'conversion',\n paymentType: reservations.reservations[i].paymentMethod,\n },\n },\n });\n } catch (e) {\n Sentry.addBreadcrumb({\n level: Severity.Error,\n message: 'sending reservation confirmation failed',\n data: { ...reservations, index: i },\n });\n Sentry.captureException(e);\n }\n\n i++;\n });\n }\n\n sendMemberSignUp() {\n TagManager.dataLayer({\n dataLayer: {\n event: 'Email Sign up',\n },\n });\n }\n\n sendInteraction(name: string, type: InteractionType, step: InteractionStep) {\n const interaction = {\n 'Interaction Name': name,\n 'Interaction Type': type,\n 'Interaction Step': step,\n };\n\n this.log('sending interaction', interaction);\n\n TagManager.dataLayer({\n dataLayer: interaction,\n });\n }\n\n sendCancellation(reservationNumber: string) {\n this.log('sending cancellation for reservation ' + reservationNumber);\n\n TagManager.dataLayer({\n dataLayer: {\n event: 'refund',\n ecommerce: {\n refund: {\n actionField: {\n id: reservationNumber,\n },\n },\n },\n },\n });\n }\n\n protected log(...output: any) {\n if (!this.enableLogging) {\n return;\n }\n\n console.log(\n '[DATALAYER]: ' +\n output\n .map((it: any) => {\n if (typeof it === 'object') {\n return JSON.stringify(it);\n }\n return it;\n })\n .join('; ')\n );\n }\n}\n\ntype Product = {\n name: string; // <Put the Room Variant here example - ‘BAE - Best Available Everyday - Superoo’>\n id: string; // <Put the SKU for Room variant here example - ‘62991 - VEK - 04BAE’>\n price: number; // <Put the PER DAY price of room>\n brand: string; // <Put the hotel brand here example - ‘Australia - Ovolo Woolloomooloo - 62991’>\n category: string; // <Put the Category of room here example - ‘Superoo’>\n variant?: string; // <Put the Variant of room here example - ‘BAE - Best Available Everyday - Prepaid Rate’>\n list?: string; // <Put ‘BE List’ if shown in Booking Engine else put ‘Hotel List’>\n position?: number; // <Put the position of hotel in the list here example 1’>\n quantity?: number; // <Put the rooms X nights>\n};\n\nexport enum InteractionType {\n NUMBER_INPUT = '+-widget',\n CALENDAR = 'Calendar',\n BUTTON = 'Button',\n DROPDOWN = 'Dropdown',\n LINK_DROPDOWN = 'Link dropdown',\n LINK = 'Link',\n FORM_FIELD = 'Form field',\n CHECKBOX = 'Checkbox',\n}\n\nexport enum InteractionStep {\n DATES = 'Dates',\n ROOMS = 'Rooms',\n GUEST_DETAILS = 'Guest Details',\n}\n"]}
@@ -14,7 +14,7 @@ const mergeDeep = (target, source) => {
14
14
  newObject[key] = (0, exports.mergeDeep)(target === null || target === void 0 ? void 0 : target[key], source === null || source === void 0 ? void 0 : source[key]);
15
15
  }
16
16
  else
17
- Object.assign(newObject, { [key]: (source === null || source === void 0 ? void 0 : source[key]) || (target === null || target === void 0 ? void 0 : target[key]) });
17
+ Object.assign(newObject, { [key]: typeof (source === null || source === void 0 ? void 0 : source[key]) === 'string' ? source === null || source === void 0 ? void 0 : source[key] : (source === null || source === void 0 ? void 0 : source[key]) || (target === null || target === void 0 ? void 0 : target[key]) });
18
18
  }
19
19
  return newObject;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectHelper.js","sourceRoot":"/","sources":["src/util/ObjectHelper.ts"],"names":[],"mappings":";;;AAEO,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAW,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAA7F,QAAA,QAAQ,YAAqF;AACnG,MAAM,OAAO,GAAG,CAAC,IAAU,EAAY,EAAE,CAAC,CAAC,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAA9E,QAAA,OAAO,WAAuE;AACpF,MAAM,SAAS,GAAG,CAAmC,MAAuB,EAAE,MAAoC,EAA8B,EAAE;IACrJ,IAAI,IAAA,gBAAQ,EAAC,MAAM,CAAC,IAAI,IAAA,gBAAQ,EAAC,MAAM,CAAC,EAAE;QACtC,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACvB,IAAI,IAAA,gBAAQ,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,IAAI,IAAA,gBAAQ,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,EAAE;gBACpD,SAAS,CAAC,GAAG,CAAC,GAAG,IAAA,iBAAS,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,CAAC;aAC5D;;gBAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,MAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAA,EAAE,CAAC,CAAC;SAC9E;QACD,OAAO,SAAS,CAAC;KACpB;;QAAM,OAAO,MAAM,CAAC;AACzB,CAAC,CAAC;AAXW,QAAA,SAAS,aAWpB","sourcesContent":["import { DeepPartial } from 'react-hook-form';\n\nexport const isObject = (item?: any): boolean => item && typeof item === 'object' && !Array.isArray(item);\nexport const getKeys = (item?: any): string[] => (isObject(item) ? Object.keys(item) : []);\nexport const mergeDeep = <TObject extends Record<any, any>>(target?: TObject | null, source?: DeepPartial<TObject> | null): TObject | null | undefined => {\n if (isObject(target) || isObject(source)) {\n const newObject: Record<any, any> = {};\n const allKeys = getKeys(target).concat(getKeys(source));\n for (const key of allKeys) {\n if (isObject(source?.[key]) || isObject(target?.[key])) {\n newObject[key] = mergeDeep(target?.[key], source?.[key]);\n } else Object.assign(newObject, { [key]: source?.[key] || target?.[key] });\n }\n return newObject;\n } else return target;\n};\n"]}
1
+ {"version":3,"file":"ObjectHelper.js","sourceRoot":"/","sources":["src/util/ObjectHelper.ts"],"names":[],"mappings":";;;AAEO,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAW,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAA7F,QAAA,QAAQ,YAAqF;AACnG,MAAM,OAAO,GAAG,CAAC,IAAU,EAAY,EAAE,CAAC,CAAC,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAA9E,QAAA,OAAO,WAAuE;AACpF,MAAM,SAAS,GAAG,CAAmC,MAAuB,EAAE,MAAoC,EAA8B,EAAE;IACrJ,IAAI,IAAA,gBAAQ,EAAC,MAAM,CAAC,IAAI,IAAA,gBAAQ,EAAC,MAAM,CAAC,EAAE;QACtC,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACvB,IAAI,IAAA,gBAAQ,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,IAAI,IAAA,gBAAQ,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,EAAE;gBACpD,SAAS,CAAC,GAAG,CAAC,GAAG,IAAA,iBAAS,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,CAAC;aAC5D;;gBAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAA,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,MAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAA,EAAE,CAAC,CAAC;SAClI;QACD,OAAO,SAAS,CAAC;KACpB;;QAAM,OAAO,MAAM,CAAC;AACzB,CAAC,CAAC;AAXW,QAAA,SAAS,aAWpB","sourcesContent":["import { DeepPartial } from 'react-hook-form';\n\nexport const isObject = (item?: any): boolean => item && typeof item === 'object' && !Array.isArray(item);\nexport const getKeys = (item?: any): string[] => (isObject(item) ? Object.keys(item) : []);\nexport const mergeDeep = <TObject extends Record<any, any>>(target?: TObject | null, source?: DeepPartial<TObject> | null): TObject | null | undefined => {\n if (isObject(target) || isObject(source)) {\n const newObject: Record<any, any> = {};\n const allKeys = getKeys(target).concat(getKeys(source));\n for (const key of allKeys) {\n if (isObject(source?.[key]) || isObject(target?.[key])) {\n newObject[key] = mergeDeep(target?.[key], source?.[key]);\n } else Object.assign(newObject, { [key]: typeof source?.[key] === 'string' ? source?.[key] : source?.[key] || target?.[key] });\n }\n return newObject;\n } else return target;\n};\n"]}
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.mapCardTypeToGraphic = void 0;
4
7
  const PaymentCard_1 = require("models/PaymentCard");
5
- const RoomstayThemeEngine_1 = require("providers/RoomstayThemeEngine");
8
+ const RoomstayThemeEngine_1 = __importDefault(require("providers/RoomstayThemeEngine"));
6
9
  const CARD_ASSET_ROOT = 'assets/img/payment-cards';
7
10
  const mapCardTypeToGraphic = (type) => {
8
11
  switch (type) {
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentCardHelper.js","sourceRoot":"/","sources":["src/util/PaymentCardHelper.ts"],"names":[],"mappings":";;;AAAA,oDAA+C;AAC/C,uEAAgE;AAWhE,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAE5C,MAAM,oBAAoB,GAAG,CAAC,IAAe,EAAe,EAAE;IACjE,QAAQ,IAAI,EAAE;QACV,KAAK,uBAAS,CAAC,IAAI,CAAC;QACpB,KAAK,uBAAS,CAAC,YAAY,CAAC;QAC5B,KAAK,uBAAS,CAAC,UAAU,CAAC;QAC1B,KAAK,uBAAS,CAAC,OAAO,CAAC;QACvB,KAAK,uBAAS,CAAC,eAAe,CAAC;QAC/B,KAAK,uBAAS,CAAC,GAAG,CAAC;QACnB,KAAK,uBAAS,CAAC,UAAU,CAAC;QAC1B,KAAK,uBAAS,CAAC,QAAQ,CAAC;QACxB,KAAK,uBAAS,CAAC,MAAM;YACjB,MAAM,OAAO,GAAG,GAAG,6BAAmB,CAAC,WAAW,EAAE,GAAG,eAAe,IAAI,IAAI,GAAG,CAAC;YAElF,OAAO;gBACH,aAAa,EAAE,GAAG,OAAO,2BAA2B;gBACpD,WAAW,EAAE,GAAG,OAAO,UAAU;gBACjC,eAAe,EAAE,GAAG,OAAO,UAAU;gBACrC,WAAW,EAAE,GAAG,OAAO,eAAe;aACzC,CAAC;QACN,OAAO,CAAC,CAAC;YACL,MAAM,OAAO,GAAG,GAAG,6BAAmB,CAAC,WAAW,EAAE,GAAG,eAAe,SAAS,CAAC;YAEhF,OAAO;gBACH,aAAa,EAAE,GAAG,OAAO,2BAA2B;gBACpD,WAAW,EAAE,GAAG,OAAO,UAAU;gBACjC,eAAe,EAAE,GAAG,OAAO,UAAU;gBACrC,WAAW,EAAE,GAAG,OAAO,eAAe;aACzC,CAAC;SACL;KACJ;AACL,CAAC,CAAC;AA9BW,QAAA,oBAAoB,wBA8B/B","sourcesContent":["import { ECardType } from 'models/PaymentCard';\nimport RoomstayThemeEngine from 'providers/RoomstayThemeEngine';\n\ntype CardGraphic = {\n backgroundUrl: string;\n cardNameIconUrl: string;\n\n cardIconUrl: string;\n\n miniCardUrl: string;\n};\n\nconst CARD_ASSET_ROOT = 'assets/img/payment-cards';\n\nexport const mapCardTypeToGraphic = (type: ECardType): CardGraphic => {\n switch (type) {\n case ECardType.Visa:\n case ECardType.VisaElectron:\n case ECardType.Mastercard:\n case ECardType.Maestro:\n case ECardType.AmericanExpress:\n case ECardType.JCB:\n case ECardType.DinersClub:\n case ECardType.UnionPay:\n case ECardType.Switch:\n const urlRoot = `${RoomstayThemeEngine.getAssetUrl()}${CARD_ASSET_ROOT}/${type}/`;\n\n return {\n backgroundUrl: `${urlRoot}large-card-background.svg`,\n cardIconUrl: `${urlRoot}icon.svg`,\n cardNameIconUrl: `${urlRoot}logo.svg`,\n miniCardUrl: `${urlRoot}mini-card.svg`,\n };\n default: {\n const urlRoot = `${RoomstayThemeEngine.getAssetUrl()}${CARD_ASSET_ROOT}/empty/`;\n\n return {\n backgroundUrl: `${urlRoot}large-card-background.svg`,\n cardIconUrl: `${urlRoot}icon.svg`,\n cardNameIconUrl: `${urlRoot}logo.svg`,\n miniCardUrl: `${urlRoot}mini-card.svg`,\n };\n }\n }\n};\n"]}
1
+ {"version":3,"file":"PaymentCardHelper.js","sourceRoot":"/","sources":["src/util/PaymentCardHelper.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA+C;AAC/C,wFAAgE;AAWhE,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAE5C,MAAM,oBAAoB,GAAG,CAAC,IAAe,EAAe,EAAE;IACjE,QAAQ,IAAI,EAAE;QACV,KAAK,uBAAS,CAAC,IAAI,CAAC;QACpB,KAAK,uBAAS,CAAC,YAAY,CAAC;QAC5B,KAAK,uBAAS,CAAC,UAAU,CAAC;QAC1B,KAAK,uBAAS,CAAC,OAAO,CAAC;QACvB,KAAK,uBAAS,CAAC,eAAe,CAAC;QAC/B,KAAK,uBAAS,CAAC,GAAG,CAAC;QACnB,KAAK,uBAAS,CAAC,UAAU,CAAC;QAC1B,KAAK,uBAAS,CAAC,QAAQ,CAAC;QACxB,KAAK,uBAAS,CAAC,MAAM;YACjB,MAAM,OAAO,GAAG,GAAG,6BAAmB,CAAC,WAAW,EAAE,GAAG,eAAe,IAAI,IAAI,GAAG,CAAC;YAElF,OAAO;gBACH,aAAa,EAAE,GAAG,OAAO,2BAA2B;gBACpD,WAAW,EAAE,GAAG,OAAO,UAAU;gBACjC,eAAe,EAAE,GAAG,OAAO,UAAU;gBACrC,WAAW,EAAE,GAAG,OAAO,eAAe;aACzC,CAAC;QACN,OAAO,CAAC,CAAC;YACL,MAAM,OAAO,GAAG,GAAG,6BAAmB,CAAC,WAAW,EAAE,GAAG,eAAe,SAAS,CAAC;YAEhF,OAAO;gBACH,aAAa,EAAE,GAAG,OAAO,2BAA2B;gBACpD,WAAW,EAAE,GAAG,OAAO,UAAU;gBACjC,eAAe,EAAE,GAAG,OAAO,UAAU;gBACrC,WAAW,EAAE,GAAG,OAAO,eAAe;aACzC,CAAC;SACL;KACJ;AACL,CAAC,CAAC;AA9BW,QAAA,oBAAoB,wBA8B/B","sourcesContent":["import { ECardType } from 'models/PaymentCard';\nimport RoomstayThemeEngine from 'providers/RoomstayThemeEngine';\n\ntype CardGraphic = {\n backgroundUrl: string;\n cardNameIconUrl: string;\n\n cardIconUrl: string;\n\n miniCardUrl: string;\n};\n\nconst CARD_ASSET_ROOT = 'assets/img/payment-cards';\n\nexport const mapCardTypeToGraphic = (type: ECardType): CardGraphic => {\n switch (type) {\n case ECardType.Visa:\n case ECardType.VisaElectron:\n case ECardType.Mastercard:\n case ECardType.Maestro:\n case ECardType.AmericanExpress:\n case ECardType.JCB:\n case ECardType.DinersClub:\n case ECardType.UnionPay:\n case ECardType.Switch:\n const urlRoot = `${RoomstayThemeEngine.getAssetUrl()}${CARD_ASSET_ROOT}/${type}/`;\n\n return {\n backgroundUrl: `${urlRoot}large-card-background.svg`,\n cardIconUrl: `${urlRoot}icon.svg`,\n cardNameIconUrl: `${urlRoot}logo.svg`,\n miniCardUrl: `${urlRoot}mini-card.svg`,\n };\n default: {\n const urlRoot = `${RoomstayThemeEngine.getAssetUrl()}${CARD_ASSET_ROOT}/empty/`;\n\n return {\n backgroundUrl: `${urlRoot}large-card-background.svg`,\n cardIconUrl: `${urlRoot}icon.svg`,\n cardNameIconUrl: `${urlRoot}logo.svg`,\n miniCardUrl: `${urlRoot}mini-card.svg`,\n };\n }\n }\n};\n"]}
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  document.body.appendChild(document.createElement('dijiengine'));
4
- const RoomstayThemeEngine_1 = require("../../../src/providers/RoomstayThemeEngine");
7
+ const RoomstayThemeEngine_1 = __importDefault(require("../../../src/providers/RoomstayThemeEngine"));
5
8
  describe('Roomstay Theme Engine', () => {
6
9
  RoomstayThemeEngine_1.default.EngineContainer = document.createElement('div');
7
10
  beforeEach(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"RoomstayThemeEngine.test.js","sourceRoot":"/","sources":["tests/jest/engines/RoomstayThemeEngine.test.tsx"],"names":[],"mappings":";;AAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AAEhE,oFAA6E;AAE7E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACnC,6BAAmB,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAEpE,UAAU,CAAC,GAAG,EAAE;QACZ,6BAAmB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAEjC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAE7D,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtE,6BAAmB,CAAC,UAAU,CAAC,kDAAkD,EAAE,aAAa,CAAC,CAAC;YAElG,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC7D,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;YAC1E,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtE,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAExE,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YAC/C,6BAAmB,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAEpE,MAAM,SAAS,GAAG,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAE1F,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAC/E,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YAC/C,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAExE,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtE,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAExE,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["document.body.appendChild(document.createElement('dijiengine'));\n\nimport RoomstayThemeEngine from \"../../../src/providers/RoomstayThemeEngine\";\n\ndescribe('Roomstay Theme Engine', () => {\n RoomstayThemeEngine.EngineContainer = document.createElement('div');\n\n beforeEach(() => {\n RoomstayThemeEngine.init();\n });\n\n describe('Registering Scripts', () => {\n\n it('Appends a script based on url to the target container', () => {\n\n expect(RoomstayThemeEngine.ScriptContainer.childNodes.length).toBe(0);\n\n RoomstayThemeEngine.loadScript('https://notarealscript.com/wejustneedatestscript', 'cool script');\n\n expect(RoomstayThemeEngine.ScriptContainer.childNodes.length).toBe(1);\n });\n });\n\n describe('Finding Elements on the Dom created by Roomstay', () => {\n it('creates an element, and inserts it to the dom with a specific name', () => {\n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(2);\n\n RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n\n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(3);\n });\n\n it('creates a new node with a prefixed name', () => {\n RoomstayThemeEngine.ScriptContainer = document.createElement('div');\n\n const container = RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n \n expect(container.getAttribute('name').startsWith('roomstay')).toBeTruthy();\n })\n\n it('returns found node if it already exists', () => {\n RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n \n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(3);\n\n RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n\n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(3);\n });\n });\n});"]}
1
+ {"version":3,"file":"RoomstayThemeEngine.test.js","sourceRoot":"/","sources":["tests/jest/engines/RoomstayThemeEngine.test.tsx"],"names":[],"mappings":";;;;;AAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AAEhE,qGAA6E;AAE7E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACnC,6BAAmB,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAEpE,UAAU,CAAC,GAAG,EAAE;QACZ,6BAAmB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAEjC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAE7D,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtE,6BAAmB,CAAC,UAAU,CAAC,kDAAkD,EAAE,aAAa,CAAC,CAAC;YAElG,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC7D,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;YAC1E,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtE,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAExE,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YAC/C,6BAAmB,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAEpE,MAAM,SAAS,GAAG,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAE1F,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAC/E,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YAC/C,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAExE,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtE,6BAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAExE,MAAM,CAAC,6BAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["document.body.appendChild(document.createElement('dijiengine'));\n\nimport RoomstayThemeEngine from \"../../../src/providers/RoomstayThemeEngine\";\n\ndescribe('Roomstay Theme Engine', () => {\n RoomstayThemeEngine.EngineContainer = document.createElement('div');\n\n beforeEach(() => {\n RoomstayThemeEngine.init();\n });\n\n describe('Registering Scripts', () => {\n\n it('Appends a script based on url to the target container', () => {\n\n expect(RoomstayThemeEngine.ScriptContainer.childNodes.length).toBe(0);\n\n RoomstayThemeEngine.loadScript('https://notarealscript.com/wejustneedatestscript', 'cool script');\n\n expect(RoomstayThemeEngine.ScriptContainer.childNodes.length).toBe(1);\n });\n });\n\n describe('Finding Elements on the Dom created by Roomstay', () => {\n it('creates an element, and inserts it to the dom with a specific name', () => {\n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(2);\n\n RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n\n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(3);\n });\n\n it('creates a new node with a prefixed name', () => {\n RoomstayThemeEngine.ScriptContainer = document.createElement('div');\n\n const container = RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n \n expect(container.getAttribute('name').startsWith('roomstay')).toBeTruthy();\n })\n\n it('returns found node if it already exists', () => {\n RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n \n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(3);\n\n RoomstayThemeEngine.createElementOrReuseExisting('script', 'vgssource');\n\n expect(RoomstayThemeEngine.EngineContainer.childNodes.length).toBe(3);\n });\n });\n});"]}
@@ -8,11 +8,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  const events_1 = require("@frontend/events");
13
16
  const RoomstayEvent_1 = require("../../../src/events/RoomstayEvent");
14
- const RoomstayEventManager_1 = require("../../../src/events/RoomstayEventManager");
15
- const BasketRow_1 = require("../../../src/models/BasketRow");
17
+ const RoomstayEventManager_1 = __importDefault(require("../../../src/events/RoomstayEventManager"));
18
+ const BasketRow_1 = __importDefault(require("../../../src/models/BasketRow"));
16
19
  describe('Generic event manager tests', () => {
17
20
  describe('Adding new events', () => {
18
21
  it('Successfully adds a new event listener', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"EventManager.test.js","sourceRoot":"/","sources":["tests/jest/events/EventManager.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { AddToCartEvent, StepCheckoutViewEvent } from '@frontend/events';\nimport { RoomstayEvent } from '../../../src/events/RoomstayEvent';\nimport RoomstayEventManager from '../../../src/events/RoomstayEventManager';\nimport BasketRow from '../../../src/models/BasketRow';\n\ndescribe('Generic event manager tests', () => {\n describe('Adding new events', () => {\n it('Successfully adds a new event listener', () => {\n const addResponse = RoomstayEventManager.addEvent(RoomstayEvent, async () => true);\n\n expect(addResponse).toBe(true);\n });\n\n it('Fails to add a new event listener without a callback', () => {\n //@ts-ignore\n const addResponse = RoomstayEventManager.addEvent('');\n\n expect(addResponse).toBe(false);\n });\n\n it('Fails to add a new event listener that is not callable', () => {\n //@ts-ignore\n const addResponse = RoomstayEventManager.addEvent('', 'things');\n\n console.log(StepCheckoutViewEvent.getLabel());\n\n expect(addResponse).toBe(false);\n });\n\n it('Is possible to add an event listener by name, or class', async () => {\n const callbackForClass = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n const callbackForString = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n RoomstayEventManager.addEvent(AddToCartEvent, callbackForClass);\n RoomstayEventManager.addEvent('Basket/Add', callbackForString);\n\n const basketAddEvent = new AddToCartEvent(new BasketRow(), []);\n await RoomstayEventManager.raise(basketAddEvent);\n\n expect(callbackForClass).toHaveBeenCalled();\n expect(callbackForString).toHaveBeenCalled();\n });\n\n it('Does not crash the rest of the app if one of the event listeners dies', async () => {\n const callback = async () => {\n throw new Error('Deliberate failure!');\n };\n\n RoomstayEventManager.addEvent(RoomstayEvent, callback);\n\n const event = new RoomstayEvent();\n\n expect(\n (async () => {\n await RoomstayEventManager.raise(event);\n })()\n ).resolves.not.toThrowError();\n });\n });\n\n describe('Raising events', () => {\n it('Successfully calls a raised event', async () => {\n const callback = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n RoomstayEventManager.addEvent(RoomstayEvent, callback);\n\n const newEvent = new RoomstayEvent();\n\n await RoomstayEventManager.raise(newEvent);\n\n expect(callback).toHaveBeenCalled();\n });\n\n it('Successfully calls all raised events, not just the first', async () => {\n const callback = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n const callback2 = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n RoomstayEventManager.addEvent(RoomstayEvent, callback);\n RoomstayEventManager.addEvent(RoomstayEvent, callback2);\n\n const newEvent = new RoomstayEvent();\n await RoomstayEventManager.raise(newEvent);\n\n expect(callback).toHaveBeenCalled();\n expect(callback2).toHaveBeenCalled();\n });\n\n it('Throws an exception if an improper object is passed to raise event function', async () => {\n const raiseResponseNoPrototype = RoomstayEventManager.raise('');\n\n expect(raiseResponseNoPrototype).rejects.toThrowError();\n\n const raiseResponseNoGetLabel = RoomstayEventManager.raise({});\n expect(raiseResponseNoGetLabel).rejects.toThrowError();\n });\n\n it(\"Does not add event listener, if it's not possible to get a label\", async () => {\n //@ts-ignore\n const addResponse = RoomstayEventManager.addEvent({}, () => {});\n\n expect(addResponse).toBeFalsy();\n\n //@ts-ignore\n const undefinedAddResponse = RoomstayEventManager.addEvent(undefined, () => {});\n expect(undefinedAddResponse).toBeFalsy();\n });\n });\n});\n"]}
1
+ {"version":3,"file":"EventManager.test.js","sourceRoot":"/","sources":["tests/jest/events/EventManager.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { AddToCartEvent, StepCheckoutViewEvent } from '@frontend/events';\nimport { RoomstayEvent } from '../../../src/events/RoomstayEvent';\nimport RoomstayEventManager from '../../../src/events/RoomstayEventManager';\nimport BasketRow from '../../../src/models/BasketRow';\n\ndescribe('Generic event manager tests', () => {\n describe('Adding new events', () => {\n it('Successfully adds a new event listener', () => {\n const addResponse = RoomstayEventManager.addEvent(RoomstayEvent, async () => true);\n\n expect(addResponse).toBe(true);\n });\n\n it('Fails to add a new event listener without a callback', () => {\n //@ts-ignore\n const addResponse = RoomstayEventManager.addEvent('');\n\n expect(addResponse).toBe(false);\n });\n\n it('Fails to add a new event listener that is not callable', () => {\n //@ts-ignore\n const addResponse = RoomstayEventManager.addEvent('', 'things');\n\n console.log(StepCheckoutViewEvent.getLabel());\n\n expect(addResponse).toBe(false);\n });\n\n it('Is possible to add an event listener by name, or class', async () => {\n const callbackForClass = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n const callbackForString = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n RoomstayEventManager.addEvent(AddToCartEvent, callbackForClass);\n RoomstayEventManager.addEvent('Basket/Add', callbackForString);\n\n const basketAddEvent = new AddToCartEvent(new BasketRow(), []);\n await RoomstayEventManager.raise(basketAddEvent);\n\n expect(callbackForClass).toHaveBeenCalled();\n expect(callbackForString).toHaveBeenCalled();\n });\n\n it('Does not crash the rest of the app if one of the event listeners dies', async () => {\n const callback = async () => {\n throw new Error('Deliberate failure!');\n };\n\n RoomstayEventManager.addEvent(RoomstayEvent, callback);\n\n const event = new RoomstayEvent();\n\n expect(\n (async () => {\n await RoomstayEventManager.raise(event);\n })()\n ).resolves.not.toThrowError();\n });\n });\n\n describe('Raising events', () => {\n it('Successfully calls a raised event', async () => {\n const callback = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n RoomstayEventManager.addEvent(RoomstayEvent, callback);\n\n const newEvent = new RoomstayEvent();\n\n await RoomstayEventManager.raise(newEvent);\n\n expect(callback).toHaveBeenCalled();\n });\n\n it('Successfully calls all raised events, not just the first', async () => {\n const callback = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n const callback2 = jest.fn(async (event: RoomstayEvent) => {\n return true;\n });\n\n RoomstayEventManager.addEvent(RoomstayEvent, callback);\n RoomstayEventManager.addEvent(RoomstayEvent, callback2);\n\n const newEvent = new RoomstayEvent();\n await RoomstayEventManager.raise(newEvent);\n\n expect(callback).toHaveBeenCalled();\n expect(callback2).toHaveBeenCalled();\n });\n\n it('Throws an exception if an improper object is passed to raise event function', async () => {\n const raiseResponseNoPrototype = RoomstayEventManager.raise('');\n\n expect(raiseResponseNoPrototype).rejects.toThrowError();\n\n const raiseResponseNoGetLabel = RoomstayEventManager.raise({});\n expect(raiseResponseNoGetLabel).rejects.toThrowError();\n });\n\n it(\"Does not add event listener, if it's not possible to get a label\", async () => {\n //@ts-ignore\n const addResponse = RoomstayEventManager.addEvent({}, () => {});\n\n expect(addResponse).toBeFalsy();\n\n //@ts-ignore\n const undefinedAddResponse = RoomstayEventManager.addEvent(undefined, () => {});\n expect(undefinedAddResponse).toBeFalsy();\n });\n });\n});\n"]}
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  require("../../../src/api/BookingAPI");
4
7
  const RoomRate_1 = require("../../../src/models/Room/RoomRate");
5
- const dayjs = require("dayjs");
8
+ const dayjs_1 = __importDefault(require("dayjs"));
6
9
  const roomNightFactory = (obj) => {
7
- const partial = Object.assign({ date: dayjs(), cost: '0', tax: '0', fee: '0', discount: '0', available: '0', total: '0' }, obj);
10
+ const partial = Object.assign({ date: (0, dayjs_1.default)(), cost: '0', tax: '0', fee: '0', discount: '0', available: '0', total: '0' }, obj);
8
11
  partial.total = [partial.cost, partial.tax, partial.fee].reduce((previousValue, currentValue) => {
9
12
  return parseFloat(previousValue) + parseFloat(currentValue) + '';
10
13
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RoomRate.test.js","sourceRoot":"/","sources":["tests/jest/models/RoomRate.test.ts"],"names":[],"mappings":"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","sourcesContent":["import '../../../src/api/BookingAPI';\n\nimport RoomNight from '../../../src/models/Room/RoomRateNight';\nimport { RoomRate, RoomRatePriceInclusion } from '../../../src/models/Room/RoomRate';\nimport * as dayjs from 'dayjs';\nimport RoomRateNight from '../../../src/models/Room/RoomRateNight';\n\nconst roomNightFactory = (obj: Partial<RoomNight>): RoomNight => {\n const partial = {\n date: dayjs(),\n cost: '0',\n tax: '0',\n fee: '0',\n discount: '0',\n available: '0',\n total: '0',\n\n ...obj,\n };\n\n partial.total = [partial.cost, partial.tax, partial.fee].reduce((previousValue, currentValue) => {\n return parseFloat(previousValue) + parseFloat(currentValue) + '';\n });\n\n return partial as RoomNight;\n};\n\nconst roomRateFactory = (name: string, code: string, nightRates: { [date: string]: RoomRateNight }, description?: string, isMemberOnly?: boolean) => {\n return RoomRate.fromData({\n name,\n code,\n nightRates,\n description,\n isMemberOnly,\n });\n};\n\nconst rateIncludingFeesAndTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n }),\n});\n\nconst rateExcludingFeesAndTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n fee: '20',\n tax: '20',\n }),\n});\n\nconst rateExcludingTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n fee: '20',\n }),\n});\n\nconst rateExcludingFees = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n tax: '20',\n }),\n});\n\nconst rateWithTaxLast = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n }),\n '21/06/2022': roomNightFactory({\n cost: '20',\n fee: '10',\n }),\n});\n\nconst rateWithDiscountApplied = roomRateFactory('Rate with Tax', 'DISCOUNT', {\n '20/06/22': roomNightFactory({\n cost: '50',\n fee: '20',\n discount: '15',\n }),\n '21/06/22': roomNightFactory({\n cost: '90',\n fee: '20',\n discount: '15',\n }),\n});\n\nconst memberOnlyRate = roomRateFactory('MOD Rate', 'MOD', {}, '', true);\n\ndescribe('Room Rate logic', () => {\n describe('Room Rate Tax Inclusion', () => {\n it('Returns correct pricing type for each rate', () => {\n expect(rateIncludingFeesAndTaxes.getPriceType()).toBe(RoomRatePriceInclusion.IncludingFeesAndTaxes);\n\n expect(rateExcludingFeesAndTaxes.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingFeesAndTaxes);\n\n expect(rateExcludingTaxes.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingTaxes);\n\n expect(rateExcludingFees.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingFees);\n });\n\n it('Accurately picks up the correct average pricing type if more than one night is selected', () => {\n expect(rateWithTaxLast.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingTaxes);\n });\n });\n\n describe('Total Price Calculations', () => {\n it('Calculates total price, with tax & fee inclusions', () => {\n expect(rateWithTaxLast.getTotalPrice()).toBe(50);\n });\n\n it('Calculates total cost, without tax & fee inclusions', () => {\n expect(rateWithTaxLast.getTotalPrice(true)).toBe(40);\n });\n });\n\n describe('Average Price Calculations', () => {\n it('Calculates average price, with tax & fee inclusions', () => {\n expect(rateWithTaxLast.getAveragePrice()).toBe(25);\n });\n\n it('Calculates total cost, without tax & fee inclusions', () => {\n expect(rateWithTaxLast.getAveragePrice(true)).toBe(20);\n });\n });\n\n describe('Total Price With Discount', () => {\n it('Returns Total price Before Discount applied', () => {\n expect(rateWithDiscountApplied.getTotalPriceBeforeDiscount()).toBe(210);\n });\n\n it('Returns total cost before Discount is applied', () => {\n expect(rateWithDiscountApplied.getTotalPriceBeforeDiscount(true)).toBe(170);\n });\n });\n\n describe('Average Price With Discount', () => {\n it('Returns Total price Before Discount applied', () => {\n expect(rateWithDiscountApplied.getAveragePriceBeforeDiscount()).toBe(105);\n });\n\n it('Returns total cost before Discount is applied', () => {\n expect(rateWithDiscountApplied.getAveragePriceBeforeDiscount(true)).toBe(85);\n });\n });\n\n describe('Sort Value', () => {\n it('Sort Value to be the average price', () => {\n expect(rateWithDiscountApplied.getSortValue()).toBe(90);\n });\n });\n\n describe('Total fees included', () => {\n it('Displays the full only fees ammount', () => {\n expect(rateExcludingFeesAndTaxes.getTotalFees()).toBe(20);\n expect(rateWithDiscountApplied.getTotalFees()).toBe(40);\n });\n });\n\n describe('Total Taxes included', () => {\n it('Displays the full only tax ammount', () => {\n expect(rateExcludingFeesAndTaxes.getTotalTaxes()).toBe(20);\n expect(rateWithDiscountApplied.getTotalTaxes()).toBe(0);\n });\n });\n});\n"]}
1
+ {"version":3,"file":"RoomRate.test.js","sourceRoot":"/","sources":["tests/jest/models/RoomRate.test.ts"],"names":[],"mappings":"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","sourcesContent":["import '../../../src/api/BookingAPI';\n\nimport RoomNight from '../../../src/models/Room/RoomRateNight';\nimport { RoomRate, RoomRatePriceInclusion } from '../../../src/models/Room/RoomRate';\nimport dayjs from 'dayjs';\nimport RoomRateNight from '../../../src/models/Room/RoomRateNight';\n\nconst roomNightFactory = (obj: Partial<RoomNight>): RoomNight => {\n const partial = {\n date: dayjs(),\n cost: '0',\n tax: '0',\n fee: '0',\n discount: '0',\n available: '0',\n total: '0',\n\n ...obj,\n };\n\n partial.total = [partial.cost, partial.tax, partial.fee].reduce((previousValue, currentValue) => {\n return parseFloat(previousValue) + parseFloat(currentValue) + '';\n });\n\n return partial as RoomNight;\n};\n\nconst roomRateFactory = (name: string, code: string, nightRates: { [date: string]: RoomRateNight }, description?: string, isMemberOnly?: boolean) => {\n return RoomRate.fromData({\n name,\n code,\n nightRates,\n description,\n isMemberOnly,\n });\n};\n\nconst rateIncludingFeesAndTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n }),\n});\n\nconst rateExcludingFeesAndTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n fee: '20',\n tax: '20',\n }),\n});\n\nconst rateExcludingTaxes = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n fee: '20',\n }),\n});\n\nconst rateExcludingFees = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n tax: '20',\n }),\n});\n\nconst rateWithTaxLast = roomRateFactory('Generic Rate', 'ABCD', {\n '20/06/2022': roomNightFactory({\n cost: '20',\n }),\n '21/06/2022': roomNightFactory({\n cost: '20',\n fee: '10',\n }),\n});\n\nconst rateWithDiscountApplied = roomRateFactory('Rate with Tax', 'DISCOUNT', {\n '20/06/22': roomNightFactory({\n cost: '50',\n fee: '20',\n discount: '15',\n }),\n '21/06/22': roomNightFactory({\n cost: '90',\n fee: '20',\n discount: '15',\n }),\n});\n\nconst memberOnlyRate = roomRateFactory('MOD Rate', 'MOD', {}, '', true);\n\ndescribe('Room Rate logic', () => {\n describe('Room Rate Tax Inclusion', () => {\n it('Returns correct pricing type for each rate', () => {\n expect(rateIncludingFeesAndTaxes.getPriceType()).toBe(RoomRatePriceInclusion.IncludingFeesAndTaxes);\n\n expect(rateExcludingFeesAndTaxes.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingFeesAndTaxes);\n\n expect(rateExcludingTaxes.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingTaxes);\n\n expect(rateExcludingFees.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingFees);\n });\n\n it('Accurately picks up the correct average pricing type if more than one night is selected', () => {\n expect(rateWithTaxLast.getPriceType()).toBe(RoomRatePriceInclusion.ExcludingTaxes);\n });\n });\n\n describe('Total Price Calculations', () => {\n it('Calculates total price, with tax & fee inclusions', () => {\n expect(rateWithTaxLast.getTotalPrice()).toBe(50);\n });\n\n it('Calculates total cost, without tax & fee inclusions', () => {\n expect(rateWithTaxLast.getTotalPrice(true)).toBe(40);\n });\n });\n\n describe('Average Price Calculations', () => {\n it('Calculates average price, with tax & fee inclusions', () => {\n expect(rateWithTaxLast.getAveragePrice()).toBe(25);\n });\n\n it('Calculates total cost, without tax & fee inclusions', () => {\n expect(rateWithTaxLast.getAveragePrice(true)).toBe(20);\n });\n });\n\n describe('Total Price With Discount', () => {\n it('Returns Total price Before Discount applied', () => {\n expect(rateWithDiscountApplied.getTotalPriceBeforeDiscount()).toBe(210);\n });\n\n it('Returns total cost before Discount is applied', () => {\n expect(rateWithDiscountApplied.getTotalPriceBeforeDiscount(true)).toBe(170);\n });\n });\n\n describe('Average Price With Discount', () => {\n it('Returns Total price Before Discount applied', () => {\n expect(rateWithDiscountApplied.getAveragePriceBeforeDiscount()).toBe(105);\n });\n\n it('Returns total cost before Discount is applied', () => {\n expect(rateWithDiscountApplied.getAveragePriceBeforeDiscount(true)).toBe(85);\n });\n });\n\n describe('Sort Value', () => {\n it('Sort Value to be the average price', () => {\n expect(rateWithDiscountApplied.getSortValue()).toBe(90);\n });\n });\n\n describe('Total fees included', () => {\n it('Displays the full only fees ammount', () => {\n expect(rateExcludingFeesAndTaxes.getTotalFees()).toBe(20);\n expect(rateWithDiscountApplied.getTotalFees()).toBe(40);\n });\n });\n\n describe('Total Taxes included', () => {\n it('Displays the full only tax ammount', () => {\n expect(rateExcludingFeesAndTaxes.getTotalTaxes()).toBe(20);\n expect(rateWithDiscountApplied.getTotalTaxes()).toBe(0);\n });\n });\n});\n"]}
@@ -14,6 +14,17 @@ describe('Language Provider', () => {
14
14
  expect(i18nLanguages[src_1.Language.en_us].translation.Navigation.Back).toEqual('hello');
15
15
  expect(i18nLanguages[src_1.Language.en_us].translation.Navigation.FindReservation).toEqual('Find reservations');
16
16
  });
17
+ it('it should update if empty string', () => {
18
+ const override = {
19
+ Navigation: {
20
+ Back: '',
21
+ },
22
+ };
23
+ src_1.LanguageProvider.registerOverride(src_1.Language.en_us, override);
24
+ const i18nLanguages = src_1.LanguageProvider.getI18nMappedLanguages();
25
+ expect(i18nLanguages[src_1.Language.en_us].translation.Navigation.Back).toEqual('');
26
+ expect(i18nLanguages[src_1.Language.en_us].translation.Navigation.FindReservation).toEqual('Find reservations');
27
+ });
17
28
  });
18
29
  });
19
30
  //# sourceMappingURL=LanguageProvider.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LanguageProvider.test.js","sourceRoot":"/","sources":["tests/jest/providers/LanguageProvider.test.ts"],"names":[],"mappings":";;AAAA,sCAAuE;AAEvE,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACtC,MAAM,QAAQ,GAAsC;gBAChD,UAAU,EAAE;oBACR,IAAI,EAAE,OAAO;iBAChB;aACJ,CAAC;YAEF,sBAAgB,CAAC,gBAAgB,CAAC,cAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE5D,MAAM,aAAa,GAAG,sBAAgB,CAAC,sBAAsB,EAAE,CAAC;YAEhE,MAAM,CAAC,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnF,MAAM,CAAC,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { Language, LanguageProvider, Translation } from '../../../src';\n\ndescribe('Language Provider', () => {\n describe('Language Overrides', () => {\n it('merges language files together', () => {\n const override: Partial<typeof Translation> | any = {\n Navigation: {\n Back: 'hello',\n },\n };\n\n LanguageProvider.registerOverride(Language.en_us, override);\n\n const i18nLanguages = LanguageProvider.getI18nMappedLanguages();\n\n expect(i18nLanguages[Language.en_us].translation.Navigation.Back).toEqual('hello');\n expect(i18nLanguages[Language.en_us].translation.Navigation.FindReservation).toEqual('Find reservations');\n });\n });\n});\n"]}
1
+ {"version":3,"file":"LanguageProvider.test.js","sourceRoot":"/","sources":["tests/jest/providers/LanguageProvider.test.ts"],"names":[],"mappings":";;AAAA,sCAAuE;AAEvE,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACtC,MAAM,QAAQ,GAAsC;gBAChD,UAAU,EAAE;oBACR,IAAI,EAAE,OAAO;iBAChB;aACJ,CAAC;YAEF,sBAAgB,CAAC,gBAAgB,CAAC,cAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE5D,MAAM,aAAa,GAAG,sBAAgB,CAAC,sBAAsB,EAAE,CAAC;YAEhE,MAAM,CAAC,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnF,MAAM,CAAC,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,MAAM,QAAQ,GAAsC;gBAChD,UAAU,EAAE;oBACR,IAAI,EAAE,EAAE;iBACX;aACJ,CAAC;YAEF,sBAAgB,CAAC,gBAAgB,CAAC,cAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE5D,MAAM,aAAa,GAAG,sBAAgB,CAAC,sBAAsB,EAAE,CAAC;YAEhE,MAAM,CAAC,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9E,MAAM,CAAC,aAAa,CAAC,cAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { Language, LanguageProvider, Translation } from '../../../src';\n\ndescribe('Language Provider', () => {\n describe('Language Overrides', () => {\n it('merges language files together', () => {\n const override: Partial<typeof Translation> | any = {\n Navigation: {\n Back: 'hello',\n },\n };\n\n LanguageProvider.registerOverride(Language.en_us, override);\n\n const i18nLanguages = LanguageProvider.getI18nMappedLanguages();\n\n expect(i18nLanguages[Language.en_us].translation.Navigation.Back).toEqual('hello');\n expect(i18nLanguages[Language.en_us].translation.Navigation.FindReservation).toEqual('Find reservations');\n });\n it('it should update if empty string', () => {\n const override: Partial<typeof Translation> | any = {\n Navigation: {\n Back: '',\n },\n };\n\n LanguageProvider.registerOverride(Language.en_us, override);\n\n const i18nLanguages = LanguageProvider.getI18nMappedLanguages();\n\n expect(i18nLanguages[Language.en_us].translation.Navigation.Back).toEqual('');\n expect(i18nLanguages[Language.en_us].translation.Navigation.FindReservation).toEqual('Find reservations');\n });\n });\n});\n"]}