@roomstay/frontend 2.1.0 → 2.1.1

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 (869) hide show
  1. package/dist/201.bundle.js +1 -1
  2. package/dist/449.bundle.js +1 -1
  3. package/dist/760.bundle.js +1 -0
  4. package/dist/main.bundle.js +1 -1
  5. package/dist/src/api/AddonAPI.d.ts +3 -3
  6. package/dist/src/api/AddonAPI.js +3 -3
  7. package/dist/src/api/AddonAPI.js.map +1 -1
  8. package/dist/src/api/AvailabilityAPI.d.ts +3 -3
  9. package/dist/src/api/AvailabilityAPI.js +5 -5
  10. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  11. package/dist/src/api/BaseAPI.js +1 -1
  12. package/dist/src/api/BaseAPI.js.map +1 -1
  13. package/dist/src/api/BookingAPI.d.ts +7 -7
  14. package/dist/src/api/BookingAPI.js +7 -7
  15. package/dist/src/api/BookingAPI.js.map +1 -1
  16. package/dist/src/api/ExchangeRateAPI.d.ts +2 -2
  17. package/dist/src/api/ExchangeRateAPI.js +1 -1
  18. package/dist/src/api/ExchangeRateAPI.js.map +1 -1
  19. package/dist/src/api/HotelAPI.d.ts +5 -5
  20. package/dist/src/api/HotelAPI.js +1 -1
  21. package/dist/src/api/HotelAPI.js.map +1 -1
  22. package/dist/src/api/MemberAPI.d.ts +1 -1
  23. package/dist/src/api/MemberAPI.js +1 -1
  24. package/dist/src/api/MemberAPI.js.map +1 -1
  25. package/dist/src/api/ReservationAPI.d.ts +6 -6
  26. package/dist/src/api/ReservationAPI.js +1 -1
  27. package/dist/src/api/ReservationAPI.js.map +1 -1
  28. package/dist/src/api/SessionAPI.d.ts +1 -1
  29. package/dist/src/api/SessionAPI.js +1 -1
  30. package/dist/src/api/SessionAPI.js.map +1 -1
  31. package/dist/src/api/members-service/MembersServiceAPI.js +1 -1
  32. package/dist/src/api/members-service/MembersServiceAPI.js.map +1 -1
  33. package/dist/src/components/User/Forms/ForgotPasswordForm.js +5 -5
  34. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  35. package/dist/src/components/User/Forms/SignInForm.js +8 -8
  36. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  37. package/dist/src/components/User/Forms/SignUpForm.js +9 -9
  38. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  39. package/dist/src/components/generic/Alert.d.ts +1 -1
  40. package/dist/src/components/generic/Alert.js +1 -1
  41. package/dist/src/components/generic/Alert.js.map +1 -1
  42. package/dist/src/components/generic/BEButton.d.ts +2 -2
  43. package/dist/src/components/generic/BEButton.js +2 -2
  44. package/dist/src/components/generic/BEButton.js.map +1 -1
  45. package/dist/src/components/generic/BackButton.js +2 -2
  46. package/dist/src/components/generic/BackButton.js.map +1 -1
  47. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +3 -3
  48. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  49. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +2 -2
  50. package/dist/src/components/generic/BookingWizard/BookingWizard.js +1 -1
  51. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  52. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +2 -2
  53. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +1 -1
  54. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  55. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +1 -1
  56. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
  57. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +4 -4
  58. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  59. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +6 -6
  60. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  61. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +2 -2
  62. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +3 -3
  63. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  64. package/dist/src/components/generic/Card/Card/Card.js +1 -1
  65. package/dist/src/components/generic/Card/Card/Card.js.map +1 -1
  66. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +2 -2
  67. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +4 -4
  68. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
  69. package/dist/src/components/generic/Checkbox/Checkbox.js +2 -2
  70. package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
  71. package/dist/src/components/generic/Currency.js +3 -3
  72. package/dist/src/components/generic/Currency.js.map +1 -1
  73. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +4 -4
  74. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
  75. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +1 -1
  76. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +2 -2
  77. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -1
  78. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +3 -3
  79. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -1
  80. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +7 -7
  81. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -1
  82. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.d.ts +1 -1
  83. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +2 -2
  84. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
  85. package/dist/src/components/generic/Distance.js +1 -1
  86. package/dist/src/components/generic/Distance.js.map +1 -1
  87. package/dist/src/components/generic/Headline.d.ts +2 -2
  88. package/dist/src/components/generic/Headline.js.map +1 -1
  89. package/dist/src/components/generic/Icon/Icon.d.ts +1 -1
  90. package/dist/src/components/generic/Icon/Icon.js +1 -1
  91. package/dist/src/components/generic/Icon/Icon.js.map +1 -1
  92. package/dist/src/components/generic/IconText/IconText.d.ts +2 -2
  93. package/dist/src/components/generic/IconText/IconText.js +3 -3
  94. package/dist/src/components/generic/IconText/IconText.js.map +1 -1
  95. package/dist/src/components/generic/InputGroup/InputGroup.d.ts +1 -1
  96. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  97. package/dist/src/components/generic/Notification.d.ts +1 -1
  98. package/dist/src/components/generic/Notification.js +2 -2
  99. package/dist/src/components/generic/Notification.js.map +1 -1
  100. package/dist/src/components/generic/NumberIncrement.js +3 -3
  101. package/dist/src/components/generic/NumberIncrement.js.map +1 -1
  102. package/dist/src/components/generic/Overlay/Overlay.js +1 -1
  103. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  104. package/dist/src/components/generic/PasswordBox/PasswordBox.js +1 -1
  105. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  106. package/dist/src/components/generic/PaymentCard/CardTypeSelect.d.ts +1 -1
  107. package/dist/src/components/generic/PaymentCard/CardTypeSelect.js +3 -3
  108. package/dist/src/components/generic/PaymentCard/CardTypeSelect.js.map +1 -1
  109. package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +1 -1
  110. package/dist/src/components/generic/PaymentCard/PaymentCard.js +3 -3
  111. package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
  112. package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +1 -1
  113. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +9 -9
  114. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  115. package/dist/src/components/generic/Pill.d.ts +1 -1
  116. package/dist/src/components/generic/Pill.js +1 -1
  117. package/dist/src/components/generic/Pill.js.map +1 -1
  118. package/dist/src/components/generic/PromoCodeInput.js +6 -6
  119. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  120. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +1 -1
  121. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  122. package/dist/src/components/generic/RecentSearchesCard.d.ts +1 -1
  123. package/dist/src/components/generic/RecentSearchesCard.js +6 -6
  124. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  125. package/dist/src/components/generic/Select/Select.d.ts +1 -1
  126. package/dist/src/components/generic/Select/Select.js +6 -6
  127. package/dist/src/components/generic/Select/Select.js.map +1 -1
  128. package/dist/src/components/generic/Tabs/TabContext.d.ts +1 -1
  129. package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
  130. package/dist/src/components/generic/Tabs/TabLink.js +3 -3
  131. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  132. package/dist/src/components/generic/Tabs/TabRouteContainer.js +2 -2
  133. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
  134. package/dist/src/components/generic/Tabs/Tabs.js +5 -5
  135. package/dist/src/components/generic/Tabs/Tabs.js.map +1 -1
  136. package/dist/src/components/generic/Text.d.ts +2 -2
  137. package/dist/src/components/generic/Text.js.map +1 -1
  138. package/dist/src/components/generic/TextBox.d.ts +1 -1
  139. package/dist/src/components/generic/TextBox.js +1 -1
  140. package/dist/src/components/generic/TextBox.js.map +1 -1
  141. package/dist/src/components/generic/Tooltip/Tooltip.js +1 -1
  142. package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
  143. package/dist/src/components/generic/badging/SSLSecureBadge.js +2 -2
  144. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  145. package/dist/src/components/generic/buttons/NextStepButton.d.ts +1 -1
  146. package/dist/src/components/generic/buttons/NextStepButton.js +4 -4
  147. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  148. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +3 -3
  149. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  150. package/dist/src/components/generic/date/DatePicker.js +9 -9
  151. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  152. package/dist/src/components/generic/date/DatePickerDay.js +6 -6
  153. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  154. package/dist/src/components/generic/date/DatePickerDays.js +3 -3
  155. package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
  156. package/dist/src/components/generic/date/DatePickerMonth.js +5 -5
  157. package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
  158. package/dist/src/components/generic/date/DatePickerWeek.js +8 -8
  159. package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
  160. package/dist/src/components/generic/date/FloatingDatePicker.js +3 -3
  161. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  162. package/dist/src/components/generic/date/WeekViewSkeleton.js +2 -2
  163. package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
  164. package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
  165. package/dist/src/components/generic/loader/ImageLoader.js +2 -2
  166. package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
  167. package/dist/src/components/generic/loader/LargeLoader.js +1 -1
  168. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  169. package/dist/src/components/generic/loader/SmallSpinner.d.ts +1 -1
  170. package/dist/src/components/generic/loader/SmallSpinner.js +2 -2
  171. package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
  172. package/dist/src/components/generic/map/HotelLocationMap.js +1 -1
  173. package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
  174. package/dist/src/components/generic/modal/ConfirmationModal.js +3 -3
  175. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  176. package/dist/src/components/generic/modal/ErrorModal.js +3 -3
  177. package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
  178. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +7 -7
  179. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  180. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +9 -9
  181. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  182. package/dist/src/components/generic/modal/SimpleModal.js +5 -5
  183. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  184. package/dist/src/components/generic/modal/TabbedModal.js +1 -1
  185. package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
  186. package/dist/src/components/generic/radio/RadioFields.js +2 -2
  187. package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
  188. package/dist/src/components/members/EditMyProfile.js +6 -6
  189. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  190. package/dist/src/components/navigation/Header.js +14 -14
  191. package/dist/src/components/navigation/Header.js.map +1 -1
  192. package/dist/src/components/navigation/StepSelector.js +6 -6
  193. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  194. package/dist/src/components/navigation/StepSelectorModal.js +5 -5
  195. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  196. package/dist/src/components/pages/Account/Card/MemberCardItem.js +7 -7
  197. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  198. package/dist/src/components/pages/PageColorComponent.js +1 -1
  199. package/dist/src/components/pages/PageColorComponent.js.map +1 -1
  200. package/dist/src/components/reservation/ReservationItem.js +12 -12
  201. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  202. package/dist/src/components/reservation/ReservationList.d.ts +1 -1
  203. package/dist/src/components/reservation/ReservationList.js +1 -1
  204. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  205. package/dist/src/components/steps/DaysSelectedInformer.js +2 -2
  206. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  207. package/dist/src/components/steps/MinimumNightStayPill.js +4 -4
  208. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  209. package/dist/src/components/steps/addons/AddonCard.d.ts +1 -1
  210. package/dist/src/components/steps/addons/AddonCard.js +8 -8
  211. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  212. package/dist/src/components/steps/addons/AddonList.js +6 -6
  213. package/dist/src/components/steps/addons/AddonList.js.map +1 -1
  214. package/dist/src/components/steps/addons/AddonsNotFound.js +3 -3
  215. package/dist/src/components/steps/addons/AddonsNotFound.js.map +1 -1
  216. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +1 -1
  217. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +4 -4
  218. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
  219. package/dist/src/components/steps/confirmation/AccountDetails.js +4 -4
  220. package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
  221. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js +2 -2
  222. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  223. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +2 -2
  224. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  225. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +7 -7
  226. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  227. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +2 -2
  228. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
  229. package/dist/src/components/steps/confirmation/RoomContactDetails.js +14 -14
  230. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  231. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +6 -6
  232. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  233. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +1 -1
  234. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +10 -10
  235. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  236. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +1 -1
  237. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +4 -4
  238. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
  239. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +2 -2
  240. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  241. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +25 -25
  242. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  243. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +6 -6
  244. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  245. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +2 -2
  246. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
  247. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +1 -1
  248. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  249. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +8 -8
  250. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  251. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +1 -1
  252. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +3 -3
  253. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  254. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +2 -2
  255. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +8 -8
  256. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
  257. package/dist/src/components/steps/date/PeoplePicker.js +6 -6
  258. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  259. package/dist/src/components/steps/date/PeoplePickerRow.js +5 -5
  260. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  261. package/dist/src/components/steps/date/StepDatePricePerRoom.js +7 -7
  262. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  263. package/dist/src/components/steps/date/StepOneDateRange.js +3 -3
  264. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  265. package/dist/src/components/steps/date/StepOneDateRangePicker.js +3 -3
  266. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  267. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +4 -4
  268. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
  269. package/dist/src/components/steps/date/StepOneNextStepButton.js +2 -2
  270. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  271. package/dist/src/components/steps/date/StepOneStatusPeople.js +1 -1
  272. package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
  273. package/dist/src/components/steps/hotel/HotelCard.d.ts +1 -1
  274. package/dist/src/components/steps/hotel/HotelCard.js +13 -13
  275. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  276. package/dist/src/components/steps/hotel/HotelCardList.d.ts +1 -1
  277. package/dist/src/components/steps/hotel/HotelCardList.js +2 -2
  278. package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
  279. package/dist/src/components/steps/hotel/HotelCardModal.d.ts +1 -1
  280. package/dist/src/components/steps/hotel/HotelCardModal.js +12 -12
  281. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  282. package/dist/src/components/steps/hotel/HotelSearchParameters.js +12 -12
  283. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  284. package/dist/src/components/steps/hotel/NoHotelsAvailable.js +2 -2
  285. package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
  286. package/dist/src/components/steps/room/AvailableUpgradesModal.js +11 -11
  287. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  288. package/dist/src/components/steps/room/ImageGallerySlider.d.ts +1 -1
  289. package/dist/src/components/steps/room/ImageGallerySlider.js +4 -4
  290. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  291. package/dist/src/components/steps/room/InactivityWindow.js +10 -10
  292. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  293. package/dist/src/components/steps/room/LargeRoomCard.d.ts +1 -1
  294. package/dist/src/components/steps/room/LargeRoomCard.js +9 -9
  295. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  296. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +12 -12
  297. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
  298. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.types.d.ts +1 -1
  299. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.types.js.map +1 -1
  300. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +11 -11
  301. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  302. package/dist/src/components/steps/room/RatesNotFound.js +3 -3
  303. package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
  304. package/dist/src/components/steps/room/RoomList.js +9 -9
  305. package/dist/src/components/steps/room/RoomList.js.map +1 -1
  306. package/dist/src/components/steps/room/RoomListAlert.js +2 -2
  307. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
  308. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +9 -9
  309. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  310. package/dist/src/components/steps/room/RoomModal.d.ts +2 -2
  311. package/dist/src/components/steps/room/RoomModal.js +9 -9
  312. package/dist/src/components/steps/room/RoomModal.js.map +1 -1
  313. package/dist/src/components/steps/room/StepRoomAlertBlocks.js +4 -4
  314. package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
  315. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +4 -4
  316. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  317. package/dist/src/components/steps/room/StepRoomErrorForm.js +10 -10
  318. package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
  319. package/dist/src/components/steps/room/StepRoomHotelDetails.js +3 -3
  320. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  321. package/dist/src/components/steps/room/StepRoomNextStepButton.js +2 -2
  322. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  323. package/dist/src/components/steps/room/StepRoomSortBy.js +4 -4
  324. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  325. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +4 -4
  326. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  327. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +1 -1
  328. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +2 -2
  329. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
  330. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +1 -1
  331. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +2 -2
  332. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
  333. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +5 -5
  334. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  335. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +1 -1
  336. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +14 -14
  337. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  338. package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +1 -1
  339. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +17 -17
  340. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  341. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +2 -2
  342. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +3 -3
  343. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  344. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +1 -1
  345. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +3 -3
  346. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  347. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +7 -7
  348. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  349. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.d.ts +1 -1
  350. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +12 -12
  351. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  352. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +1 -1
  353. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +2 -2
  354. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
  355. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +7 -7
  356. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  357. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +1 -1
  358. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +8 -8
  359. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  360. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +1 -1
  361. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +9 -9
  362. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  363. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +1 -1
  364. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +3 -3
  365. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  366. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.d.ts +1 -1
  367. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +6 -6
  368. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  369. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +2 -2
  370. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +6 -6
  371. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  372. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +1 -1
  373. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +14 -14
  374. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  375. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +1 -1
  376. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +8 -8
  377. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  378. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +4 -4
  379. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  380. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +1 -1
  381. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +13 -13
  382. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  383. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +2 -2
  384. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +7 -7
  385. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
  386. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +2 -2
  387. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +5 -5
  388. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
  389. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +2 -2
  390. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +5 -5
  391. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  392. package/dist/src/components/summary/BEMapWidget.js +4 -4
  393. package/dist/src/components/summary/BEMapWidget.js.map +1 -1
  394. package/dist/src/components/summary/BEMobileSummary.js +10 -10
  395. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  396. package/dist/src/components/summary/BEMobileSummaryModal.js +18 -18
  397. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  398. package/dist/src/components/summary/BESummary.js +13 -13
  399. package/dist/src/components/summary/BESummary.js.map +1 -1
  400. package/dist/src/components/summary/BESummaryAddonRow.d.ts +1 -1
  401. package/dist/src/components/summary/BESummaryAddonRow.js +6 -6
  402. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  403. package/dist/src/components/summary/BESummaryPerkBlock.js +4 -4
  404. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  405. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +2 -2
  406. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  407. package/dist/src/components/summary/BESummaryRoomRow.d.ts +1 -1
  408. package/dist/src/components/summary/BESummaryRoomRow.js +10 -10
  409. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  410. package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +1 -1
  411. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +5 -5
  412. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  413. package/dist/src/components/temp/Login.js +1 -1
  414. package/dist/src/components/temp/Login.js.map +1 -1
  415. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +6 -6
  416. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  417. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +14 -14
  418. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  419. package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.d.ts +5 -5
  420. package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.js.map +1 -1
  421. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.d.ts +1 -1
  422. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +2 -2
  423. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  424. package/dist/src/contexts/CompanyContext/CompanyContextType.type.d.ts +5 -5
  425. package/dist/src/contexts/CompanyContext/CompanyContextType.type.js.map +1 -1
  426. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.d.ts +1 -1
  427. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +10 -10
  428. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  429. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +1 -1
  430. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  431. package/dist/src/contexts/ErrorContext.js +2 -2
  432. package/dist/src/contexts/ErrorContext.js.map +1 -1
  433. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.d.ts +1 -1
  434. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.js.map +1 -1
  435. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +20 -20
  436. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  437. package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
  438. package/dist/src/contexts/HotelOverridesContext.js +2 -2
  439. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  440. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +1 -1
  441. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  442. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +1 -1
  443. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  444. package/dist/src/contexts/NotificationContext.d.ts +1 -1
  445. package/dist/src/contexts/NotificationContext.js +1 -1
  446. package/dist/src/contexts/NotificationContext.js.map +1 -1
  447. package/dist/src/engines/BaseEngine.d.ts +2 -2
  448. package/dist/src/engines/BaseEngine.js +2 -2
  449. package/dist/src/engines/BaseEngine.js.map +1 -1
  450. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +4 -4
  451. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js +2 -2
  452. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  453. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +1 -1
  454. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  455. package/dist/src/engines/CustomEngine/CustomEngine.d.ts +1 -1
  456. package/dist/src/engines/CustomEngine/CustomEngine.js +1 -1
  457. package/dist/src/engines/CustomEngine/CustomEngine.js.map +1 -1
  458. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.d.ts +2 -2
  459. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +3 -3
  460. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
  461. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +1 -1
  462. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +1 -1
  463. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  464. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.d.ts +2 -2
  465. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js +3 -3
  466. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js.map +1 -1
  467. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +1 -1
  468. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +21 -21
  469. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  470. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.d.ts +2 -2
  471. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js +3 -3
  472. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -1
  473. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +1 -1
  474. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +8 -8
  475. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  476. package/dist/src/errors/GetAvailabilityError.js +1 -1
  477. package/dist/src/errors/GetAvailabilityError.js.map +1 -1
  478. package/dist/src/events/RoomstayEventManager.d.ts +1 -1
  479. package/dist/src/events/RoomstayEventManager.js.map +1 -1
  480. package/dist/src/events/actions/AddToCartEvent.d.ts +2 -2
  481. package/dist/src/events/actions/AddToCartEvent.js +1 -1
  482. package/dist/src/events/actions/AddToCartEvent.js.map +1 -1
  483. package/dist/src/events/actions/GuestSearchEvent.d.ts +1 -1
  484. package/dist/src/events/actions/GuestSearchEvent.js.map +1 -1
  485. package/dist/src/events/actions/InitialHotelDetailsEvent.d.ts +1 -1
  486. package/dist/src/events/actions/InitialHotelDetailsEvent.js.map +1 -1
  487. package/dist/src/events/actions/MemberOnlyFence/MemberOnlyFenceSignUp.d.ts +1 -1
  488. package/dist/src/events/actions/MemberOnlyFence/MemberOnlyFenceSignUp.js.map +1 -1
  489. package/dist/src/events/actions/Promotion/PromotionAddedEvent.d.ts +1 -1
  490. package/dist/src/events/actions/Promotion/PromotionAddedEvent.js.map +1 -1
  491. package/dist/src/events/actions/Promotion/PromotionClickedEvent.d.ts +1 -1
  492. package/dist/src/events/actions/Promotion/PromotionClickedEvent.js.map +1 -1
  493. package/dist/src/events/actions/Promotion/PromotionRemovedEvent.d.ts +1 -1
  494. package/dist/src/events/actions/Promotion/PromotionRemovedEvent.js.map +1 -1
  495. package/dist/src/events/actions/RemoveFromCartEvent.d.ts +2 -2
  496. package/dist/src/events/actions/RemoveFromCartEvent.js +1 -1
  497. package/dist/src/events/actions/RemoveFromCartEvent.js.map +1 -1
  498. package/dist/src/events/actions/RoomListSearchEvent.d.ts +2 -2
  499. package/dist/src/events/actions/RoomListSearchEvent.js.map +1 -1
  500. package/dist/src/events/index.d.ts +13 -13
  501. package/dist/src/events/index.js +13 -13
  502. package/dist/src/events/index.js.map +1 -1
  503. package/dist/src/events/views/FindReservationResultsViewEvent.d.ts +1 -1
  504. package/dist/src/events/views/FindReservationResultsViewEvent.js.map +1 -1
  505. package/dist/src/events/views/StepCheckoutViewEvent.d.ts +2 -2
  506. package/dist/src/events/views/StepCheckoutViewEvent.js +1 -1
  507. package/dist/src/events/views/StepCheckoutViewEvent.js.map +1 -1
  508. package/dist/src/events/views/StepThanksViewEvent.d.ts +1 -1
  509. package/dist/src/events/views/StepThanksViewEvent.js.map +1 -1
  510. package/dist/src/hooks/EventHook.d.ts +2 -2
  511. package/dist/src/hooks/EventHook.js +1 -1
  512. package/dist/src/hooks/EventHook.js.map +1 -1
  513. package/dist/src/hooks/KeyboardControlOnSelect.d.ts +1 -1
  514. package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
  515. package/dist/src/hooks/VGSHooks.d.ts +1 -1
  516. package/dist/src/hooks/VGSHooks.js +1 -1
  517. package/dist/src/hooks/VGSHooks.js.map +1 -1
  518. package/dist/src/hooks/WindowSize.js +2 -2
  519. package/dist/src/hooks/WindowSize.js.map +1 -1
  520. package/dist/src/hooks/index.d.ts +6 -6
  521. package/dist/src/hooks/index.js +6 -6
  522. package/dist/src/hooks/index.js.map +1 -1
  523. package/dist/src/icons/Check.js +1 -1
  524. package/dist/src/icons/Check.js.map +1 -1
  525. package/dist/src/index.d.ts +65 -65
  526. package/dist/src/index.js +70 -70
  527. package/dist/src/index.js.map +1 -1
  528. package/dist/src/mockApi/AddonAPI.d.ts +2 -2
  529. package/dist/src/mockApi/AddonAPI.js +2 -2
  530. package/dist/src/mockApi/AddonAPI.js.map +1 -1
  531. package/dist/src/mockApi/BookingAPI.d.ts +1 -1
  532. package/dist/src/mockApi/BookingAPI.js +1 -1
  533. package/dist/src/mockApi/BookingAPI.js.map +1 -1
  534. package/dist/src/mockApi/ExchangeRateAPI.d.ts +1 -1
  535. package/dist/src/mockApi/ExchangeRateAPI.js.map +1 -1
  536. package/dist/src/mockApi/HotelAPI.d.ts +2 -2
  537. package/dist/src/mockApi/HotelAPI.js.map +1 -1
  538. package/dist/src/mockApi/MockAPI.js +1 -1
  539. package/dist/src/mockApi/MockAPI.js.map +1 -1
  540. package/dist/src/mockApi/ReservationAPI.d.ts +5 -5
  541. package/dist/src/mockApi/ReservationAPI.js.map +1 -1
  542. package/dist/src/models/Api/HotelDTO.d.ts +6 -6
  543. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  544. package/dist/src/models/Api/HotelOverrideDTO.d.ts +1 -1
  545. package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
  546. package/dist/src/models/Api/ReservationsDTO.d.ts +1 -1
  547. package/dist/src/models/Api/ReservationsDTO.js.map +1 -1
  548. package/dist/src/models/Api/RoomNightDTO.d.ts +1 -1
  549. package/dist/src/models/Api/RoomNightDTO.js.map +1 -1
  550. package/dist/src/models/BasketAddonRow.d.ts +1 -1
  551. package/dist/src/models/BasketAddonRow.js +1 -1
  552. package/dist/src/models/BasketAddonRow.js.map +1 -1
  553. package/dist/src/models/BasketRow.d.ts +5 -5
  554. package/dist/src/models/BasketRow.js +1 -1
  555. package/dist/src/models/BasketRow.js.map +1 -1
  556. package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +1 -1
  557. package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -1
  558. package/dist/src/models/Client/Hotel/Company.d.ts +2 -2
  559. package/dist/src/models/Client/Hotel/Company.js.map +1 -1
  560. package/dist/src/models/Client/Hotel/Hotel.d.ts +12 -12
  561. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  562. package/dist/src/models/Client/Hotel/HotelPerk.d.ts +1 -1
  563. package/dist/src/models/Client/Hotel/HotelPerk.js.map +1 -1
  564. package/dist/src/models/Room/Filters/BudgetFilter.d.ts +2 -2
  565. package/dist/src/models/Room/Filters/BudgetFilter.js +1 -1
  566. package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
  567. package/dist/src/models/Room/Filters/Filter.d.ts +1 -1
  568. package/dist/src/models/Room/Filters/Filter.js.map +1 -1
  569. package/dist/src/models/Room/Filters/RateTypeFilter.d.ts +2 -2
  570. package/dist/src/models/Room/Filters/RateTypeFilter.js +1 -1
  571. package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
  572. package/dist/src/models/Room/Filters/RoomTypeFilter.d.ts +2 -2
  573. package/dist/src/models/Room/Filters/RoomTypeFilter.js +1 -1
  574. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  575. package/dist/src/models/Room/Room.d.ts +3 -3
  576. package/dist/src/models/Room/Room.js +1 -1
  577. package/dist/src/models/Room/Room.js.map +1 -1
  578. package/dist/src/models/Room/RoomRate.d.ts +4 -4
  579. package/dist/src/models/Room/RoomRate.js +3 -3
  580. package/dist/src/models/Room/RoomRate.js.map +1 -1
  581. package/dist/src/models/Room/RoomRateNight.d.ts +1 -1
  582. package/dist/src/models/Room/RoomRateNight.js +1 -1
  583. package/dist/src/models/Room/RoomRateNight.js.map +1 -1
  584. package/dist/src/models/RoomstaySession.d.ts +3 -3
  585. package/dist/src/models/RoomstaySession.js.map +1 -1
  586. package/dist/src/pages/account/AccountHome/AccountHomePage.js +11 -11
  587. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  588. package/dist/src/pages/account/AccountRouter.js +9 -9
  589. package/dist/src/pages/account/AccountRouter.js.map +1 -1
  590. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +9 -9
  591. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  592. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.d.ts +1 -1
  593. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +5 -5
  594. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  595. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +9 -9
  596. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  597. package/dist/src/pages/account/Help/AccountHelpPage.js +10 -10
  598. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  599. package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js +13 -13
  600. package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js.map +1 -1
  601. package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js +13 -13
  602. package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js.map +1 -1
  603. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +17 -17
  604. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  605. package/dist/src/pages/account/Reservations/AccountReservationsPage.js +7 -7
  606. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  607. package/dist/src/pages/findReservation/FindReservation.js +17 -17
  608. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  609. package/dist/src/pages/findReservation/FindReservationResults.js +13 -13
  610. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  611. package/dist/src/pages/findReservation/ReservationRow.d.ts +1 -1
  612. package/dist/src/pages/findReservation/ReservationRow.js +11 -11
  613. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  614. package/dist/src/pages/findReservation/ReservationRowModal.d.ts +1 -1
  615. package/dist/src/pages/findReservation/ReservationRowModal.js +9 -9
  616. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  617. package/dist/src/pages/hotel/HotelInfo.js +9 -9
  618. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  619. package/dist/src/pages/hotel/HotelInfoPlaceholder.js +1 -1
  620. package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
  621. package/dist/src/pages/steps/Step.d.ts +4 -4
  622. package/dist/src/pages/steps/Step.js.map +1 -1
  623. package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +5 -5
  624. package/dist/src/pages/steps/StepAddon/StepAddon.js +3 -3
  625. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  626. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +9 -9
  627. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  628. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +2 -2
  629. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
  630. package/dist/src/pages/steps/StepAddon/StepAddonValidator.d.ts +1 -1
  631. package/dist/src/pages/steps/StepAddon/StepAddonValidator.js +1 -1
  632. package/dist/src/pages/steps/StepAddon/StepAddonValidator.js.map +1 -1
  633. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.d.ts +6 -6
  634. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js +3 -3
  635. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  636. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +13 -13
  637. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  638. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +2 -2
  639. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
  640. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.d.ts +1 -1
  641. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js +1 -1
  642. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
  643. package/dist/src/pages/steps/StepDate/StepDate.js +3 -3
  644. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  645. package/dist/src/pages/steps/StepDate/StepDateComponent.js +13 -13
  646. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  647. package/dist/src/pages/steps/StepDate/StepDateValidator.d.ts +1 -1
  648. package/dist/src/pages/steps/StepDate/StepDateValidator.js +1 -1
  649. package/dist/src/pages/steps/StepDate/StepDateValidator.js.map +1 -1
  650. package/dist/src/pages/steps/StepGuide.d.ts +1 -1
  651. package/dist/src/pages/steps/StepGuide.js +2 -2
  652. package/dist/src/pages/steps/StepGuide.js.map +1 -1
  653. package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +4 -4
  654. package/dist/src/pages/steps/StepHotel/StepHotel.js +3 -3
  655. package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
  656. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +9 -9
  657. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  658. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +4 -4
  659. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
  660. package/dist/src/pages/steps/StepHotel/StepHotelValidator.d.ts +1 -1
  661. package/dist/src/pages/steps/StepHotel/StepHotelValidator.js +1 -1
  662. package/dist/src/pages/steps/StepHotel/StepHotelValidator.js.map +1 -1
  663. package/dist/src/pages/steps/StepRoom/StepRoom.d.ts +6 -6
  664. package/dist/src/pages/steps/StepRoom/StepRoom.js +3 -3
  665. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  666. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +16 -16
  667. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  668. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +2 -2
  669. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
  670. package/dist/src/pages/steps/StepRoom/StepRoomValidator.d.ts +1 -1
  671. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js +1 -1
  672. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
  673. package/dist/src/pages/steps/StepThanks/StepThanks.d.ts +6 -6
  674. package/dist/src/pages/steps/StepThanks/StepThanks.js +4 -4
  675. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  676. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +11 -11
  677. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  678. package/dist/src/pages/steps/StepThanks/StepThanksValidator.d.ts +1 -1
  679. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js +1 -1
  680. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
  681. package/dist/src/providers/CurrencyProvider.js +3 -3
  682. package/dist/src/providers/CurrencyProvider.js.map +1 -1
  683. package/dist/src/providers/DistanceProvider.d.ts +1 -1
  684. package/dist/src/providers/DistanceProvider.js +1 -1
  685. package/dist/src/providers/DistanceProvider.js.map +1 -1
  686. package/dist/src/providers/FeatureProvider.js +8 -8
  687. package/dist/src/providers/FeatureProvider.js.map +1 -1
  688. package/dist/src/providers/FilterProvider.d.ts +3 -3
  689. package/dist/src/providers/FilterProvider.js +1 -1
  690. package/dist/src/providers/FilterProvider.js.map +1 -1
  691. package/dist/src/providers/LanguageProvider.js +1 -1
  692. package/dist/src/providers/LanguageProvider.js.map +1 -1
  693. package/dist/src/providers/PromotionProvider.d.ts +2 -2
  694. package/dist/src/providers/PromotionProvider.js +6 -6
  695. package/dist/src/providers/PromotionProvider.js.map +1 -1
  696. package/dist/src/providers/RatePillProvider.d.ts +5 -5
  697. package/dist/src/providers/RatePillProvider.js.map +1 -1
  698. package/dist/src/providers/RoomSortProvider.d.ts +1 -1
  699. package/dist/src/providers/RoomSortProvider.js.map +1 -1
  700. package/dist/src/providers/RoomstayThemeEngine.d.ts +3 -3
  701. package/dist/src/providers/RoomstayThemeEngine.js +1 -1
  702. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  703. package/dist/src/providers/SessionProvider.d.ts +1 -1
  704. package/dist/src/providers/SessionProvider.js +5 -5
  705. package/dist/src/providers/SessionProvider.js.map +1 -1
  706. package/dist/src/providers/feature/ConfirmationVerifyFeature.d.ts +1 -1
  707. package/dist/src/providers/feature/ConfirmationVerifyFeature.js +1 -1
  708. package/dist/src/providers/feature/ConfirmationVerifyFeature.js.map +1 -1
  709. package/dist/src/providers/feature/DatePickerTypeFeature.d.ts +1 -1
  710. package/dist/src/providers/feature/DatePickerTypeFeature.js +2 -2
  711. package/dist/src/providers/feature/DatePickerTypeFeature.js.map +1 -1
  712. package/dist/src/providers/feature/E164PhoneNumberFieldFeature.d.ts +1 -1
  713. package/dist/src/providers/feature/E164PhoneNumberFieldFeature.js +1 -1
  714. package/dist/src/providers/feature/E164PhoneNumberFieldFeature.js.map +1 -1
  715. package/dist/src/providers/feature/FeaturedPromoFeature.d.ts +1 -1
  716. package/dist/src/providers/feature/FeaturedPromoFeature.js +2 -2
  717. package/dist/src/providers/feature/FeaturedPromoFeature.js.map +1 -1
  718. package/dist/src/providers/feature/InlineAddonStepFeature.d.ts +1 -1
  719. package/dist/src/providers/feature/InlineAddonStepFeature.js +3 -3
  720. package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
  721. package/dist/src/providers/feature/MemberPortalFeature.d.ts +1 -1
  722. package/dist/src/providers/feature/MemberPortalFeature.js +1 -1
  723. package/dist/src/providers/feature/MemberPortalFeature.js.map +1 -1
  724. package/dist/src/providers/feature/RoomUpsellFeature.d.ts +1 -1
  725. package/dist/src/providers/feature/RoomUpsellFeature.js +1 -1
  726. package/dist/src/providers/feature/RoomUpsellFeature.js.map +1 -1
  727. package/dist/src/providers/feature/ShowIATANumberOnCheckoutFeature.d.ts +1 -1
  728. package/dist/src/providers/feature/ShowIATANumberOnCheckoutFeature.js +1 -1
  729. package/dist/src/providers/feature/ShowIATANumberOnCheckoutFeature.js.map +1 -1
  730. package/dist/src/providers/storage/LocalStorageProvider.d.ts +1 -1
  731. package/dist/src/providers/storage/LocalStorageProvider.js +1 -1
  732. package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -1
  733. package/dist/src/reducers/BasketReducer.d.ts +2 -2
  734. package/dist/src/reducers/BasketReducer.js +2 -2
  735. package/dist/src/reducers/BasketReducer.js.map +1 -1
  736. package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +1 -1
  737. package/dist/src/routes/NaturallyProgressedStepRoute.js +6 -6
  738. package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -1
  739. package/dist/src/stories/Alert.stories.d.ts +1 -1
  740. package/dist/src/stories/Alert.stories.js +1 -1
  741. package/dist/src/stories/Alert.stories.js.map +1 -1
  742. package/dist/src/stories/BackButton.stories.d.ts +1 -1
  743. package/dist/src/stories/BackButton.stories.js +1 -1
  744. package/dist/src/stories/BackButton.stories.js.map +1 -1
  745. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.d.ts +1 -1
  746. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js +1 -1
  747. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js.map +1 -1
  748. package/dist/src/stories/BookingWizard.stories.d.ts +1 -1
  749. package/dist/src/stories/BookingWizard.stories.js +1 -1
  750. package/dist/src/stories/BookingWizard.stories.js.map +1 -1
  751. package/dist/src/stories/Card.stories.js +1 -1
  752. package/dist/src/stories/Card.stories.js.map +1 -1
  753. package/dist/src/stories/CardTypeSelect.stories.d.ts +1 -1
  754. package/dist/src/stories/CardTypeSelect.stories.js +1 -1
  755. package/dist/src/stories/CardTypeSelect.stories.js.map +1 -1
  756. package/dist/src/stories/ConfirmationModal.stories.d.ts +1 -1
  757. package/dist/src/stories/ConfirmationModal.stories.js +1 -1
  758. package/dist/src/stories/ConfirmationModal.stories.js.map +1 -1
  759. package/dist/src/stories/Countdown.stories.d.ts +1 -1
  760. package/dist/src/stories/Countdown.stories.js +1 -1
  761. package/dist/src/stories/Countdown.stories.js.map +1 -1
  762. package/dist/src/stories/Currency.stories.d.ts +1 -1
  763. package/dist/src/stories/Currency.stories.js +1 -1
  764. package/dist/src/stories/Currency.stories.js.map +1 -1
  765. package/dist/src/stories/DateRangePicker.stories.d.ts +1 -1
  766. package/dist/src/stories/DateRangePicker.stories.js +1 -1
  767. package/dist/src/stories/DateRangePicker.stories.js.map +1 -1
  768. package/dist/src/stories/Distance.stories.d.ts +1 -1
  769. package/dist/src/stories/Distance.stories.js +1 -1
  770. package/dist/src/stories/Distance.stories.js.map +1 -1
  771. package/dist/src/stories/ErrorModal.stories.d.ts +1 -1
  772. package/dist/src/stories/ErrorModal.stories.js +1 -1
  773. package/dist/src/stories/ErrorModal.stories.js.map +1 -1
  774. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +1 -1
  775. package/dist/src/stories/FloatingDateRangePicker.stories.js +2 -2
  776. package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -1
  777. package/dist/src/stories/ForwardedSelect.stories.d.ts +1 -1
  778. package/dist/src/stories/ForwardedSelect.stories.js +1 -1
  779. package/dist/src/stories/ForwardedSelect.stories.js.map +1 -1
  780. package/dist/src/stories/Headline.stories.d.ts +1 -1
  781. package/dist/src/stories/Headline.stories.js +1 -1
  782. package/dist/src/stories/Headline.stories.js.map +1 -1
  783. package/dist/src/stories/LineBreak.stories.d.ts +1 -1
  784. package/dist/src/stories/LineBreak.stories.js +1 -1
  785. package/dist/src/stories/LineBreak.stories.js.map +1 -1
  786. package/dist/src/stories/Notification.stories.d.ts +1 -1
  787. package/dist/src/stories/Notification.stories.js +2 -2
  788. package/dist/src/stories/Notification.stories.js.map +1 -1
  789. package/dist/src/stories/NumberIncrement.stories.d.ts +1 -1
  790. package/dist/src/stories/NumberIncrement.stories.js +1 -1
  791. package/dist/src/stories/NumberIncrement.stories.js.map +1 -1
  792. package/dist/src/stories/PaymentCard.stories.d.ts +1 -1
  793. package/dist/src/stories/PaymentCard.stories.js +1 -1
  794. package/dist/src/stories/PaymentCard.stories.js.map +1 -1
  795. package/dist/src/stories/PaymentCardInput.stories.d.ts +1 -1
  796. package/dist/src/stories/PaymentCardInput.stories.js +1 -1
  797. package/dist/src/stories/PaymentCardInput.stories.js.map +1 -1
  798. package/dist/src/stories/Pill.stories.d.ts +1 -1
  799. package/dist/src/stories/Pill.stories.js +1 -1
  800. package/dist/src/stories/Pill.stories.js.map +1 -1
  801. package/dist/src/stories/Placeholder.stories.d.ts +1 -1
  802. package/dist/src/stories/Placeholder.stories.js +1 -1
  803. package/dist/src/stories/Placeholder.stories.js.map +1 -1
  804. package/dist/src/stories/PlanpayButton.stories.d.ts +1 -1
  805. package/dist/src/stories/PlanpayButton.stories.js +1 -1
  806. package/dist/src/stories/PlanpayButton.stories.js.map +1 -1
  807. package/dist/src/stories/PromoCodeInput.stories.d.ts +1 -1
  808. package/dist/src/stories/PromoCodeInput.stories.js +1 -1
  809. package/dist/src/stories/PromoCodeInput.stories.js.map +1 -1
  810. package/dist/src/stories/RadioButton.stories.d.ts +1 -1
  811. package/dist/src/stories/RadioButton.stories.js +1 -1
  812. package/dist/src/stories/RadioButton.stories.js.map +1 -1
  813. package/dist/src/stories/RadioButtonGroup.stories.d.ts +1 -1
  814. package/dist/src/stories/RadioButtonGroup.stories.js +1 -1
  815. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
  816. package/dist/src/stories/RadioFields.stories.d.ts +1 -1
  817. package/dist/src/stories/RadioFields.stories.js +1 -1
  818. package/dist/src/stories/RadioFields.stories.js.map +1 -1
  819. package/dist/src/stories/Select.stories.d.ts +2 -2
  820. package/dist/src/stories/Select.stories.js +1 -1
  821. package/dist/src/stories/Select.stories.js.map +1 -1
  822. package/dist/src/stories/SimpleModal.stories.d.ts +1 -1
  823. package/dist/src/stories/SimpleModal.stories.js +1 -1
  824. package/dist/src/stories/SimpleModal.stories.js.map +1 -1
  825. package/dist/src/stories/Slider.stories.d.ts +3 -3
  826. package/dist/src/stories/Slider.stories.js +1 -1
  827. package/dist/src/stories/Slider.stories.js.map +1 -1
  828. package/dist/src/stories/TabbedModal.stories.d.ts +1 -1
  829. package/dist/src/stories/TabbedModal.stories.js +1 -1
  830. package/dist/src/stories/TabbedModal.stories.js.map +1 -1
  831. package/dist/src/stories/Tabs.stories.d.ts +1 -1
  832. package/dist/src/stories/Tabs.stories.js +2 -2
  833. package/dist/src/stories/Tabs.stories.js.map +1 -1
  834. package/dist/src/stories/Text.stories.d.ts +1 -1
  835. package/dist/src/stories/Text.stories.js +1 -1
  836. package/dist/src/stories/Text.stories.js.map +1 -1
  837. package/dist/src/stories/TextArea.stories.js +1 -1
  838. package/dist/src/stories/TextArea.stories.js.map +1 -1
  839. package/dist/src/stories/TextBox.stories.d.ts +1 -1
  840. package/dist/src/stories/TextBox.stories.js +1 -1
  841. package/dist/src/stories/TextBox.stories.js.map +1 -1
  842. package/dist/src/stories/Tooltip.stories.d.ts +1 -1
  843. package/dist/src/stories/Tooltip.stories.js +1 -1
  844. package/dist/src/stories/Tooltip.stories.js.map +1 -1
  845. package/dist/src/util/CalendarHelper.d.ts +1 -1
  846. package/dist/src/util/CalendarHelper.js.map +1 -1
  847. package/dist/src/util/DataLayer.d.ts +6 -6
  848. package/dist/src/util/DataLayer.js.map +1 -1
  849. package/dist/src/util/PaymentCardHelper.d.ts +1 -1
  850. package/dist/src/util/PaymentCardHelper.js +2 -2
  851. package/dist/src/util/PaymentCardHelper.js.map +1 -1
  852. package/dist/src/util/StepManager.d.ts +1 -1
  853. package/dist/src/util/StepManager.js +1 -1
  854. package/dist/src/util/StepManager.js.map +1 -1
  855. package/dist/src/util/TotalCalculator.d.ts +2 -2
  856. package/dist/src/util/TotalCalculator.js +1 -1
  857. package/dist/src/util/TotalCalculator.js.map +1 -1
  858. package/dist/test.bundle.js +1 -0
  859. package/dist/tests/offline/entry/RSCompany.js +1 -1
  860. package/dist/tests/offline/entry/RSCompany.js.map +1 -1
  861. package/dist/tests/offline/entry/ReactWrapper.js +1 -1
  862. package/dist/tests/offline/entry/ReactWrapper.js.map +1 -1
  863. package/dist/tests/offline/entry/components/TestPicker.js +5 -5
  864. package/dist/tests/offline/entry/components/TestPicker.js.map +1 -1
  865. package/dist/tests/setupTests.js +1 -1
  866. package/dist/tests/setupTests.js.map +1 -1
  867. package/dist/vendors.bundle.js +1 -1
  868. package/package.json +4 -2
  869. package/dist/218.bundle.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PromotionProvider.js","sourceRoot":"/","sources":["src/providers/PromotionProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { BasketContextType, CompanyContext } from '@frontend/contexts';\nimport dayjs from 'dayjs';\nimport { MemberOnlyFenceSignUp } from 'events/actions/MemberOnlyFence/MemberOnlyFenceSignUp';\nimport { PromotionAddEvent } from 'events/actions/Promotion/PromotionAddedEvent';\nimport { PromotionClickedEvent } from 'events/actions/Promotion/PromotionClickedEvent';\nimport { PromotionRemoveEvent } from 'events/actions/Promotion/PromotionRemovedEvent';\nimport RoomstayEventManager from 'events/RoomstayEventManager';\nimport { useEvent } from 'hooks/EventHook';\nimport BasketRow from 'models/BasketRow';\nimport { IPromotion, IPromotionTestCriteria } from 'models/Promotion/IPromotion.type';\nimport { useContext, useEffect, useState } from 'react';\n\nlet _loadedPromotions: IPromotion[] = [];\nlet basketContextLoaded = false;\n\nexport const registerPromotion = (promotion: IPromotion) => {\n if (basketContextLoaded) {\n RoomstayEventManager.raise(new PromotionAddEvent(promotion));\n } else {\n const promoIndex = getPromoIndex(promotion.name, _loadedPromotions);\n\n if (promoIndex === -1) {\n _loadedPromotions.push(promotion);\n } else {\n _loadedPromotions[promoIndex] = promotion;\n }\n }\n};\n\nexport const removePromotion = (promotion: IPromotion) => {\n if (basketContextLoaded) {\n RoomstayEventManager.raise(new PromotionRemoveEvent(promotion));\n } else {\n const promoIndex = getPromoIndex(promotion.name, _loadedPromotions);\n\n if (promoIndex !== -1) {\n _loadedPromotions.splice(promoIndex, 1);\n }\n }\n};\n\nconst getPromoIndex = (name: string, promoList: IPromotion[]) => {\n for (let i = 0; i < promoList.length; i++) {\n if (promoList[i].name === name) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Used by the Basket context to bind to state.\n */\nexport const usePromotionContainer = ({ selectedBasketRow, updateBasketRow }: { selectedBasketRow: BasketRow; updateBasketRow: BasketContextType['updateBasketRow'] }) => {\n const ccx = useContext(CompanyContext);\n\n const [bump, setBump] = useState(0);\n const [allPromotions, setAllPromotions] = useState<IPromotion[]>(_loadedPromotions ?? []);\n\n // TODO: Current implementation only supports a single promotion. In the future there will be multiple promotion locations\n const [loadedPromotion, setLoadedPromotion] = useState<IPromotion>(null);\n\n const { on } = useEvent();\n\n useEffect(() => {\n basketContextLoaded = true;\n\n const updateBasketRowContext = (promotion: IPromotion) => {\n if (!promotion) {\n // We don't care about non promo sign ups;\n return;\n }\n\n if (selectedBasketRow) {\n const criteria = {\n checkInDate: selectedBasketRow.getStartDate(),\n checkOutDate: selectedBasketRow.getEndDate(),\n adults: selectedBasketRow.getAdults(),\n children: selectedBasketRow.getChildren(),\n promoCode: selectedBasketRow.getPromoCode(),\n };\n\n const { checkInDate, checkOutDate, adults, children, promoCode } = promotion.onApply(criteria);\n\n if (checkInDate) {\n selectedBasketRow.setStartDate(dayjs(checkInDate));\n }\n\n if (checkOutDate) {\n selectedBasketRow.setEndDate(dayjs(checkOutDate));\n }\n\n if (adults) {\n selectedBasketRow.setAdults(adults);\n }\n\n if (children) {\n selectedBasketRow.setChildren(children);\n }\n\n if (promoCode) {\n selectedBasketRow.setPromoCode(promoCode);\n }\n\n updateBasketRow(selectedBasketRow);\n }\n };\n\n on(\n PromotionAddEvent,\n async (event: PromotionAddEvent) => {\n if (event?.promotion) {\n setAllPromotions((oldPromotions) => {\n const promoIndex = getPromoIndex(event.promotion.name, oldPromotions);\n\n if (promoIndex === -1) {\n return [...oldPromotions, event.promotion];\n } else {\n oldPromotions[promoIndex] = event.promotion;\n return oldPromotions;\n }\n });\n }\n },\n 'root'\n );\n\n on(\n PromotionRemoveEvent,\n async (event: PromotionRemoveEvent) => {\n if (event?.promotion) {\n setAllPromotions((oldPromotions) => {\n if (oldPromotions.length === 0) {\n return [];\n }\n\n return oldPromotions.filter((promo) => {\n if (promo.name !== event.promotion.name) {\n return promo;\n }\n return false;\n });\n });\n\n setBump((a) => a + 1);\n }\n },\n 'root'\n );\n\n on(\n PromotionClickedEvent,\n async (event: PromotionClickedEvent) => {\n const { promotion } = event;\n\n if (!promotion) {\n // We shouldn't be here, but just in case we are...\n return;\n }\n\n if (!ccx.signedInUser && promotion.requireMemberPromotion) {\n ccx.openMemberSignupModal(promotion);\n } else {\n updateBasketRowContext(promotion);\n }\n },\n 'root'\n );\n\n on(\n MemberOnlyFenceSignUp,\n async (event: MemberOnlyFenceSignUp) => {\n updateBasketRowContext(event.promotion);\n },\n 'root'\n );\n }, [ccx.signedInUser, selectedBasketRow, allPromotions, setAllPromotions, loadedPromotion, setLoadedPromotion]);\n\n useEffect(() => {\n if (selectedBasketRow) {\n const criteria = {\n checkInDate: selectedBasketRow.getStartDate(),\n checkOutDate: selectedBasketRow.getEndDate(),\n adults: selectedBasketRow.getAdults(),\n children: selectedBasketRow.getChildren(),\n promoCode: selectedBasketRow.getPromoCode(),\n };\n\n onPromotionCriteriaChanged(criteria);\n }\n }, [\n selectedBasketRow,\n selectedBasketRow?.getAdults(),\n selectedBasketRow?.getChildren(),\n selectedBasketRow?.getArrivalDate(),\n selectedBasketRow?.getEndDate(),\n selectedBasketRow?.getPromoCode(),\n allPromotions,\n bump,\n ]);\n\n useEffect(() => {\n if (!loadedPromotion) {\n return;\n }\n\n let loadedExists = false;\n for (const promotion of allPromotions) {\n if (promotion.name === loadedPromotion.name) {\n loadedExists = true;\n break;\n }\n }\n\n if (!loadedExists) {\n setLoadedPromotion(null);\n }\n }, [allPromotions, loadedPromotion]);\n\n /**\n * Checks all the registered promotions, and returns the first one that matches the criteria.\n *\n * @param criteria\n */\n const checkPromotions = async (criteria: IPromotionTestCriteria) => {\n for (const promotion of allPromotions) {\n if (await promotion.testCriteria(criteria)) {\n return promotion;\n }\n }\n\n return null;\n };\n\n const onPromotionCriteriaChanged = (criteria: IPromotionTestCriteria) => {\n checkPromotions(criteria)\n .then((promo) => {\n setLoadedPromotion(promo);\n })\n .catch(() => {\n setLoadedPromotion(null);\n });\n };\n\n return {\n loadedPromotion,\n };\n};\n"]}
1
+ {"version":3,"file":"PromotionProvider.js","sourceRoot":"/","sources":["src/providers/PromotionProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { BasketContextType, CompanyContext } from '@frontend/contexts';\nimport dayjs from 'dayjs';\nimport { MemberOnlyFenceSignUp } from '@/events/actions/MemberOnlyFence/MemberOnlyFenceSignUp';\nimport { PromotionAddEvent } from '@/events/actions/Promotion/PromotionAddedEvent';\nimport { PromotionClickedEvent } from '@/events/actions/Promotion/PromotionClickedEvent';\nimport { PromotionRemoveEvent } from '@/events/actions/Promotion/PromotionRemovedEvent';\nimport RoomstayEventManager from '@/events/RoomstayEventManager';\nimport { useEvent } from '@/hooks/EventHook';\nimport BasketRow from '@/models/BasketRow';\nimport { IPromotion, IPromotionTestCriteria } from '@/models/Promotion/IPromotion.type';\nimport { useContext, useEffect, useState } from 'react';\n\nlet _loadedPromotions: IPromotion[] = [];\nlet basketContextLoaded = false;\n\nexport const registerPromotion = (promotion: IPromotion) => {\n if (basketContextLoaded) {\n RoomstayEventManager.raise(new PromotionAddEvent(promotion));\n } else {\n const promoIndex = getPromoIndex(promotion.name, _loadedPromotions);\n\n if (promoIndex === -1) {\n _loadedPromotions.push(promotion);\n } else {\n _loadedPromotions[promoIndex] = promotion;\n }\n }\n};\n\nexport const removePromotion = (promotion: IPromotion) => {\n if (basketContextLoaded) {\n RoomstayEventManager.raise(new PromotionRemoveEvent(promotion));\n } else {\n const promoIndex = getPromoIndex(promotion.name, _loadedPromotions);\n\n if (promoIndex !== -1) {\n _loadedPromotions.splice(promoIndex, 1);\n }\n }\n};\n\nconst getPromoIndex = (name: string, promoList: IPromotion[]) => {\n for (let i = 0; i < promoList.length; i++) {\n if (promoList[i].name === name) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Used by the Basket context to bind to state.\n */\nexport const usePromotionContainer = ({ selectedBasketRow, updateBasketRow }: { selectedBasketRow: BasketRow; updateBasketRow: BasketContextType['updateBasketRow'] }) => {\n const ccx = useContext(CompanyContext);\n\n const [bump, setBump] = useState(0);\n const [allPromotions, setAllPromotions] = useState<IPromotion[]>(_loadedPromotions ?? []);\n\n // TODO: Current implementation only supports a single promotion. In the future there will be multiple promotion locations\n const [loadedPromotion, setLoadedPromotion] = useState<IPromotion>(null);\n\n const { on } = useEvent();\n\n useEffect(() => {\n basketContextLoaded = true;\n\n const updateBasketRowContext = (promotion: IPromotion) => {\n if (!promotion) {\n // We don't care about non promo sign ups;\n return;\n }\n\n if (selectedBasketRow) {\n const criteria = {\n checkInDate: selectedBasketRow.getStartDate(),\n checkOutDate: selectedBasketRow.getEndDate(),\n adults: selectedBasketRow.getAdults(),\n children: selectedBasketRow.getChildren(),\n promoCode: selectedBasketRow.getPromoCode(),\n };\n\n const { checkInDate, checkOutDate, adults, children, promoCode } = promotion.onApply(criteria);\n\n if (checkInDate) {\n selectedBasketRow.setStartDate(dayjs(checkInDate));\n }\n\n if (checkOutDate) {\n selectedBasketRow.setEndDate(dayjs(checkOutDate));\n }\n\n if (adults) {\n selectedBasketRow.setAdults(adults);\n }\n\n if (children) {\n selectedBasketRow.setChildren(children);\n }\n\n if (promoCode) {\n selectedBasketRow.setPromoCode(promoCode);\n }\n\n updateBasketRow(selectedBasketRow);\n }\n };\n\n on(\n PromotionAddEvent,\n async (event: PromotionAddEvent) => {\n if (event?.promotion) {\n setAllPromotions((oldPromotions) => {\n const promoIndex = getPromoIndex(event.promotion.name, oldPromotions);\n\n if (promoIndex === -1) {\n return [...oldPromotions, event.promotion];\n } else {\n oldPromotions[promoIndex] = event.promotion;\n return oldPromotions;\n }\n });\n }\n },\n 'root'\n );\n\n on(\n PromotionRemoveEvent,\n async (event: PromotionRemoveEvent) => {\n if (event?.promotion) {\n setAllPromotions((oldPromotions) => {\n if (oldPromotions.length === 0) {\n return [];\n }\n\n return oldPromotions.filter((promo) => {\n if (promo.name !== event.promotion.name) {\n return promo;\n }\n return false;\n });\n });\n\n setBump((a) => a + 1);\n }\n },\n 'root'\n );\n\n on(\n PromotionClickedEvent,\n async (event: PromotionClickedEvent) => {\n const { promotion } = event;\n\n if (!promotion) {\n // We shouldn't be here, but just in case we are...\n return;\n }\n\n if (!ccx.signedInUser && promotion.requireMemberPromotion) {\n ccx.openMemberSignupModal(promotion);\n } else {\n updateBasketRowContext(promotion);\n }\n },\n 'root'\n );\n\n on(\n MemberOnlyFenceSignUp,\n async (event: MemberOnlyFenceSignUp) => {\n updateBasketRowContext(event.promotion);\n },\n 'root'\n );\n }, [ccx.signedInUser, selectedBasketRow, allPromotions, setAllPromotions, loadedPromotion, setLoadedPromotion]);\n\n useEffect(() => {\n if (selectedBasketRow) {\n const criteria = {\n checkInDate: selectedBasketRow.getStartDate(),\n checkOutDate: selectedBasketRow.getEndDate(),\n adults: selectedBasketRow.getAdults(),\n children: selectedBasketRow.getChildren(),\n promoCode: selectedBasketRow.getPromoCode(),\n };\n\n onPromotionCriteriaChanged(criteria);\n }\n }, [\n selectedBasketRow,\n selectedBasketRow?.getAdults(),\n selectedBasketRow?.getChildren(),\n selectedBasketRow?.getArrivalDate(),\n selectedBasketRow?.getEndDate(),\n selectedBasketRow?.getPromoCode(),\n allPromotions,\n bump,\n ]);\n\n useEffect(() => {\n if (!loadedPromotion) {\n return;\n }\n\n let loadedExists = false;\n for (const promotion of allPromotions) {\n if (promotion.name === loadedPromotion.name) {\n loadedExists = true;\n break;\n }\n }\n\n if (!loadedExists) {\n setLoadedPromotion(null);\n }\n }, [allPromotions, loadedPromotion]);\n\n /**\n * Checks all the registered promotions, and returns the first one that matches the criteria.\n *\n * @param criteria\n */\n const checkPromotions = async (criteria: IPromotionTestCriteria) => {\n for (const promotion of allPromotions) {\n if (await promotion.testCriteria(criteria)) {\n return promotion;\n }\n }\n\n return null;\n };\n\n const onPromotionCriteriaChanged = (criteria: IPromotionTestCriteria) => {\n checkPromotions(criteria)\n .then((promo) => {\n setLoadedPromotion(promo);\n })\n .catch(() => {\n setLoadedPromotion(null);\n });\n };\n\n return {\n loadedPromotion,\n };\n};\n"]}
@@ -1,9 +1,9 @@
1
1
  import { ReactNode } from 'react';
2
- import { IconType } from 'components/generic/Icon/Icon';
3
- import { PillType } from 'components/generic/Pill';
4
- import { Hotel } from 'models/Client/Hotel/Hotel';
5
- import { Room } from 'models/Room/Room';
6
- import { RoomRate } from 'models/Room/RoomRate';
2
+ import { IconType } from '@/components/generic/Icon/Icon';
3
+ import { PillType } from '@/components/generic/Pill';
4
+ import { Hotel } from '@/models/Client/Hotel/Hotel';
5
+ import { Room } from '@/models/Room/Room';
6
+ import { RoomRate } from '@/models/Room/RoomRate';
7
7
  export type RatePill = {
8
8
  icon: IconType | ReactNode;
9
9
  type?: PillType;
@@ -1 +1 @@
1
- {"version":3,"file":"RatePillProvider.js","sourceRoot":"/","sources":["src/providers/RatePillProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ReactNode } from 'react';\nimport { IconType } from 'components/generic/Icon/Icon';\nimport { PillType } from 'components/generic/Pill';\nimport { Hotel } from 'models/Client/Hotel/Hotel';\nimport { Room } from 'models/Room/Room';\n\nimport { RoomRate } from 'models/Room/RoomRate';\n\nexport type RatePill = {\n // TODO: Add Unique Id here to avoid constantly checking\n // TODO: Add ability to specify title / tooltip in React Context (with variable data)\n icon: IconType | ReactNode;\n\n type?: PillType;\n title?: string;\n tooltipText?: string;\n\n translation?: string;\n translationProps?: {\n [x: string]: string | number;\n };\n};\n\ntype RatePillCriteriaMatch = { rate?: RoomRate; room?: Room; hotel: Hotel };\n\ntype RatePillCriteriaCallback = (criteria: RatePillCriteriaMatch) => boolean;\n\ntype RatePillLocation = 'Rate' | 'Room';\n\ntype RegisteredPillType = { pill: RatePill; criteria: RatePillCriteriaCallback; location: RatePillLocation; isExclusive: boolean };\n\nclass RatePillProvider {\n private registeredPills: RegisteredPillType[];\n\n public constructor() {\n this.registeredPills = [];\n }\n\n private doesPillExist(pill: RatePill, location: RatePillLocation): number | false {\n for (let i = 0, end = this.registeredPills.length; i < end; i++) {\n const registeredPill = this.registeredPills[i];\n if (\n registeredPill.location === location &&\n registeredPill.pill.title === pill.title &&\n registeredPill.pill.tooltipText === pill.tooltipText &&\n registeredPill.pill.translation === pill.translation\n ) {\n return i;\n }\n }\n\n return false;\n }\n\n public registerRatePill(pill: RatePill, criteria: RatePillCriteriaCallback, isExclusive = false) {\n if (this.doesPillExist(pill, 'Rate') === false) {\n this.registeredPills.push({ pill, criteria, location: 'Rate', isExclusive });\n }\n }\n\n public registerRoomPill(pill: RatePill, criteria: RatePillCriteriaCallback) {\n const pillIndex = this.doesPillExist(pill, 'Room');\n const newPill: RegisteredPillType = { pill, criteria, location: 'Room', isExclusive: true };\n\n if (pillIndex === false) {\n this.registeredPills.push(newPill);\n } else {\n this.registeredPills[pillIndex] = newPill;\n }\n }\n\n public getPillsForRate(match: RatePillCriteriaMatch): RatePill[] {\n const matches: RatePill[] = [];\n\n this.registeredPills.forEach((registeredPill) => {\n // Rates will only ever show Rate Pills\n if (registeredPill.location === 'Rate' && registeredPill.criteria(match)) {\n matches.push(registeredPill.pill);\n }\n });\n\n return matches;\n }\n\n public getPillsForRoom(match: RatePillCriteriaMatch): RatePill[] {\n const roomMatches: RatePill[] = [];\n const rateMatches: RatePill[] = [];\n\n // Rooms will show both Room and Rate pills\n this.registeredPills.forEach((registeredPill) => {\n if (registeredPill.location === 'Room') {\n if (registeredPill.criteria(match)) {\n roomMatches.push(registeredPill.pill);\n }\n }\n\n if (match.room) {\n for (const rate of match.room.getRates()) {\n if (registeredPill.location === 'Rate' && !registeredPill.isExclusive && registeredPill.criteria({ ...match, rate })) {\n rateMatches.push(registeredPill.pill);\n // No need to duplicate check because as soon as one Pill is matched, no more rates are checked.\n break;\n }\n }\n }\n });\n\n return [...roomMatches, ...rateMatches];\n }\n}\n\nexport default new RatePillProvider();\n"]}
1
+ {"version":3,"file":"RatePillProvider.js","sourceRoot":"/","sources":["src/providers/RatePillProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ReactNode } from 'react';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport { PillType } from '@/components/generic/Pill';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\nimport { Room } from '@/models/Room/Room';\n\nimport { RoomRate } from '@/models/Room/RoomRate';\n\nexport type RatePill = {\n // TODO: Add Unique Id here to avoid constantly checking\n // TODO: Add ability to specify title / tooltip in React Context (with variable data)\n icon: IconType | ReactNode;\n\n type?: PillType;\n title?: string;\n tooltipText?: string;\n\n translation?: string;\n translationProps?: {\n [x: string]: string | number;\n };\n};\n\ntype RatePillCriteriaMatch = { rate?: RoomRate; room?: Room; hotel: Hotel };\n\ntype RatePillCriteriaCallback = (criteria: RatePillCriteriaMatch) => boolean;\n\ntype RatePillLocation = 'Rate' | 'Room';\n\ntype RegisteredPillType = { pill: RatePill; criteria: RatePillCriteriaCallback; location: RatePillLocation; isExclusive: boolean };\n\nclass RatePillProvider {\n private registeredPills: RegisteredPillType[];\n\n public constructor() {\n this.registeredPills = [];\n }\n\n private doesPillExist(pill: RatePill, location: RatePillLocation): number | false {\n for (let i = 0, end = this.registeredPills.length; i < end; i++) {\n const registeredPill = this.registeredPills[i];\n if (\n registeredPill.location === location &&\n registeredPill.pill.title === pill.title &&\n registeredPill.pill.tooltipText === pill.tooltipText &&\n registeredPill.pill.translation === pill.translation\n ) {\n return i;\n }\n }\n\n return false;\n }\n\n public registerRatePill(pill: RatePill, criteria: RatePillCriteriaCallback, isExclusive = false) {\n if (this.doesPillExist(pill, 'Rate') === false) {\n this.registeredPills.push({ pill, criteria, location: 'Rate', isExclusive });\n }\n }\n\n public registerRoomPill(pill: RatePill, criteria: RatePillCriteriaCallback) {\n const pillIndex = this.doesPillExist(pill, 'Room');\n const newPill: RegisteredPillType = { pill, criteria, location: 'Room', isExclusive: true };\n\n if (pillIndex === false) {\n this.registeredPills.push(newPill);\n } else {\n this.registeredPills[pillIndex] = newPill;\n }\n }\n\n public getPillsForRate(match: RatePillCriteriaMatch): RatePill[] {\n const matches: RatePill[] = [];\n\n this.registeredPills.forEach((registeredPill) => {\n // Rates will only ever show Rate Pills\n if (registeredPill.location === 'Rate' && registeredPill.criteria(match)) {\n matches.push(registeredPill.pill);\n }\n });\n\n return matches;\n }\n\n public getPillsForRoom(match: RatePillCriteriaMatch): RatePill[] {\n const roomMatches: RatePill[] = [];\n const rateMatches: RatePill[] = [];\n\n // Rooms will show both Room and Rate pills\n this.registeredPills.forEach((registeredPill) => {\n if (registeredPill.location === 'Room') {\n if (registeredPill.criteria(match)) {\n roomMatches.push(registeredPill.pill);\n }\n }\n\n if (match.room) {\n for (const rate of match.room.getRates()) {\n if (registeredPill.location === 'Rate' && !registeredPill.isExclusive && registeredPill.criteria({ ...match, rate })) {\n rateMatches.push(registeredPill.pill);\n // No need to duplicate check because as soon as one Pill is matched, no more rates are checked.\n break;\n }\n }\n }\n });\n\n return [...roomMatches, ...rateMatches];\n }\n}\n\nexport default new RatePillProvider();\n"]}
@@ -1,4 +1,4 @@
1
- import RoomRateSortable from 'models/Room/RoomRateSortable';
1
+ import RoomRateSortable from '@/models/Room/RoomRateSortable';
2
2
  export declare enum RoomSort {
3
3
  PriceLow = "Lowest Price",
4
4
  PriceHigh = "Highest Price",
@@ -1 +1 @@
1
- {"version":3,"file":"RoomSortProvider.js","sourceRoot":"/","sources":["src/providers/RoomSortProvider.ts"],"names":[],"mappings":";;;AACA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,uCAA2B,CAAA;AAC/B,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB;AAED,MAAqB,gBAAgB;;AAArC,mCAgBC;AAfG,8DAA8D;AAChD,kCAAiB,GAAG,CAAC,MAAgB,EAAE,EAAE;IACnD,QAAQ,MAAM,EAAE;QACZ,KAAK,QAAQ,CAAC,SAAS;YACnB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC,CAAC;QACN,KAAK,QAAQ,CAAC,QAAQ;YAClB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC,CAAC;QACN;YACI,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;KACtB;AACL,CAAC,CAAC","sourcesContent":["import RoomRateSortable from 'models/Room/RoomRateSortable';\nexport enum RoomSort {\n PriceLow = 'Lowest Price',\n PriceHigh = 'Highest Price',\n Recommended = 'Recommended',\n}\n\nexport default class RoomSortProvider {\n // TODO refactor this to use static val instead of request one\n public static getSortByFunction = (sortBy: RoomSort) => {\n switch (sortBy) {\n case RoomSort.PriceHigh:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return b.getSortValue() - a.getSortValue();\n };\n case RoomSort.PriceLow:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return a.getSortValue() - b.getSortValue();\n };\n default:\n return () => 0;\n }\n };\n}\n"]}
1
+ {"version":3,"file":"RoomSortProvider.js","sourceRoot":"/","sources":["src/providers/RoomSortProvider.ts"],"names":[],"mappings":";;;AACA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,uCAA2B,CAAA;AAC/B,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB;AAED,MAAqB,gBAAgB;;AAArC,mCAgBC;AAfG,8DAA8D;AAChD,kCAAiB,GAAG,CAAC,MAAgB,EAAE,EAAE;IACnD,QAAQ,MAAM,EAAE;QACZ,KAAK,QAAQ,CAAC,SAAS;YACnB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC,CAAC;QACN,KAAK,QAAQ,CAAC,QAAQ;YAClB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC,CAAC;QACN;YACI,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;KACtB;AACL,CAAC,CAAC","sourcesContent":["import RoomRateSortable from '@/models/Room/RoomRateSortable';\nexport enum RoomSort {\n PriceLow = 'Lowest Price',\n PriceHigh = 'Highest Price',\n Recommended = 'Recommended',\n}\n\nexport default class RoomSortProvider {\n // TODO refactor this to use static val instead of request one\n public static getSortByFunction = (sortBy: RoomSort) => {\n switch (sortBy) {\n case RoomSort.PriceHigh:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return b.getSortValue() - a.getSortValue();\n };\n case RoomSort.PriceLow:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return a.getSortValue() - b.getSortValue();\n };\n default:\n return () => 0;\n }\n };\n}\n"]}
@@ -1,6 +1,6 @@
1
- import { Language } from 'providers/LanguageProvider';
2
- import type { Company } from 'models/Client/Hotel/Company';
3
- import type ColorProfile from 'models/Client/Hotel/ColorProfile';
1
+ import { Language } from '@/providers/LanguageProvider';
2
+ import type { Company } from '@/models/Client/Hotel/Company';
3
+ import type ColorProfile from '@/models/Client/Hotel/ColorProfile';
4
4
  declare global {
5
5
  interface Window {
6
6
  ResizeObserver: any;
@@ -41,7 +41,7 @@ const isSameOrAfter_1 = __importDefault(require("dayjs/plugin/isSameOrAfter"));
41
41
  // tslint:disable-next-line: no-submodule-imports
42
42
  const isSameOrBefore_1 = __importDefault(require("dayjs/plugin/isSameOrBefore"));
43
43
  const dayjs_1 = __importDefault(require("dayjs"));
44
- const LanguageProvider_1 = require("providers/LanguageProvider");
44
+ const LanguageProvider_1 = require("@/providers/LanguageProvider");
45
45
  const i18next_1 = __importDefault(require("i18next"));
46
46
  const react_i18next_1 = require("react-i18next");
47
47
  const Sentry = __importStar(require("@sentry/browser"));
@@ -1 +1 @@
1
- {"version":3,"file":"RoomstayThemeEngine.js","sourceRoot":"/","sources":["src/providers/RoomstayThemeEngine.ts"],"names":[],"mappings":"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","sourcesContent":["// tslint:disable-next-line: no-submodule-imports\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\n// tslint:disable-next-line: no-submodule-imports\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport dayjs from 'dayjs';\n\nimport { LanguageProvider, Language } from 'providers/LanguageProvider';\n\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport * as Sentry from '@sentry/browser';\nimport * as ROP from '@juggle/resize-observer';\nimport type { Company } from 'models/Client/Hotel/Company';\nimport type ColorProfile from 'models/Client/Hotel/ColorProfile';\n\ndeclare global {\n interface Window {\n ResizeObserver: any;\n }\n}\n\ndeclare const ASSET_URL: string;\n\nexport declare const RS_VERSION: string;\n\n/** @ts-ignore */\nif (typeof ResizeObserver === 'undefined') {\n window.ResizeObserver = ROP.ResizeObserver;\n}\n\nexport enum RoomstayTheme {\n Medium = 'medium',\n Light = 'light',\n}\nclass RoomstayThemeEngine {\n public currentCompany: Company | null = null;\n\n public EngineContainer: HTMLElement;\n\n public ScriptContainer: Element = null;\n public StyleContainer: Element = null;\n\n public selectedLang: Language = Language.en_us;\n\n // TODO This needs to be changed, not ideal to just check for localhost\n public isLocalhost: boolean = location.hostname === 'localhost';\n\n // TODO: This needs to be refactored to not be a fixed string.\n public ThemeType = RoomstayTheme.Light;\n\n public ExternalStyles: string[] = [];\n public ExternalScripts: string[] = ['https://js.verygoodvault.com/vgs-collect/1/AC7dReJwJ6EWF1L9FHdcCw7n.js'];\n\n public constructor() {\n console.log(`Initializing Roomstay Booking Engine v${RS_VERSION}`);\n }\n\n private reloadScriptAndStyleContainers = () => {\n this.StyleContainer = this.createElementOrReuseExisting('div', 'style-container');\n this.ScriptContainer = this.createElementOrReuseExisting('div', 'script-container');\n\n this.ScriptContainer.innerHTML = '';\n this.StyleContainer.innerHTML = '';\n\n this.registerStyles();\n };\n\n public changeCompany = (newCompany: Company) => {\n this.currentCompany = newCompany;\n this.registerStyles(newCompany.colors);\n };\n\n public changeTheme = async (profile: ColorProfile) => {\n const styleOverrides = this.createElementOrReuseExisting('style', 'engine-styles');\n\n styleOverrides.setAttribute('rel', 'preload');\n\n let headerOverrides = '';\n if (profile.navbar) {\n headerOverrides = `\n --rs-color-header-background: ${profile.navbar.background}!important;\n --rs-color-header-text: ${profile.navbar.text}!important;\n --rs-color-header-text-active: ${profile.navbar.textActive}!important;\n `;\n }\n\n styleOverrides.innerHTML = `\n :root {\n --rs-color-accent-1: ${profile.accent}!important;\n --rs-color-accent-2: ${profile.accent2}!important;\n --rs-color-accent-3: ${profile.accent3}!important;\n\n ${headerOverrides}\n\n ${profile.success ? `--rs-color-success: ${profile.success}!important;` : ''}\n }\n `;\n };\n\n public registerStyles = async (profile?: ColorProfile) => {\n console.log('Loading custom Theme Styles');\n if (profile) {\n this.changeTheme(profile);\n }\n\n this.ExternalStyles.forEach((url, index) => {\n const style = this.createElementOrReuseExisting('link', `engine-external-style-${index}`);\n style.setAttribute('rel', 'stylesheet');\n style.setAttribute('href', this.getAssetUrl() + url);\n });\n };\n\n public getAssetUrl = () => {\n return this.isLocalhost ? '/' : ASSET_URL;\n };\n\n public getImageAssetUrl = (url = '') => {\n return this.getAssetUrl() + 'assets/img/' + url;\n };\n\n /**\n * Detects if URL is absolute, and needs to be\n * @param url string\n */\n public wrapAssetUrl = (url: string) => {\n if (url.match(/^(?:[a-z]+:)?\\/\\//)) {\n return url;\n }\n\n return this.getAssetUrl() + url;\n };\n\n public registerScripts = async () => {\n this.ExternalScripts.forEach((url: string, index) => {\n this.loadScript(url, `legacy-${index}`);\n });\n };\n\n public loadScript = (src: string, name: string): Promise<void> =>\n new Promise((resolve) => {\n const script = this.createElementOrReuseExisting('script', `script-${name}`);\n if (script.hasAttribute('src') && script.getAttribute('src') === src) {\n resolve();\n } else {\n script.setAttribute('src', src);\n script.addEventListener('load', () => {\n resolve();\n });\n }\n\n this.ScriptContainer.appendChild(script);\n });\n\n public createElementOrReuseExisting = <K extends keyof HTMLElementTagNameMap>(type: K, name: string) => {\n const container = this.EngineContainer;\n const findingElement = container.querySelector(`${type}[name=\"roomstay-${name}\"]`);\n\n if (findingElement) {\n return findingElement;\n } else {\n const target = document.createElement(type);\n target.setAttribute('name', `roomstay-${name}`);\n container.appendChild(target);\n return target;\n }\n };\n\n public init = async () => {\n dayjs.extend(isSameOrBefore);\n dayjs.extend(isSameOrAfter);\n\n if (i18n) {\n i18n.use(initReactI18next).init({\n interpolation: { escapeValue: false },\n lng: Language.en_us,\n resources: LanguageProvider.getI18nMappedLanguages(),\n });\n }\n\n if (!this.isLocalhost) {\n Sentry.init({\n dsn: 'https://3bfba949561e48f1862c843ce8254a2d@o398412.ingest.sentry.io/5254086',\n beforeSend: (event, hint) => {\n event.tags = event.tags ?? { logger: '_default_' };\n\n try {\n if (hint.originalException instanceof Error) {\n if (hint.originalException.stack.indexOf('www.googletagmanager.com/gtm.js?id=') > -1) {\n event.tags.logger = 'gtm';\n event.level = Sentry.Severity.Warning;\n }\n }\n } catch (ex) {\n console.log(ex);\n }\n\n return event;\n },\n });\n }\n\n this.reloadScriptAndStyleContainers();\n };\n}\n\nexport default new RoomstayThemeEngine();\n"]}
1
+ {"version":3,"file":"RoomstayThemeEngine.js","sourceRoot":"/","sources":["src/providers/RoomstayThemeEngine.ts"],"names":[],"mappings":"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","sourcesContent":["// tslint:disable-next-line: no-submodule-imports\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\n// tslint:disable-next-line: no-submodule-imports\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport dayjs from 'dayjs';\n\nimport { LanguageProvider, Language } from '@/providers/LanguageProvider';\n\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport * as Sentry from '@sentry/browser';\nimport * as ROP from '@juggle/resize-observer';\nimport type { Company } from '@/models/Client/Hotel/Company';\nimport type ColorProfile from '@/models/Client/Hotel/ColorProfile';\n\ndeclare global {\n interface Window {\n ResizeObserver: any;\n }\n}\n\ndeclare const ASSET_URL: string;\n\nexport declare const RS_VERSION: string;\n\n/** @ts-ignore */\nif (typeof ResizeObserver === 'undefined') {\n window.ResizeObserver = ROP.ResizeObserver;\n}\n\nexport enum RoomstayTheme {\n Medium = 'medium',\n Light = 'light',\n}\nclass RoomstayThemeEngine {\n public currentCompany: Company | null = null;\n\n public EngineContainer: HTMLElement;\n\n public ScriptContainer: Element = null;\n public StyleContainer: Element = null;\n\n public selectedLang: Language = Language.en_us;\n\n // TODO This needs to be changed, not ideal to just check for localhost\n public isLocalhost: boolean = location.hostname === 'localhost';\n\n // TODO: This needs to be refactored to not be a fixed string.\n public ThemeType = RoomstayTheme.Light;\n\n public ExternalStyles: string[] = [];\n public ExternalScripts: string[] = ['https://js.verygoodvault.com/vgs-collect/1/AC7dReJwJ6EWF1L9FHdcCw7n.js'];\n\n public constructor() {\n console.log(`Initializing Roomstay Booking Engine v${RS_VERSION}`);\n }\n\n private reloadScriptAndStyleContainers = () => {\n this.StyleContainer = this.createElementOrReuseExisting('div', 'style-container');\n this.ScriptContainer = this.createElementOrReuseExisting('div', 'script-container');\n\n this.ScriptContainer.innerHTML = '';\n this.StyleContainer.innerHTML = '';\n\n this.registerStyles();\n };\n\n public changeCompany = (newCompany: Company) => {\n this.currentCompany = newCompany;\n this.registerStyles(newCompany.colors);\n };\n\n public changeTheme = async (profile: ColorProfile) => {\n const styleOverrides = this.createElementOrReuseExisting('style', 'engine-styles');\n\n styleOverrides.setAttribute('rel', 'preload');\n\n let headerOverrides = '';\n if (profile.navbar) {\n headerOverrides = `\n --rs-color-header-background: ${profile.navbar.background}!important;\n --rs-color-header-text: ${profile.navbar.text}!important;\n --rs-color-header-text-active: ${profile.navbar.textActive}!important;\n `;\n }\n\n styleOverrides.innerHTML = `\n :root {\n --rs-color-accent-1: ${profile.accent}!important;\n --rs-color-accent-2: ${profile.accent2}!important;\n --rs-color-accent-3: ${profile.accent3}!important;\n\n ${headerOverrides}\n\n ${profile.success ? `--rs-color-success: ${profile.success}!important;` : ''}\n }\n `;\n };\n\n public registerStyles = async (profile?: ColorProfile) => {\n console.log('Loading custom Theme Styles');\n if (profile) {\n this.changeTheme(profile);\n }\n\n this.ExternalStyles.forEach((url, index) => {\n const style = this.createElementOrReuseExisting('link', `engine-external-style-${index}`);\n style.setAttribute('rel', 'stylesheet');\n style.setAttribute('href', this.getAssetUrl() + url);\n });\n };\n\n public getAssetUrl = () => {\n return this.isLocalhost ? '/' : ASSET_URL;\n };\n\n public getImageAssetUrl = (url = '') => {\n return this.getAssetUrl() + 'assets/img/' + url;\n };\n\n /**\n * Detects if URL is absolute, and needs to be\n * @param url string\n */\n public wrapAssetUrl = (url: string) => {\n if (url.match(/^(?:[a-z]+:)?\\/\\//)) {\n return url;\n }\n\n return this.getAssetUrl() + url;\n };\n\n public registerScripts = async () => {\n this.ExternalScripts.forEach((url: string, index) => {\n this.loadScript(url, `legacy-${index}`);\n });\n };\n\n public loadScript = (src: string, name: string): Promise<void> =>\n new Promise((resolve) => {\n const script = this.createElementOrReuseExisting('script', `script-${name}`);\n if (script.hasAttribute('src') && script.getAttribute('src') === src) {\n resolve();\n } else {\n script.setAttribute('src', src);\n script.addEventListener('load', () => {\n resolve();\n });\n }\n\n this.ScriptContainer.appendChild(script);\n });\n\n public createElementOrReuseExisting = <K extends keyof HTMLElementTagNameMap>(type: K, name: string) => {\n const container = this.EngineContainer;\n const findingElement = container.querySelector(`${type}[name=\"roomstay-${name}\"]`);\n\n if (findingElement) {\n return findingElement;\n } else {\n const target = document.createElement(type);\n target.setAttribute('name', `roomstay-${name}`);\n container.appendChild(target);\n return target;\n }\n };\n\n public init = async () => {\n dayjs.extend(isSameOrBefore);\n dayjs.extend(isSameOrAfter);\n\n if (i18n) {\n i18n.use(initReactI18next).init({\n interpolation: { escapeValue: false },\n lng: Language.en_us,\n resources: LanguageProvider.getI18nMappedLanguages(),\n });\n }\n\n if (!this.isLocalhost) {\n Sentry.init({\n dsn: 'https://3bfba949561e48f1862c843ce8254a2d@o398412.ingest.sentry.io/5254086',\n beforeSend: (event, hint) => {\n event.tags = event.tags ?? { logger: '_default_' };\n\n try {\n if (hint.originalException instanceof Error) {\n if (hint.originalException.stack.indexOf('www.googletagmanager.com/gtm.js?id=') > -1) {\n event.tags.logger = 'gtm';\n event.level = Sentry.Severity.Warning;\n }\n }\n } catch (ex) {\n console.log(ex);\n }\n\n return event;\n },\n });\n }\n\n this.reloadScriptAndStyleContainers();\n };\n}\n\nexport default new RoomstayThemeEngine();\n"]}
@@ -1,4 +1,4 @@
1
- import { RoomstaySession } from 'models/RoomstaySession';
1
+ import { RoomstaySession } from '@/models/RoomstaySession';
2
2
  /**
3
3
  * Session provider is in charge of handling the loading, saving and passing of the current Engine Session.
4
4
  *
@@ -12,12 +12,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const LocalStorageProvider_1 = require("providers/storage/LocalStorageProvider");
16
- const RoomstaySession_1 = require("models/RoomstaySession");
15
+ const LocalStorageProvider_1 = require("@/providers/storage/LocalStorageProvider");
16
+ const RoomstaySession_1 = require("@/models/RoomstaySession");
17
17
  const dayjs_1 = __importDefault(require("dayjs"));
18
- const BasketRow_1 = __importDefault(require("models/BasketRow"));
19
- const RoomRate_1 = require("models/Room/RoomRate");
20
- const Room_1 = require("models/Room/Room");
18
+ const BasketRow_1 = __importDefault(require("@/models/BasketRow"));
19
+ const RoomRate_1 = require("@/models/Room/RoomRate");
20
+ const Room_1 = require("@/models/Room/Room");
21
21
  const Debounce_1 = require("../util/Debounce");
22
22
  /**
23
23
  * Session provider is in charge of handling the loading, saving and passing of the current Engine Session.
@@ -1 +1 @@
1
- {"version":3,"file":"SessionProvider.js","sourceRoot":"/","sources":["src/providers/SessionProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { LocalStorageProvider } from 'providers/storage/LocalStorageProvider';\nimport { RoomstaySession, SerializedRoomstaySession, SERIALIZED_DATE_FORMAT, SerializedRoomstaySessionBasketRow } from 'models/RoomstaySession';\nimport dayjs from 'dayjs';\nimport BasketRow from 'models/BasketRow';\nimport { RoomRate } from 'models/Room/RoomRate';\nimport { Room } from 'models/Room/Room';\nimport { debounce } from '../util/Debounce';\n\n/**\n * Session provider is in charge of handling the loading, saving and passing of the current Engine Session.\n *\n * Desired flow:\n * * App Opened\n * * Session Provider loaded\n * * New User Session Created\n * * User moves through the app, updating the session with vital details (current step, basket context )\n * * User refreshes browser - session is re-loaded and user resumes where they left off\n * * User proceeds to checkout.\n * * Session is saved.\n *\n * Mini Booking Widget:\n * * User loads mini booking widget, selects dates, people\n * * Rates are loaded, and user selects a rate, redirecting to Full Booking Engine\n * * Session Provider creates a SessionID to pass to redirected path\n * * Session Provider loads the passed SessionID and loads the correct session\n * * Resume to Desired Flow\n *\n * Re-targeting:\n * ---Since re-targeting will happen on client site, under client domain, localStorage will be preserved, ergo we can load the previous incomplete sessions back to the user\n * * User lands on client Homepage\n * * Session Provider loads previous incomplete sessions\n * * A slider with details of previous baskets is shown back to the user\n * * User clicks on a previous session and is brought to the Booking Engine\n * * Resume to Desired Flow\n */\nexport default class SessionProvider {\n private currentSessionID: number;\n private hotelID: string;\n private cachedSession: Partial<RoomstaySession> = {};\n\n public async setHotelID(hotelID: string) {\n this.hotelID = hotelID;\n this.updateSession({ hotelID });\n }\n\n public async initialize(sessionID?: number, source?: string) {\n await this.setSessionID(sessionID, source);\n }\n\n public async setSessionID(sessionID?: number, source?: string) {\n const foundSession = await this.findOrCreateSessionID(sessionID, source);\n\n if (foundSession) {\n this.currentSessionID = foundSession;\n\n const storage = new LocalStorageProvider(sessionStorage);\n await storage.write('currentSession', this.currentSessionID);\n }\n }\n\n /**\n * Function to find the right session from session storage, or local storage\n *\n * If one isn't found it is then created.\n */\n private async findOrCreateSessionID(sessionID: number, source: string) {\n let session: RoomstaySession;\n\n if (sessionID) {\n session = await this.findSession(sessionID);\n\n if (session) {\n return session.id;\n }\n }\n\n session = await this.generateNewSession(source);\n\n return session.id;\n }\n\n private async findSession(sessionID: number): Promise<RoomstaySession> {\n const storage = new LocalStorageProvider();\n\n const session = await storage.read<SerializedRoomstaySession>(this.getSessionKey(sessionID));\n\n if (session) {\n return this.unSerializeSession(session);\n }\n }\n\n private async generateNewSession(source: string): Promise<RoomstaySession> {\n const sessionId = new Date().getTime();\n\n const session: RoomstaySession = {\n id: sessionId,\n startDate: null,\n endDate: null,\n step: '',\n hotelID: this.hotelID ?? null,\n basketRows: [],\n source,\n };\n\n this.saveSession(session);\n\n return session;\n }\n\n private serializeSession(session: RoomstaySession): SerializedRoomstaySession {\n const basketRows: SerializedRoomstaySessionBasketRow[] = [];\n\n // TODO possibly refactor BasketRow to serialize itself, or instead make a serializer that can do all this.\n session.basketRows.forEach((unSerializeBasketRow: BasketRow) => {\n const rate = unSerializeBasketRow.getRate();\n const room = unSerializeBasketRow.getRoom();\n\n let serializedRate = null;\n let serializedRoom = null;\n\n if (rate) {\n serializedRate = rate.serialize();\n }\n\n if (room) {\n serializedRoom = room.serialize();\n }\n\n basketRows.push({\n uniqId: unSerializeBasketRow.getID(),\n startDate: unSerializeBasketRow.getStartDate()?.format(SERIALIZED_DATE_FORMAT),\n endDate: unSerializeBasketRow.getEndDate()?.format(SERIALIZED_DATE_FORMAT),\n adults: unSerializeBasketRow.getAdults(),\n children: unSerializeBasketRow.getChildren(),\n promoCode: unSerializeBasketRow.getPromoCode(),\n promoCodeStatus: unSerializeBasketRow.getPromoCodeStatus(),\n rate: serializedRate,\n room: serializedRoom,\n });\n });\n\n return {\n id: session.id,\n startDate: session.startDate?.format(SERIALIZED_DATE_FORMAT),\n endDate: session.endDate?.format(SERIALIZED_DATE_FORMAT),\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n reservation: session.reservation,\n };\n }\n\n private unSerializeSession(session: SerializedRoomstaySession): RoomstaySession {\n const basketRows: BasketRow[] = [];\n let startDate: dayjs.Dayjs;\n let endDate: dayjs.Dayjs;\n\n if (session.startDate) {\n startDate = dayjs(session.startDate, SERIALIZED_DATE_FORMAT);\n }\n\n if (session.endDate) {\n endDate = dayjs(session.endDate, SERIALIZED_DATE_FORMAT);\n }\n\n session.basketRows?.forEach((serializedBasketRow) => {\n let rate;\n let room;\n\n if (serializedBasketRow.room) {\n room = new Room();\n room.unSerialize(serializedBasketRow.room);\n }\n\n if (serializedBasketRow.rate && room) {\n rate = new RoomRate();\n rate.unSerialize(serializedBasketRow.rate);\n rate.setRoom(room);\n }\n\n const basketRow = new BasketRow(rate ?? null, serializedBasketRow.uniqId);\n\n if (serializedBasketRow.startDate) {\n basketRow.setStartDate(dayjs(serializedBasketRow.startDate, SERIALIZED_DATE_FORMAT));\n }\n if (serializedBasketRow.endDate) {\n basketRow.setEndDate(dayjs(serializedBasketRow.endDate, SERIALIZED_DATE_FORMAT));\n }\n\n basketRow.setAdults(serializedBasketRow.adults);\n basketRow.setChildren(serializedBasketRow.children);\n\n basketRows.push(basketRow);\n });\n\n return {\n id: session.id,\n startDate,\n endDate,\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n reservation: session.reservation,\n };\n }\n\n private getSessionKey(sessionId?: number): string {\n return `session-${sessionId ?? this.currentSessionID}`;\n }\n\n /**\n * @returns the current session ID\n */\n public getCurrentSessionID(): number {\n return this.currentSessionID;\n }\n\n public async getSession(): Promise<RoomstaySession> {\n const storage = new LocalStorageProvider();\n\n const sessionFromStorage = await storage.read<SerializedRoomstaySession>(this.getSessionKey());\n\n if (sessionFromStorage) {\n return this.unSerializeSession(sessionFromStorage);\n } else {\n return this.generateNewSession('');\n }\n }\n\n public async saveSession(changedSession: RoomstaySession) {\n if (!changedSession) {\n return console.log('Attempted to save empty session');\n }\n\n const storage = new LocalStorageProvider();\n\n const serializedSession = this.serializeSession(changedSession);\n\n await storage.write(this.getSessionKey(serializedSession.id), serializedSession);\n }\n\n private debouncedUpdateSession = debounce(async () => {\n const currentSession = await this.getSession();\n const cachedSession = this.cachedSession;\n this.cachedSession = {};\n await this.saveSession({\n ...currentSession,\n ...cachedSession,\n });\n }, 300);\n\n public async updateSession(partialSession: Partial<RoomstaySession>) {\n Object.assign(this.cachedSession, partialSession);\n this.debouncedUpdateSession();\n }\n\n public async deleteSession() {\n const storage = new LocalStorageProvider();\n storage.delete(this.getSessionKey());\n }\n\n public async getAllSessions() {\n const storage = new LocalStorageProvider();\n const sessionKeys = storage.getAllKeys((name) => name.startsWith('roomstay-session'));\n\n return (await storage.readAll<SerializedRoomstaySession>(sessionKeys)).map((session) => this.unSerializeSession(session));\n }\n}\n"]}
1
+ {"version":3,"file":"SessionProvider.js","sourceRoot":"/","sources":["src/providers/SessionProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { LocalStorageProvider } from '@/providers/storage/LocalStorageProvider';\nimport { RoomstaySession, SerializedRoomstaySession, SERIALIZED_DATE_FORMAT, SerializedRoomstaySessionBasketRow } from '@/models/RoomstaySession';\nimport dayjs from 'dayjs';\nimport BasketRow from '@/models/BasketRow';\nimport { RoomRate } from '@/models/Room/RoomRate';\nimport { Room } from '@/models/Room/Room';\nimport { debounce } from '../util/Debounce';\n\n/**\n * Session provider is in charge of handling the loading, saving and passing of the current Engine Session.\n *\n * Desired flow:\n * * App Opened\n * * Session Provider loaded\n * * New User Session Created\n * * User moves through the app, updating the session with vital details (current step, basket context )\n * * User refreshes browser - session is re-loaded and user resumes where they left off\n * * User proceeds to checkout.\n * * Session is saved.\n *\n * Mini Booking Widget:\n * * User loads mini booking widget, selects dates, people\n * * Rates are loaded, and user selects a rate, redirecting to Full Booking Engine\n * * Session Provider creates a SessionID to pass to redirected path\n * * Session Provider loads the passed SessionID and loads the correct session\n * * Resume to Desired Flow\n *\n * Re-targeting:\n * ---Since re-targeting will happen on client site, under client domain, localStorage will be preserved, ergo we can load the previous incomplete sessions back to the user\n * * User lands on client Homepage\n * * Session Provider loads previous incomplete sessions\n * * A slider with details of previous baskets is shown back to the user\n * * User clicks on a previous session and is brought to the Booking Engine\n * * Resume to Desired Flow\n */\nexport default class SessionProvider {\n private currentSessionID: number;\n private hotelID: string;\n private cachedSession: Partial<RoomstaySession> = {};\n\n public async setHotelID(hotelID: string) {\n this.hotelID = hotelID;\n this.updateSession({ hotelID });\n }\n\n public async initialize(sessionID?: number, source?: string) {\n await this.setSessionID(sessionID, source);\n }\n\n public async setSessionID(sessionID?: number, source?: string) {\n const foundSession = await this.findOrCreateSessionID(sessionID, source);\n\n if (foundSession) {\n this.currentSessionID = foundSession;\n\n const storage = new LocalStorageProvider(sessionStorage);\n await storage.write('currentSession', this.currentSessionID);\n }\n }\n\n /**\n * Function to find the right session from session storage, or local storage\n *\n * If one isn't found it is then created.\n */\n private async findOrCreateSessionID(sessionID: number, source: string) {\n let session: RoomstaySession;\n\n if (sessionID) {\n session = await this.findSession(sessionID);\n\n if (session) {\n return session.id;\n }\n }\n\n session = await this.generateNewSession(source);\n\n return session.id;\n }\n\n private async findSession(sessionID: number): Promise<RoomstaySession> {\n const storage = new LocalStorageProvider();\n\n const session = await storage.read<SerializedRoomstaySession>(this.getSessionKey(sessionID));\n\n if (session) {\n return this.unSerializeSession(session);\n }\n }\n\n private async generateNewSession(source: string): Promise<RoomstaySession> {\n const sessionId = new Date().getTime();\n\n const session: RoomstaySession = {\n id: sessionId,\n startDate: null,\n endDate: null,\n step: '',\n hotelID: this.hotelID ?? null,\n basketRows: [],\n source,\n };\n\n this.saveSession(session);\n\n return session;\n }\n\n private serializeSession(session: RoomstaySession): SerializedRoomstaySession {\n const basketRows: SerializedRoomstaySessionBasketRow[] = [];\n\n // TODO possibly refactor BasketRow to serialize itself, or instead make a serializer that can do all this.\n session.basketRows.forEach((unSerializeBasketRow: BasketRow) => {\n const rate = unSerializeBasketRow.getRate();\n const room = unSerializeBasketRow.getRoom();\n\n let serializedRate = null;\n let serializedRoom = null;\n\n if (rate) {\n serializedRate = rate.serialize();\n }\n\n if (room) {\n serializedRoom = room.serialize();\n }\n\n basketRows.push({\n uniqId: unSerializeBasketRow.getID(),\n startDate: unSerializeBasketRow.getStartDate()?.format(SERIALIZED_DATE_FORMAT),\n endDate: unSerializeBasketRow.getEndDate()?.format(SERIALIZED_DATE_FORMAT),\n adults: unSerializeBasketRow.getAdults(),\n children: unSerializeBasketRow.getChildren(),\n promoCode: unSerializeBasketRow.getPromoCode(),\n promoCodeStatus: unSerializeBasketRow.getPromoCodeStatus(),\n rate: serializedRate,\n room: serializedRoom,\n });\n });\n\n return {\n id: session.id,\n startDate: session.startDate?.format(SERIALIZED_DATE_FORMAT),\n endDate: session.endDate?.format(SERIALIZED_DATE_FORMAT),\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n reservation: session.reservation,\n };\n }\n\n private unSerializeSession(session: SerializedRoomstaySession): RoomstaySession {\n const basketRows: BasketRow[] = [];\n let startDate: dayjs.Dayjs;\n let endDate: dayjs.Dayjs;\n\n if (session.startDate) {\n startDate = dayjs(session.startDate, SERIALIZED_DATE_FORMAT);\n }\n\n if (session.endDate) {\n endDate = dayjs(session.endDate, SERIALIZED_DATE_FORMAT);\n }\n\n session.basketRows?.forEach((serializedBasketRow) => {\n let rate;\n let room;\n\n if (serializedBasketRow.room) {\n room = new Room();\n room.unSerialize(serializedBasketRow.room);\n }\n\n if (serializedBasketRow.rate && room) {\n rate = new RoomRate();\n rate.unSerialize(serializedBasketRow.rate);\n rate.setRoom(room);\n }\n\n const basketRow = new BasketRow(rate ?? null, serializedBasketRow.uniqId);\n\n if (serializedBasketRow.startDate) {\n basketRow.setStartDate(dayjs(serializedBasketRow.startDate, SERIALIZED_DATE_FORMAT));\n }\n if (serializedBasketRow.endDate) {\n basketRow.setEndDate(dayjs(serializedBasketRow.endDate, SERIALIZED_DATE_FORMAT));\n }\n\n basketRow.setAdults(serializedBasketRow.adults);\n basketRow.setChildren(serializedBasketRow.children);\n\n basketRows.push(basketRow);\n });\n\n return {\n id: session.id,\n startDate,\n endDate,\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n reservation: session.reservation,\n };\n }\n\n private getSessionKey(sessionId?: number): string {\n return `session-${sessionId ?? this.currentSessionID}`;\n }\n\n /**\n * @returns the current session ID\n */\n public getCurrentSessionID(): number {\n return this.currentSessionID;\n }\n\n public async getSession(): Promise<RoomstaySession> {\n const storage = new LocalStorageProvider();\n\n const sessionFromStorage = await storage.read<SerializedRoomstaySession>(this.getSessionKey());\n\n if (sessionFromStorage) {\n return this.unSerializeSession(sessionFromStorage);\n } else {\n return this.generateNewSession('');\n }\n }\n\n public async saveSession(changedSession: RoomstaySession) {\n if (!changedSession) {\n return console.log('Attempted to save empty session');\n }\n\n const storage = new LocalStorageProvider();\n\n const serializedSession = this.serializeSession(changedSession);\n\n await storage.write(this.getSessionKey(serializedSession.id), serializedSession);\n }\n\n private debouncedUpdateSession = debounce(async () => {\n const currentSession = await this.getSession();\n const cachedSession = this.cachedSession;\n this.cachedSession = {};\n await this.saveSession({\n ...currentSession,\n ...cachedSession,\n });\n }, 300);\n\n public async updateSession(partialSession: Partial<RoomstaySession>) {\n Object.assign(this.cachedSession, partialSession);\n this.debouncedUpdateSession();\n }\n\n public async deleteSession() {\n const storage = new LocalStorageProvider();\n storage.delete(this.getSessionKey());\n }\n\n public async getAllSessions() {\n const storage = new LocalStorageProvider();\n const sessionKeys = storage.getAllKeys((name) => name.startsWith('roomstay-session'));\n\n return (await storage.readAll<SerializedRoomstaySession>(sessionKeys)).map((session) => this.unSerializeSession(session));\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { Feature } from 'providers/feature/Feature';
1
+ import { Feature } from '@/providers/feature/Feature';
2
2
  /**
3
3
  * Feature to determine if checkboxes for verify confirmation must be ticked
4
4
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const Feature_1 = require("providers/feature/Feature");
3
+ const Feature_1 = require("@/providers/feature/Feature");
4
4
  /**
5
5
  * Feature to determine if checkboxes for verify confirmation must be ticked
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationVerifyFeature.js","sourceRoot":"/","sources":["src/providers/feature/ConfirmationVerifyFeature.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD;;GAEG;AACH,MAAM,yBAA0B,SAAQ,iBAAO;IAC3C;QACI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACvC,CAAC;IAES,MAAM;QACZ,2EAA2E;IAC/E,CAAC;CACJ;AAED,kBAAe,IAAI,yBAAyB,EAAE,CAAC","sourcesContent":["import { Feature } from 'providers/feature/Feature';\n\n/**\n * Feature to determine if checkboxes for verify confirmation must be ticked\n */\nclass ConfirmationVerifyFeature extends Feature {\n public constructor() {\n super('ConfirmationVerifyFeature');\n }\n\n protected onLoad() {\n /** No onload function since the engine itself checks if this is enabled */\n }\n}\n\nexport default new ConfirmationVerifyFeature();\n"]}
1
+ {"version":3,"file":"ConfirmationVerifyFeature.js","sourceRoot":"/","sources":["src/providers/feature/ConfirmationVerifyFeature.ts"],"names":[],"mappings":";;AAAA,yDAAsD;AAEtD;;GAEG;AACH,MAAM,yBAA0B,SAAQ,iBAAO;IAC3C;QACI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACvC,CAAC;IAES,MAAM;QACZ,2EAA2E;IAC/E,CAAC;CACJ;AAED,kBAAe,IAAI,yBAAyB,EAAE,CAAC","sourcesContent":["import { Feature } from '@/providers/feature/Feature';\n\n/**\n * Feature to determine if checkboxes for verify confirmation must be ticked\n */\nclass ConfirmationVerifyFeature extends Feature {\n public constructor() {\n super('ConfirmationVerifyFeature');\n }\n\n protected onLoad() {\n /** No onload function since the engine itself checks if this is enabled */\n }\n}\n\nexport default new ConfirmationVerifyFeature();\n"]}
@@ -1,4 +1,4 @@
1
- import { Feature } from 'providers/feature/Feature';
1
+ import { Feature } from '@/providers/feature/Feature';
2
2
  declare class DatePickerTypeFeature extends Feature {
3
3
  constructor();
4
4
  protected onLoad(): void;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const FullPageBookingEngineElementEvents_1 = require("engines/FullPageBookingEngine/FullPageBookingEngineElementEvents");
4
- const Feature_1 = require("providers/feature/Feature");
3
+ const FullPageBookingEngineElementEvents_1 = require("@/engines/FullPageBookingEngine/FullPageBookingEngineElementEvents");
4
+ const Feature_1 = require("@/providers/feature/Feature");
5
5
  class DatePickerTypeFeature extends Feature_1.Feature {
6
6
  constructor() {
7
7
  super('DatePickerTypeFeature');
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeFeature.js","sourceRoot":"/","sources":["src/providers/feature/DatePickerTypeFeature.ts"],"names":[],"mappings":";;AAAA,yHAAsH;AACtH,uDAAoD;AAEpD,MAAM,qBAAsB,SAAQ,iBAAO;IACvC;QACI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACnC,CAAC;IAES,MAAM;QACZ,wCAAwC;QACxC,0CAA0C;QAC1C,uEAAuE;QACvE,IAAI;QAEJ,uEAAkC,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC;CACJ;AAED,kBAAe,IAAI,qBAAqB,EAAE,CAAC","sourcesContent":["import { FullPageBookingEngineElementEvents } from 'engines/FullPageBookingEngine/FullPageBookingEngineElementEvents';\nimport { Feature } from 'providers/feature/Feature';\n\nclass DatePickerTypeFeature extends Feature {\n public constructor() {\n super('DatePickerTypeFeature');\n }\n\n protected onLoad() {\n // TODO: This will need to be re-thought\n // if (RoomstayThemeEngine.currentHotel) {\n // RoomstayThemeEngine.currentHotel.defaultDatepickerType = 'Week';\n // }\n\n FullPageBookingEngineElementEvents.reload();\n }\n}\n\nexport default new DatePickerTypeFeature();\n"]}
1
+ {"version":3,"file":"DatePickerTypeFeature.js","sourceRoot":"/","sources":["src/providers/feature/DatePickerTypeFeature.ts"],"names":[],"mappings":";;AAAA,2HAAwH;AACxH,yDAAsD;AAEtD,MAAM,qBAAsB,SAAQ,iBAAO;IACvC;QACI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACnC,CAAC;IAES,MAAM;QACZ,wCAAwC;QACxC,0CAA0C;QAC1C,uEAAuE;QACvE,IAAI;QAEJ,uEAAkC,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC;CACJ;AAED,kBAAe,IAAI,qBAAqB,EAAE,CAAC","sourcesContent":["import { FullPageBookingEngineElementEvents } from '@/engines/FullPageBookingEngine/FullPageBookingEngineElementEvents';\nimport { Feature } from '@/providers/feature/Feature';\n\nclass DatePickerTypeFeature extends Feature {\n public constructor() {\n super('DatePickerTypeFeature');\n }\n\n protected onLoad() {\n // TODO: This will need to be re-thought\n // if (RoomstayThemeEngine.currentHotel) {\n // RoomstayThemeEngine.currentHotel.defaultDatepickerType = 'Week';\n // }\n\n FullPageBookingEngineElementEvents.reload();\n }\n}\n\nexport default new DatePickerTypeFeature();\n"]}
@@ -1,4 +1,4 @@
1
- import { Feature } from 'providers/feature/Feature';
1
+ import { Feature } from '@/providers/feature/Feature';
2
2
  declare class E164PhoneNumberFieldFeature extends Feature {
3
3
  constructor();
4
4
  protected onLoad(): void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const Feature_1 = require("providers/feature/Feature");
3
+ const Feature_1 = require("@/providers/feature/Feature");
4
4
  class E164PhoneNumberFieldFeature extends Feature_1.Feature {
5
5
  constructor() {
6
6
  super('E164PhoneNumberFieldFeature');
@@ -1 +1 @@
1
- {"version":3,"file":"E164PhoneNumberFieldFeature.js","sourceRoot":"/","sources":["src/providers/feature/E164PhoneNumberFieldFeature.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD,MAAM,2BAA4B,SAAQ,iBAAO;IAC7C;QACI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACzC,CAAC;IAES,MAAM;QACZ,yBAAyB;IAC7B,CAAC;CACJ;AAED,kBAAe,IAAI,2BAA2B,EAAE,CAAC","sourcesContent":["import { Feature } from 'providers/feature/Feature';\n\nclass E164PhoneNumberFieldFeature extends Feature {\n public constructor() {\n super('E164PhoneNumberFieldFeature');\n }\n\n protected onLoad(): void {\n // No requirement on load\n }\n}\n\nexport default new E164PhoneNumberFieldFeature();\n"]}
1
+ {"version":3,"file":"E164PhoneNumberFieldFeature.js","sourceRoot":"/","sources":["src/providers/feature/E164PhoneNumberFieldFeature.ts"],"names":[],"mappings":";;AAAA,yDAAsD;AAEtD,MAAM,2BAA4B,SAAQ,iBAAO;IAC7C;QACI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACzC,CAAC;IAES,MAAM;QACZ,yBAAyB;IAC7B,CAAC;CACJ;AAED,kBAAe,IAAI,2BAA2B,EAAE,CAAC","sourcesContent":["import { Feature } from '@/providers/feature/Feature';\n\nclass E164PhoneNumberFieldFeature extends Feature {\n public constructor() {\n super('E164PhoneNumberFieldFeature');\n }\n\n protected onLoad(): void {\n // No requirement on load\n }\n}\n\nexport default new E164PhoneNumberFieldFeature();\n"]}
@@ -1,4 +1,4 @@
1
- import { Feature } from 'providers/feature/Feature';
1
+ import { Feature } from '@/providers/feature/Feature';
2
2
  declare class FeaturedPromoFeature extends Feature {
3
3
  constructor();
4
4
  protected onLoad(): void;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const FullPageBookingEngineElementEvents_1 = require("engines/FullPageBookingEngine/FullPageBookingEngineElementEvents");
4
- const Feature_1 = require("providers/feature/Feature");
3
+ const FullPageBookingEngineElementEvents_1 = require("@/engines/FullPageBookingEngine/FullPageBookingEngineElementEvents");
4
+ const Feature_1 = require("@/providers/feature/Feature");
5
5
  class FeaturedPromoFeature extends Feature_1.Feature {
6
6
  constructor() {
7
7
  super('FeaturedPromoFeature');
@@ -1 +1 @@
1
- {"version":3,"file":"FeaturedPromoFeature.js","sourceRoot":"/","sources":["src/providers/feature/FeaturedPromoFeature.ts"],"names":[],"mappings":";;AAAA,yHAAsH;AACtH,uDAAoD;AAEpD,MAAM,oBAAqB,SAAQ,iBAAO;IACtC;QACI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAClC,CAAC;IAES,MAAM;QACZ,uEAAkC,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC;CACJ;AAED,kBAAe,IAAI,oBAAoB,EAAE,CAAC","sourcesContent":["import { FullPageBookingEngineElementEvents } from 'engines/FullPageBookingEngine/FullPageBookingEngineElementEvents';\nimport { Feature } from 'providers/feature/Feature';\n\nclass FeaturedPromoFeature extends Feature {\n public constructor() {\n super('FeaturedPromoFeature');\n }\n\n protected onLoad() {\n FullPageBookingEngineElementEvents.reload();\n }\n}\n\nexport default new FeaturedPromoFeature();\n"]}
1
+ {"version":3,"file":"FeaturedPromoFeature.js","sourceRoot":"/","sources":["src/providers/feature/FeaturedPromoFeature.ts"],"names":[],"mappings":";;AAAA,2HAAwH;AACxH,yDAAsD;AAEtD,MAAM,oBAAqB,SAAQ,iBAAO;IACtC;QACI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAClC,CAAC;IAES,MAAM;QACZ,uEAAkC,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC;CACJ;AAED,kBAAe,IAAI,oBAAoB,EAAE,CAAC","sourcesContent":["import { FullPageBookingEngineElementEvents } from '@/engines/FullPageBookingEngine/FullPageBookingEngineElementEvents';\nimport { Feature } from '@/providers/feature/Feature';\n\nclass FeaturedPromoFeature extends Feature {\n public constructor() {\n super('FeaturedPromoFeature');\n }\n\n protected onLoad() {\n FullPageBookingEngineElementEvents.reload();\n }\n}\n\nexport default new FeaturedPromoFeature();\n"]}
@@ -1,4 +1,4 @@
1
- import { Feature } from 'providers/feature/Feature';
1
+ import { Feature } from '@/providers/feature/Feature';
2
2
  declare class InlineAddonStepFeature extends Feature {
3
3
  private originalStep;
4
4
  constructor();
@@ -3,9 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const StepAddon_1 = __importDefault(require("pages/steps/StepAddon/StepAddon"));
7
- const StepManager_1 = __importDefault(require("util/StepManager"));
8
- const Feature_1 = require("providers/feature/Feature");
6
+ const StepAddon_1 = __importDefault(require("@/pages/steps/StepAddon/StepAddon"));
7
+ const StepManager_1 = __importDefault(require("@/util/StepManager"));
8
+ const Feature_1 = require("@/providers/feature/Feature");
9
9
  class InlineAddonStepFeature extends Feature_1.Feature {
10
10
  constructor() {
11
11
  super('InlineAddonStepFeature');
@@ -1 +1 @@
1
- {"version":3,"file":"InlineAddonStepFeature.js","sourceRoot":"/","sources":["src/providers/feature/InlineAddonStepFeature.ts"],"names":[],"mappings":";;;;;AAAA,gFAAwD;AACxD,mEAA2C;AAC3C,uDAAoD;AAGpD,MAAM,sBAAuB,SAAQ,iBAAO;IAGxC;QACI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACpC,CAAC;IAES,MAAM;QACZ,IAAI,qBAAW,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;YAC9B,IAAI,CAAC,YAAY,GAAG,qBAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SACpD;QAED,qBAAW,CAAC,OAAO,CAAC,EAAE,EAAE,mBAAS,CAAC,CAAC;IACvC,CAAC;IAES,QAAQ;QACd,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,qBAAW,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC9C;aAAM;YACH,OAAO,qBAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SACvC;IACL,CAAC;CACJ;AAED,kBAAe,IAAI,sBAAsB,EAAE,CAAC","sourcesContent":["import StepAddon from 'pages/steps/StepAddon/StepAddon';\nimport StepManager from 'util/StepManager';\nimport { Feature } from 'providers/feature/Feature';\nimport type Step from 'pages/steps/Step';\n\nclass InlineAddonStepFeature extends Feature {\n private originalStep: Step;\n\n public constructor() {\n super('InlineAddonStepFeature');\n }\n\n protected onLoad() {\n if (StepManager.currentSteps[15]) {\n this.originalStep = StepManager.currentSteps[15];\n }\n\n StepManager.addStep(15, StepAddon);\n }\n\n protected onUnLoad() {\n if (this.originalStep) {\n StepManager.addStep(15, this.originalStep);\n } else {\n delete StepManager.currentSteps[15];\n }\n }\n}\n\nexport default new InlineAddonStepFeature();\n"]}
1
+ {"version":3,"file":"InlineAddonStepFeature.js","sourceRoot":"/","sources":["src/providers/feature/InlineAddonStepFeature.ts"],"names":[],"mappings":";;;;;AAAA,kFAA0D;AAC1D,qEAA6C;AAC7C,yDAAsD;AAGtD,MAAM,sBAAuB,SAAQ,iBAAO;IAGxC;QACI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACpC,CAAC;IAES,MAAM;QACZ,IAAI,qBAAW,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;YAC9B,IAAI,CAAC,YAAY,GAAG,qBAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SACpD;QAED,qBAAW,CAAC,OAAO,CAAC,EAAE,EAAE,mBAAS,CAAC,CAAC;IACvC,CAAC;IAES,QAAQ;QACd,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,qBAAW,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC9C;aAAM;YACH,OAAO,qBAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SACvC;IACL,CAAC;CACJ;AAED,kBAAe,IAAI,sBAAsB,EAAE,CAAC","sourcesContent":["import StepAddon from '@/pages/steps/StepAddon/StepAddon';\nimport StepManager from '@/util/StepManager';\nimport { Feature } from '@/providers/feature/Feature';\nimport type Step from '@/pages/steps/Step';\n\nclass InlineAddonStepFeature extends Feature {\n private originalStep: Step;\n\n public constructor() {\n super('InlineAddonStepFeature');\n }\n\n protected onLoad() {\n if (StepManager.currentSteps[15]) {\n this.originalStep = StepManager.currentSteps[15];\n }\n\n StepManager.addStep(15, StepAddon);\n }\n\n protected onUnLoad() {\n if (this.originalStep) {\n StepManager.addStep(15, this.originalStep);\n } else {\n delete StepManager.currentSteps[15];\n }\n }\n}\n\nexport default new InlineAddonStepFeature();\n"]}
@@ -1,4 +1,4 @@
1
- import { Feature } from 'providers/feature/Feature';
1
+ import { Feature } from '@/providers/feature/Feature';
2
2
  declare class MemberPortalFeature extends Feature {
3
3
  constructor();
4
4
  protected onLoad(): void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const Feature_1 = require("providers/feature/Feature");
3
+ const Feature_1 = require("@/providers/feature/Feature");
4
4
  class MemberPortalFeature extends Feature_1.Feature {
5
5
  constructor() {
6
6
  super('MemberPortalFeature');
@@ -1 +1 @@
1
- {"version":3,"file":"MemberPortalFeature.js","sourceRoot":"/","sources":["src/providers/feature/MemberPortalFeature.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD,MAAM,mBAAoB,SAAQ,iBAAO;IACrC;QACI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjC,CAAC;IACS,MAAM,KAAI,CAAC;CACxB;AAED,kBAAe,IAAI,mBAAmB,EAAE,CAAC","sourcesContent":["import { Feature } from 'providers/feature/Feature';\n\nclass MemberPortalFeature extends Feature {\n constructor() {\n super('MemberPortalFeature');\n }\n protected onLoad() {}\n}\n\nexport default new MemberPortalFeature();\n"]}
1
+ {"version":3,"file":"MemberPortalFeature.js","sourceRoot":"/","sources":["src/providers/feature/MemberPortalFeature.ts"],"names":[],"mappings":";;AAAA,yDAAsD;AAEtD,MAAM,mBAAoB,SAAQ,iBAAO;IACrC;QACI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjC,CAAC;IACS,MAAM,KAAI,CAAC;CACxB;AAED,kBAAe,IAAI,mBAAmB,EAAE,CAAC","sourcesContent":["import { Feature } from '@/providers/feature/Feature';\n\nclass MemberPortalFeature extends Feature {\n constructor() {\n super('MemberPortalFeature');\n }\n protected onLoad() {}\n}\n\nexport default new MemberPortalFeature();\n"]}
@@ -1,4 +1,4 @@
1
- import { Feature } from 'providers/feature/Feature';
1
+ import { Feature } from '@/providers/feature/Feature';
2
2
  declare class RoomUpsellFeature extends Feature {
3
3
  constructor();
4
4
  protected onLoad(): void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const Feature_1 = require("providers/feature/Feature");
3
+ const Feature_1 = require("@/providers/feature/Feature");
4
4
  class RoomUpsellFeature extends Feature_1.Feature {
5
5
  constructor() {
6
6
  super('RoomUpsellFeature');
@@ -1 +1 @@
1
- {"version":3,"file":"RoomUpsellFeature.js","sourceRoot":"/","sources":["src/providers/feature/RoomUpsellFeature.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD,MAAM,iBAAkB,SAAQ,iBAAO;IACnC;QACI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;IAES,MAAM;QACZ,kBAAkB;IACtB,CAAC;CACJ;AAED,kBAAe,IAAI,iBAAiB,EAAE,CAAC","sourcesContent":["import { Feature } from 'providers/feature/Feature';\n\nclass RoomUpsellFeature extends Feature {\n public constructor() {\n super('RoomUpsellFeature');\n }\n\n protected onLoad() {\n // no empty blocks\n }\n}\n\nexport default new RoomUpsellFeature();\n"]}
1
+ {"version":3,"file":"RoomUpsellFeature.js","sourceRoot":"/","sources":["src/providers/feature/RoomUpsellFeature.ts"],"names":[],"mappings":";;AAAA,yDAAsD;AAEtD,MAAM,iBAAkB,SAAQ,iBAAO;IACnC;QACI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;IAES,MAAM;QACZ,kBAAkB;IACtB,CAAC;CACJ;AAED,kBAAe,IAAI,iBAAiB,EAAE,CAAC","sourcesContent":["import { Feature } from '@/providers/feature/Feature';\n\nclass RoomUpsellFeature extends Feature {\n public constructor() {\n super('RoomUpsellFeature');\n }\n\n protected onLoad() {\n // no empty blocks\n }\n}\n\nexport default new RoomUpsellFeature();\n"]}
@@ -1,4 +1,4 @@
1
- import { Feature } from 'providers/feature/Feature';
1
+ import { Feature } from '@/providers/feature/Feature';
2
2
  declare class ShowIATANumberOnCheckoutFeature extends Feature {
3
3
  constructor();
4
4
  protected onLoad(): void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const Feature_1 = require("providers/feature/Feature");
3
+ const Feature_1 = require("@/providers/feature/Feature");
4
4
  class ShowIATANumberOnCheckoutFeature extends Feature_1.Feature {
5
5
  constructor() {
6
6
  super('ShowIATANumberOnCheckoutFeature');
@@ -1 +1 @@
1
- {"version":3,"file":"ShowIATANumberOnCheckoutFeature.js","sourceRoot":"/","sources":["src/providers/feature/ShowIATANumberOnCheckoutFeature.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD,MAAM,+BAAgC,SAAQ,iBAAO;IACjD;QACI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC7C,CAAC;IAES,MAAM;QACZ,yBAAyB;IAC7B,CAAC;CACJ;AAED,kBAAe,IAAI,+BAA+B,EAAE,CAAC","sourcesContent":["import { Feature } from 'providers/feature/Feature';\n\nclass ShowIATANumberOnCheckoutFeature extends Feature {\n public constructor() {\n super('ShowIATANumberOnCheckoutFeature');\n }\n\n protected onLoad(): void {\n // Nothing to do on load.\n }\n}\n\nexport default new ShowIATANumberOnCheckoutFeature();\n"]}
1
+ {"version":3,"file":"ShowIATANumberOnCheckoutFeature.js","sourceRoot":"/","sources":["src/providers/feature/ShowIATANumberOnCheckoutFeature.ts"],"names":[],"mappings":";;AAAA,yDAAsD;AAEtD,MAAM,+BAAgC,SAAQ,iBAAO;IACjD;QACI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC7C,CAAC;IAES,MAAM;QACZ,yBAAyB;IAC7B,CAAC;CACJ;AAED,kBAAe,IAAI,+BAA+B,EAAE,CAAC","sourcesContent":["import { Feature } from '@/providers/feature/Feature';\n\nclass ShowIATANumberOnCheckoutFeature extends Feature {\n public constructor() {\n super('ShowIATANumberOnCheckoutFeature');\n }\n\n protected onLoad(): void {\n // Nothing to do on load.\n }\n}\n\nexport default new ShowIATANumberOnCheckoutFeature();\n"]}
@@ -1,4 +1,4 @@
1
- import { StorageProvider } from 'providers/storage/StorageProvider';
1
+ import { StorageProvider } from '@/providers/storage/StorageProvider';
2
2
  export declare class LocalStorageProvider extends StorageProvider {
3
3
  private readonly enginePrefix;
4
4
  /**
@@ -33,7 +33,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  exports.LocalStorageProvider = void 0;
36
- const StorageProvider_1 = require("providers/storage/StorageProvider");
36
+ const StorageProvider_1 = require("@/providers/storage/StorageProvider");
37
37
  const Sentry = __importStar(require("@sentry/browser"));
38
38
  class LocalStorageProvider extends StorageProvider_1.StorageProvider {
39
39
  constructor(storageMethod) {
@@ -1 +1 @@
1
- {"version":3,"file":"LocalStorageProvider.js","sourceRoot":"/","sources":["src/providers/storage/LocalStorageProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { StorageProvider, StorageType } from 'providers/storage/StorageProvider';\nimport * as Sentry from '@sentry/browser';\n\nexport class LocalStorageProvider extends StorageProvider {\n private readonly enginePrefix = 'roomstay';\n\n /**\n * This is important. We're either going to be using localStorage or sessionStorage\n * by default it's localStorage\n */\n private storageMethod: Storage;\n\n public constructor(storageMethod?: Storage) {\n super();\n\n this.storageMethod = !storageMethod ? localStorage : storageMethod;\n }\n\n private prefixKey = (key: string) => {\n return `${this.enginePrefix}-${key}`;\n };\n\n public async read<T>(key: string): Promise<T> {\n let fromStorage: string;\n\n try {\n fromStorage = this.storageMethod.getItem(this.prefixKey(key));\n } catch (ex) {\n Sentry.captureException(ex);\n return null;\n }\n\n if (fromStorage) {\n try {\n const pretty = JSON.parse(fromStorage);\n\n if (pretty && pretty.value) {\n return pretty.value;\n }\n } catch (ex) {\n return null;\n }\n } else {\n return null;\n }\n }\n\n public readAll = async <T>(keys: string[]): Promise<T[]> => {\n const objects: T[] = [];\n\n const promises = keys.map(async (key) => {\n if (key.startsWith(`${this.enginePrefix}-`)) {\n key = key.replace(`${this.enginePrefix}-`, '');\n }\n\n const response = await this.read<T>(key);\n\n if (response) {\n objects.push(response);\n }\n });\n\n await Promise.all(promises);\n\n return objects;\n };\n\n public async write(key: string, value: any) {\n let objStorageType: StorageType;\n\n if (typeof value === 'object') {\n objStorageType = StorageType.Object;\n } else if (typeof value === 'string') {\n objStorageType = StorageType.String;\n } else {\n objStorageType = StorageType.Number;\n }\n\n const insertValue = {\n type: objStorageType,\n value,\n };\n\n try {\n this.storageMethod.setItem(this.prefixKey(key), JSON.stringify(insertValue));\n } catch (ex) {\n Sentry.captureException(ex);\n }\n }\n\n public delete = (key: string) => {\n this.storageMethod.removeItem(this.prefixKey(key));\n };\n\n public getAllKeys = (filter?: (match: string) => boolean): string[] => {\n return Object.keys(this.storageMethod).filter((key) => key.startsWith('roomstay') && ((filter && filter(key)) || !filter));\n };\n}\n"]}
1
+ {"version":3,"file":"LocalStorageProvider.js","sourceRoot":"/","sources":["src/providers/storage/LocalStorageProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { StorageProvider, StorageType } from '@/providers/storage/StorageProvider';\nimport * as Sentry from '@sentry/browser';\n\nexport class LocalStorageProvider extends StorageProvider {\n private readonly enginePrefix = 'roomstay';\n\n /**\n * This is important. We're either going to be using localStorage or sessionStorage\n * by default it's localStorage\n */\n private storageMethod: Storage;\n\n public constructor(storageMethod?: Storage) {\n super();\n\n this.storageMethod = !storageMethod ? localStorage : storageMethod;\n }\n\n private prefixKey = (key: string) => {\n return `${this.enginePrefix}-${key}`;\n };\n\n public async read<T>(key: string): Promise<T> {\n let fromStorage: string;\n\n try {\n fromStorage = this.storageMethod.getItem(this.prefixKey(key));\n } catch (ex) {\n Sentry.captureException(ex);\n return null;\n }\n\n if (fromStorage) {\n try {\n const pretty = JSON.parse(fromStorage);\n\n if (pretty && pretty.value) {\n return pretty.value;\n }\n } catch (ex) {\n return null;\n }\n } else {\n return null;\n }\n }\n\n public readAll = async <T>(keys: string[]): Promise<T[]> => {\n const objects: T[] = [];\n\n const promises = keys.map(async (key) => {\n if (key.startsWith(`${this.enginePrefix}-`)) {\n key = key.replace(`${this.enginePrefix}-`, '');\n }\n\n const response = await this.read<T>(key);\n\n if (response) {\n objects.push(response);\n }\n });\n\n await Promise.all(promises);\n\n return objects;\n };\n\n public async write(key: string, value: any) {\n let objStorageType: StorageType;\n\n if (typeof value === 'object') {\n objStorageType = StorageType.Object;\n } else if (typeof value === 'string') {\n objStorageType = StorageType.String;\n } else {\n objStorageType = StorageType.Number;\n }\n\n const insertValue = {\n type: objStorageType,\n value,\n };\n\n try {\n this.storageMethod.setItem(this.prefixKey(key), JSON.stringify(insertValue));\n } catch (ex) {\n Sentry.captureException(ex);\n }\n }\n\n public delete = (key: string) => {\n this.storageMethod.removeItem(this.prefixKey(key));\n };\n\n public getAllKeys = (filter?: (match: string) => boolean): string[] => {\n return Object.keys(this.storageMethod).filter((key) => key.startsWith('roomstay') && ((filter && filter(key)) || !filter));\n };\n}\n"]}