@roomstay/frontend 2.6.84 → 2.6.86-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (861) hide show
  1. package/dist/177.bundle.js +1 -1
  2. package/dist/288.bundle.js +1 -1
  3. package/dist/370.bundle.js +1 -1
  4. package/dist/380.bundle.js +1 -0
  5. package/dist/430.bundle.js +1 -1
  6. package/dist/449.bundle.js +1 -1
  7. package/dist/456.bundle.js +1 -0
  8. package/dist/535.bundle.js +1 -1
  9. package/dist/537.bundle.js +1 -1
  10. package/dist/978.bundle.js +1 -1
  11. package/dist/e2e/canChangeCurrency.spec.js +1 -1
  12. package/dist/e2e/canChangeCurrency.spec.js.map +1 -1
  13. package/dist/e2e/canCheckout.spec.js +3 -3
  14. package/dist/e2e/canCheckout.spec.js.map +1 -1
  15. package/dist/e2e/canViewFindReservationsPage.spec.js +1 -1
  16. package/dist/e2e/canViewFindReservationsPage.spec.js.map +1 -1
  17. package/dist/e2e/canViewHotelnfoPage.spec.js +1 -1
  18. package/dist/e2e/canViewHotelnfoPage.spec.js.map +1 -1
  19. package/dist/e2e/goBackAndCheckoutAgain.spec.js +1 -1
  20. package/dist/e2e/goBackAndCheckoutAgain.spec.js.map +1 -1
  21. package/dist/e2e/helpers/checkoutHelpers.js +9 -8
  22. package/dist/e2e/helpers/checkoutHelpers.js.map +1 -1
  23. package/dist/e2e/helpers/playwrightHelpers.js +2 -1
  24. package/dist/e2e/helpers/playwrightHelpers.js.map +1 -1
  25. package/dist/e2e/price.spec.js +3 -3
  26. package/dist/e2e/price.spec.js.map +1 -1
  27. package/dist/main.bundle.js +1 -1
  28. package/dist/src/animations/AutoAutoHeight.js +8 -18
  29. package/dist/src/animations/AutoAutoHeight.js.map +1 -1
  30. package/dist/src/animations/Fade.js +7 -17
  31. package/dist/src/animations/Fade.js.map +1 -1
  32. package/dist/src/api/AddonAPI.js +7 -17
  33. package/dist/src/api/AddonAPI.js.map +1 -1
  34. package/dist/src/api/AvailabilityAPI.d.ts +6 -13
  35. package/dist/src/api/AvailabilityAPI.js +105 -148
  36. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  37. package/dist/src/api/BaseAPI.js +6 -6
  38. package/dist/src/api/BaseAPI.js.map +1 -1
  39. package/dist/src/api/ErrorAPI.js.map +1 -1
  40. package/dist/src/api/ExchangeRateAPI.js.map +1 -1
  41. package/dist/src/api/HotelAPI.d.ts +1 -1
  42. package/dist/src/api/HotelAPI.js.map +1 -1
  43. package/dist/src/api/MemberAPI.js +7 -17
  44. package/dist/src/api/MemberAPI.js.map +1 -1
  45. package/dist/src/api/ReservationAPI.d.ts +3 -2
  46. package/dist/src/api/ReservationAPI.js +10 -21
  47. package/dist/src/api/ReservationAPI.js.map +1 -1
  48. package/dist/src/api/SessionAPI.js +7 -17
  49. package/dist/src/api/SessionAPI.js.map +1 -1
  50. package/dist/src/api/TrueRewardsAPI.js.map +1 -1
  51. package/dist/src/api/events-service/EventsServiceAPI.js.map +1 -1
  52. package/dist/src/api/members-service/MembersServiceAPI.d.ts +1 -1
  53. package/dist/src/components/Event/EventCarouselContainer.js +7 -17
  54. package/dist/src/components/Event/EventCarouselContainer.js.map +1 -1
  55. package/dist/src/components/User/Forms/ForgotPasswordForm.js +7 -17
  56. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  57. package/dist/src/components/User/Forms/SignInForm.js +7 -17
  58. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  59. package/dist/src/components/User/Forms/SignUpForm.js +7 -17
  60. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  61. package/dist/src/components/User/Forms/VerifyEmailForm.js +7 -17
  62. package/dist/src/components/User/Forms/VerifyEmailForm.js.map +1 -1
  63. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js +7 -17
  64. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js.map +1 -1
  65. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js +7 -17
  66. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js.map +1 -1
  67. package/dist/src/components/generic/Alert.js +3 -3
  68. package/dist/src/components/generic/Alert.js.map +1 -1
  69. package/dist/src/components/generic/BEButton.d.ts +0 -1
  70. package/dist/src/components/generic/BEButton.js +9 -20
  71. package/dist/src/components/generic/BEButton.js.map +1 -1
  72. package/dist/src/components/generic/BackButton.js +1 -1
  73. package/dist/src/components/generic/BackButton.js.map +1 -1
  74. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +9 -18
  75. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  76. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +2 -1
  77. package/dist/src/components/generic/BookingWizard/BookingWizard.js +46 -28
  78. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  79. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +6 -4
  80. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +43 -21
  81. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  82. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +9 -0
  83. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
  84. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +2 -1
  85. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +9 -19
  86. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  87. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +2 -5
  88. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +10 -20
  89. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  90. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +11 -21
  91. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  92. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js +7 -17
  93. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js.map +1 -1
  94. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.d.ts +15 -0
  95. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js +135 -0
  96. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js.map +1 -0
  97. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +7 -17
  98. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
  99. package/dist/src/components/generic/Checkbox/Checkbox.js +7 -17
  100. package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
  101. package/dist/src/components/generic/Countdown.js +8 -18
  102. package/dist/src/components/generic/Countdown.js.map +1 -1
  103. package/dist/src/components/generic/Currency.js +8 -18
  104. package/dist/src/components/generic/Currency.js.map +1 -1
  105. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +8 -18
  106. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
  107. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +9 -19
  108. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -1
  109. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +8 -18
  110. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -1
  111. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +8 -18
  112. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -1
  113. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +7 -17
  114. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
  115. package/dist/src/components/generic/Distance.js +8 -18
  116. package/dist/src/components/generic/Distance.js.map +1 -1
  117. package/dist/src/components/generic/Event/EventCard.js +7 -17
  118. package/dist/src/components/generic/Event/EventCard.js.map +1 -1
  119. package/dist/src/components/generic/Event/EventCarousel.js +7 -17
  120. package/dist/src/components/generic/Event/EventCarousel.js.map +1 -1
  121. package/dist/src/components/generic/ForwardedSelect.js +7 -17
  122. package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
  123. package/dist/src/components/generic/GroupedCheckInOutTimes/GroupedCheckInOutTimes.js.map +1 -1
  124. package/dist/src/components/generic/Headline.js +1 -1
  125. package/dist/src/components/generic/Headline.js.map +1 -1
  126. package/dist/src/components/generic/HtmlContentViewer.js +7 -17
  127. package/dist/src/components/generic/HtmlContentViewer.js.map +1 -1
  128. package/dist/src/components/generic/IconText/IconText.js +9 -19
  129. package/dist/src/components/generic/IconText/IconText.js.map +1 -1
  130. package/dist/src/components/generic/InputGroup/InputGroup.js +1 -1
  131. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  132. package/dist/src/components/generic/LineBreak.js +1 -1
  133. package/dist/src/components/generic/LineBreak.js.map +1 -1
  134. package/dist/src/components/generic/Notification.js +8 -18
  135. package/dist/src/components/generic/Notification.js.map +1 -1
  136. package/dist/src/components/generic/NumberIncrement.js +8 -18
  137. package/dist/src/components/generic/NumberIncrement.js.map +1 -1
  138. package/dist/src/components/generic/Overlay/Overlay.js +7 -17
  139. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  140. package/dist/src/components/generic/PageTitle/index.js.map +1 -1
  141. package/dist/src/components/generic/PasswordBox/PasswordBox.js +7 -17
  142. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  143. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +9 -19
  144. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -1
  145. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +7 -17
  146. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  147. package/dist/src/components/generic/Pill.js +3 -3
  148. package/dist/src/components/generic/Pill.js.map +1 -1
  149. package/dist/src/components/generic/Placeholder.js +1 -1
  150. package/dist/src/components/generic/Placeholder.js.map +1 -1
  151. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js +7 -17
  152. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js.map +1 -1
  153. package/dist/src/components/generic/PromoCodeInput.d.ts +0 -2
  154. package/dist/src/components/generic/PromoCodeInput.js +12 -20
  155. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  156. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +7 -17
  157. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  158. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +7 -17
  159. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  160. package/dist/src/components/generic/RecentSearchesCard.js +7 -17
  161. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  162. package/dist/src/components/generic/RoomstayMark.js +7 -17
  163. package/dist/src/components/generic/RoomstayMark.js.map +1 -1
  164. package/dist/src/components/generic/ScrollToTop.js.map +1 -1
  165. package/dist/src/components/generic/Select/InputSelect.js +8 -18
  166. package/dist/src/components/generic/Select/InputSelect.js.map +1 -1
  167. package/dist/src/components/generic/Select/Select.d.ts +1 -1
  168. package/dist/src/components/generic/Select/Select.js +7 -17
  169. package/dist/src/components/generic/Select/Select.js.map +1 -1
  170. package/dist/src/components/generic/Slider/Slider.js +7 -17
  171. package/dist/src/components/generic/Slider/Slider.js.map +1 -1
  172. package/dist/src/components/generic/Tabs/ElementChildren.js +3 -2
  173. package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
  174. package/dist/src/components/generic/Tabs/TabContext.js +7 -17
  175. package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
  176. package/dist/src/components/generic/Tabs/TabLink.js +7 -17
  177. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  178. package/dist/src/components/generic/Tabs/TabRouteContainer.js +9 -18
  179. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
  180. package/dist/src/components/generic/Text.js +9 -19
  181. package/dist/src/components/generic/Text.js.map +1 -1
  182. package/dist/src/components/generic/TextArea.js +7 -17
  183. package/dist/src/components/generic/TextArea.js.map +1 -1
  184. package/dist/src/components/generic/TextBox.js +7 -17
  185. package/dist/src/components/generic/TextBox.js.map +1 -1
  186. package/dist/src/components/generic/Tooltip/Tooltip.js +8 -18
  187. package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
  188. package/dist/src/components/generic/badging/SSLSecureBadge.js +1 -1
  189. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  190. package/dist/src/components/generic/buttons/NextStepButton.js +8 -18
  191. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  192. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +7 -17
  193. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  194. package/dist/src/components/generic/date/DatePicker.d.ts +1 -1
  195. package/dist/src/components/generic/date/DatePicker.js +9 -19
  196. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  197. package/dist/src/components/generic/date/DatePickerDay.js +9 -19
  198. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  199. package/dist/src/components/generic/date/DatePickerDays.js +8 -18
  200. package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
  201. package/dist/src/components/generic/date/DatePickerMonth.js +8 -18
  202. package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
  203. package/dist/src/components/generic/date/DatePickerWeek.js +11 -21
  204. package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
  205. package/dist/src/components/generic/date/FloatingDatePicker.js +9 -19
  206. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  207. package/dist/src/components/generic/date/WeekViewSkeleton.js +7 -17
  208. package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
  209. package/dist/src/components/generic/loader/ImageLoader.js +8 -18
  210. package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
  211. package/dist/src/components/generic/loader/LargeLoader.js +1 -1
  212. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  213. package/dist/src/components/generic/loader/SmallSpinner.js +8 -18
  214. package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
  215. package/dist/src/components/generic/map/HotelLocationMap.js +1 -1
  216. package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
  217. package/dist/src/components/generic/modal/ConfirmationModal.js +8 -18
  218. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  219. package/dist/src/components/generic/modal/ErrorModal.js +8 -18
  220. package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
  221. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +7 -17
  222. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  223. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +7 -17
  224. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -1
  225. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +8 -18
  226. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  227. package/dist/src/components/generic/modal/SimpleModal.js +9 -19
  228. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  229. package/dist/src/components/generic/modal/TabbedModal.js +8 -18
  230. package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
  231. package/dist/src/components/generic/radio/RadioFields.js +8 -18
  232. package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
  233. package/dist/src/components/graphics/TravelerNotfound.js +1 -1
  234. package/dist/src/components/graphics/TravelerNotfound.js.map +1 -1
  235. package/dist/src/components/members/EditMyProfile.js +7 -17
  236. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  237. package/dist/src/components/members/InlineSignUpSection.d.ts +1 -1
  238. package/dist/src/components/members/InlineSignUpSection.js +7 -17
  239. package/dist/src/components/members/InlineSignUpSection.js.map +1 -1
  240. package/dist/src/components/members/SignInModal/ExternalMemberModal.js +7 -17
  241. package/dist/src/components/members/SignInModal/ExternalMemberModal.js.map +1 -1
  242. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js +9 -19
  243. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js.map +1 -1
  244. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js +8 -18
  245. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js.map +1 -1
  246. package/dist/src/components/members/SignInModal/MemberSignInModal.js +7 -17
  247. package/dist/src/components/members/SignInModal/MemberSignInModal.js.map +1 -1
  248. package/dist/src/components/navigation/Header.js +8 -18
  249. package/dist/src/components/navigation/Header.js.map +1 -1
  250. package/dist/src/components/navigation/StepSelector.js +8 -18
  251. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  252. package/dist/src/components/navigation/StepSelectorModal.js +8 -18
  253. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  254. package/dist/src/components/pages/Account/Card/MemberCardItem.js +7 -17
  255. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  256. package/dist/src/components/pages/PageColorComponent.js +7 -17
  257. package/dist/src/components/pages/PageColorComponent.js.map +1 -1
  258. package/dist/src/components/reservation/EmptyReservation.js +7 -17
  259. package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
  260. package/dist/src/components/reservation/ReservationItem.d.ts +0 -1
  261. package/dist/src/components/reservation/ReservationItem.js +10 -20
  262. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  263. package/dist/src/components/reservation/ReservationList.d.ts +0 -1
  264. package/dist/src/components/reservation/ReservationList.js +2 -2
  265. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  266. package/dist/src/components/steps/DaysSelectedInformer.js +8 -18
  267. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  268. package/dist/src/components/steps/MinimumNightStayPill.js +8 -18
  269. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  270. package/dist/src/components/steps/addons/AddonCard.js +7 -25
  271. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  272. package/dist/src/components/steps/addons/AddonList.js +7 -17
  273. package/dist/src/components/steps/addons/AddonList.js.map +1 -1
  274. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js +1 -1
  275. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js.map +1 -1
  276. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +1 -1
  277. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +9 -19
  278. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
  279. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js +7 -17
  280. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js.map +1 -1
  281. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.d.ts +1 -1
  282. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js +7 -17
  283. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js.map +1 -1
  284. package/dist/src/components/steps/confirmation/AccountDetails.js +8 -18
  285. package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
  286. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js +7 -17
  287. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js.map +1 -1
  288. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js +7 -17
  289. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js.map +1 -1
  290. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  291. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +7 -17
  292. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  293. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +7 -17
  294. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  295. package/dist/src/components/steps/confirmation/PaymentInformation.js +7 -17
  296. package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -1
  297. package/dist/src/components/steps/confirmation/PlanpayLabel.js +7 -17
  298. package/dist/src/components/steps/confirmation/PlanpayLabel.js.map +1 -1
  299. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +7 -17
  300. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
  301. package/dist/src/components/steps/confirmation/RoomContactDetails.js +8 -18
  302. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  303. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +19 -28
  304. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  305. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +8 -18
  306. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  307. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +2 -2
  308. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
  309. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +7 -17
  310. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  311. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +8 -18
  312. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  313. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +1 -1
  314. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
  315. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +8 -18
  316. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  317. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +8 -18
  318. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
  319. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +12 -23
  320. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  321. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js +13 -26
  322. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js.map +1 -1
  323. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.d.ts +1 -5
  324. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js +13 -35
  325. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js.map +1 -1
  326. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +8 -18
  327. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  328. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +8 -18
  329. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  330. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +8 -18
  331. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
  332. package/dist/src/components/steps/date/OccupancyWarningBlock.js +1 -1
  333. package/dist/src/components/steps/date/OccupancyWarningBlock.js.map +1 -1
  334. package/dist/src/components/steps/date/PeoplePicker.js +10 -20
  335. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  336. package/dist/src/components/steps/date/PeoplePickerRow.js +9 -19
  337. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  338. package/dist/src/components/steps/date/StepDatePricePerRoom.js +8 -18
  339. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  340. package/dist/src/components/steps/date/StepOneDateRange.js +8 -18
  341. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  342. package/dist/src/components/steps/date/StepOneDateRangePicker.js +8 -18
  343. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  344. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +8 -18
  345. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
  346. package/dist/src/components/steps/date/StepOneNextStepButton.js +8 -18
  347. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  348. package/dist/src/components/steps/date/StepOneStatusPeople.js +8 -18
  349. package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
  350. package/dist/src/components/steps/hotel/HotelCard.js +9 -19
  351. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  352. package/dist/src/components/steps/hotel/HotelCardList.js +1 -1
  353. package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
  354. package/dist/src/components/steps/hotel/HotelCardModal.js +7 -17
  355. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  356. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js +8 -18
  357. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js.map +1 -1
  358. package/dist/src/components/steps/hotel/HotelSearchParameters.js +20 -22
  359. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  360. package/dist/src/components/steps/hotel/NoHotelsAvailable.js +1 -1
  361. package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
  362. package/dist/src/components/steps/room/AvailableUpgradesModal.js +7 -17
  363. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  364. package/dist/src/components/steps/room/ImageGallerySlider.js +8 -18
  365. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  366. package/dist/src/components/steps/room/InactivityWindow.js +7 -17
  367. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  368. package/dist/src/components/steps/room/LargeRoomCard.js +7 -17
  369. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  370. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +8 -18
  371. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  372. package/dist/src/components/steps/room/RatesNotFoundBlock.js +1 -1
  373. package/dist/src/components/steps/room/RatesNotFoundBlock.js.map +1 -1
  374. package/dist/src/components/steps/room/RoomList.js +8 -18
  375. package/dist/src/components/steps/room/RoomList.js.map +1 -1
  376. package/dist/src/components/steps/room/RoomListAlert.js +7 -17
  377. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
  378. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +8 -18
  379. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  380. package/dist/src/components/steps/room/RoomModal.js +8 -18
  381. package/dist/src/components/steps/room/RoomModal.js.map +1 -1
  382. package/dist/src/components/steps/room/RoomModalPerkRow.js +8 -18
  383. package/dist/src/components/steps/room/RoomModalPerkRow.js.map +1 -1
  384. package/dist/src/components/steps/room/StepRoomAlertBlocks.js +8 -18
  385. package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
  386. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +8 -18
  387. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  388. package/dist/src/components/steps/room/StepRoomErrorForm.js +7 -17
  389. package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
  390. package/dist/src/components/steps/room/StepRoomHotelDetails.js +8 -18
  391. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  392. package/dist/src/components/steps/room/StepRoomNextStepButton.js +8 -18
  393. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  394. package/dist/src/components/steps/room/StepRoomSortBy.js +8 -18
  395. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  396. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +8 -18
  397. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  398. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +7 -17
  399. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
  400. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js +7 -17
  401. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js.map +1 -1
  402. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js +7 -17
  403. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js.map +1 -1
  404. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.d.ts +1 -1
  405. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js +8 -19
  406. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js.map +1 -1
  407. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js +7 -17
  408. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js.map +1 -1
  409. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js +20 -20
  410. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js.map +1 -1
  411. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +7 -17
  412. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
  413. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +1 -1
  414. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
  415. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +1 -1
  416. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
  417. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js +1 -1
  418. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js.map +1 -1
  419. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +8 -18
  420. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  421. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +23 -23
  422. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  423. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +8 -18
  424. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  425. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +9 -18
  426. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  427. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +9 -18
  428. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  429. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +8 -18
  430. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  431. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +7 -17
  432. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  433. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +8 -18
  434. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
  435. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +8 -18
  436. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  437. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +10 -20
  438. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  439. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js +8 -18
  440. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js.map +1 -1
  441. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +10 -20
  442. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  443. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +9 -19
  444. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  445. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +7 -17
  446. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  447. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +8 -18
  448. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  449. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +8 -18
  450. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  451. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +8 -18
  452. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  453. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js +12 -26
  454. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js.map +1 -1
  455. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +8 -18
  456. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  457. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +8 -18
  458. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  459. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +8 -18
  460. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
  461. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +8 -18
  462. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
  463. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +8 -18
  464. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  465. package/dist/src/components/summary/BEMapWidget.d.ts +2 -0
  466. package/dist/src/components/summary/BEMapWidget.js +7 -17
  467. package/dist/src/components/summary/BEMapWidget.js.map +1 -1
  468. package/dist/src/components/summary/BEMobileSummary.js +8 -18
  469. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  470. package/dist/src/components/summary/BEMobileSummaryModal.js +18 -29
  471. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  472. package/dist/src/components/summary/BESummary.js +13 -23
  473. package/dist/src/components/summary/BESummary.js.map +1 -1
  474. package/dist/src/components/summary/BESummaryAddonRow.js +9 -19
  475. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  476. package/dist/src/components/summary/BESummaryPerkBlock.js +9 -19
  477. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  478. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +8 -18
  479. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  480. package/dist/src/components/summary/BESummaryRoomRow.js +9 -19
  481. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  482. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +8 -18
  483. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  484. package/dist/src/containers/PrivateRoute.js.map +1 -1
  485. package/dist/src/contexts/BasketContext/BasketContext.d.ts +1 -0
  486. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +4 -6
  487. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  488. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +162 -237
  489. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  490. package/dist/src/contexts/BookingEngineContext/BookingEngineContext.d.ts +1 -0
  491. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +9 -18
  492. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  493. package/dist/src/contexts/CompanyContext/CompanyContext.d.ts +1 -0
  494. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +14 -22
  495. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  496. package/dist/src/contexts/ConfirmationFormContext.js +9 -19
  497. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  498. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.d.ts +1 -0
  499. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.d.ts +1 -2
  500. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js.map +1 -1
  501. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +23 -44
  502. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  503. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js +7 -17
  504. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js.map +1 -1
  505. package/dist/src/contexts/ErrorContext.js +9 -19
  506. package/dist/src/contexts/ErrorContext.js.map +1 -1
  507. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js +2 -1
  508. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js.map +1 -1
  509. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js +9 -18
  510. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js.map +1 -1
  511. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.d.ts +1 -0
  512. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +19 -20
  513. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  514. package/dist/src/contexts/HotelOverridesContext.js +7 -17
  515. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  516. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +2 -1
  517. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js +1 -1
  518. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
  519. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +14 -40
  520. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  521. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +1 -0
  522. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +7 -17
  523. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  524. package/dist/src/contexts/ModalContext.js +9 -18
  525. package/dist/src/contexts/ModalContext.js.map +1 -1
  526. package/dist/src/contexts/NotificationContext.js +9 -19
  527. package/dist/src/contexts/NotificationContext.js.map +1 -1
  528. package/dist/src/engines/BaseEngine.js +1 -1
  529. package/dist/src/engines/BaseEngine.js.map +1 -1
  530. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +4 -1
  531. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  532. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +3 -1
  533. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  534. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +7 -17
  535. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
  536. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +8 -18
  537. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  538. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +17 -19
  539. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +34 -30
  540. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  541. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -1
  542. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +8 -18
  543. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
  544. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +8 -17
  545. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  546. package/dist/src/events/RoomstayEventManager.js +1 -1
  547. package/dist/src/events/RoomstayEventManager.js.map +1 -1
  548. package/dist/src/events/actions/PlacedBookingEvent.d.ts +1 -1
  549. package/dist/src/events/actions/PlacedBookingEvent.js.map +1 -1
  550. package/dist/src/events/views/CommittedBookingEvent.d.ts +1 -1
  551. package/dist/src/events/views/CommittedBookingEvent.js.map +1 -1
  552. package/dist/src/events/views/RolledBackBookingEvent.d.ts +1 -1
  553. package/dist/src/events/views/RolledBackBookingEvent.js.map +1 -1
  554. package/dist/src/handlers/BasketContextErrorHandler.d.ts +1 -1
  555. package/dist/src/handlers/BasketContextErrorHandler.js.map +1 -1
  556. package/dist/src/handlers/payment/AdyenPaymentHandler.js +7 -17
  557. package/dist/src/handlers/payment/AdyenPaymentHandler.js.map +1 -1
  558. package/dist/src/handlers/payment/PlanpayPaymentHandler.js +7 -17
  559. package/dist/src/handlers/payment/PlanpayPaymentHandler.js.map +1 -1
  560. package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js +5 -8
  561. package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js.map +1 -1
  562. package/dist/src/handlers/payment/VGSMemberPaymentHandler.js.map +1 -1
  563. package/dist/src/handlers/payment/VGSPaymentHandler.js +9 -19
  564. package/dist/src/handlers/payment/VGSPaymentHandler.js.map +1 -1
  565. package/dist/src/hooks/AutoFocusOnSelect.d.ts +1 -0
  566. package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
  567. package/dist/src/hooks/BodyClickHook.js.map +1 -1
  568. package/dist/src/hooks/CombineState.d.ts +1 -1
  569. package/dist/src/hooks/ConfirmationQuery.d.ts +0 -1
  570. package/dist/src/hooks/ConfirmationQuery.js +1 -2
  571. package/dist/src/hooks/ConfirmationQuery.js.map +1 -1
  572. package/dist/src/hooks/Currency.js.map +1 -1
  573. package/dist/src/hooks/CurrentHotelHook.js.map +1 -1
  574. package/dist/src/hooks/ElementSortHook.js +7 -17
  575. package/dist/src/hooks/ElementSortHook.js.map +1 -1
  576. package/dist/src/hooks/HistoryConsistentPush.js +2 -1
  577. package/dist/src/hooks/HistoryConsistentPush.js.map +1 -1
  578. package/dist/src/hooks/KeyboardControlOnSelect.d.ts +2 -2
  579. package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
  580. package/dist/src/hooks/LoggedInUserHook.js.map +1 -1
  581. package/dist/src/hooks/Planpay.d.ts +1 -1
  582. package/dist/src/hooks/Query.js +3 -2
  583. package/dist/src/hooks/Query.js.map +1 -1
  584. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +1 -0
  585. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  586. package/dist/src/hooks/UpdateQueryParameters.js +2 -1
  587. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -1
  588. package/dist/src/hooks/VGSHooks.d.ts +1 -0
  589. package/dist/src/hooks/VGSHooks.js.map +1 -1
  590. package/dist/src/hooks/useCalendarNightStay.js +3 -3
  591. package/dist/src/hooks/useCalendarNightStay.js.map +1 -1
  592. package/dist/src/hooks/useNextStepAction.js +11 -21
  593. package/dist/src/hooks/useNextStepAction.js.map +1 -1
  594. package/dist/src/hooks/usePlanpayRawPrice.js.map +1 -1
  595. package/dist/src/hooks/useRateDetails.js.map +1 -1
  596. package/dist/src/hooks/useSearchScopeHook.d.ts +1 -1
  597. package/dist/src/hooks/useSearchScopeHook.js.map +1 -1
  598. package/dist/src/index.d.ts +1 -1
  599. package/dist/src/index.js.map +1 -1
  600. package/dist/src/mockApi/AddonAPI.js.map +1 -1
  601. package/dist/src/mockApi/MemberAPI.js +7 -17
  602. package/dist/src/mockApi/MemberAPI.js.map +1 -1
  603. package/dist/src/mockApi/MockAPI.js +5 -5
  604. package/dist/src/mockApi/MockAPI.js.map +1 -1
  605. package/dist/src/mockApi/ReservationAPI.d.ts +1 -1
  606. package/dist/src/mockApi/ReservationAPI.js +8 -18
  607. package/dist/src/mockApi/ReservationAPI.js.map +1 -1
  608. package/dist/src/models/Addon/Addon.d.ts +24 -0
  609. package/dist/src/models/Addon/Addon.js.map +1 -1
  610. package/dist/src/models/Api/HotelDTO.d.ts +2 -1
  611. package/dist/src/models/Api/HotelDTO.js +1 -1
  612. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  613. package/dist/src/models/Api/ReservationsDTO.d.ts +80 -0
  614. package/dist/src/models/Api/ReservationsDTO.js +3 -0
  615. package/dist/src/models/Api/ReservationsDTO.js.map +1 -0
  616. package/dist/src/models/AppQueryParameters.js +1 -1
  617. package/dist/src/models/AppQueryParameters.js.map +1 -1
  618. package/dist/src/models/BasketAddonRow.js +5 -3
  619. package/dist/src/models/BasketAddonRow.js.map +1 -1
  620. package/dist/src/models/BasketRow.d.ts +9 -63
  621. package/dist/src/models/BasketRow.js +37 -77
  622. package/dist/src/models/BasketRow.js.map +1 -1
  623. package/dist/src/models/BookingWizard/BookingWizardTypes.d.ts +4 -0
  624. package/dist/src/models/BookingWizard/BookingWizardTypes.js.map +1 -1
  625. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js +1 -1
  626. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js.map +1 -1
  627. package/dist/src/models/Client/Hotel/Hotel.d.ts +2 -1
  628. package/dist/src/models/Client/Hotel/Hotel.js +1 -1
  629. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  630. package/dist/src/models/Client/Hotel/HotelDataSource.types.js +1 -1
  631. package/dist/src/models/Client/Hotel/HotelDataSource.types.js.map +1 -1
  632. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js +1 -1
  633. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js.map +1 -1
  634. package/dist/src/models/Confirmation.js +2 -2
  635. package/dist/src/models/Confirmation.js.map +1 -1
  636. package/dist/src/models/CountryCodesAndNumbers.js +3 -3
  637. package/dist/src/models/CountryCodesAndNumbers.js.map +1 -1
  638. package/dist/src/models/Fee.d.ts +9 -1
  639. package/dist/src/models/Fee.js +5 -4
  640. package/dist/src/models/Fee.js.map +1 -1
  641. package/dist/src/models/PaymentCard.js +1 -1
  642. package/dist/src/models/PaymentCard.js.map +1 -1
  643. package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
  644. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  645. package/dist/src/models/Room/Room.js.map +1 -1
  646. package/dist/src/models/Room/RoomRate.d.ts +1 -8
  647. package/dist/src/models/Room/RoomRate.js +1 -25
  648. package/dist/src/models/Room/RoomRate.js.map +1 -1
  649. package/dist/src/models/Room/RoomRateNight.d.ts +1 -1
  650. package/dist/src/models/Room/RoomRateNight.js.map +1 -1
  651. package/dist/src/models/RoomstaySession.d.ts +3 -1
  652. package/dist/src/models/RoomstaySession.js.map +1 -1
  653. package/dist/src/pages/account/AccountHome/AccountHomePage.js +8 -18
  654. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  655. package/dist/src/pages/account/AccountRoutes.d.ts +0 -5
  656. package/dist/src/pages/account/AccountRoutes.js +2 -8
  657. package/dist/src/pages/account/AccountRoutes.js.map +1 -1
  658. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js +7 -17
  659. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js.map +1 -1
  660. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +7 -17
  661. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  662. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +7 -17
  663. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  664. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +7 -17
  665. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  666. package/dist/src/pages/account/Help/AccountHelpPage.js +7 -17
  667. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  668. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +13 -38
  669. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  670. package/dist/src/pages/account/Reservations/AccountReservationsPage.js +7 -7
  671. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  672. package/dist/src/pages/findReservation/FindReservation.js +9 -19
  673. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  674. package/dist/src/pages/findReservation/FindReservationResults.js +10 -20
  675. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  676. package/dist/src/pages/findReservation/ReservationRow.d.ts +1 -1
  677. package/dist/src/pages/findReservation/ReservationRow.js +8 -18
  678. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  679. package/dist/src/pages/findReservation/ReservationRowModal.d.ts +1 -1
  680. package/dist/src/pages/findReservation/ReservationRowModal.js +8 -18
  681. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  682. package/dist/src/pages/hotel/HotelInfo.js +10 -20
  683. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  684. package/dist/src/pages/hotel/HotelInfoPlaceholder.js +1 -1
  685. package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
  686. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  687. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +8 -18
  688. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  689. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +7 -17
  690. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
  691. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  692. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +7 -17
  693. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  694. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +8 -18
  695. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
  696. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
  697. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  698. package/dist/src/pages/steps/StepDate/StepDateComponent.js +7 -17
  699. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  700. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoom.js.map +1 -1
  701. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js +7 -17
  702. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js.map +1 -1
  703. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js +8 -18
  704. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js.map +1 -1
  705. package/dist/src/pages/steps/StepGuide.js +8 -18
  706. package/dist/src/pages/steps/StepGuide.js.map +1 -1
  707. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +7 -17
  708. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  709. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +7 -17
  710. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
  711. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  712. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +7 -17
  713. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  714. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js +7 -17
  715. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js.map +1 -1
  716. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +8 -18
  717. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
  718. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
  719. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  720. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +10 -20
  721. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  722. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
  723. package/dist/src/providers/CurrencyProvider.js +1 -1
  724. package/dist/src/providers/CurrencyProvider.js.map +1 -1
  725. package/dist/src/providers/DIProvider.js +3 -2
  726. package/dist/src/providers/DIProvider.js.map +1 -1
  727. package/dist/src/providers/DistanceProvider.js.map +1 -1
  728. package/dist/src/providers/FeatureProvider.js +1 -1
  729. package/dist/src/providers/FeatureProvider.js.map +1 -1
  730. package/dist/src/providers/FilterProvider.d.ts +1 -1
  731. package/dist/src/providers/FilterProvider.js +3 -3
  732. package/dist/src/providers/FilterProvider.js.map +1 -1
  733. package/dist/src/providers/ImageProvider.js +1 -1
  734. package/dist/src/providers/ImageProvider.js.map +1 -1
  735. package/dist/src/providers/LanguageProvider.js +1 -1
  736. package/dist/src/providers/LanguageProvider.js.map +1 -1
  737. package/dist/src/providers/PromotionProvider.d.ts +1 -1
  738. package/dist/src/providers/PromotionProvider.js.map +1 -1
  739. package/dist/src/providers/RatePillProvider.js.map +1 -1
  740. package/dist/src/providers/RoomSortProvider.js +2 -2
  741. package/dist/src/providers/RoomSortProvider.js.map +1 -1
  742. package/dist/src/providers/RoomstayThemeEngine.js +8 -18
  743. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  744. package/dist/src/providers/feature/DerbysoftClickTrackingFeature.js.map +1 -1
  745. package/dist/src/providers/feature/Feature.d.ts +2 -0
  746. package/dist/src/providers/feature/Feature.js +4 -0
  747. package/dist/src/providers/feature/Feature.js.map +1 -1
  748. package/dist/src/providers/feature/GuestTitleFieldFeature.js.map +1 -1
  749. package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
  750. package/dist/src/providers/feature/MemberPortalFeature.js.map +1 -1
  751. package/dist/src/providers/storage/SessionProvider.js +2 -0
  752. package/dist/src/providers/storage/SessionProvider.js.map +1 -1
  753. package/dist/src/providers/storage/StorageProvider.d.ts +1 -1
  754. package/dist/src/providers/storage/StorageProvider.js +7 -17
  755. package/dist/src/providers/storage/StorageProvider.js.map +1 -1
  756. package/dist/src/reducers/BasketReducer.js.map +1 -1
  757. package/dist/src/stories/BookingWizard.stories.d.ts +2 -2
  758. package/dist/src/stories/Card.stories.d.ts +5 -3
  759. package/dist/src/stories/CardTypeSelect.stories.d.ts +1 -2
  760. package/dist/src/stories/Checkbox.stories.d.ts +1 -2
  761. package/dist/src/stories/ConfirmationModal.stories.js +7 -17
  762. package/dist/src/stories/ConfirmationModal.stories.js.map +1 -1
  763. package/dist/src/stories/DateRangePicker.stories.js +7 -17
  764. package/dist/src/stories/DateRangePicker.stories.js.map +1 -1
  765. package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +1 -2
  766. package/dist/src/stories/ErrorModal.stories.js +7 -17
  767. package/dist/src/stories/ErrorModal.stories.js.map +1 -1
  768. package/dist/src/stories/EventCarousel.stories.d.ts +2 -2
  769. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +2 -2
  770. package/dist/src/stories/FloatingDateRangePicker.stories.js +7 -17
  771. package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -1
  772. package/dist/src/stories/ForwardedSelect.stories.d.ts +1 -2
  773. package/dist/src/stories/Icon.stories.js +7 -17
  774. package/dist/src/stories/Icon.stories.js.map +1 -1
  775. package/dist/src/stories/IconNavCard.stories.d.ts +15 -6
  776. package/dist/src/stories/IconText.stories.js +7 -17
  777. package/dist/src/stories/IconText.stories.js.map +1 -1
  778. package/dist/src/stories/NumberIncrement.stories.js +7 -17
  779. package/dist/src/stories/NumberIncrement.stories.js.map +1 -1
  780. package/dist/src/stories/PasswordBox.stories.d.ts +1 -2
  781. package/dist/src/stories/PaymentCard.stories.d.ts +1 -2
  782. package/dist/src/stories/PaymentCardInput.stories.d.ts +1 -2
  783. package/dist/src/stories/PlanpayButton.stories.d.ts +1 -2
  784. package/dist/src/stories/RadioButton.stories.d.ts +1 -2
  785. package/dist/src/stories/RadioButtonGroup.stories.d.ts +3 -2
  786. package/dist/src/stories/RadioButtonGroup.stories.js +7 -17
  787. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
  788. package/dist/src/stories/Select.stories.d.ts +4 -2
  789. package/dist/src/stories/Select.stories.js +7 -17
  790. package/dist/src/stories/Select.stories.js.map +1 -1
  791. package/dist/src/stories/SimpleModal.stories.js +7 -17
  792. package/dist/src/stories/SimpleModal.stories.js.map +1 -1
  793. package/dist/src/stories/Slider.stories.d.ts +7 -2
  794. package/dist/src/stories/Slider.stories.js +7 -17
  795. package/dist/src/stories/Slider.stories.js.map +1 -1
  796. package/dist/src/stories/TabbedModal.stories.js +7 -17
  797. package/dist/src/stories/TabbedModal.stories.js.map +1 -1
  798. package/dist/src/stories/Tabs.stories.d.ts +2 -2
  799. package/dist/src/stories/Text.stories.d.ts +1 -2
  800. package/dist/src/stories/TextArea.stories.d.ts +1 -2
  801. package/dist/src/stories/TextBox.stories.d.ts +1 -2
  802. package/dist/src/translations/Translation.d.ts +10 -0
  803. package/dist/src/translations/Translation.js +12 -2
  804. package/dist/src/translations/Translation.js.map +1 -1
  805. package/dist/src/translations/languages/en-gb.js +10 -0
  806. package/dist/src/translations/languages/en-gb.js.map +1 -1
  807. package/dist/src/util/Analytics/Analytics.d.ts +10 -34
  808. package/dist/src/util/Analytics/Analytics.js +0 -26
  809. package/dist/src/util/Analytics/Analytics.js.map +1 -1
  810. package/dist/src/util/Analytics/GoogleAnalytics4.d.ts +3 -4
  811. package/dist/src/util/Analytics/GoogleAnalytics4.js +0 -9
  812. package/dist/src/util/Analytics/GoogleAnalytics4.js.map +1 -1
  813. package/dist/src/util/Analytics/UniversalAnalytics.d.ts +23 -5
  814. package/dist/src/util/Analytics/UniversalAnalytics.js +4 -23
  815. package/dist/src/util/Analytics/UniversalAnalytics.js.map +1 -1
  816. package/dist/src/util/AsyncAuth.js +7 -17
  817. package/dist/src/util/AsyncAuth.js.map +1 -1
  818. package/dist/src/util/CalendarHelper.js +1 -1
  819. package/dist/src/util/CalendarHelper.js.map +1 -1
  820. package/dist/src/util/Color.d.ts +1 -1
  821. package/dist/src/util/Color.js +1 -1
  822. package/dist/src/util/Color.js.map +1 -1
  823. package/dist/src/util/CurrencyHelper.js.map +1 -1
  824. package/dist/src/util/DataLayer.d.ts +3 -8
  825. package/dist/src/util/DataLayer.js +22 -51
  826. package/dist/src/util/DataLayer.js.map +1 -1
  827. package/dist/src/util/Debounce.js +3 -2
  828. package/dist/src/util/Debounce.js.map +1 -1
  829. package/dist/src/util/DefaultValueManager.js +1 -1
  830. package/dist/src/util/DefaultValueManager.js.map +1 -1
  831. package/dist/src/util/DerbysoftPixel.d.ts +1 -1
  832. package/dist/src/util/DerbysoftPixel.js +2 -2
  833. package/dist/src/util/DerbysoftPixel.js.map +1 -1
  834. package/dist/src/util/EventsHelper.d.ts +2 -2
  835. package/dist/src/util/EventsHelper.js.map +1 -1
  836. package/dist/src/util/HotelPerkHelper.js +7 -17
  837. package/dist/src/util/HotelPerkHelper.js.map +1 -1
  838. package/dist/src/util/ObjectHelper.d.ts +1 -1
  839. package/dist/src/util/ObjectHelper.js.map +1 -1
  840. package/dist/src/util/PaymentCardHelper.js.map +1 -1
  841. package/dist/src/util/RouteManager.js +1 -1
  842. package/dist/src/util/RouteManager.js.map +1 -1
  843. package/dist/src/util/StepManager.js +1 -1
  844. package/dist/src/util/StepManager.js.map +1 -1
  845. package/dist/src/util/StringHelper.js.map +1 -1
  846. package/dist/src/util/TextAlignment.js +1 -1
  847. package/dist/src/util/TextAlignment.js.map +1 -1
  848. package/dist/src/util/TimeHelper.js.map +1 -1
  849. package/dist/src/util/TotalCalculator.d.ts +24 -0
  850. package/dist/src/util/TotalCalculator.js +157 -0
  851. package/dist/src/util/TotalCalculator.js.map +1 -0
  852. package/dist/test.bundle.js +1 -1
  853. package/dist/tests/offline/entry/config/hotelSpecDefault.js +1 -0
  854. package/dist/tests/offline/entry/config/hotelSpecDefault.js.map +1 -1
  855. package/dist/vendors.bundle.js +1 -1
  856. package/package.json +6 -8
  857. package/dist/375.bundle.js +0 -1
  858. package/dist/984.bundle.js +0 -1
  859. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.d.ts +0 -1
  860. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js +0 -94
  861. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js.map +0 -1
@@ -1,12 +1,9 @@
1
- import { ReservationDTO, ReservationsDTO } from '@roomstay/core';
1
+ import ReservationsDTO, { ReservationDTO } from '../../models/Api/ReservationsDTO';
2
2
  import BasketAddonRow from '../../models/BasketAddonRow';
3
3
  import BasketRow from '../../models/BasketRow';
4
4
  import { ConfigCompany } from '../../models/Client/Hotel/Company';
5
5
  import { Hotel } from '../../models/Client/Hotel/Hotel';
6
6
  import { DateRange, GenericAnalyticsAccommodation } from '../DataLayer';
7
- export interface IAnalyticMessageEvent extends Record<string, any> {
8
- event: string;
9
- }
10
7
  /**
11
8
  * Abstract class used to transform roomstay data into either GA4 or UA analytics events
12
9
  *
@@ -15,41 +12,20 @@ export interface IAnalyticMessageEvent extends Record<string, any> {
15
12
  export declare abstract class Analytics {
16
13
  protected hotel?: Hotel;
17
14
  protected company?: ConfigCompany;
18
- protected userId?: string;
19
15
  protected currency: {
20
16
  original: string;
21
17
  current: string;
22
18
  };
23
19
  initialise(company?: ConfigCompany, hotel?: Hotel): void;
24
- setUserId(id?: string): void;
25
- private getUserData;
26
- /**
27
- * Merges the current user's data (user_id) into the provided input object.
28
- * Ensures the resulting object always includes user_id when available.
29
- */
30
- withUserData: <T extends IAnalyticMessageEvent>(input: T) => T & Partial<{
31
- user_id: string;
32
- }>;
33
20
  updateCurrency(current: string, original: string): void;
34
21
  /** Assemble the message for a room impression post based on impressions added */
35
- abstract generateRoomImpressionMessageObject(impressions: GenericAnalyticsAccommodation[]): IAnalyticMessageEvent;
36
- abstract generateProductClickMessageObject(product: GenericAnalyticsAccommodation): IAnalyticMessageEvent;
37
- abstract generateDateSelectionMessageObject(dateRange: DateRange, adults: number, children: number, infants?: number): IAnalyticMessageEvent;
38
- abstract generateAddToCartMessageObject(product: GenericAnalyticsAccommodation): IAnalyticMessageEvent;
39
- abstract generateAddonsAddToCartMessageObject(product: Required<Pick<GenericAnalyticsAccommodation, 'quantity' | 'dateRange' | 'basketAddonRow'>>): IAnalyticMessageEvent;
40
- abstract generateUpsellConfirmedMessageObject(oldProduct: GenericAnalyticsAccommodation, newProduct: GenericAnalyticsAccommodation): IAnalyticMessageEvent | null;
41
- abstract generateUpsellCancelledMessageObject(product: GenericAnalyticsAccommodation): IAnalyticMessageEvent;
42
- abstract generateCheckoutViewMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[]): IAnalyticMessageEvent;
43
- abstract generateRoomPurchaseMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO): IAnalyticMessageEvent[];
44
- abstract generateRefundMessageObject(reservation: ReservationDTO): IAnalyticMessageEvent;
45
- generateRefundMessageObjectByReservationNumber(reservationNumber: string): {
46
- event: string;
47
- ecommerce: {
48
- refund: {
49
- actionField: {
50
- id: string;
51
- };
52
- };
53
- };
54
- };
22
+ abstract generateRoomImpressionMessageObject(impressions: GenericAnalyticsAccommodation[]): any;
23
+ abstract generateProductClickMessageObject(product: GenericAnalyticsAccommodation): any;
24
+ abstract generateDateSelectionMessageObject(dateRange: DateRange, adults: number, children: number, infants?: number): any;
25
+ abstract generateAddToCartMessageObject(product: GenericAnalyticsAccommodation): any;
26
+ abstract generateUpsellConfirmedMessageObject(oldProduct: GenericAnalyticsAccommodation, newProduct: GenericAnalyticsAccommodation): any;
27
+ abstract generateUpsellCancelledMessageObject(product: GenericAnalyticsAccommodation): any;
28
+ abstract generateCheckoutViewMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[]): any;
29
+ abstract generateRoomPurchaseMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO): any[];
30
+ abstract generateRefundMessageObject(reservation: ReservationDTO): any;
55
31
  }
@@ -9,40 +9,14 @@ exports.Analytics = void 0;
9
9
  class Analytics {
10
10
  constructor() {
11
11
  this.currency = { original: '', current: '' };
12
- /**
13
- * Merges the current user's data (user_id) into the provided input object.
14
- * Ensures the resulting object always includes user_id when available.
15
- */
16
- this.withUserData = (input) => {
17
- return Object.assign(Object.assign({}, input), (('ecommerce' in input || input.event === 'login') && Object.assign({}, this.getUserData())));
18
- };
19
12
  }
20
13
  initialise(company, hotel) {
21
14
  this.company = company;
22
15
  this.hotel = hotel;
23
16
  }
24
- setUserId(id) {
25
- this.userId = id;
26
- }
27
- // Returns an object containing the current user_id if available.
28
- getUserData() {
29
- return this.userId ? { user_id: this.userId } : {};
30
- }
31
17
  updateCurrency(current, original) {
32
18
  this.currency = { current, original };
33
19
  }
34
- generateRefundMessageObjectByReservationNumber(reservationNumber) {
35
- return {
36
- event: 'refund',
37
- ecommerce: {
38
- refund: {
39
- actionField: {
40
- id: reservationNumber,
41
- },
42
- },
43
- },
44
- };
45
- }
46
20
  }
47
21
  exports.Analytics = Analytics;
48
22
  //# sourceMappingURL=Analytics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Analytics.js","sourceRoot":"/","sources":["src/util/Analytics/Analytics.ts"],"names":[],"mappings":";;;AAWA;;;;GAIG;AACH,MAAsB,SAAS;IAA/B;QAKc,aAAQ,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAgBnD;;;WAGG;QACI,iBAAY,GAAG,CAAkC,KAAQ,EAAoC,EAAE;YAClG,uCACO,KAAK,GACL,CAAC,CAAC,WAAW,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,sBAC9C,IAAI,CAAC,WAAW,EAAE,CACxB,CAAC,EACJ;QACN,CAAC,CAAC;IAoCN,CAAC;IA7DU,UAAU,CAAC,OAAuB,EAAE,KAAa;QACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,SAAS,CAAC,EAAW;QACxB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,iEAAiE;IACzD,WAAW;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IAeM,cAAc,CAAC,OAAe,EAAE,QAAgB;QACnD,IAAI,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAoBM,8CAA8C,CAAC,iBAAyB;QAC3E,OAAO;YACH,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE;gBACP,MAAM,EAAE;oBACJ,WAAW,EAAE;wBACT,EAAE,EAAE,iBAAiB;qBACxB;iBACJ;aACJ;SACJ,CAAC;IACN,CAAC;CACJ;AApED,8BAoEC","sourcesContent":["import { ReservationDTO, ReservationsDTO } from '@roomstay/core';\n\nimport BasketAddonRow from '@/models/BasketAddonRow';\nimport BasketRow from '@/models/BasketRow';\nimport { ConfigCompany } from '@/models/Client/Hotel/Company';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\n\nimport { DateRange, GenericAnalyticsAccommodation } from '../DataLayer';\nexport interface IAnalyticMessageEvent extends Record<string, any> {\n event: string;\n}\n/**\n * Abstract class used to transform roomstay data into either GA4 or UA analytics events\n *\n * All logging still happens from the {@link DataLayer} class.\n */\nexport abstract class Analytics {\n protected hotel?: Hotel;\n protected company?: ConfigCompany;\n protected userId?: string; // logged user id\n\n protected currency = { original: '', current: '' };\n\n public initialise(company?: ConfigCompany, hotel?: Hotel) {\n this.company = company;\n this.hotel = hotel;\n }\n\n public setUserId(id?: string) {\n this.userId = id;\n }\n\n // Returns an object containing the current user_id if available.\n private getUserData(): Partial<{ user_id: string }> {\n return this.userId ? { user_id: this.userId } : {};\n }\n\n /**\n * Merges the current user's data (user_id) into the provided input object.\n * Ensures the resulting object always includes user_id when available.\n */\n public withUserData = <T extends IAnalyticMessageEvent>(input: T): T & Partial<{ user_id: string }> => {\n return {\n ...input,\n ...(('ecommerce' in input || input.event === 'login') && {\n ...this.getUserData(),\n }),\n };\n };\n\n public updateCurrency(current: string, original: string) {\n this.currency = { current, original };\n }\n\n /** Assemble the message for a room impression post based on impressions added */\n public abstract generateRoomImpressionMessageObject(impressions: GenericAnalyticsAccommodation[]): IAnalyticMessageEvent;\n\n public abstract generateProductClickMessageObject(product: GenericAnalyticsAccommodation): IAnalyticMessageEvent;\n public abstract generateDateSelectionMessageObject(dateRange: DateRange, adults: number, children: number, infants?: number): IAnalyticMessageEvent;\n\n public abstract generateAddToCartMessageObject(product: GenericAnalyticsAccommodation): IAnalyticMessageEvent;\n public abstract generateAddonsAddToCartMessageObject(\n product: Required<Pick<GenericAnalyticsAccommodation, 'quantity' | 'dateRange' | 'basketAddonRow'>>\n ): IAnalyticMessageEvent;\n public abstract generateUpsellConfirmedMessageObject(oldProduct: GenericAnalyticsAccommodation, newProduct: GenericAnalyticsAccommodation): IAnalyticMessageEvent | null;\n\n public abstract generateUpsellCancelledMessageObject(product: GenericAnalyticsAccommodation): IAnalyticMessageEvent;\n\n public abstract generateCheckoutViewMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[]): IAnalyticMessageEvent;\n public abstract generateRoomPurchaseMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO): IAnalyticMessageEvent[];\n public abstract generateRefundMessageObject(reservation: ReservationDTO): IAnalyticMessageEvent;\n\n public generateRefundMessageObjectByReservationNumber(reservationNumber: string) {\n return {\n event: 'refund',\n ecommerce: {\n refund: {\n actionField: {\n id: reservationNumber,\n },\n },\n },\n };\n }\n}\n"]}
1
+ {"version":3,"file":"Analytics.js","sourceRoot":"/","sources":["src/util/Analytics/Analytics.ts"],"names":[],"mappings":";;;AAQA;;;;GAIG;AACH,MAAsB,SAAS;IAA/B;QAIc,aAAQ,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAyBvD,CAAC;IAvBU,UAAU,CAAC,OAAuB,EAAE,KAAa;QACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,cAAc,CAAC,OAAe,EAAE,QAAgB;QACnD,IAAI,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC1C,CAAC;CAgBJ;AA7BD,8BA6BC","sourcesContent":["import ReservationsDTO, { ReservationDTO } from '@/models/Api/ReservationsDTO';\nimport BasketAddonRow from '@/models/BasketAddonRow';\nimport BasketRow from '@/models/BasketRow';\nimport { ConfigCompany } from '@/models/Client/Hotel/Company';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\n\nimport { DateRange, GenericAnalyticsAccommodation } from '../DataLayer';\n\n/**\n * Abstract class used to transform roomstay data into either GA4 or UA analytics events\n *\n * All logging still happens from the {@link DataLayer} class.\n */\nexport abstract class Analytics {\n protected hotel?: Hotel;\n protected company?: ConfigCompany;\n\n protected currency = { original: '', current: '' };\n\n public initialise(company?: ConfigCompany, hotel?: Hotel) {\n this.company = company;\n this.hotel = hotel;\n }\n\n public updateCurrency(current: string, original: string) {\n this.currency = { current, original };\n }\n\n /** Assemble the message for a room impression post based on impressions added */\n public abstract generateRoomImpressionMessageObject(impressions: GenericAnalyticsAccommodation[]): any;\n\n public abstract generateProductClickMessageObject(product: GenericAnalyticsAccommodation): any;\n public abstract generateDateSelectionMessageObject(dateRange: DateRange, adults: number, children: number, infants?: number): any;\n\n public abstract generateAddToCartMessageObject(product: GenericAnalyticsAccommodation): any;\n public abstract generateUpsellConfirmedMessageObject(oldProduct: GenericAnalyticsAccommodation, newProduct: GenericAnalyticsAccommodation): any;\n\n public abstract generateUpsellCancelledMessageObject(product: GenericAnalyticsAccommodation): any;\n\n public abstract generateCheckoutViewMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[]): any;\n public abstract generateRoomPurchaseMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO): any[];\n public abstract generateRefundMessageObject(reservation: ReservationDTO): any;\n}\n"]}
@@ -1,8 +1,8 @@
1
- import { ReservationDTO, ReservationsDTO } from '@roomstay/core';
1
+ import ReservationsDTO, { ReservationDTO } from '../../models/Api/ReservationsDTO';
2
2
  import BasketAddonRow from '../../models/BasketAddonRow';
3
3
  import BasketRow from '../../models/BasketRow';
4
- import { DateRange, GenericAnalyticsAccommodation } from '../DataLayer';
5
- import { Analytics, IAnalyticMessageEvent } from './Analytics';
4
+ import { DateRange, GenericAnalyticsAccommodation as GenericAnalyticsAccommodation } from '../DataLayer';
5
+ import { Analytics } from './Analytics';
6
6
  interface GA4Item {
7
7
  item_name: string;
8
8
  item_id: string;
@@ -58,7 +58,6 @@ declare class GoogleAnalytics4 extends Analytics {
58
58
  items: GA4Item[];
59
59
  };
60
60
  };
61
- generateAddonsAddToCartMessageObject(product: Required<Pick<GenericAnalyticsAccommodation, 'quantity' | 'dateRange' | 'basketAddonRow'>>): IAnalyticMessageEvent;
62
61
  generateUpsellConfirmedMessageObject(oldProduct: GenericAnalyticsAccommodation, newProduct: GenericAnalyticsAccommodation): {
63
62
  event: string;
64
63
  ecommerce: {
@@ -119,15 +119,6 @@ class GoogleAnalytics4 extends Analytics_1.Analytics {
119
119
  },
120
120
  };
121
121
  }
122
- generateAddonsAddToCartMessageObject(product) {
123
- return {
124
- event: 'add_to_cart',
125
- ecommerce: {
126
- currencyCode: this.currency.original,
127
- items: [this.generateAddonProductInfo(product.basketAddonRow)],
128
- },
129
- };
130
- }
131
122
  generateUpsellConfirmedMessageObject(oldProduct, newProduct) {
132
123
  return {
133
124
  event: 'upsell_confirmed',
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleAnalytics4.js","sourceRoot":"/","sources":["src/util/Analytics/GoogleAnalytics4.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReservationDTO, ReservationsDTO } from '@roomstay/core';\nimport dayjs from 'dayjs';\n\nimport BasketAddonRow from '@/models/BasketAddonRow';\nimport BasketRow from '@/models/BasketRow';\nimport { Room } from '@/models/Room/Room';\nimport { RoomRate } from '@/models/Room/RoomRate';\n\nimport { DateRange, GenericAnalyticsAccommodation } from '../DataLayer';\nimport { Analytics, IAnalyticMessageEvent } from './Analytics';\n\ninterface GA4Item {\n item_name: string;\n item_id: string;\n item_brand: string;\n item_category: string;\n item_category2?: string;\n item_category3?: string;\n item_category5?: string;\n item_list_name: string;\n coupon?: string;\n discount?: number;\n index: number;\n price: number;\n quantity: number;\n selected_dates?: string;\n upgrade?: string;\n upgrade_price_dif?: number;\n}\n\nconst DATALAYER_DATE_FORMAT = 'YYYY-M-D';\n\nclass GoogleAnalytics4 extends Analytics {\n private formatDateRange(dateRange?: DateRange): string {\n if (!dateRange) return '';\n return `ci:${dateRange.from.format('YYYY-MM-DD')} co:${dateRange.to.format('YYYY-MM-DD')}`;\n }\n\n private generateRoomRateProductInfo(\n room: Room,\n dateRange: DateRange,\n rate?: RoomRate,\n listPosition?: number,\n quantity?: number,\n coupon?: string,\n extra?: { upsell?: { originalRoomRate?: RoomRate } }\n ): GA4Item {\n const providerId = this.hotel?.providerHotelID;\n\n // For some reason GA4 seems to require pricing to be displayed as a whole, not per night.\n const price = rate ? rate.getTotalPrice() : room.getLowestTotalPrice();\n const discount = rate ? rate.getTotalDiscount() : 0;\n\n const idParts = [providerId, room.code];\n if (rate) {\n idParts.push(rate.code);\n }\n\n let upgrade = undefined;\n let upgrade_price_dif = undefined;\n\n if (extra?.upsell?.originalRoomRate) {\n const oldRate = extra.upsell.originalRoomRate;\n\n upgrade = `${room.name} to ${oldRate.name}`;\n const oldPrice = oldRate ? oldRate.getTotalPrice() : room.getLowestTotalPrice();\n upgrade_price_dif = Math.abs(price - oldPrice); // We're assuming that old is always cheaper, since Upsell is trying to make you spend more\n }\n\n return {\n item_name: this.company?.brandSuffix + ' Accommodation',\n item_id: idParts.join(' - '),\n item_brand: [this.hotel?.name, providerId].filter(Boolean).join(' - '),\n item_category: 'Room',\n item_category2: rate?.name || undefined,\n item_category3: room.name,\n item_category5: this.hotel?.name + ' Room',\n item_list_name: 'BE List',\n coupon,\n discount,\n index: listPosition || 0,\n price,\n quantity: quantity || 1,\n selected_dates: this.formatDateRange({ from: dateRange.from, to: dateRange.to }) ?? undefined,\n upgrade,\n upgrade_price_dif,\n };\n }\n\n private generateAddonProductInfo(room: BasketAddonRow, listPosition?: number): GA4Item {\n const providerId = this.hotel?.providerHotelID;\n\n const price = room.getTotalPrice();\n\n const idParts = [providerId, room.getAddon().code];\n\n return {\n // This is still accommodation as it's part of a greater category.\n item_name: this.company?.brandSuffix + ' Accommodation',\n item_id: idParts.join(' - '),\n item_brand: [this.hotel?.name, providerId].filter(Boolean).join(' - '),\n item_category: 'addon',\n item_category2: undefined,\n item_category3: room.getAddon().name,\n item_category5: this.hotel?.name + ' Addon',\n item_list_name: 'BE List',\n coupon: undefined,\n discount: 0,\n index: listPosition || 0,\n price,\n quantity: room.getQuantity() || 1,\n selected_dates: undefined,\n upgrade: undefined,\n upgrade_price_dif: undefined,\n };\n }\n\n public generateRoomImpressionMessageObject(impressions: GenericAnalyticsAccommodation[]) {\n return {\n event: 'view_item_list',\n currency: this.currency.original,\n ecommerce: {\n items: impressions.map((item, index) => {\n const { room, rate, quantity, promoCode, dateRange } = item;\n return this.generateRoomRateProductInfo(room, dateRange, rate, index, quantity, promoCode);\n }),\n },\n };\n }\n\n public generateProductClickMessageObject(product: GenericAnalyticsAccommodation) {\n return {\n event: 'select_item',\n ecommerce: {\n currency: this.currency.original,\n item_list_name: 'BE List',\n items: [this.generateRoomRateProductInfo(product.room, product.dateRange, undefined, undefined, product.quantity, product.promoCode)],\n },\n };\n }\n\n public generateDateSelectionMessageObject(dateRange: DateRange, adults: number, children: number, infants?: number | undefined) {\n return {\n event: 'select_dates',\n ecommerce: {\n currency: this.currency.original,\n arrival_date: dateRange.from.format(DATALAYER_DATE_FORMAT),\n departure_date: dateRange.to.format(DATALAYER_DATE_FORMAT),\n adult_count: adults,\n child_count: children,\n infant_count: infants || 0,\n },\n };\n }\n\n public generateAddToCartMessageObject(product: GenericAnalyticsAccommodation) {\n return {\n event: 'add_to_cart',\n ecommerce: {\n currency: this.currency.original,\n items: [this.generateRoomRateProductInfo(product.room, product.dateRange, product.rate, undefined, product.quantity, product.promoCode)],\n },\n };\n }\n\n public generateAddonsAddToCartMessageObject(product: Required<Pick<GenericAnalyticsAccommodation, 'quantity' | 'dateRange' | 'basketAddonRow'>>): IAnalyticMessageEvent {\n return {\n event: 'add_to_cart',\n ecommerce: {\n currencyCode: this.currency.original,\n items: [this.generateAddonProductInfo(product.basketAddonRow)],\n },\n };\n }\n\n public generateUpsellConfirmedMessageObject(oldProduct: GenericAnalyticsAccommodation, newProduct: GenericAnalyticsAccommodation) {\n return {\n event: 'upsell_confirmed',\n ecommerce: {\n currency: this.currency.original,\n items: {\n old: this.generateRoomRateProductInfo(oldProduct.room, oldProduct.dateRange, oldProduct.rate, undefined, oldProduct.quantity, oldProduct.promoCode),\n new: this.generateRoomRateProductInfo(newProduct.room, newProduct.dateRange, newProduct.rate, undefined, newProduct.quantity, newProduct.promoCode, {\n upsell: { originalRoomRate: oldProduct.rate },\n }),\n },\n },\n };\n }\n\n public generateUpsellCancelledMessageObject(product: GenericAnalyticsAccommodation) {\n return {\n event: 'upsell_cancelled',\n ecommerce: {\n currency: this.currency.original,\n items: [this.generateRoomRateProductInfo(product.room, product.dateRange, product.rate, undefined, product.quantity, product.promoCode)],\n },\n };\n }\n\n public generateCheckoutViewMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[]) {\n const productItems = basketRows.map((row, index) => {\n return this.generateRoomRateProductInfo(row.getRoom(), { to: row.getStartDate(), from: row.getEndDate() }, row.getRate() ?? undefined, index, 1, row.getPromoCode(), {\n upsell: { originalRoomRate: row.getPreUpsellRoomRate() },\n });\n });\n\n addonRows?.forEach((row, index) => {\n productItems.push(this.generateAddonProductInfo(row, index));\n });\n\n return {\n event: 'begin_checkout',\n ecommerce: {\n currency: this.currency.original,\n items: productItems,\n page_type: 'conversionintent',\n },\n };\n }\n\n public generateRoomPurchaseMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO) {\n const productItems = basketRows.map((row, index) => {\n return this.generateRoomRateProductInfo(row.getRoom(), { to: row.getStartDate(), from: row.getEndDate() }, row.getRate() ?? undefined, index, 1, row.getPromoCode(), {\n upsell: { originalRoomRate: row.getPreUpsellRoomRate() },\n });\n });\n\n addonRows?.forEach((row, index) => {\n productItems.push(this.generateAddonProductInfo(row, index));\n });\n\n return [\n {\n event: 'purchase',\n ecommerce: {\n currency: this.currency.original,\n transaction_id: reservations.itineraryNumber,\n value: reservations.total,\n tax: 0,\n coupon: undefined,\n payment_type: reservations.reservations[0].paymentMethod,\n page_type: 'conversion',\n\n items: productItems,\n },\n },\n ];\n }\n\n public generateRefundMessageObject(reservation: ReservationDTO) {\n const providerId = this.hotel?.providerHotelID;\n\n const nightKeys = Object.keys(reservation.nights);\n\n const startDate = dayjs(nightKeys[0]);\n const endDate = dayjs(nightKeys[nightKeys.length - 1]);\n\n const discount = nightKeys.reduce((acc, key) => {\n return acc + Number(reservation.nights[key].discount);\n });\n\n const idParts = [providerId, reservation.roomCode, reservation.rate];\n\n return {\n event: 'refund',\n ecommerce: {\n currency: this.currency.original,\n transaction_id: reservation.reservationNumber,\n value: reservation.total.afterTax,\n items: [\n {\n item_name: this.company?.brandSuffix + ' Accommodation',\n item_id: idParts.join('-'),\n item_brand: [this.hotel?.name, providerId].filter(Boolean).join(' - '),\n item_category: 'Room',\n item_category2: reservation.rate,\n item_category3: reservation.roomType,\n item_category5: this.hotel?.name + ' Room',\n item_list_name: 'BE List',\n coupon: undefined,\n discount,\n index: 0,\n price: reservation.total.afterTax,\n quantity: 1,\n selected_dates: this.formatDateRange({ from: startDate, to: endDate }) ?? undefined,\n upgrade: undefined,\n upgrade_price_dif: undefined,\n },\n ],\n },\n };\n }\n}\n\nconst ga4 = new GoogleAnalytics4();\n\nexport { ga4 as GoogleAnalytics4 };\n"]}
1
+ {"version":3,"file":"GoogleAnalytics4.js","sourceRoot":"/","sources":["src/util/Analytics/GoogleAnalytics4.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\n\nimport ReservationsDTO, { ReservationDTO } from '@/models/Api/ReservationsDTO';\nimport BasketAddonRow from '@/models/BasketAddonRow';\nimport BasketRow from '@/models/BasketRow';\nimport { Room } from '@/models/Room/Room';\nimport { RoomRate } from '@/models/Room/RoomRate';\n\nimport { DateRange, GenericAnalyticsAccommodation as GenericAnalyticsAccommodation } from '../DataLayer';\nimport { Analytics } from './Analytics';\n\ninterface GA4Item {\n item_name: string;\n item_id: string;\n item_brand: string;\n item_category: string;\n item_category2?: string;\n item_category3?: string;\n item_category5?: string;\n item_list_name: string;\n coupon?: string;\n discount?: number;\n index: number;\n price: number;\n quantity: number;\n selected_dates?: string;\n upgrade?: string;\n upgrade_price_dif?: number;\n}\n\nconst DATALAYER_DATE_FORMAT = 'YYYY-M-D';\n\nclass GoogleAnalytics4 extends Analytics {\n private formatDateRange(dateRange?: DateRange): string {\n if (!dateRange) return '';\n return `ci:${dateRange.from.format('YYYY-MM-DD')} co:${dateRange.to.format('YYYY-MM-DD')}`;\n }\n\n private generateRoomRateProductInfo(\n room: Room,\n dateRange: DateRange,\n rate?: RoomRate,\n listPosition?: number,\n quantity?: number,\n coupon?: string,\n extra?: { upsell?: { originalRoomRate?: RoomRate } }\n ): GA4Item {\n const providerId = this.hotel?.providerHotelID;\n\n // For some reason GA4 seems to require pricing to be displayed as a whole, not per night.\n const price = rate ? rate.getTotalPrice() : room.getLowestTotalPrice();\n const discount = rate ? rate.getTotalDiscount() : 0;\n\n const idParts = [providerId, room.code];\n if (rate) {\n idParts.push(rate.code);\n }\n\n let upgrade = undefined;\n let upgrade_price_dif = undefined;\n\n if (extra?.upsell?.originalRoomRate) {\n const oldRate = extra.upsell.originalRoomRate;\n\n upgrade = `${room.name} to ${oldRate.name}`;\n const oldPrice = oldRate ? oldRate.getTotalPrice() : room.getLowestTotalPrice();\n upgrade_price_dif = Math.abs(price - oldPrice); // We're assuming that old is always cheaper, since Upsell is trying to make you spend more\n }\n\n return {\n item_name: this.company?.brandSuffix + ' Accommodation',\n item_id: idParts.join(' - '),\n item_brand: [this.hotel?.name, providerId].filter(Boolean).join(' - '),\n item_category: 'Room',\n item_category2: rate?.name || undefined,\n item_category3: room.name,\n item_category5: this.hotel?.name + ' Room',\n item_list_name: 'BE List',\n coupon,\n discount,\n index: listPosition || 0,\n price,\n quantity: quantity || 1,\n selected_dates: this.formatDateRange({ from: dateRange.from, to: dateRange.to }) ?? undefined,\n upgrade,\n upgrade_price_dif,\n };\n }\n\n private generateAddonProductInfo(room: BasketAddonRow, listPosition?: number): GA4Item {\n const providerId = this.hotel?.providerHotelID;\n\n const price = room.getTotalPrice();\n\n const idParts = [providerId, room.getAddon().code];\n\n return {\n // This is still accommodation as it's part of a greater category.\n item_name: this.company?.brandSuffix + ' Accommodation',\n item_id: idParts.join(' - '),\n item_brand: [this.hotel?.name, providerId].filter(Boolean).join(' - '),\n item_category: 'addon',\n item_category2: undefined,\n item_category3: room.getAddon().name,\n item_category5: this.hotel?.name + ' Addon',\n item_list_name: 'BE List',\n coupon: undefined,\n discount: 0,\n index: listPosition || 0,\n price,\n quantity: room.getQuantity() || 1,\n selected_dates: undefined,\n upgrade: undefined,\n upgrade_price_dif: undefined,\n };\n }\n\n public generateRoomImpressionMessageObject(impressions: GenericAnalyticsAccommodation[]) {\n return {\n event: 'view_item_list',\n currency: this.currency.original,\n ecommerce: {\n items: impressions.map((item, index) => {\n const { room, rate, quantity, promoCode, dateRange } = item;\n return this.generateRoomRateProductInfo(room, dateRange, rate, index, quantity, promoCode);\n }),\n },\n };\n }\n\n public generateProductClickMessageObject(product: GenericAnalyticsAccommodation) {\n return {\n event: 'select_item',\n ecommerce: {\n currency: this.currency.original,\n item_list_name: 'BE List',\n items: [this.generateRoomRateProductInfo(product.room, product.dateRange, undefined, undefined, product.quantity, product.promoCode)],\n },\n };\n }\n\n public generateDateSelectionMessageObject(dateRange: DateRange, adults: number, children: number, infants?: number | undefined) {\n return {\n event: 'select_dates',\n ecommerce: {\n currency: this.currency.original,\n arrival_date: dateRange.from.format(DATALAYER_DATE_FORMAT),\n departure_date: dateRange.to.format(DATALAYER_DATE_FORMAT),\n adult_count: adults,\n child_count: children,\n infant_count: infants || 0,\n },\n };\n }\n\n public generateAddToCartMessageObject(product: GenericAnalyticsAccommodation) {\n return {\n event: 'add_to_cart',\n ecommerce: {\n currency: this.currency.original,\n items: [this.generateRoomRateProductInfo(product.room, product.dateRange, product.rate, undefined, product.quantity, product.promoCode)],\n },\n };\n }\n\n public generateUpsellConfirmedMessageObject(oldProduct: GenericAnalyticsAccommodation, newProduct: GenericAnalyticsAccommodation) {\n return {\n event: 'upsell_confirmed',\n ecommerce: {\n currency: this.currency.original,\n items: {\n old: this.generateRoomRateProductInfo(oldProduct.room, oldProduct.dateRange, oldProduct.rate, undefined, oldProduct.quantity, oldProduct.promoCode),\n new: this.generateRoomRateProductInfo(newProduct.room, newProduct.dateRange, newProduct.rate, undefined, newProduct.quantity, newProduct.promoCode, {\n upsell: { originalRoomRate: oldProduct.rate },\n }),\n },\n },\n };\n }\n\n public generateUpsellCancelledMessageObject(product: GenericAnalyticsAccommodation) {\n return {\n event: 'upsell_cancelled',\n ecommerce: {\n currency: this.currency.original,\n items: [this.generateRoomRateProductInfo(product.room, product.dateRange, product.rate, undefined, product.quantity, product.promoCode)],\n },\n };\n }\n\n public generateCheckoutViewMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[]) {\n const productItems = basketRows.map((row, index) => {\n return this.generateRoomRateProductInfo(row.getRoom(), { to: row.getStartDate(), from: row.getEndDate() }, row.getRate() ?? undefined, index, 1, row.getPromoCode(), {\n upsell: { originalRoomRate: row.getPreUpsellRoomRate() },\n });\n });\n\n addonRows?.forEach((row, index) => {\n productItems.push(this.generateAddonProductInfo(row, index));\n });\n\n return {\n event: 'begin_checkout',\n ecommerce: {\n currency: this.currency.original,\n items: productItems,\n page_type: 'conversionintent',\n },\n };\n }\n\n public generateRoomPurchaseMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO) {\n const productItems = basketRows.map((row, index) => {\n return this.generateRoomRateProductInfo(row.getRoom(), { to: row.getStartDate(), from: row.getEndDate() }, row.getRate() ?? undefined, index, 1, row.getPromoCode(), {\n upsell: { originalRoomRate: row.getPreUpsellRoomRate() },\n });\n });\n\n addonRows?.forEach((row, index) => {\n productItems.push(this.generateAddonProductInfo(row, index));\n });\n\n return [\n {\n event: 'purchase',\n ecommerce: {\n currency: this.currency.original,\n transaction_id: reservations.itineraryNumber,\n value: reservations.total,\n tax: 0,\n coupon: undefined,\n payment_type: reservations.reservations[0].paymentMethod,\n page_type: 'conversion',\n\n items: productItems,\n },\n },\n ];\n }\n\n public generateRefundMessageObject(reservation: ReservationDTO) {\n const providerId = this.hotel?.providerHotelID;\n\n const nightKeys = Object.keys(reservation.nights);\n\n const startDate = dayjs(nightKeys[0]);\n const endDate = dayjs(nightKeys[nightKeys.length - 1]);\n\n const discount = nightKeys.reduce((acc, key) => {\n return acc + Number(reservation.nights[key].discount);\n });\n\n const idParts = [providerId, reservation.roomCode, reservation.rate];\n\n return {\n event: 'refund',\n ecommerce: {\n currency: this.currency.original,\n transaction_id: reservation.reservationNumber,\n value: reservation.total.afterTax,\n items: [\n {\n item_name: this.company?.brandSuffix + ' Accommodation',\n item_id: idParts.join('-'),\n item_brand: [this.hotel?.name, providerId].filter(Boolean).join(' - '),\n item_category: 'Room',\n item_category2: reservation.rate,\n item_category3: reservation.roomType,\n item_category5: this.hotel?.name + ' Room',\n item_list_name: 'BE List',\n coupon: undefined,\n discount,\n index: 0,\n price: reservation.total.afterTax,\n quantity: 1,\n selected_dates: this.formatDateRange({ from: startDate, to: endDate }) ?? undefined,\n upgrade: undefined,\n upgrade_price_dif: undefined,\n },\n ],\n },\n };\n }\n}\n\nconst ga4 = new GoogleAnalytics4();\n\nexport { ga4 as GoogleAnalytics4 };\n"]}
@@ -1,8 +1,8 @@
1
- import { ReservationDTO, ReservationsDTO } from '@roomstay/core';
1
+ import ReservationsDTO, { ReservationDTO } from '../../models/Api/ReservationsDTO';
2
2
  import BasketAddonRow from '../../models/BasketAddonRow';
3
3
  import BasketRow from '../../models/BasketRow';
4
4
  import { DateRange, GenericAnalyticsAccommodation } from '../DataLayer';
5
- import { Analytics, IAnalyticMessageEvent } from './Analytics';
5
+ import { Analytics } from './Analytics';
6
6
  declare class UniversalAnalytics extends Analytics {
7
7
  private getProductInfo;
8
8
  private generateAddonProductInfo;
@@ -43,7 +43,6 @@ declare class UniversalAnalytics extends Analytics {
43
43
  EndDate: string;
44
44
  };
45
45
  };
46
- generateAddonsAddToCartMessageObject(product: Required<Pick<GenericAnalyticsAccommodation, 'quantity' | 'dateRange' | 'basketAddonRow'>>): IAnalyticMessageEvent;
47
46
  generateUpsellConfirmedMessageObject(oldProduct: GenericAnalyticsAccommodation, newProduct: GenericAnalyticsAccommodation): {
48
47
  event: string;
49
48
  priceDifference: number;
@@ -73,7 +72,27 @@ declare class UniversalAnalytics extends Analytics {
73
72
  PageType: string;
74
73
  };
75
74
  };
76
- generateRoomPurchaseMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO): IAnalyticMessageEvent[];
75
+ generateRoomPurchaseMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO): ({
76
+ event: string;
77
+ ecommerce: {
78
+ checkoutUpsell?: any;
79
+ currencyCode: string;
80
+ purchase: {
81
+ actionField: {
82
+ id: string;
83
+ revenue: number;
84
+ tax: number;
85
+ coupon: string;
86
+ };
87
+ products: Product[];
88
+ };
89
+ StartDate: string;
90
+ EndDate: string;
91
+ BookingDate: string;
92
+ PageType: string;
93
+ paymentType: import("@roomstay/core").EBookingPaymentMethod | undefined;
94
+ };
95
+ } | undefined)[];
77
96
  generateRefundMessageObject(reservation: ReservationDTO): any;
78
97
  }
79
98
  declare const ua: UniversalAnalytics;
@@ -84,7 +103,6 @@ type Product = {
84
103
  price: number;
85
104
  brand: string;
86
105
  category: string;
87
- category2: 'Addons' | 'Rooms';
88
106
  variant?: string;
89
107
  list?: string;
90
108
  position?: number;
@@ -24,7 +24,6 @@ class UniversalAnalytics extends Analytics_1.Analytics {
24
24
  price: price,
25
25
  brand: [(_b = this.hotel) === null || _b === void 0 ? void 0 : _b.name, providerId, (_c = this.company) === null || _c === void 0 ? void 0 : _c.brandSuffix].filter(Boolean).join(' - '),
26
26
  category: room.name,
27
- category2: 'Rooms',
28
27
  };
29
28
  if (rate) {
30
29
  product.variant = rate.name;
@@ -47,7 +46,6 @@ class UniversalAnalytics extends Analytics_1.Analytics {
47
46
  price: addonRow.getTotalPrice(),
48
47
  brand: [(_a = this.hotel) === null || _a === void 0 ? void 0 : _a.name, (_b = this.hotel) === null || _b === void 0 ? void 0 : _b.providerHotelID, (_c = this.company) === null || _c === void 0 ? void 0 : _c.brandSuffix].filter(Boolean).join(' - '),
49
48
  category: addon.category,
50
- category2: 'Addons',
51
49
  quantity: addonRow.getTotalQuantity(),
52
50
  };
53
51
  }
@@ -101,19 +99,6 @@ class UniversalAnalytics extends Analytics_1.Analytics {
101
99
  },
102
100
  };
103
101
  }
104
- generateAddonsAddToCartMessageObject(product) {
105
- return {
106
- event: 'addToCart',
107
- ecommerce: {
108
- currencyCode: this.currency.original,
109
- add: {
110
- products: [this.generateAddonProductInfo(product.basketAddonRow)],
111
- },
112
- StartDate: product.dateRange.from.format(DATALAYER_DATE_FORMAT),
113
- EndDate: product.dateRange.to.format(DATALAYER_DATE_FORMAT),
114
- },
115
- };
116
- }
117
102
  generateUpsellConfirmedMessageObject(oldProduct, newProduct) {
118
103
  const newRate = newProduct.rate;
119
104
  const oldRate = oldProduct.rate;
@@ -169,8 +154,7 @@ class UniversalAnalytics extends Analytics_1.Analytics {
169
154
  }
170
155
  generateRoomPurchaseMessageObject(basketRows, addonRows, reservations) {
171
156
  let i = 0;
172
- return basketRows
173
- .map((row) => {
157
+ return basketRows.map((row) => {
174
158
  var _a;
175
159
  const products = [this.getProductInfo(row.getRoom(), row.getRate(), undefined, row.getNumberOfDays())];
176
160
  if (i === 0) {
@@ -203,13 +187,10 @@ class UniversalAnalytics extends Analytics_1.Analytics {
203
187
  };
204
188
  }
205
189
  catch (e) {
206
- return undefined;
207
- }
208
- finally {
209
- i++;
190
+ // test
210
191
  }
211
- })
212
- .filter((tmp) => tmp !== undefined);
192
+ i++;
193
+ });
213
194
  }
214
195
  generateRefundMessageObject(reservation) {
215
196
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalAnalytics.js","sourceRoot":"/","sources":["src/util/Analytics/UniversalAnalytics.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReservationDTO, ReservationsDTO } from '@roomstay/core';\nimport dayjs, { Dayjs } from 'dayjs';\n\nimport BasketAddonRow from '@/models/BasketAddonRow';\nimport BasketRow from '@/models/BasketRow';\nimport { Room } from '@/models/Room/Room';\nimport { RoomRate } from '@/models/Room/RoomRate';\n\nimport { DateRange, GenericAnalyticsAccommodation } from '../DataLayer';\nimport { Analytics, IAnalyticMessageEvent } from './Analytics';\n\nconst DATALAYER_DATE_FORMAT = 'YYYY-M-D';\n\nclass UniversalAnalytics extends Analytics {\n private getProductInfo(room: Room, rate?: RoomRate, listPosition?: number, quantity?: number): Product {\n const providerId = this.hotel?.providerHotelID;\n\n const price = rate ? rate.getAveragePrice() : room.getLowestPrice();\n const nameParts = [room.name];\n const idParts = [providerId, 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.hotel?.name, providerId, this.company?.brandSuffix].filter(Boolean).join(' - '),\n category: room.name as string,\n category2: 'Rooms',\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 private 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.hotel?.name, this.hotel?.providerHotelID, this.company?.brandSuffix].filter(Boolean).join(' - '),\n category: addon.category,\n category2: 'Addons',\n quantity: addonRow.getTotalQuantity(),\n };\n }\n\n public generateRoomImpressionMessageObject(impressions: GenericAnalyticsAccommodation[]) {\n return {\n event: 'Product impressions',\n ecommerce: {\n currencyCode: this.currency.original,\n impressions: impressions.map((item, index) => {\n const { room, quantity } = item;\n return this.getProductInfo(room, undefined, index, quantity);\n }),\n },\n };\n }\n\n public generateProductClickMessageObject(product: GenericAnalyticsAccommodation) {\n const { room, rate, quantity } = product;\n return {\n event: 'productClick',\n ecommerce: {\n currencyCode: this.currency.original,\n click: {\n products: [this.getProductInfo(room, rate, undefined, quantity)],\n },\n StartDate: product.dateRange.from.format(DATALAYER_DATE_FORMAT),\n EndDate: product.dateRange.to.format(DATALAYER_DATE_FORMAT),\n },\n };\n }\n\n public generateDateSelectionMessageObject(dateRange: DateRange, adults: number, children: number, infants?: number | undefined) {\n return {\n event: 'dateSelection',\n arrivalDate: dateRange.from.format(DATALAYER_DATE_FORMAT),\n departureDate: dateRange.to.format(DATALAYER_DATE_FORMAT),\n adultQty: Number.isInteger(adults) ? `${adults}` : null,\n childQty: Number.isInteger(children) ? `${children}` : null,\n infantQty: Number.isInteger(infants) ? `${infants}` : null,\n };\n }\n\n public generateAddToCartMessageObject(product: GenericAnalyticsAccommodation) {\n const productInfo = this.getProductInfo(product.room, product.rate, undefined, product.quantity);\n\n return {\n event: 'addToCart',\n ecommerce: {\n currencyCode: this.currency.original,\n add: {\n products: [productInfo],\n },\n StartDate: product.dateRange.from.format(DATALAYER_DATE_FORMAT),\n EndDate: product.dateRange.to.format(DATALAYER_DATE_FORMAT),\n },\n };\n }\n\n public generateAddonsAddToCartMessageObject(product: Required<Pick<GenericAnalyticsAccommodation, 'quantity' | 'dateRange' | 'basketAddonRow'>>): IAnalyticMessageEvent {\n return {\n event: 'addToCart',\n ecommerce: {\n currencyCode: this.currency.original,\n add: {\n products: [this.generateAddonProductInfo(product.basketAddonRow!)],\n },\n StartDate: product.dateRange.from.format(DATALAYER_DATE_FORMAT),\n EndDate: product.dateRange.to.format(DATALAYER_DATE_FORMAT),\n },\n };\n }\n\n public generateUpsellConfirmedMessageObject(oldProduct: GenericAnalyticsAccommodation, newProduct: GenericAnalyticsAccommodation) {\n const newRate = newProduct.rate;\n const oldRate = oldProduct.rate;\n\n if (!newRate || !oldRate) {\n return null;\n }\n\n const oldConvertedProduct = this.getProductInfo(oldRate.getRoom(), oldRate);\n const newConvertedProduct = this.getProductInfo(newRate.getRoom(), newRate);\n\n return {\n event: 'upsellConfirmed',\n priceDifference: newRate.getTotalPrice() - oldRate.getTotalPrice(),\n old: {\n products: [oldConvertedProduct],\n },\n new: {\n products: [newConvertedProduct],\n },\n };\n }\n\n public generateUpsellCancelledMessageObject(product: GenericAnalyticsAccommodation) {\n const { room, rate, quantity } = product;\n\n const productInfo = this.getProductInfo(room, rate, undefined, quantity);\n\n return {\n event: 'upsellCancelled',\n item: [productInfo],\n };\n }\n\n public generateCheckoutViewMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[]) {\n const products: Product[] = [];\n\n let startDate: Dayjs | undefined = undefined;\n let endDate: Dayjs | undefined = undefined;\n\n basketRows.forEach((row) => {\n startDate = row.getStartDate();\n endDate = row.getEndDate();\n products.push(this.getProductInfo(row.getRoom(), row.getRate() as RoomRate, undefined, row.getNumberOfDays()));\n });\n\n addonRows.forEach((row) => {\n products.push(this.generateAddonProductInfo(row));\n });\n\n return {\n event: 'checkout',\n ecommerce: {\n currencyCode: this.currency.original,\n checkout: {\n actionField: { step: 1 },\n products,\n },\n StartDate: (startDate as Dayjs | undefined)?.format(DATALAYER_DATE_FORMAT),\n EndDate: (endDate as Dayjs | undefined)?.format(DATALAYER_DATE_FORMAT),\n PageType: 'conversionintent',\n },\n };\n }\n\n public generateRoomPurchaseMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO) {\n let i = 0;\n return basketRows\n .map((row) => {\n const products = [this.getProductInfo(row.getRoom(), row.getRate() as RoomRate, undefined, row.getNumberOfDays())];\n\n if (i === 0) {\n addonRows.forEach((addonRow) => {\n products.push(this.generateAddonProductInfo(addonRow));\n });\n }\n\n try {\n const upsellPrevRoom = row.getPreUpsellRoomRate();\n\n const extraData: { checkoutUpsell?: any } = {};\n if (upsellPrevRoom) {\n extraData.checkoutUpsell = {\n active: true,\n oldRoom: upsellPrevRoom.getRoom().code,\n newRoom: row.getRoom().code,\n priceDifference: (row.getRate()?.getTotalPrice() || 0) - (upsellPrevRoom.getTotalPrice() || 0),\n };\n }\n return {\n event: 'roomPurchase',\n ecommerce: {\n currencyCode: this.currency.original,\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 ...extraData,\n },\n } as IAnalyticMessageEvent;\n } catch (e) {\n return undefined;\n } finally {\n i++;\n }\n })\n .filter((tmp): tmp is IAnalyticMessageEvent => tmp !== undefined);\n }\n\n public generateRefundMessageObject(reservation: ReservationDTO): any {\n return {\n event: 'refund',\n ecommerce: {\n refund: {\n actionField: {\n id: reservation.reservationNumber,\n },\n },\n },\n };\n }\n}\n\nconst ua = new UniversalAnalytics();\n\nexport { ua as UniversalAnalytics };\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 category2: 'Addons' | 'Rooms';\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"]}
1
+ {"version":3,"file":"UniversalAnalytics.js","sourceRoot":"/","sources":["src/util/Analytics/UniversalAnalytics.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\n\nimport ReservationsDTO, { ReservationDTO } from '@/models/Api/ReservationsDTO';\nimport BasketAddonRow from '@/models/BasketAddonRow';\nimport BasketRow from '@/models/BasketRow';\nimport { Room } from '@/models/Room/Room';\nimport { RoomRate } from '@/models/Room/RoomRate';\n\nimport { DateRange, GenericAnalyticsAccommodation } from '../DataLayer';\nimport { Analytics } from './Analytics';\n\nconst DATALAYER_DATE_FORMAT = 'YYYY-M-D';\n\nclass UniversalAnalytics extends Analytics {\n private getProductInfo(room: Room, rate?: RoomRate, listPosition?: number, quantity?: number): Product {\n const providerId = this.hotel?.providerHotelID;\n\n const price = rate ? rate.getAveragePrice() : room.getLowestPrice();\n const nameParts = [room.name];\n const idParts = [providerId, 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.hotel?.name, providerId, this.company?.brandSuffix].filter(Boolean).join(' - '),\n category: room.name as string,\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 private 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.hotel?.name, this.hotel?.providerHotelID, this.company?.brandSuffix].filter(Boolean).join(' - '),\n category: addon.category,\n quantity: addonRow.getTotalQuantity(),\n };\n }\n\n public generateRoomImpressionMessageObject(impressions: GenericAnalyticsAccommodation[]) {\n return {\n event: 'Product impressions',\n ecommerce: {\n currencyCode: this.currency.original,\n impressions: impressions.map((item, index) => {\n const { room, quantity } = item;\n return this.getProductInfo(room, undefined, index, quantity);\n }),\n },\n };\n }\n\n public generateProductClickMessageObject(product: GenericAnalyticsAccommodation) {\n const { room, rate, quantity } = product;\n return {\n event: 'productClick',\n ecommerce: {\n currencyCode: this.currency.original,\n click: {\n products: [this.getProductInfo(room, rate, undefined, quantity)],\n },\n StartDate: product.dateRange.from.format(DATALAYER_DATE_FORMAT),\n EndDate: product.dateRange.to.format(DATALAYER_DATE_FORMAT),\n },\n };\n }\n\n public generateDateSelectionMessageObject(dateRange: DateRange, adults: number, children: number, infants?: number | undefined) {\n return {\n event: 'dateSelection',\n arrivalDate: dateRange.from.format(DATALAYER_DATE_FORMAT),\n departureDate: dateRange.to.format(DATALAYER_DATE_FORMAT),\n adultQty: Number.isInteger(adults) ? `${adults}` : null,\n childQty: Number.isInteger(children) ? `${children}` : null,\n infantQty: Number.isInteger(infants) ? `${infants}` : null,\n };\n }\n\n public generateAddToCartMessageObject(product: GenericAnalyticsAccommodation) {\n const productInfo = this.getProductInfo(product.room, product.rate, undefined, product.quantity);\n\n return {\n event: 'addToCart',\n ecommerce: {\n currencyCode: this.currency.original,\n add: {\n products: [productInfo],\n },\n StartDate: product.dateRange.from.format(DATALAYER_DATE_FORMAT),\n EndDate: product.dateRange.to.format(DATALAYER_DATE_FORMAT),\n },\n };\n }\n\n public generateUpsellConfirmedMessageObject(oldProduct: GenericAnalyticsAccommodation, newProduct: GenericAnalyticsAccommodation) {\n const newRate = newProduct.rate;\n const oldRate = oldProduct.rate;\n\n if (!newRate || !oldRate) {\n return null;\n }\n\n const oldConvertedProduct = this.getProductInfo(oldRate.getRoom(), oldRate);\n const newConvertedProduct = this.getProductInfo(newRate.getRoom(), newRate);\n\n return {\n event: 'upsellConfirmed',\n priceDifference: newRate.getTotalPrice() - oldRate.getTotalPrice(),\n old: {\n products: [oldConvertedProduct],\n },\n new: {\n products: [newConvertedProduct],\n },\n };\n }\n\n public generateUpsellCancelledMessageObject(product: GenericAnalyticsAccommodation) {\n const { room, rate, quantity } = product;\n\n const productInfo = this.getProductInfo(room, rate, undefined, quantity);\n\n return {\n event: 'upsellCancelled',\n item: [productInfo],\n };\n }\n\n public generateCheckoutViewMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[]) {\n const products: Product[] = [];\n\n let startDate: Dayjs | undefined = undefined;\n let endDate: Dayjs | undefined = undefined;\n\n basketRows.forEach((row) => {\n startDate = row.getStartDate();\n endDate = row.getEndDate();\n products.push(this.getProductInfo(row.getRoom(), row.getRate() as RoomRate, undefined, row.getNumberOfDays()));\n });\n\n addonRows.forEach((row) => {\n products.push(this.generateAddonProductInfo(row));\n });\n\n return {\n event: 'checkout',\n ecommerce: {\n currencyCode: this.currency.original,\n checkout: {\n actionField: { step: 1 },\n products,\n },\n StartDate: (startDate as Dayjs | undefined)?.format(DATALAYER_DATE_FORMAT),\n EndDate: (endDate as Dayjs | undefined)?.format(DATALAYER_DATE_FORMAT),\n PageType: 'conversionintent',\n },\n };\n }\n\n public generateRoomPurchaseMessageObject(basketRows: BasketRow[], addonRows: BasketAddonRow[], reservations: ReservationsDTO) {\n let i = 0;\n return basketRows.map((row) => {\n const products = [this.getProductInfo(row.getRoom(), row.getRate() as RoomRate, undefined, row.getNumberOfDays())];\n\n if (i === 0) {\n addonRows.forEach((addonRow) => {\n products.push(this.generateAddonProductInfo(addonRow));\n });\n }\n\n try {\n const upsellPrevRoom = row.getPreUpsellRoomRate();\n\n const extraData: { checkoutUpsell?: any } = {};\n if (upsellPrevRoom) {\n extraData.checkoutUpsell = {\n active: true,\n oldRoom: upsellPrevRoom.getRoom().code,\n newRoom: row.getRoom().code,\n priceDifference: (row.getRate()?.getTotalPrice() || 0) - (upsellPrevRoom.getTotalPrice() || 0),\n };\n }\n\n return {\n event: 'roomPurchase',\n ecommerce: {\n currencyCode: this.currency.original,\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 ...extraData,\n },\n };\n } catch (e) {\n // test\n }\n\n i++;\n });\n }\n\n public generateRefundMessageObject(reservation: ReservationDTO): any {\n return {\n event: 'refund',\n ecommerce: {\n refund: {\n actionField: {\n id: reservation.reservationNumber,\n },\n },\n },\n };\n }\n}\n\nconst ua = new UniversalAnalytics();\n\nexport { ua as UniversalAnalytics };\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"]}
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
35
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncAuth.js","sourceRoot":"/","sources":["src/util/AsyncAuth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;GAEG;AACI,MAAM,OAAO,GAAG,GAA6B,EAAE;IAClD,MAAM,EAAE,IAAI,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;IACnD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA,CAAC;AAHW,QAAA,OAAO,WAGlB","sourcesContent":["import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';\n\n/**\n * Async import Auth to split bundle code\n */\nexport const getAuth = async (): Promise<AuthClass> => {\n const { Auth } = await import('@aws-amplify/auth');\n return Auth;\n};\n"]}
1
+ {"version":3,"file":"AsyncAuth.js","sourceRoot":"/","sources":["src/util/AsyncAuth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;GAEG;AACI,MAAM,OAAO,GAAG,GAA6B,EAAE;IAClD,MAAM,EAAE,IAAI,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;IACnD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA,CAAC;AAHW,QAAA,OAAO,WAGlB","sourcesContent":["import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';\n\n/**\n * Async import Auth to split bundle code\n */\nexport const getAuth = async (): Promise<AuthClass> => {\n const { Auth } = await import('@aws-amplify/auth');\n return Auth;\n};\n"]}
@@ -16,6 +16,7 @@ const getLetterDaysOfWeek = (startsWeekOnDay) => {
16
16
  exports.getLetterDaysOfWeek = getLetterDaysOfWeek;
17
17
  class CalendarHelper {
18
18
  }
19
+ exports.default = CalendarHelper;
19
20
  /**
20
21
  * Returns an array always divisible by 7,
21
22
  *
@@ -83,7 +84,6 @@ CalendarHelper.getDaysBetween = (startDate, endDate) => {
83
84
  }
84
85
  return days;
85
86
  };
86
- exports.default = CalendarHelper;
87
87
  const getQueryParamFromHash = (param) => {
88
88
  const currentUrl = window.location.href;
89
89
  const hashIndex = currentUrl.indexOf('#');
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarHelper.js","sourceRoot":"/","sources":["src/util/CalendarHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\n\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 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\n const endDateNumber = parseInt(monthEnd.format('D'), 10);\n const endDayIndex = parseInt(monthEnd.format('d'), 10);\n const paddingAtEnd = startWeekOnDay === 'monday' ? (7 - endDayIndex) % 7 : (7 - endDayIndex - 1) % 7;\n\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 for (let i = 0; i < paddingAtEnd; i++) {\n dayArray.push('');\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\nexport const getQueryParamFromHash = (param: string): string | undefined => {\n const currentUrl = window.location.href;\n const hashIndex = currentUrl.indexOf('#');\n\n if (hashIndex !== -1) {\n const hashFragment = currentUrl.substring(hashIndex + 1); // Extract the part after '#'\n const simulatedUrl = new URL(`https://example.com/${hashFragment}`); // Add base URL for parsing\n if (simulatedUrl.searchParams.has(param)) {\n const value = simulatedUrl.searchParams.get(param); // Get the query parameter value\n return value === null ? undefined : value;\n }\n\n return undefined;\n }\n\n return undefined;\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';\n\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 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\n const endDateNumber = parseInt(monthEnd.format('D'), 10);\n const endDayIndex = parseInt(monthEnd.format('d'), 10);\n const paddingAtEnd = startWeekOnDay === 'monday' ? (7 - endDayIndex) % 7 : (7 - endDayIndex - 1) % 7;\n\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 for (let i = 0; i < paddingAtEnd; i++) {\n dayArray.push('');\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\nexport const getQueryParamFromHash = (param: string): string | undefined => {\n const currentUrl = window.location.href;\n const hashIndex = currentUrl.indexOf('#');\n\n if (hashIndex !== -1) {\n const hashFragment = currentUrl.substring(hashIndex + 1); // Extract the part after '#'\n const simulatedUrl = new URL(`https://example.com/${hashFragment}`); // Add base URL for parsing\n if (simulatedUrl.searchParams.has(param)) {\n const value = simulatedUrl.searchParams.get(param); // Get the query parameter value\n return value === null ? undefined : value;\n }\n\n return undefined;\n }\n\n return undefined;\n};\n"]}
@@ -18,5 +18,5 @@ export declare enum Color {
18
18
  }
19
19
  /** Returns the style tag content for overriding default colors. Insert this in an existing style tag, you'll need to specify your own target */
20
20
  export declare const getAccentOverrideStyleContent: (color: IHotelColorScheme) => string;
21
- export declare const lightOrDark: (hc: string) => "light" | "dark";
21
+ export declare const lightOrDark: (hc: string) => 'light' | 'dark';
22
22
  export declare const getContrastTextColor: (backgroundColor?: string) => Color.Navy | Color.White;
@@ -18,7 +18,7 @@ var Color;
18
18
  Color["Snow"] = "var(--rs-color-snow)";
19
19
  Color["Navy"] = "var(--rs-color-navy)";
20
20
  Color["White"] = "var(--rs-color-white)";
21
- })(Color || (exports.Color = Color = {}));
21
+ })(Color = exports.Color || (exports.Color = {}));
22
22
  /** Returns the style tag content for overriding default colors. Insert this in an existing style tag, you'll need to specify your own target */
23
23
  const getAccentOverrideStyleContent = (color) => {
24
24
  let headerOverrides = '';
@@ -1 +1 @@
1
- {"version":3,"file":"Color.js","sourceRoot":"/","sources":["src/util/Color.ts"],"names":[],"mappings":";;;AAEA,IAAY,KAkBX;AAlBD,WAAY,KAAK;IACb,4CAAmC,CAAA;IACnC,6CAAoC,CAAA;IACpC,6CAAoC,CAAA;IAEpC,4CAAmC,CAAA;IACnC,qDAA4C,CAAA;IAC5C,0CAAiC,CAAA;IACjC,4CAAmC,CAAA;IACnC,wCAA+B,CAAA;IAE/B,8CAAqC,CAAA;IACrC,+CAAsC,CAAA;IACtC,sCAA6B,CAAA;IAC7B,iDAAwC,CAAA;IACxC,sCAA6B,CAAA;IAC7B,sCAA6B,CAAA;IAC7B,wCAA+B,CAAA;AACnC,CAAC,EAlBW,KAAK,qBAAL,KAAK,QAkBhB;AAED,gJAAgJ;AACzI,MAAM,6BAA6B,GAAG,CAAC,KAAwB,EAAE,EAAE;IACtE,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,eAAe,GAAG;wCACc,KAAK,CAAC,MAAM,CAAC,UAAU;kCAC7B,KAAK,CAAC,MAAM,CAAC,IAAI;yCACV,KAAK,CAAC,MAAM,CAAC,UAAU;SACvD,CAAC;IACN,CAAC;IAED,OAAO;+BACoB,KAAK,CAAC,MAAM;+BACZ,KAAK,CAAC,OAAO;+BACb,KAAK,CAAC,OAAO;;UAElC,eAAe;;UAEf,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnF,CAAC,CAAC;AAlBW,QAAA,6BAA6B,iCAkBxC;AAEK,MAAM,WAAW,GAAG,CAAC,EAAU,EAAoB,EAAE;IACxD,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IACjD,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACzC,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB;AAEK,MAAM,oBAAoB,GAAG,CAAC,eAAwB,EAA4B,EAAE,CACvF,eAAe,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAW,EAAC,eAAe,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAD5F,QAAA,oBAAoB,wBACwE","sourcesContent":["import { IHotelColorScheme } from '@roomstay/core';\n\nexport enum Color {\n Accent = 'var(--rs-color-accent-1)',\n Accent2 = 'var(--rs-color-accent-2)',\n Accent3 = 'var(--rs-color-accent-3)',\n\n Success = 'var(--rs-color-success)',\n SuccessTint = 'var(--rs-color-success-tint)',\n Danger = 'var(--rs-color-danger)',\n Warning = 'var(--rs-color-warning)',\n Alert = 'var(--rs-color-alert)',\n\n Graphite = 'var(--rs-color-graphite)',\n DarkGrey = 'var(--rs-color-dark-grey)',\n Grey = 'var(--rs-color-grey)',\n LightGrey = 'var(--rs-color-light-grey)',\n Snow = 'var(--rs-color-snow)',\n Navy = 'var(--rs-color-navy)',\n White = 'var(--rs-color-white)',\n}\n\n/** Returns the style tag content for overriding default colors. Insert this in an existing style tag, you'll need to specify your own target */\nexport const getAccentOverrideStyleContent = (color: IHotelColorScheme) => {\n let headerOverrides = '';\n if (color.navbar) {\n headerOverrides = `\n --rs-color-header-background: ${color.navbar.background}!important;\n --rs-color-header-text: ${color.navbar.text}!important;\n --rs-color-header-text-active: ${color.navbar.textActive}!important;\n `;\n }\n\n return `\n --rs-color-accent-1: ${color.accent}!important;\n --rs-color-accent-2: ${color.accent2}!important;\n --rs-color-accent-3: ${color.accent3}!important;\n\n ${headerOverrides}\n\n ${color.success ? `--rs-color-success: ${color.success}!important;` : ''}`;\n};\n\nexport const lightOrDark = (hc: string): 'light' | 'dark' => {\n if (hc[0] === '#') {\n hc = hc.replace('#', '');\n }\n const [r, g, b] = [0, 2, 4].map((p) => parseInt(hc.substring(p, p + 2), 16));\n const yiq = (r * 299 + g * 587 + b * 114) / 1000;\n return yiq >= 128 ? 'light' : 'dark';\n};\n\nexport const getContrastTextColor = (backgroundColor?: string): Color.Navy | Color.White =>\n backgroundColor ? (lightOrDark(backgroundColor) === 'light' ? Color.Navy : Color.White) : Color.Navy;\n"]}
1
+ {"version":3,"file":"Color.js","sourceRoot":"/","sources":["src/util/Color.ts"],"names":[],"mappings":";;;AAEA,IAAY,KAkBX;AAlBD,WAAY,KAAK;IACb,4CAAmC,CAAA;IACnC,6CAAoC,CAAA;IACpC,6CAAoC,CAAA;IAEpC,4CAAmC,CAAA;IACnC,qDAA4C,CAAA;IAC5C,0CAAiC,CAAA;IACjC,4CAAmC,CAAA;IACnC,wCAA+B,CAAA;IAE/B,8CAAqC,CAAA;IACrC,+CAAsC,CAAA;IACtC,sCAA6B,CAAA;IAC7B,iDAAwC,CAAA;IACxC,sCAA6B,CAAA;IAC7B,sCAA6B,CAAA;IAC7B,wCAA+B,CAAA;AACnC,CAAC,EAlBW,KAAK,GAAL,aAAK,KAAL,aAAK,QAkBhB;AAED,gJAAgJ;AACzI,MAAM,6BAA6B,GAAG,CAAC,KAAwB,EAAE,EAAE;IACtE,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,KAAK,CAAC,MAAM,EAAE;QACd,eAAe,GAAG;wCACc,KAAK,CAAC,MAAM,CAAC,UAAU;kCAC7B,KAAK,CAAC,MAAM,CAAC,IAAI;yCACV,KAAK,CAAC,MAAM,CAAC,UAAU;SACvD,CAAC;KACL;IAED,OAAO;+BACoB,KAAK,CAAC,MAAM;+BACZ,KAAK,CAAC,OAAO;+BACb,KAAK,CAAC,OAAO;;UAElC,eAAe;;UAEf,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnF,CAAC,CAAC;AAlBW,QAAA,6BAA6B,iCAkBxC;AAEK,MAAM,WAAW,GAAG,CAAC,EAAU,EAAoB,EAAE;IACxD,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QACf,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;KAC5B;IACD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IACjD,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACzC,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB;AAEK,MAAM,oBAAoB,GAAG,CAAC,eAAwB,EAA4B,EAAE,CACvF,eAAe,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAW,EAAC,eAAe,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAD5F,QAAA,oBAAoB,wBACwE","sourcesContent":["import { IHotelColorScheme } from '@roomstay/core';\n\nexport enum Color {\n Accent = 'var(--rs-color-accent-1)',\n Accent2 = 'var(--rs-color-accent-2)',\n Accent3 = 'var(--rs-color-accent-3)',\n\n Success = 'var(--rs-color-success)',\n SuccessTint = 'var(--rs-color-success-tint)',\n Danger = 'var(--rs-color-danger)',\n Warning = 'var(--rs-color-warning)',\n Alert = 'var(--rs-color-alert)',\n\n Graphite = 'var(--rs-color-graphite)',\n DarkGrey = 'var(--rs-color-dark-grey)',\n Grey = 'var(--rs-color-grey)',\n LightGrey = 'var(--rs-color-light-grey)',\n Snow = 'var(--rs-color-snow)',\n Navy = 'var(--rs-color-navy)',\n White = 'var(--rs-color-white)',\n}\n\n/** Returns the style tag content for overriding default colors. Insert this in an existing style tag, you'll need to specify your own target */\nexport const getAccentOverrideStyleContent = (color: IHotelColorScheme) => {\n let headerOverrides = '';\n if (color.navbar) {\n headerOverrides = `\n --rs-color-header-background: ${color.navbar.background}!important;\n --rs-color-header-text: ${color.navbar.text}!important;\n --rs-color-header-text-active: ${color.navbar.textActive}!important;\n `;\n }\n\n return `\n --rs-color-accent-1: ${color.accent}!important;\n --rs-color-accent-2: ${color.accent2}!important;\n --rs-color-accent-3: ${color.accent3}!important;\n\n ${headerOverrides}\n\n ${color.success ? `--rs-color-success: ${color.success}!important;` : ''}`;\n};\n\nexport const lightOrDark = (hc: string): 'light' | 'dark' => {\n if (hc[0] === '#') {\n hc = hc.replace('#', '');\n }\n const [r, g, b] = [0, 2, 4].map((p) => parseInt(hc.substring(p, p + 2), 16));\n const yiq = (r * 299 + g * 587 + b * 114) / 1000;\n return yiq >= 128 ? 'light' : 'dark';\n};\n\nexport const getContrastTextColor = (backgroundColor?: string): Color.Navy | Color.White =>\n backgroundColor ? (lightOrDark(backgroundColor) === 'light' ? Color.Navy : Color.White) : Color.Navy;\n"]}