@roomstay/frontend 2.6.89-2 → 2.6.90

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 (1088) hide show
  1. package/dist/177.bundle.js +1 -1
  2. package/dist/279.bundle.js +1 -1
  3. package/dist/288.bundle.js +1 -1
  4. package/dist/370.bundle.js +1 -1
  5. package/dist/4.bundle.js +1 -0
  6. package/dist/430.bundle.js +1 -1
  7. package/dist/449.bundle.js +1 -1
  8. package/dist/537.bundle.js +1 -1
  9. package/dist/686.bundle.js +1 -1
  10. package/dist/873.bundle.js +1 -1
  11. package/dist/972.bundle.js +1 -1
  12. package/dist/978.bundle.js +1 -1
  13. package/dist/984.bundle.js +1 -0
  14. package/dist/e2e/canChangeCurrency.spec.js +1 -1
  15. package/dist/e2e/canChangeCurrency.spec.js.map +1 -1
  16. package/dist/e2e/canCheckout.spec.js +3 -3
  17. package/dist/e2e/canCheckout.spec.js.map +1 -1
  18. package/dist/e2e/canViewFindReservationsPage.spec.js +1 -1
  19. package/dist/e2e/canViewFindReservationsPage.spec.js.map +1 -1
  20. package/dist/e2e/canViewHotelnfoPage.spec.js +1 -1
  21. package/dist/e2e/canViewHotelnfoPage.spec.js.map +1 -1
  22. package/dist/e2e/goBackAndCheckoutAgain.spec.js +1 -1
  23. package/dist/e2e/goBackAndCheckoutAgain.spec.js.map +1 -1
  24. package/dist/e2e/helpers/checkoutHelpers.js +8 -9
  25. package/dist/e2e/helpers/checkoutHelpers.js.map +1 -1
  26. package/dist/e2e/helpers/playwrightHelpers.js +1 -2
  27. package/dist/e2e/helpers/playwrightHelpers.js.map +1 -1
  28. package/dist/e2e/price.spec.js +3 -3
  29. package/dist/e2e/price.spec.js.map +1 -1
  30. package/dist/main.bundle.js +1 -1
  31. package/dist/src/animations/AutoAutoHeight.d.ts +1 -1
  32. package/dist/src/animations/AutoAutoHeight.js +18 -8
  33. package/dist/src/animations/AutoAutoHeight.js.map +1 -1
  34. package/dist/src/animations/Fade.js +17 -7
  35. package/dist/src/animations/Fade.js.map +1 -1
  36. package/dist/src/api/AddonAPI.js +17 -7
  37. package/dist/src/api/AddonAPI.js.map +1 -1
  38. package/dist/src/api/AvailabilityAPI.d.ts +28 -6
  39. package/dist/src/api/AvailabilityAPI.js +214 -106
  40. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  41. package/dist/src/api/BaseAPI.js +6 -6
  42. package/dist/src/api/BaseAPI.js.map +1 -1
  43. package/dist/src/api/ErrorAPI.js.map +1 -1
  44. package/dist/src/api/ExchangeRateAPI.js.map +1 -1
  45. package/dist/src/api/HotelAPI.d.ts +1 -1
  46. package/dist/src/api/HotelAPI.js.map +1 -1
  47. package/dist/src/api/MemberAPI.js +17 -7
  48. package/dist/src/api/MemberAPI.js.map +1 -1
  49. package/dist/src/api/ReservationAPI.d.ts +2 -3
  50. package/dist/src/api/ReservationAPI.js +21 -10
  51. package/dist/src/api/ReservationAPI.js.map +1 -1
  52. package/dist/src/api/SessionAPI.js +17 -7
  53. package/dist/src/api/SessionAPI.js.map +1 -1
  54. package/dist/src/api/TrueRewardsAPI.js.map +1 -1
  55. package/dist/src/api/events-service/EventsServiceAPI.js.map +1 -1
  56. package/dist/src/api/members-service/MembersServiceAPI.d.ts +1 -1
  57. package/dist/src/components/Event/EventCarouselContainer.js +17 -7
  58. package/dist/src/components/Event/EventCarouselContainer.js.map +1 -1
  59. package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +2 -1
  60. package/dist/src/components/User/Forms/ForgotPasswordForm.js +17 -7
  61. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  62. package/dist/src/components/User/Forms/SignInForm.js +17 -7
  63. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  64. package/dist/src/components/User/Forms/SignUpForm.d.ts +2 -1
  65. package/dist/src/components/User/Forms/SignUpForm.js +17 -7
  66. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  67. package/dist/src/components/User/Forms/VerifyEmailForm.d.ts +2 -1
  68. package/dist/src/components/User/Forms/VerifyEmailForm.js +17 -7
  69. package/dist/src/components/User/Forms/VerifyEmailForm.js.map +1 -1
  70. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js +17 -7
  71. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js.map +1 -1
  72. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.d.ts +2 -1
  73. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js +17 -7
  74. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js.map +1 -1
  75. package/dist/src/components/generic/Alert.d.ts +2 -2
  76. package/dist/src/components/generic/Alert.js +3 -3
  77. package/dist/src/components/generic/Alert.js.map +1 -1
  78. package/dist/src/components/generic/BEButton.d.ts +2 -1
  79. package/dist/src/components/generic/BEButton.js +20 -9
  80. package/dist/src/components/generic/BEButton.js.map +1 -1
  81. package/dist/src/components/generic/BackButton.d.ts +2 -1
  82. package/dist/src/components/generic/BackButton.js +1 -1
  83. package/dist/src/components/generic/BackButton.js.map +1 -1
  84. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +18 -9
  85. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  86. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +1 -2
  87. package/dist/src/components/generic/BookingWizard/BookingWizard.js +28 -46
  88. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  89. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +2 -2
  90. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +5 -7
  91. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +21 -43
  92. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  93. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +0 -9
  94. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
  95. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +1 -2
  96. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +19 -9
  97. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  98. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +5 -2
  99. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +20 -10
  100. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  101. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +1 -1
  102. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +21 -11
  103. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  104. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js +17 -7
  105. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js.map +1 -1
  106. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +2 -2
  107. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +17 -7
  108. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
  109. package/dist/src/components/generic/Checkbox/Checkbox.js +17 -7
  110. package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
  111. package/dist/src/components/generic/Countdown.d.ts +2 -1
  112. package/dist/src/components/generic/Countdown.js +18 -8
  113. package/dist/src/components/generic/Countdown.js.map +1 -1
  114. package/dist/src/components/generic/Currency.d.ts +2 -1
  115. package/dist/src/components/generic/Currency.js +18 -8
  116. package/dist/src/components/generic/Currency.js.map +1 -1
  117. package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +2 -1
  118. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +18 -8
  119. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
  120. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +2 -1
  121. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +19 -9
  122. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -1
  123. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +2 -1
  124. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +18 -8
  125. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -1
  126. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +2 -1
  127. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +18 -8
  128. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -1
  129. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +17 -7
  130. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
  131. package/dist/src/components/generic/Distance.d.ts +2 -1
  132. package/dist/src/components/generic/Distance.js +18 -8
  133. package/dist/src/components/generic/Distance.js.map +1 -1
  134. package/dist/src/components/generic/Event/EventCard.js +17 -7
  135. package/dist/src/components/generic/Event/EventCard.js.map +1 -1
  136. package/dist/src/components/generic/Event/EventCarousel.js +17 -7
  137. package/dist/src/components/generic/Event/EventCarousel.js.map +1 -1
  138. package/dist/src/components/generic/ForwardedSelect.js +17 -7
  139. package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
  140. package/dist/src/components/generic/GroupedCheckInOutTimes/GroupedCheckInOutTimes.js.map +1 -1
  141. package/dist/src/components/generic/Headline.d.ts +1 -1
  142. package/dist/src/components/generic/Headline.js +1 -1
  143. package/dist/src/components/generic/Headline.js.map +1 -1
  144. package/dist/src/components/generic/HtmlContentViewer.d.ts +2 -1
  145. package/dist/src/components/generic/HtmlContentViewer.js +17 -7
  146. package/dist/src/components/generic/HtmlContentViewer.js.map +1 -1
  147. package/dist/src/components/generic/IconText/IconText.js +19 -9
  148. package/dist/src/components/generic/IconText/IconText.js.map +1 -1
  149. package/dist/src/components/generic/InputGroup/InputGroup.d.ts +2 -2
  150. package/dist/src/components/generic/InputGroup/InputGroup.js +1 -1
  151. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  152. package/dist/src/components/generic/LineBreak.d.ts +2 -1
  153. package/dist/src/components/generic/LineBreak.js +1 -1
  154. package/dist/src/components/generic/LineBreak.js.map +1 -1
  155. package/dist/src/components/generic/Notification.d.ts +1 -1
  156. package/dist/src/components/generic/Notification.js +18 -8
  157. package/dist/src/components/generic/Notification.js.map +1 -1
  158. package/dist/src/components/generic/NumberIncrement.d.ts +2 -1
  159. package/dist/src/components/generic/NumberIncrement.js +18 -8
  160. package/dist/src/components/generic/NumberIncrement.js.map +1 -1
  161. package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -2
  162. package/dist/src/components/generic/Overlay/Overlay.js +17 -7
  163. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  164. package/dist/src/components/generic/PageTitle/index.d.ts +2 -1
  165. package/dist/src/components/generic/PageTitle/index.js.map +1 -1
  166. package/dist/src/components/generic/PasswordBox/PasswordBox.js +17 -7
  167. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  168. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +19 -9
  169. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -1
  170. package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +2 -1
  171. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +17 -7
  172. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  173. package/dist/src/components/generic/Pill.d.ts +1 -1
  174. package/dist/src/components/generic/Pill.js +3 -3
  175. package/dist/src/components/generic/Pill.js.map +1 -1
  176. package/dist/src/components/generic/Placeholder.d.ts +2 -1
  177. package/dist/src/components/generic/Placeholder.js +1 -1
  178. package/dist/src/components/generic/Placeholder.js.map +1 -1
  179. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js +17 -7
  180. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js.map +1 -1
  181. package/dist/src/components/generic/PromoCodeInput.d.ts +4 -1
  182. package/dist/src/components/generic/PromoCodeInput.js +20 -12
  183. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  184. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +17 -7
  185. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  186. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +17 -7
  187. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  188. package/dist/src/components/generic/RecentSearchesCard.d.ts +2 -1
  189. package/dist/src/components/generic/RecentSearchesCard.js +17 -7
  190. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  191. package/dist/src/components/generic/RoomstayMark.d.ts +2 -1
  192. package/dist/src/components/generic/RoomstayMark.js +17 -7
  193. package/dist/src/components/generic/RoomstayMark.js.map +1 -1
  194. package/dist/src/components/generic/ScrollToTop.js.map +1 -1
  195. package/dist/src/components/generic/Select/InputSelect.js +18 -8
  196. package/dist/src/components/generic/Select/InputSelect.js.map +1 -1
  197. package/dist/src/components/generic/Select/Select.d.ts +2 -2
  198. package/dist/src/components/generic/Select/Select.js +17 -7
  199. package/dist/src/components/generic/Select/Select.js.map +1 -1
  200. package/dist/src/components/generic/Slider/Slider.d.ts +1 -1
  201. package/dist/src/components/generic/Slider/Slider.js +17 -7
  202. package/dist/src/components/generic/Slider/Slider.js.map +1 -1
  203. package/dist/src/components/generic/Tabs/ElementChildren.js +2 -3
  204. package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
  205. package/dist/src/components/generic/Tabs/TabContext.js +17 -7
  206. package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
  207. package/dist/src/components/generic/Tabs/TabLink.js +17 -7
  208. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  209. package/dist/src/components/generic/Tabs/TabRouteContainer.d.ts +2 -2
  210. package/dist/src/components/generic/Tabs/TabRouteContainer.js +18 -9
  211. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
  212. package/dist/src/components/generic/Text.js +19 -9
  213. package/dist/src/components/generic/Text.js.map +1 -1
  214. package/dist/src/components/generic/TextArea.js +17 -7
  215. package/dist/src/components/generic/TextArea.js.map +1 -1
  216. package/dist/src/components/generic/TextBox.js +17 -7
  217. package/dist/src/components/generic/TextBox.js.map +1 -1
  218. package/dist/src/components/generic/Tooltip/Tooltip.d.ts +2 -2
  219. package/dist/src/components/generic/Tooltip/Tooltip.js +18 -8
  220. package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
  221. package/dist/src/components/generic/badging/SSLSecureBadge.d.ts +2 -1
  222. package/dist/src/components/generic/badging/SSLSecureBadge.js +1 -1
  223. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  224. package/dist/src/components/generic/buttons/NextStepButton.d.ts +2 -1
  225. package/dist/src/components/generic/buttons/NextStepButton.js +18 -8
  226. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  227. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +26 -14
  228. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  229. package/dist/src/components/generic/date/DatePicker.d.ts +3 -2
  230. package/dist/src/components/generic/date/DatePicker.js +19 -9
  231. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  232. package/dist/src/components/generic/date/DatePickerDay.d.ts +2 -1
  233. package/dist/src/components/generic/date/DatePickerDay.js +19 -9
  234. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  235. package/dist/src/components/generic/date/DatePickerDays.d.ts +2 -1
  236. package/dist/src/components/generic/date/DatePickerDays.js +18 -8
  237. package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
  238. package/dist/src/components/generic/date/DatePickerMonth.d.ts +2 -1
  239. package/dist/src/components/generic/date/DatePickerMonth.js +18 -8
  240. package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
  241. package/dist/src/components/generic/date/DatePickerWeek.d.ts +2 -1
  242. package/dist/src/components/generic/date/DatePickerWeek.js +21 -11
  243. package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
  244. package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
  245. package/dist/src/components/generic/date/FloatingDatePicker.js +19 -9
  246. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  247. package/dist/src/components/generic/date/WeekViewSkeleton.d.ts +2 -1
  248. package/dist/src/components/generic/date/WeekViewSkeleton.js +17 -7
  249. package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
  250. package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
  251. package/dist/src/components/generic/loader/ImageLoader.js +18 -8
  252. package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
  253. package/dist/src/components/generic/loader/LargeLoader.d.ts +2 -1
  254. package/dist/src/components/generic/loader/LargeLoader.js +1 -1
  255. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  256. package/dist/src/components/generic/loader/OverlayLoader.d.ts +2 -1
  257. package/dist/src/components/generic/loader/SmallSpinner.d.ts +2 -1
  258. package/dist/src/components/generic/loader/SmallSpinner.js +18 -8
  259. package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
  260. package/dist/src/components/generic/map/HotelLocationMap.d.ts +2 -1
  261. package/dist/src/components/generic/map/HotelLocationMap.js +1 -1
  262. package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
  263. package/dist/src/components/generic/modal/ConfirmationModal.d.ts +2 -1
  264. package/dist/src/components/generic/modal/ConfirmationModal.js +18 -8
  265. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  266. package/dist/src/components/generic/modal/ErrorModal.d.ts +1 -1
  267. package/dist/src/components/generic/modal/ErrorModal.js +18 -8
  268. package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
  269. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +17 -7
  270. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  271. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +17 -7
  272. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -1
  273. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +2 -1
  274. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +18 -8
  275. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  276. package/dist/src/components/generic/modal/SimpleModal.d.ts +1 -1
  277. package/dist/src/components/generic/modal/SimpleModal.js +19 -9
  278. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  279. package/dist/src/components/generic/modal/TabbedModal.d.ts +1 -1
  280. package/dist/src/components/generic/modal/TabbedModal.js +18 -8
  281. package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
  282. package/dist/src/components/generic/radio/RadioFields.d.ts +2 -1
  283. package/dist/src/components/generic/radio/RadioFields.js +18 -8
  284. package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
  285. package/dist/src/components/graphics/TravelerNotfound.d.ts +2 -1
  286. package/dist/src/components/graphics/TravelerNotfound.js +1 -1
  287. package/dist/src/components/graphics/TravelerNotfound.js.map +1 -1
  288. package/dist/src/components/iconComponents/BookNowPayLaterIcon.d.ts +2 -1
  289. package/dist/src/components/members/EditMyProfile.js +17 -7
  290. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  291. package/dist/src/components/members/InlineSignUpSection.d.ts +3 -2
  292. package/dist/src/components/members/InlineSignUpSection.js +17 -7
  293. package/dist/src/components/members/InlineSignUpSection.js.map +1 -1
  294. package/dist/src/components/members/SignInModal/ExternalMemberModal.d.ts +2 -1
  295. package/dist/src/components/members/SignInModal/ExternalMemberModal.js +17 -7
  296. package/dist/src/components/members/SignInModal/ExternalMemberModal.js.map +1 -1
  297. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.d.ts +2 -1
  298. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js +19 -9
  299. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js.map +1 -1
  300. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.d.ts +2 -1
  301. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js +18 -8
  302. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js.map +1 -1
  303. package/dist/src/components/members/SignInModal/MemberSignInModal.d.ts +2 -1
  304. package/dist/src/components/members/SignInModal/MemberSignInModal.js +17 -7
  305. package/dist/src/components/members/SignInModal/MemberSignInModal.js.map +1 -1
  306. package/dist/src/components/navigation/Header.d.ts +2 -1
  307. package/dist/src/components/navigation/Header.js +22 -8
  308. package/dist/src/components/navigation/Header.js.map +1 -1
  309. package/dist/src/components/navigation/StepSelector.d.ts +2 -1
  310. package/dist/src/components/navigation/StepSelector.js +18 -8
  311. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  312. package/dist/src/components/navigation/StepSelectorModal.d.ts +2 -1
  313. package/dist/src/components/navigation/StepSelectorModal.js +18 -8
  314. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  315. package/dist/src/components/pages/Account/Card/MemberCardItem.d.ts +2 -1
  316. package/dist/src/components/pages/Account/Card/MemberCardItem.js +17 -7
  317. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  318. package/dist/src/components/pages/PageColorComponent.d.ts +2 -1
  319. package/dist/src/components/pages/PageColorComponent.js +17 -7
  320. package/dist/src/components/pages/PageColorComponent.js.map +1 -1
  321. package/dist/src/components/reservation/EmptyReservation.js +17 -7
  322. package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
  323. package/dist/src/components/reservation/ReservationItem.d.ts +3 -1
  324. package/dist/src/components/reservation/ReservationItem.js +20 -10
  325. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  326. package/dist/src/components/reservation/ReservationList.d.ts +1 -0
  327. package/dist/src/components/reservation/ReservationList.js +2 -2
  328. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  329. package/dist/src/components/steps/DaysSelectedInformer.d.ts +2 -1
  330. package/dist/src/components/steps/DaysSelectedInformer.js +18 -8
  331. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  332. package/dist/src/components/steps/MinimumNightStayPill.d.ts +2 -1
  333. package/dist/src/components/steps/MinimumNightStayPill.js +18 -8
  334. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  335. package/dist/src/components/steps/addons/AddonCard.d.ts +2 -1
  336. package/dist/src/components/steps/addons/AddonCard.js +25 -7
  337. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  338. package/dist/src/components/steps/addons/AddonList.d.ts +2 -1
  339. package/dist/src/components/steps/addons/AddonList.js +17 -7
  340. package/dist/src/components/steps/addons/AddonList.js.map +1 -1
  341. package/dist/src/components/steps/addons/AddonsNotFoundBlock.d.ts +2 -1
  342. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js +1 -1
  343. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js.map +1 -1
  344. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +3 -2
  345. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +19 -9
  346. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
  347. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.d.ts +2 -1
  348. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js +17 -7
  349. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js.map +1 -1
  350. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.d.ts +3 -2
  351. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js +17 -7
  352. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js.map +1 -1
  353. package/dist/src/components/steps/confirmation/AccountDetails.d.ts +2 -1
  354. package/dist/src/components/steps/confirmation/AccountDetails.js +18 -8
  355. package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
  356. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js +17 -7
  357. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js.map +1 -1
  358. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js +17 -7
  359. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js.map +1 -1
  360. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  361. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.d.ts +2 -1
  362. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +17 -7
  363. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  364. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +17 -7
  365. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  366. package/dist/src/components/steps/confirmation/PaymentInformation.d.ts +2 -1
  367. package/dist/src/components/steps/confirmation/PaymentInformation.js +17 -7
  368. package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -1
  369. package/dist/src/components/steps/confirmation/PlanpayLabel.d.ts +2 -1
  370. package/dist/src/components/steps/confirmation/PlanpayLabel.js +17 -7
  371. package/dist/src/components/steps/confirmation/PlanpayLabel.js.map +1 -1
  372. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +17 -7
  373. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
  374. package/dist/src/components/steps/confirmation/RoomContactDetails.js +18 -11
  375. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  376. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.d.ts +2 -1
  377. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +28 -19
  378. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  379. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +2 -1
  380. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +18 -8
  381. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  382. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +2 -1
  383. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +2 -2
  384. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
  385. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +17 -7
  386. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  387. package/dist/src/components/steps/confirmation/StepConfirmationForm.d.ts +2 -1
  388. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +18 -8
  389. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  390. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.d.ts +2 -1
  391. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +1 -1
  392. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
  393. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +2 -1
  394. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +18 -8
  395. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  396. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.d.ts +2 -1
  397. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +18 -8
  398. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
  399. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.d.ts +2 -1
  400. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +23 -12
  401. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  402. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.d.ts +2 -1
  403. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js +26 -13
  404. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js.map +1 -1
  405. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.d.ts +2 -0
  406. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js +94 -0
  407. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js.map +1 -0
  408. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.d.ts +5 -1
  409. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js +35 -13
  410. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js.map +1 -1
  411. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.d.ts +2 -1
  412. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +18 -8
  413. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  414. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +2 -1
  415. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +18 -8
  416. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  417. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +2 -1
  418. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +18 -8
  419. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
  420. package/dist/src/components/steps/date/OccupancyWarningBlock.d.ts +2 -1
  421. package/dist/src/components/steps/date/OccupancyWarningBlock.js +1 -1
  422. package/dist/src/components/steps/date/OccupancyWarningBlock.js.map +1 -1
  423. package/dist/src/components/steps/date/PeoplePicker.d.ts +2 -1
  424. package/dist/src/components/steps/date/PeoplePicker.js +20 -10
  425. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  426. package/dist/src/components/steps/date/PeoplePickerRow.d.ts +2 -1
  427. package/dist/src/components/steps/date/PeoplePickerRow.js +19 -9
  428. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  429. package/dist/src/components/steps/date/StepDatePricePerRoom.d.ts +2 -1
  430. package/dist/src/components/steps/date/StepDatePricePerRoom.js +18 -8
  431. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  432. package/dist/src/components/steps/date/StepOneDateRange.d.ts +2 -1
  433. package/dist/src/components/steps/date/StepOneDateRange.js +18 -8
  434. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  435. package/dist/src/components/steps/date/StepOneDateRangePicker.d.ts +2 -1
  436. package/dist/src/components/steps/date/StepOneDateRangePicker.js +18 -8
  437. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  438. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.d.ts +2 -1
  439. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +18 -8
  440. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
  441. package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +2 -1
  442. package/dist/src/components/steps/date/StepOneNextStepButton.js +18 -8
  443. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  444. package/dist/src/components/steps/date/StepOneStatusPeople.d.ts +2 -1
  445. package/dist/src/components/steps/date/StepOneStatusPeople.js +18 -8
  446. package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
  447. package/dist/src/components/steps/hotel/HotelCard.d.ts +2 -1
  448. package/dist/src/components/steps/hotel/HotelCard.js +19 -9
  449. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  450. package/dist/src/components/steps/hotel/HotelCardList.d.ts +2 -1
  451. package/dist/src/components/steps/hotel/HotelCardList.js +1 -1
  452. package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
  453. package/dist/src/components/steps/hotel/HotelCardModal.d.ts +2 -1
  454. package/dist/src/components/steps/hotel/HotelCardModal.js +17 -7
  455. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  456. package/dist/src/components/steps/hotel/HotelInfoPerksRow.d.ts +2 -1
  457. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js +18 -8
  458. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js.map +1 -1
  459. package/dist/src/components/steps/hotel/HotelSearchParameters.d.ts +2 -1
  460. package/dist/src/components/steps/hotel/HotelSearchParameters.js +22 -20
  461. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  462. package/dist/src/components/steps/hotel/NoHotelsAvailable.d.ts +2 -1
  463. package/dist/src/components/steps/hotel/NoHotelsAvailable.js +1 -1
  464. package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
  465. package/dist/src/components/steps/room/AvailableUpgradesModal.js +118 -37
  466. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  467. package/dist/src/components/steps/room/ImageGallerySlider.d.ts +2 -1
  468. package/dist/src/components/steps/room/ImageGallerySlider.js +18 -8
  469. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  470. package/dist/src/components/steps/room/InactivityWindow.d.ts +2 -1
  471. package/dist/src/components/steps/room/InactivityWindow.js +17 -7
  472. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  473. package/dist/src/components/steps/room/LargeRateCard.d.ts +11 -0
  474. package/dist/src/components/steps/room/LargeRateCard.js +120 -0
  475. package/dist/src/components/steps/room/LargeRateCard.js.map +1 -0
  476. package/dist/src/components/steps/room/LargeRoomCard.d.ts +2 -1
  477. package/dist/src/components/steps/room/LargeRoomCard.js +26 -10
  478. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  479. package/dist/src/components/steps/room/NoRoomsFoundBlock.d.ts +2 -1
  480. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +18 -8
  481. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  482. package/dist/src/components/steps/room/RatesNotFoundBlock.d.ts +2 -1
  483. package/dist/src/components/steps/room/RatesNotFoundBlock.js +1 -1
  484. package/dist/src/components/steps/room/RatesNotFoundBlock.js.map +1 -1
  485. package/dist/src/components/steps/room/RoomList.d.ts +2 -1
  486. package/dist/src/components/steps/room/RoomList.js +18 -8
  487. package/dist/src/components/steps/room/RoomList.js.map +1 -1
  488. package/dist/src/components/steps/room/RoomListAlert.js +17 -7
  489. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
  490. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +18 -8
  491. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  492. package/dist/src/components/steps/room/RoomModal.d.ts +2 -1
  493. package/dist/src/components/steps/room/RoomModal.js +18 -8
  494. package/dist/src/components/steps/room/RoomModal.js.map +1 -1
  495. package/dist/src/components/steps/room/RoomModalPerkRow.d.ts +2 -1
  496. package/dist/src/components/steps/room/RoomModalPerkRow.js +18 -8
  497. package/dist/src/components/steps/room/RoomModalPerkRow.js.map +1 -1
  498. package/dist/src/components/steps/room/StepRoomAlertBlocks.d.ts +2 -1
  499. package/dist/src/components/steps/room/StepRoomAlertBlocks.js +18 -8
  500. package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
  501. package/dist/src/components/steps/room/StepRoomBestRateAlert.d.ts +2 -1
  502. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +18 -8
  503. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  504. package/dist/src/components/steps/room/StepRoomErrorForm.d.ts +2 -1
  505. package/dist/src/components/steps/room/StepRoomErrorForm.js +17 -7
  506. package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
  507. package/dist/src/components/steps/room/StepRoomHotelDetails.d.ts +2 -1
  508. package/dist/src/components/steps/room/StepRoomHotelDetails.js +18 -8
  509. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  510. package/dist/src/components/steps/room/StepRoomNextStepButton.js +18 -8
  511. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  512. package/dist/src/components/steps/room/StepRoomSortBy.d.ts +2 -1
  513. package/dist/src/components/steps/room/StepRoomSortBy.js +18 -8
  514. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  515. package/dist/src/components/steps/room/StepRoomSummaryAndButton.d.ts +2 -1
  516. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +18 -8
  517. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  518. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.d.ts +2 -1
  519. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +17 -7
  520. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
  521. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.d.ts +2 -1
  522. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js +17 -7
  523. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js.map +1 -1
  524. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.d.ts +2 -1
  525. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js +17 -7
  526. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js.map +1 -1
  527. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.d.ts +3 -2
  528. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js +19 -8
  529. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js.map +1 -1
  530. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.d.ts +2 -1
  531. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js +17 -7
  532. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js.map +1 -1
  533. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.d.ts +2 -1
  534. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js +20 -20
  535. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js.map +1 -1
  536. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.d.ts +2 -1
  537. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +17 -7
  538. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
  539. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +2 -1
  540. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +1 -1
  541. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
  542. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +2 -1
  543. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +1 -1
  544. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
  545. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.d.ts +2 -1
  546. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js +1 -1
  547. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js.map +1 -1
  548. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.d.ts +2 -1
  549. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +18 -8
  550. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  551. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +2 -1
  552. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +23 -23
  553. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  554. package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +2 -1
  555. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +18 -8
  556. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  557. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +2 -1
  558. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +18 -9
  559. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  560. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +2 -1
  561. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +18 -9
  562. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  563. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.d.ts +2 -1
  564. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +18 -8
  565. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  566. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +17 -7
  567. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  568. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +2 -1
  569. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +18 -8
  570. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
  571. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.d.ts +2 -1
  572. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +18 -8
  573. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  574. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +3 -2
  575. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +20 -10
  576. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  577. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.d.ts +2 -1
  578. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js +18 -8
  579. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js.map +1 -1
  580. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +3 -2
  581. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +20 -10
  582. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  583. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +2 -1
  584. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +19 -9
  585. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  586. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.d.ts +2 -1
  587. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +17 -7
  588. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  589. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +2 -1
  590. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +18 -8
  591. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  592. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +2 -1
  593. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +18 -8
  594. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  595. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +2 -1
  596. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +18 -8
  597. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  598. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.d.ts +2 -1
  599. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js +26 -12
  600. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js.map +1 -1
  601. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.d.ts +2 -1
  602. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +18 -8
  603. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  604. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +2 -1
  605. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +18 -8
  606. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  607. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +2 -1
  608. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +18 -8
  609. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
  610. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +2 -1
  611. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +18 -8
  612. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
  613. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +2 -1
  614. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +18 -8
  615. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  616. package/dist/src/components/summary/BEMapWidget.d.ts +0 -2
  617. package/dist/src/components/summary/BEMapWidget.js +17 -7
  618. package/dist/src/components/summary/BEMapWidget.js.map +1 -1
  619. package/dist/src/components/summary/BEMobileSummary.d.ts +2 -1
  620. package/dist/src/components/summary/BEMobileSummary.js +18 -8
  621. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  622. package/dist/src/components/summary/BEMobileSummaryModal.d.ts +2 -1
  623. package/dist/src/components/summary/BEMobileSummaryModal.js +30 -19
  624. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  625. package/dist/src/components/summary/BESummary.d.ts +2 -1
  626. package/dist/src/components/summary/BESummary.js +24 -14
  627. package/dist/src/components/summary/BESummary.js.map +1 -1
  628. package/dist/src/components/summary/BESummaryAddonRow.d.ts +2 -1
  629. package/dist/src/components/summary/BESummaryAddonRow.js +30 -16
  630. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  631. package/dist/src/components/summary/BESummaryPerkBlock.d.ts +2 -1
  632. package/dist/src/components/summary/BESummaryPerkBlock.js +19 -9
  633. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  634. package/dist/src/components/summary/BESummaryPrivacyPolicy.d.ts +2 -1
  635. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +18 -8
  636. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  637. package/dist/src/components/summary/BESummaryRoomRow.d.ts +2 -1
  638. package/dist/src/components/summary/BESummaryRoomRow.js +19 -9
  639. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  640. package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +2 -1
  641. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +18 -8
  642. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  643. package/dist/src/containers/PrivateRoute.js.map +1 -1
  644. package/dist/src/contexts/BasketContext/BasketContext.d.ts +0 -1
  645. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +5 -4
  646. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  647. package/dist/src/contexts/BasketContext/BasketContextWrapper.d.ts +1 -1
  648. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +248 -169
  649. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  650. package/dist/src/contexts/BookingEngineContext/BookingEngineContext.d.ts +0 -1
  651. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.d.ts +1 -1
  652. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +18 -9
  653. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  654. package/dist/src/contexts/CompanyContext/CompanyContext.d.ts +0 -1
  655. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.d.ts +2 -2
  656. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +24 -14
  657. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  658. package/dist/src/contexts/ConfirmationFormContext.d.ts +1 -1
  659. package/dist/src/contexts/ConfirmationFormContext.js +19 -9
  660. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  661. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.d.ts +0 -1
  662. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.d.ts +2 -1
  663. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js.map +1 -1
  664. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +47 -25
  665. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  666. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.d.ts +2 -1
  667. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js +17 -7
  668. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js.map +1 -1
  669. package/dist/src/contexts/ErrorContext.d.ts +1 -1
  670. package/dist/src/contexts/ErrorContext.js +19 -9
  671. package/dist/src/contexts/ErrorContext.js.map +1 -1
  672. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.d.ts +2 -1
  673. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js +1 -2
  674. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js.map +1 -1
  675. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.d.ts +2 -1
  676. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js +18 -9
  677. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js.map +1 -1
  678. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.d.ts +0 -1
  679. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +2 -1
  680. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +25 -20
  681. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  682. package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
  683. package/dist/src/contexts/HotelOverridesContext.js +17 -7
  684. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  685. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +1 -2
  686. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js +1 -1
  687. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
  688. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +40 -14
  689. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  690. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +0 -1
  691. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +17 -7
  692. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  693. package/dist/src/contexts/ModalContext.d.ts +1 -1
  694. package/dist/src/contexts/ModalContext.js +18 -9
  695. package/dist/src/contexts/ModalContext.js.map +1 -1
  696. package/dist/src/contexts/NotificationContext.d.ts +1 -1
  697. package/dist/src/contexts/NotificationContext.js +19 -9
  698. package/dist/src/contexts/NotificationContext.js.map +1 -1
  699. package/dist/src/engines/BaseEngine.js +1 -1
  700. package/dist/src/engines/BaseEngine.js.map +1 -1
  701. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +1 -4
  702. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  703. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +2 -1
  704. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +1 -3
  705. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  706. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +17 -7
  707. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
  708. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +2 -1
  709. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +18 -8
  710. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  711. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +21 -19
  712. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +30 -34
  713. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  714. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -1
  715. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +2 -1
  716. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +18 -8
  717. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
  718. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +2 -1
  719. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +17 -8
  720. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  721. package/dist/src/events/RoomstayEventManager.js +1 -1
  722. package/dist/src/events/RoomstayEventManager.js.map +1 -1
  723. package/dist/src/events/actions/PlacedBookingEvent.d.ts +1 -1
  724. package/dist/src/events/actions/PlacedBookingEvent.js.map +1 -1
  725. package/dist/src/events/views/CommittedBookingEvent.d.ts +1 -1
  726. package/dist/src/events/views/CommittedBookingEvent.js.map +1 -1
  727. package/dist/src/events/views/RolledBackBookingEvent.d.ts +1 -1
  728. package/dist/src/events/views/RolledBackBookingEvent.js.map +1 -1
  729. package/dist/src/handlers/BasketContextErrorHandler.d.ts +1 -1
  730. package/dist/src/handlers/BasketContextErrorHandler.js.map +1 -1
  731. package/dist/src/handlers/payment/AdyenPaymentHandler.js +17 -7
  732. package/dist/src/handlers/payment/AdyenPaymentHandler.js.map +1 -1
  733. package/dist/src/handlers/payment/PlanpayPaymentHandler.js +17 -7
  734. package/dist/src/handlers/payment/PlanpayPaymentHandler.js.map +1 -1
  735. package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js +8 -5
  736. package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js.map +1 -1
  737. package/dist/src/handlers/payment/VGSMemberPaymentHandler.js.map +1 -1
  738. package/dist/src/handlers/payment/VGSPaymentHandler.js +19 -9
  739. package/dist/src/handlers/payment/VGSPaymentHandler.js.map +1 -1
  740. package/dist/src/hooks/AutoFocusOnSelect.d.ts +23 -2
  741. package/dist/src/hooks/AutoFocusOnSelect.js +3 -3
  742. package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
  743. package/dist/src/hooks/BodyClickHook.js.map +1 -1
  744. package/dist/src/hooks/CombineState.d.ts +1 -1
  745. package/dist/src/hooks/ConfirmationQuery.d.ts +4 -0
  746. package/dist/src/hooks/ConfirmationQuery.js +12 -3
  747. package/dist/src/hooks/ConfirmationQuery.js.map +1 -1
  748. package/dist/src/hooks/Currency.js.map +1 -1
  749. package/dist/src/hooks/CurrentHotelHook.js.map +1 -1
  750. package/dist/src/hooks/ElementSortHook.js +17 -7
  751. package/dist/src/hooks/ElementSortHook.js.map +1 -1
  752. package/dist/src/hooks/HistoryConsistentPush.js +1 -2
  753. package/dist/src/hooks/HistoryConsistentPush.js.map +1 -1
  754. package/dist/src/hooks/KeyboardControlOnSelect.d.ts +2 -2
  755. package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
  756. package/dist/src/hooks/LoggedInUserHook.js.map +1 -1
  757. package/dist/src/hooks/Planpay.d.ts +1 -1
  758. package/dist/src/hooks/Query.js +2 -3
  759. package/dist/src/hooks/Query.js.map +1 -1
  760. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +0 -1
  761. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  762. package/dist/src/hooks/UpdateQueryParameters.js +1 -2
  763. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -1
  764. package/dist/src/hooks/VGSHooks.d.ts +0 -1
  765. package/dist/src/hooks/VGSHooks.js.map +1 -1
  766. package/dist/src/hooks/useCalendarNightStay.js +3 -3
  767. package/dist/src/hooks/useCalendarNightStay.js.map +1 -1
  768. package/dist/src/hooks/useNextStepAction.d.ts +2 -1
  769. package/dist/src/hooks/useNextStepAction.js +21 -11
  770. package/dist/src/hooks/useNextStepAction.js.map +1 -1
  771. package/dist/src/hooks/usePlanpayRawPrice.js.map +1 -1
  772. package/dist/src/hooks/useRateDetails.js.map +1 -1
  773. package/dist/src/hooks/useSearchScopeHook.d.ts +1 -1
  774. package/dist/src/hooks/useSearchScopeHook.js.map +1 -1
  775. package/dist/src/icons/Check.d.ts +2 -1
  776. package/dist/src/index.d.ts +1 -1
  777. package/dist/src/index.js.map +1 -1
  778. package/dist/src/mockApi/AddonAPI.js.map +1 -1
  779. package/dist/src/mockApi/MemberAPI.js +17 -7
  780. package/dist/src/mockApi/MemberAPI.js.map +1 -1
  781. package/dist/src/mockApi/MockAPI.js +5 -5
  782. package/dist/src/mockApi/MockAPI.js.map +1 -1
  783. package/dist/src/mockApi/ReservationAPI.d.ts +1 -1
  784. package/dist/src/mockApi/ReservationAPI.js +18 -8
  785. package/dist/src/mockApi/ReservationAPI.js.map +1 -1
  786. package/dist/src/models/Addon/Addon.d.ts +0 -24
  787. package/dist/src/models/Addon/Addon.js.map +1 -1
  788. package/dist/src/models/Api/HotelDTO.d.ts +3 -2
  789. package/dist/src/models/Api/HotelDTO.js +1 -1
  790. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  791. package/dist/src/models/Api/IEventReservation.d.ts +5 -0
  792. package/dist/src/models/Api/IEventReservation.js.map +1 -1
  793. package/dist/src/models/AppQueryParameters.js +1 -1
  794. package/dist/src/models/AppQueryParameters.js.map +1 -1
  795. package/dist/src/models/BasketAddonRow.js +3 -5
  796. package/dist/src/models/BasketAddonRow.js.map +1 -1
  797. package/dist/src/models/BasketRow.d.ts +63 -9
  798. package/dist/src/models/BasketRow.js +77 -37
  799. package/dist/src/models/BasketRow.js.map +1 -1
  800. package/dist/src/models/BookingWizard/BookingWizardTypes.d.ts +0 -4
  801. package/dist/src/models/BookingWizard/BookingWizardTypes.js.map +1 -1
  802. package/dist/src/models/Client/Hotel/Company.d.ts +2 -0
  803. package/dist/src/models/Client/Hotel/Company.js.map +1 -1
  804. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js +1 -1
  805. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js.map +1 -1
  806. package/dist/src/models/Client/Hotel/Hotel.d.ts +4 -2
  807. package/dist/src/models/Client/Hotel/Hotel.js +1 -1
  808. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  809. package/dist/src/models/Client/Hotel/HotelDataSource.types.js +1 -1
  810. package/dist/src/models/Client/Hotel/HotelDataSource.types.js.map +1 -1
  811. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js +1 -1
  812. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js.map +1 -1
  813. package/dist/src/models/Confirmation.js +2 -2
  814. package/dist/src/models/Confirmation.js.map +1 -1
  815. package/dist/src/models/CountryCodesAndNumbers.js +3 -3
  816. package/dist/src/models/CountryCodesAndNumbers.js.map +1 -1
  817. package/dist/src/models/Fee.d.ts +1 -9
  818. package/dist/src/models/Fee.js +4 -5
  819. package/dist/src/models/Fee.js.map +1 -1
  820. package/dist/src/models/PaymentCard.js +1 -1
  821. package/dist/src/models/PaymentCard.js.map +1 -1
  822. package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
  823. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  824. package/dist/src/models/Room/Room.d.ts +2 -0
  825. package/dist/src/models/Room/Room.js.map +1 -1
  826. package/dist/src/models/Room/RoomRate.d.ts +12 -1
  827. package/dist/src/models/Room/RoomRate.js +29 -1
  828. package/dist/src/models/Room/RoomRate.js.map +1 -1
  829. package/dist/src/models/Room/RoomRateNight.d.ts +1 -1
  830. package/dist/src/models/Room/RoomRateNight.js.map +1 -1
  831. package/dist/src/models/RoomstaySession.d.ts +1 -3
  832. package/dist/src/models/RoomstaySession.js.map +1 -1
  833. package/dist/src/pages/account/AccountHome/AccountHomePage.d.ts +2 -1
  834. package/dist/src/pages/account/AccountHome/AccountHomePage.js +18 -8
  835. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  836. package/dist/src/pages/account/AccountOutlet.d.ts +1 -1
  837. package/dist/src/pages/account/AccountRouter.d.ts +2 -1
  838. package/dist/src/pages/account/AccountRoutes.d.ts +5 -0
  839. package/dist/src/pages/account/AccountRoutes.js +8 -2
  840. package/dist/src/pages/account/AccountRoutes.js.map +1 -1
  841. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.d.ts +2 -1
  842. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js +17 -7
  843. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js.map +1 -1
  844. package/dist/src/pages/account/Details/AccountDetailsCardsPage.d.ts +2 -1
  845. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +17 -7
  846. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  847. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +17 -7
  848. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  849. package/dist/src/pages/account/Details/AccountDetailsProfilePage.d.ts +2 -1
  850. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +17 -7
  851. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  852. package/dist/src/pages/account/Help/AccountHelpPage.d.ts +2 -1
  853. package/dist/src/pages/account/Help/AccountHelpPage.js +17 -7
  854. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  855. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.d.ts +2 -1
  856. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +38 -13
  857. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  858. package/dist/src/pages/account/Reservations/AccountReservationsPage.d.ts +2 -1
  859. package/dist/src/pages/account/Reservations/AccountReservationsPage.js +7 -7
  860. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  861. package/dist/src/pages/findReservation/FindReservation.d.ts +2 -1
  862. package/dist/src/pages/findReservation/FindReservation.js +19 -9
  863. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  864. package/dist/src/pages/findReservation/FindReservationResults.d.ts +2 -1
  865. package/dist/src/pages/findReservation/FindReservationResults.js +20 -10
  866. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  867. package/dist/src/pages/findReservation/ReservationRow.d.ts +3 -2
  868. package/dist/src/pages/findReservation/ReservationRow.js +18 -8
  869. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  870. package/dist/src/pages/findReservation/ReservationRowModal.d.ts +3 -2
  871. package/dist/src/pages/findReservation/ReservationRowModal.js +18 -8
  872. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  873. package/dist/src/pages/hotel/HotelInfo.d.ts +2 -1
  874. package/dist/src/pages/hotel/HotelInfo.js +20 -10
  875. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  876. package/dist/src/pages/hotel/HotelInfoPlaceholder.d.ts +2 -1
  877. package/dist/src/pages/hotel/HotelInfoPlaceholder.js +1 -1
  878. package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
  879. package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +1 -1
  880. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  881. package/dist/src/pages/steps/StepAddon/StepAddonComponent.d.ts +2 -1
  882. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +18 -8
  883. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  884. package/dist/src/pages/steps/StepAddon/StepAddonLoader.d.ts +2 -1
  885. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +17 -7
  886. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
  887. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  888. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.d.ts +2 -1
  889. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +17 -7
  890. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  891. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.d.ts +2 -1
  892. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +18 -8
  893. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
  894. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
  895. package/dist/src/pages/steps/StepDate/StepDate.d.ts +1 -1
  896. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  897. package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +2 -1
  898. package/dist/src/pages/steps/StepDate/StepDateComponent.js +17 -7
  899. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  900. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoom.js.map +1 -1
  901. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.d.ts +2 -1
  902. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js +20 -7
  903. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js.map +1 -1
  904. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.d.ts +2 -1
  905. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js +18 -8
  906. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js.map +1 -1
  907. package/dist/src/pages/steps/StepGuide.d.ts +1 -1
  908. package/dist/src/pages/steps/StepGuide.js +18 -8
  909. package/dist/src/pages/steps/StepGuide.js.map +1 -1
  910. package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +1 -1
  911. package/dist/src/pages/steps/StepHotel/StepHotelComponent.d.ts +2 -1
  912. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +17 -7
  913. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  914. package/dist/src/pages/steps/StepHotel/StepHotelLoader.d.ts +2 -1
  915. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +17 -7
  916. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
  917. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  918. package/dist/src/pages/steps/StepRoom/StepRoomComponent.d.ts +2 -1
  919. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +17 -7
  920. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  921. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js +17 -7
  922. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js.map +1 -1
  923. package/dist/src/pages/steps/StepRoom/StepRoomLoader.d.ts +2 -1
  924. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +18 -8
  925. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
  926. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
  927. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  928. package/dist/src/pages/steps/StepThanks/StepThanksComponent.d.ts +2 -1
  929. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +25 -10
  930. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  931. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
  932. package/dist/src/providers/CurrencyProvider.js +1 -1
  933. package/dist/src/providers/CurrencyProvider.js.map +1 -1
  934. package/dist/src/providers/DIProvider.d.ts +2 -1
  935. package/dist/src/providers/DIProvider.js +2 -3
  936. package/dist/src/providers/DIProvider.js.map +1 -1
  937. package/dist/src/providers/DistanceProvider.js.map +1 -1
  938. package/dist/src/providers/FeatureProvider.js +3 -1
  939. package/dist/src/providers/FeatureProvider.js.map +1 -1
  940. package/dist/src/providers/FilterProvider.d.ts +1 -1
  941. package/dist/src/providers/FilterProvider.js +3 -3
  942. package/dist/src/providers/FilterProvider.js.map +1 -1
  943. package/dist/src/providers/ImageProvider.js +1 -1
  944. package/dist/src/providers/ImageProvider.js.map +1 -1
  945. package/dist/src/providers/LanguageProvider.js +1 -1
  946. package/dist/src/providers/LanguageProvider.js.map +1 -1
  947. package/dist/src/providers/PromotionProvider.d.ts +1 -1
  948. package/dist/src/providers/PromotionProvider.js.map +1 -1
  949. package/dist/src/providers/RatePillProvider.js.map +1 -1
  950. package/dist/src/providers/RoomSortProvider.js +2 -2
  951. package/dist/src/providers/RoomSortProvider.js.map +1 -1
  952. package/dist/src/providers/RoomstayThemeEngine.js +18 -8
  953. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  954. package/dist/src/providers/feature/DerbysoftClickTrackingFeature.js.map +1 -1
  955. package/dist/src/providers/feature/Feature.d.ts +0 -2
  956. package/dist/src/providers/feature/Feature.js +0 -4
  957. package/dist/src/providers/feature/Feature.js.map +1 -1
  958. package/dist/src/providers/feature/GiftCardFeature.d.ts +13 -0
  959. package/dist/src/providers/feature/GiftCardFeature.js +14 -0
  960. package/dist/src/providers/feature/GiftCardFeature.js.map +1 -0
  961. package/dist/src/providers/feature/GuestTitleFieldFeature.js.map +1 -1
  962. package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
  963. package/dist/src/providers/feature/MemberPortalFeature.js.map +1 -1
  964. package/dist/src/providers/feature/RoomUpsellFeature.d.ts +10 -0
  965. package/dist/src/providers/feature/RoomUpsellFeature.js +10 -0
  966. package/dist/src/providers/feature/RoomUpsellFeature.js.map +1 -1
  967. package/dist/src/providers/storage/SessionProvider.js +0 -2
  968. package/dist/src/providers/storage/SessionProvider.js.map +1 -1
  969. package/dist/src/providers/storage/StorageProvider.d.ts +1 -1
  970. package/dist/src/providers/storage/StorageProvider.js +17 -7
  971. package/dist/src/providers/storage/StorageProvider.js.map +1 -1
  972. package/dist/src/reducers/BasketReducer.js.map +1 -1
  973. package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +2 -1
  974. package/dist/src/stories/BookingWizard.stories.d.ts +3 -3
  975. package/dist/src/stories/Card.stories.d.ts +3 -5
  976. package/dist/src/stories/CardTypeSelect.stories.d.ts +2 -1
  977. package/dist/src/stories/Checkbox.stories.d.ts +2 -1
  978. package/dist/src/stories/ConfirmationModal.stories.d.ts +2 -1
  979. package/dist/src/stories/ConfirmationModal.stories.js +17 -7
  980. package/dist/src/stories/ConfirmationModal.stories.js.map +1 -1
  981. package/dist/src/stories/DateRangePicker.stories.d.ts +5 -4
  982. package/dist/src/stories/DateRangePicker.stories.js +17 -7
  983. package/dist/src/stories/DateRangePicker.stories.js.map +1 -1
  984. package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +2 -1
  985. package/dist/src/stories/ErrorModal.stories.d.ts +2 -1
  986. package/dist/src/stories/ErrorModal.stories.js +17 -7
  987. package/dist/src/stories/ErrorModal.stories.js.map +1 -1
  988. package/dist/src/stories/EventCarousel.stories.d.ts +4 -3
  989. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +4 -3
  990. package/dist/src/stories/FloatingDateRangePicker.stories.js +17 -7
  991. package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -1
  992. package/dist/src/stories/ForwardedSelect.stories.d.ts +2 -1
  993. package/dist/src/stories/Icon.stories.js +17 -7
  994. package/dist/src/stories/Icon.stories.js.map +1 -1
  995. package/dist/src/stories/IconNavCard.stories.d.ts +7 -16
  996. package/dist/src/stories/IconText.stories.js +17 -7
  997. package/dist/src/stories/IconText.stories.js.map +1 -1
  998. package/dist/src/stories/NumberIncrement.stories.d.ts +2 -1
  999. package/dist/src/stories/NumberIncrement.stories.js +17 -7
  1000. package/dist/src/stories/NumberIncrement.stories.js.map +1 -1
  1001. package/dist/src/stories/PasswordBox.stories.d.ts +2 -1
  1002. package/dist/src/stories/PaymentCard.stories.d.ts +4 -2
  1003. package/dist/src/stories/PaymentCardInput.stories.d.ts +2 -1
  1004. package/dist/src/stories/PlanpayButton.stories.d.ts +2 -1
  1005. package/dist/src/stories/RadioButton.stories.d.ts +2 -1
  1006. package/dist/src/stories/RadioButtonGroup.stories.d.ts +5 -5
  1007. package/dist/src/stories/RadioButtonGroup.stories.js +17 -7
  1008. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
  1009. package/dist/src/stories/Select.stories.d.ts +5 -6
  1010. package/dist/src/stories/Select.stories.js +17 -7
  1011. package/dist/src/stories/Select.stories.js.map +1 -1
  1012. package/dist/src/stories/SimpleModal.stories.d.ts +2 -1
  1013. package/dist/src/stories/SimpleModal.stories.js +17 -7
  1014. package/dist/src/stories/SimpleModal.stories.js.map +1 -1
  1015. package/dist/src/stories/Slider.stories.d.ts +4 -8
  1016. package/dist/src/stories/Slider.stories.js +17 -7
  1017. package/dist/src/stories/Slider.stories.js.map +1 -1
  1018. package/dist/src/stories/TabbedModal.stories.d.ts +2 -1
  1019. package/dist/src/stories/TabbedModal.stories.js +17 -7
  1020. package/dist/src/stories/TabbedModal.stories.js.map +1 -1
  1021. package/dist/src/stories/Tabs.stories.d.ts +3 -2
  1022. package/dist/src/stories/Text.stories.d.ts +2 -1
  1023. package/dist/src/stories/TextArea.stories.d.ts +2 -1
  1024. package/dist/src/stories/TextBox.stories.d.ts +2 -1
  1025. package/dist/src/translations/Translation.d.ts +0 -2
  1026. package/dist/src/translations/Translation.js +2 -4
  1027. package/dist/src/translations/Translation.js.map +1 -1
  1028. package/dist/src/translations/languages/en-gb.js +0 -2
  1029. package/dist/src/translations/languages/en-gb.js.map +1 -1
  1030. package/dist/src/util/Analytics/Analytics.d.ts +36 -10
  1031. package/dist/src/util/Analytics/Analytics.js +30 -0
  1032. package/dist/src/util/Analytics/Analytics.js.map +1 -1
  1033. package/dist/src/util/Analytics/GoogleAnalytics4.d.ts +10 -3
  1034. package/dist/src/util/Analytics/GoogleAnalytics4.js +21 -4
  1035. package/dist/src/util/Analytics/GoogleAnalytics4.js.map +1 -1
  1036. package/dist/src/util/Analytics/UniversalAnalytics.d.ts +5 -23
  1037. package/dist/src/util/Analytics/UniversalAnalytics.js +24 -5
  1038. package/dist/src/util/Analytics/UniversalAnalytics.js.map +1 -1
  1039. package/dist/src/util/AsyncAuth.js +17 -7
  1040. package/dist/src/util/AsyncAuth.js.map +1 -1
  1041. package/dist/src/util/CalendarHelper.js +1 -1
  1042. package/dist/src/util/CalendarHelper.js.map +1 -1
  1043. package/dist/src/util/Color.d.ts +1 -1
  1044. package/dist/src/util/Color.js +1 -1
  1045. package/dist/src/util/Color.js.map +1 -1
  1046. package/dist/src/util/CurrencyHelper.js.map +1 -1
  1047. package/dist/src/util/DataLayer.d.ts +9 -3
  1048. package/dist/src/util/DataLayer.js +61 -26
  1049. package/dist/src/util/DataLayer.js.map +1 -1
  1050. package/dist/src/util/Debounce.js +2 -3
  1051. package/dist/src/util/Debounce.js.map +1 -1
  1052. package/dist/src/util/DefaultValueManager.js +1 -1
  1053. package/dist/src/util/DefaultValueManager.js.map +1 -1
  1054. package/dist/src/util/DerbysoftPixel.d.ts +1 -1
  1055. package/dist/src/util/DerbysoftPixel.js +2 -2
  1056. package/dist/src/util/DerbysoftPixel.js.map +1 -1
  1057. package/dist/src/util/EventsHelper.d.ts +2 -2
  1058. package/dist/src/util/EventsHelper.js.map +1 -1
  1059. package/dist/src/util/HotelPerkHelper.js +17 -7
  1060. package/dist/src/util/HotelPerkHelper.js.map +1 -1
  1061. package/dist/src/util/ObjectHelper.d.ts +1 -1
  1062. package/dist/src/util/ObjectHelper.js.map +1 -1
  1063. package/dist/src/util/PaymentCardHelper.js.map +1 -1
  1064. package/dist/src/util/RouteManager.js +1 -1
  1065. package/dist/src/util/RouteManager.js.map +1 -1
  1066. package/dist/src/util/StepManager.js +1 -1
  1067. package/dist/src/util/StepManager.js.map +1 -1
  1068. package/dist/src/util/StringHelper.js.map +1 -1
  1069. package/dist/src/util/TextAlignment.js +1 -1
  1070. package/dist/src/util/TextAlignment.js.map +1 -1
  1071. package/dist/src/util/TimeHelper.js.map +1 -1
  1072. package/dist/test.bundle.js +1 -1
  1073. package/dist/tests/offline/entry/config/hotelSpecDefault.d.ts +2 -1
  1074. package/dist/tests/offline/entry/config/hotelSpecDefault.js +0 -1
  1075. package/dist/tests/offline/entry/config/hotelSpecDefault.js.map +1 -1
  1076. package/dist/vendors.bundle.js +1 -1
  1077. package/package.json +13 -5
  1078. package/dist/380.bundle.js +0 -1
  1079. package/dist/456.bundle.js +0 -1
  1080. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.d.ts +0 -15
  1081. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js +0 -135
  1082. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js.map +0 -1
  1083. package/dist/src/models/Api/ReservationsDTO.d.ts +0 -80
  1084. package/dist/src/models/Api/ReservationsDTO.js +0 -3
  1085. package/dist/src/models/Api/ReservationsDTO.js.map +0 -1
  1086. package/dist/src/util/TotalCalculator.d.ts +0 -24
  1087. package/dist/src/util/TotalCalculator.js +0 -157
  1088. package/dist/src/util/TotalCalculator.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RatePillProvider.js","sourceRoot":"/","sources":["src/providers/RatePillProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ReactChild, ReactNode } from 'react';\n\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';\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 description?: string;\n tooltipText?: string;\n\n setDescription?: (rate: RoomRate) => string | undefined;\n translation?: string;\n renderOverride?: (criteria: RatePillCriteriaMatch) => string | ReactChild | ReactNode;\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 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 const pill = {\n ...registeredPill.pill,\n };\n if (match.rate && registeredPill.pill.setDescription) {\n pill.description = registeredPill.pill.setDescription?.(match.rate);\n }\n\n matches.push(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 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\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 { ReactChild, ReactNode } from 'react';\n\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';\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 description?: string;\n tooltipText?: string;\n\n setDescription?: (rate: RoomRate) => string | undefined;\n translation?: string;\n renderOverride?: (criteria: RatePillCriteriaMatch) => string | ReactChild | ReactNode;\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 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 const pill = {\n ...registeredPill.pill,\n };\n if (match.rate && registeredPill.pill.setDescription) {\n pill.description = registeredPill.pill.setDescription?.(match.rate);\n }\n\n matches.push(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 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\nexport default new RatePillProvider();\n"]}
@@ -6,10 +6,9 @@ var RoomSort;
6
6
  RoomSort["PriceLow"] = "Lowest Price";
7
7
  RoomSort["PriceHigh"] = "Highest Price";
8
8
  RoomSort["Recommended"] = "Recommended";
9
- })(RoomSort = exports.RoomSort || (exports.RoomSort = {}));
9
+ })(RoomSort || (exports.RoomSort = RoomSort = {}));
10
10
  class RoomSortProvider {
11
11
  }
12
- exports.default = RoomSortProvider;
13
12
  // TODO refactor this to use static val instead of request one
14
13
  RoomSortProvider.getSortByFunction = (sortBy) => {
15
14
  switch (sortBy) {
@@ -29,4 +28,5 @@ RoomSortProvider.getSortByFunction = (sortBy) => {
29
28
  return () => 0;
30
29
  }
31
30
  };
31
+ exports.default = RoomSortProvider;
32
32
  //# sourceMappingURL=RoomSortProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoomSortProvider.js","sourceRoot":"/","sources":["src/providers/RoomSortProvider.ts"],"names":[],"mappings":";;;AAEA,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,mCAoBC;AAnBG,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,iBAAiB,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACzD,CAAC,CAAC;QACN,KAAK,QAAQ,CAAC,QAAQ;YAClB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACzD,CAAC,CAAC;QACN,KAAK,QAAQ,CAAC,WAAW;YACrB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,uBAAuB,EAAE,CAAC;YACrE,CAAC,CAAC;QACN;YACI,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;KACtB;AACL,CAAC,CAAC","sourcesContent":["import RoomRateSortable from '@/models/Room/RoomRateSortable';\n\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.getPriceSortValue() - a.getPriceSortValue();\n };\n case RoomSort.PriceLow:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return a.getPriceSortValue() - b.getPriceSortValue();\n };\n case RoomSort.Recommended:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return b.getRecommendedSortValue() - a.getRecommendedSortValue();\n };\n default:\n return () => 0;\n }\n };\n}\n"]}
1
+ {"version":3,"file":"RoomSortProvider.js","sourceRoot":"/","sources":["src/providers/RoomSortProvider.ts"],"names":[],"mappings":";;;AAEA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,uCAA2B,CAAA;AAC/B,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAED,MAAqB,gBAAgB;;AACjC,8DAA8D;AAChD,kCAAiB,GAAG,CAAC,MAAgB,EAAE,EAAE;IACnD,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC,SAAS;YACnB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACzD,CAAC,CAAC;QACN,KAAK,QAAQ,CAAC,QAAQ;YAClB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACzD,CAAC,CAAC;QACN,KAAK,QAAQ,CAAC,WAAW;YACrB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,uBAAuB,EAAE,CAAC;YACrE,CAAC,CAAC;QACN;YACI,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;AACL,CAAC,CAAC;kBAnBe,gBAAgB","sourcesContent":["import RoomRateSortable from '@/models/Room/RoomRateSortable';\n\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.getPriceSortValue() - a.getPriceSortValue();\n };\n case RoomSort.PriceLow:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return a.getPriceSortValue() - b.getPriceSortValue();\n };\n case RoomSort.Recommended:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return b.getRecommendedSortValue() - a.getRecommendedSortValue();\n };\n default:\n return () => 0;\n }\n };\n}\n"]}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -52,7 +62,7 @@ var RoomstayTheme;
52
62
  (function (RoomstayTheme) {
53
63
  RoomstayTheme["Medium"] = "medium";
54
64
  RoomstayTheme["Light"] = "light";
55
- })(RoomstayTheme = exports.RoomstayTheme || (exports.RoomstayTheme = {}));
65
+ })(RoomstayTheme || (exports.RoomstayTheme = RoomstayTheme = {}));
56
66
  class RoomstayThemeEngine {
57
67
  constructor() {
58
68
  this.currentCompany = null;
@@ -1 +1 @@
1
- {"version":3,"file":"RoomstayThemeEngine.js","sourceRoot":"/","sources":["src/providers/RoomstayThemeEngine.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ROP from '@juggle/resize-observer';\nimport { IHotelColorScheme } from '@roomstay/core';\nimport * as Sentry from '@sentry/browser';\nimport dayjs from 'dayjs';\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport type { Company } from '@/models/Client/Hotel/Company';\nimport { Language, LanguageProvider } from '@/providers/LanguageProvider';\nimport { getAccentOverrideStyleContent } from '@/util/Color';\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\nif (typeof ResizeObserver === 'undefined') {\n window.ResizeObserver = ROP.ResizeObserver;\n}\n\nexport enum RoomstayTheme {\n Medium = 'medium',\n Light = 'light',\n}\n\nclass RoomstayThemeEngine {\n public currentCompany: Company | null = null;\n\n public EngineContainer!: HTMLElement;\n\n public ScriptContainer: Element | null = null;\n public StyleContainer: Element | null = 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 public changeCompany = (newCompany: Company) => {\n this.currentCompany = newCompany;\n this.registerStyles(newCompany.colors);\n };\n\n public changeTheme = async (profile: IHotelColorScheme) => {\n const styleOverrides = this.createElementOrReuseExisting('style', 'engine-styles');\n\n styleOverrides.setAttribute('rel', 'preload');\n\n styleOverrides.innerHTML = `\n :root {\n ${getAccentOverrideStyleContent(profile)}\n }`;\n };\n\n public registerStyles = async (profile?: IHotelColorScheme) => {\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 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, alwaysExecute = false, timeout = 5_000): Promise<void> =>\n new Promise((resolve, reject) => {\n const container = this.EngineContainer;\n const existingScript = container.querySelector(`script[name=\"roomstay-script-${name}\"]`);\n\n if (existingScript) {\n if (alwaysExecute) {\n existingScript.remove();\n } else {\n resolve();\n return;\n }\n }\n\n const cleanup = () => {\n clearTimeout(timer);\n script.removeEventListener('load', onLoad);\n script.removeEventListener('error', onError);\n };\n\n const onLoad = () => {\n cleanup();\n resolve();\n };\n\n const onError = () => {\n cleanup();\n reject(new Error(`Failed to load script \"${src}\"`));\n };\n\n const script = document.createElement('script');\n script.setAttribute('name', `roomstay-script-${name}`);\n script.setAttribute('src', src);\n\n script.addEventListener('load', onLoad);\n script.addEventListener('error', onError);\n\n // Guarantee that we won't get stuck here forever\n const timer = setTimeout(onError, timeout);\n\n // Append the script twice for some reason\n container.appendChild(script);\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=') as number) > -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 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\nexport default new RoomstayThemeEngine();\n"]}
1
+ {"version":3,"file":"RoomstayThemeEngine.js","sourceRoot":"/","sources":["src/providers/RoomstayThemeEngine.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ROP from '@juggle/resize-observer';\nimport { IHotelColorScheme } from '@roomstay/core';\nimport * as Sentry from '@sentry/browser';\nimport dayjs from 'dayjs';\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport type { Company } from '@/models/Client/Hotel/Company';\nimport { Language, LanguageProvider } from '@/providers/LanguageProvider';\nimport { getAccentOverrideStyleContent } from '@/util/Color';\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\nif (typeof ResizeObserver === 'undefined') {\n window.ResizeObserver = ROP.ResizeObserver;\n}\n\nexport enum RoomstayTheme {\n Medium = 'medium',\n Light = 'light',\n}\n\nclass RoomstayThemeEngine {\n public currentCompany: Company | null = null;\n\n public EngineContainer!: HTMLElement;\n\n public ScriptContainer: Element | null = null;\n public StyleContainer: Element | null = 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 public changeCompany = (newCompany: Company) => {\n this.currentCompany = newCompany;\n this.registerStyles(newCompany.colors);\n };\n\n public changeTheme = async (profile: IHotelColorScheme) => {\n const styleOverrides = this.createElementOrReuseExisting('style', 'engine-styles');\n\n styleOverrides.setAttribute('rel', 'preload');\n\n styleOverrides.innerHTML = `\n :root {\n ${getAccentOverrideStyleContent(profile)}\n }`;\n };\n\n public registerStyles = async (profile?: IHotelColorScheme) => {\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 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, alwaysExecute = false, timeout = 5_000): Promise<void> =>\n new Promise((resolve, reject) => {\n const container = this.EngineContainer;\n const existingScript = container.querySelector(`script[name=\"roomstay-script-${name}\"]`);\n\n if (existingScript) {\n if (alwaysExecute) {\n existingScript.remove();\n } else {\n resolve();\n return;\n }\n }\n\n const cleanup = () => {\n clearTimeout(timer);\n script.removeEventListener('load', onLoad);\n script.removeEventListener('error', onError);\n };\n\n const onLoad = () => {\n cleanup();\n resolve();\n };\n\n const onError = () => {\n cleanup();\n reject(new Error(`Failed to load script \"${src}\"`));\n };\n\n const script = document.createElement('script');\n script.setAttribute('name', `roomstay-script-${name}`);\n script.setAttribute('src', src);\n\n script.addEventListener('load', onLoad);\n script.addEventListener('error', onError);\n\n // Guarantee that we won't get stuck here forever\n const timer = setTimeout(onError, timeout);\n\n // Append the script twice for some reason\n container.appendChild(script);\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=') as number) > -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 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\nexport default new RoomstayThemeEngine();\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DerbysoftClickTrackingFeature.js","sourceRoot":"/","sources":["src/providers/feature/DerbysoftClickTrackingFeature.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,gFAA6E;AAC7E,mCAA+C;AAC/C,yDAAsD;AACtD,0DAAqE;AAErE,MAAM,6BAA8B,SAAQ,iBAAO;IAC/C;QACI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC3C,CAAC;IAES,MAAM;QACZ,4BAAoB,CAAC,QAAQ,CAAC,6CAAqB,EAAE,CAAO,KAA4B,EAAE,EAAE;YACxF,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAE1B,IAAI,KAAK,EAAE;gBACP,MAAM,IAAA,6CAA4B,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;aACxD;QACL,CAAC,CAAA,CAAC,CAAC;IACP,CAAC;CACJ;AAED,kBAAe,IAAI,6BAA6B,EAAE,CAAC","sourcesContent":["import { CommittedBookingEvent } from '@/events/views/CommittedBookingEvent';\nimport { RoomstayEventManager } from '@/index';\nimport { Feature } from '@/providers/feature/Feature';\nimport { logDerbyBookingCompleteEvent } from '@/util/DerbysoftPixel';\n\nclass DerbysoftClickTrackingFeature extends Feature {\n public constructor() {\n super('DerbysoftClickTrackingFeature');\n }\n\n protected onLoad(): void {\n RoomstayEventManager.addEvent(CommittedBookingEvent, async (event: CommittedBookingEvent) => {\n const res = event.reservation;\n const rows = event.basketRows;\n const hotel = event.hotel;\n\n if (hotel) {\n await logDerbyBookingCompleteEvent(hotel, res, rows);\n }\n });\n }\n}\n\nexport default new DerbysoftClickTrackingFeature();\n"]}
1
+ {"version":3,"file":"DerbysoftClickTrackingFeature.js","sourceRoot":"/","sources":["src/providers/feature/DerbysoftClickTrackingFeature.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,gFAA6E;AAC7E,mCAA+C;AAC/C,yDAAsD;AACtD,0DAAqE;AAErE,MAAM,6BAA8B,SAAQ,iBAAO;IAC/C;QACI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC3C,CAAC;IAES,MAAM;QACZ,4BAAoB,CAAC,QAAQ,CAAC,6CAAqB,EAAE,CAAO,KAA4B,EAAE,EAAE;YACxF,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAE1B,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,IAAA,6CAA4B,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACzD,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;IACP,CAAC;CACJ;AAED,kBAAe,IAAI,6BAA6B,EAAE,CAAC","sourcesContent":["import { CommittedBookingEvent } from '@/events/views/CommittedBookingEvent';\nimport { RoomstayEventManager } from '@/index';\nimport { Feature } from '@/providers/feature/Feature';\nimport { logDerbyBookingCompleteEvent } from '@/util/DerbysoftPixel';\n\nclass DerbysoftClickTrackingFeature extends Feature {\n public constructor() {\n super('DerbysoftClickTrackingFeature');\n }\n\n protected onLoad(): void {\n RoomstayEventManager.addEvent(CommittedBookingEvent, async (event: CommittedBookingEvent) => {\n const res = event.reservation;\n const rows = event.basketRows;\n const hotel = event.hotel;\n\n if (hotel) {\n await logDerbyBookingCompleteEvent(hotel, res, rows);\n }\n });\n }\n}\n\nexport default new DerbysoftClickTrackingFeature();\n"]}
@@ -1,10 +1,8 @@
1
1
  export declare abstract class Feature<TOptions = any> {
2
2
  private name;
3
3
  private active;
4
- private options?;
5
4
  constructor(name: string);
6
5
  getName(): string;
7
- getOptions(): TOptions | undefined;
8
6
  isActive(): boolean;
9
7
  load(options?: TOptions): void;
10
8
  unLoad(): void;
@@ -9,9 +9,6 @@ class Feature {
9
9
  getName() {
10
10
  return this.name;
11
11
  }
12
- getOptions() {
13
- return this.options;
14
- }
15
12
  isActive() {
16
13
  return this.active;
17
14
  }
@@ -25,7 +22,6 @@ class Feature {
25
22
  }
26
23
  onLoad(options) {
27
24
  // Empty function to be overwritten
28
- this.options = options;
29
25
  }
30
26
  onUnLoad() {
31
27
  // Empty function to be overwritten
@@ -1 +1 @@
1
- {"version":3,"file":"Feature.js","sourceRoot":"/","sources":["src/providers/feature/Feature.ts"],"names":[],"mappings":";;;AAAA,MAAsB,OAAO;IAKzB,YAAmB,IAAY;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,IAAI,CAAC,OAAkB;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAES,MAAM,CAAC,OAAkB;QAC/B,mCAAmC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAES,QAAQ;QACd,mCAAmC;IACvC,CAAC;CACJ;AAzCD,0BAyCC","sourcesContent":["export abstract class Feature<TOptions = any> {\n private name: string;\n private active: boolean;\n private options?: TOptions;\n\n public constructor(name: string) {\n this.name = name;\n this.active = false;\n }\n\n public getName() {\n return this.name;\n }\n\n public getOptions() {\n return this.options;\n }\n\n public isActive() {\n return this.active;\n }\n\n public load(options?: TOptions) {\n this.active = true;\n this.onLoad(options);\n }\n\n public unLoad() {\n this.active = false;\n\n this.onUnLoad();\n }\n\n protected onLoad(options?: TOptions): void {\n // Empty function to be overwritten\n this.options = options;\n }\n\n protected onUnLoad() {\n // Empty function to be overwritten\n }\n}\n"]}
1
+ {"version":3,"file":"Feature.js","sourceRoot":"/","sources":["src/providers/feature/Feature.ts"],"names":[],"mappings":";;;AAAA,MAAsB,OAAO;IAIzB,YAAmB,IAAY;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,IAAI,CAAC,OAAkB;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAES,MAAM,CAAC,OAAkB;QAC/B,mCAAmC;IACvC,CAAC;IAES,QAAQ;QACd,mCAAmC;IACvC,CAAC;CACJ;AAnCD,0BAmCC","sourcesContent":["export abstract class Feature<TOptions = any> {\n private name: string;\n private active: boolean;\n\n public constructor(name: string) {\n this.name = name;\n this.active = false;\n }\n\n public getName() {\n return this.name;\n }\n\n public isActive() {\n return this.active;\n }\n\n public load(options?: TOptions) {\n this.active = true;\n this.onLoad(options);\n }\n\n public unLoad() {\n this.active = false;\n\n this.onUnLoad();\n }\n\n protected onLoad(options?: TOptions): void {\n // Empty function to be overwritten\n }\n\n protected onUnLoad() {\n // Empty function to be overwritten\n }\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import { Feature } from './Feature';
2
+ export type GiftCardFeatureSettings = {
3
+ companyId: number;
4
+ venueId?: number;
5
+ logoUrl?: string;
6
+ };
7
+ declare class GiftCardFeature extends Feature<GiftCardFeatureSettings> {
8
+ constructor();
9
+ config?: GiftCardFeatureSettings;
10
+ protected onLoad(config: GiftCardFeatureSettings): void;
11
+ }
12
+ declare const _default: GiftCardFeature;
13
+ export default _default;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Feature_1 = require("./Feature");
4
+ class GiftCardFeature extends Feature_1.Feature {
5
+ constructor() {
6
+ super('GiftCardFeature');
7
+ this.config = undefined;
8
+ }
9
+ onLoad(config) {
10
+ this.config = config;
11
+ }
12
+ }
13
+ exports.default = new GiftCardFeature();
14
+ //# sourceMappingURL=GiftCardFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GiftCardFeature.js","sourceRoot":"/","sources":["src/providers/feature/GiftCardFeature.ts"],"names":[],"mappings":";;AAAA,uCAAoC;AAQpC,MAAM,eAAgB,SAAQ,iBAAgC;IAC1D;QACI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAGtB,WAAM,GAA6B,SAAS,CAAC;IAFpD,CAAC;IAIS,MAAM,CAAC,MAA+B;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ;AAED,kBAAe,IAAI,eAAe,EAAE,CAAC","sourcesContent":["import { Feature } from './Feature';\n\nexport type GiftCardFeatureSettings = {\n companyId: number;\n venueId?: number;\n logoUrl?: string;\n};\n\nclass GiftCardFeature extends Feature<GiftCardFeatureSettings> {\n public constructor() {\n super('GiftCardFeature');\n }\n\n public config?: GiftCardFeatureSettings = undefined;\n\n protected onLoad(config: GiftCardFeatureSettings) {\n this.config = config;\n }\n}\n\nexport default new GiftCardFeature();\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"GuestTitleFieldFeature.js","sourceRoot":"/","sources":["src/providers/feature/GuestTitleFieldFeature.ts"],"names":[],"mappings":";;AAAA,yDAAsD;AAWtD,MAAM,sBAAuB,SAAQ,iBAA+B;IAGhE;QACI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAH5B,iBAAY,GAAuC,EAAE,CAAC;QAI1D,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAClC,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAES,MAAM,CAAC,OAA+B;QAC5C,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;gBAC5F,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;aAC5C;iBAAM;gBACH,OAAO,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAC;aAC9G;SACJ;IACL,CAAC;IAEO,sBAAsB;QAC1B,IAAI,CAAC,YAAY,GAAG;YAChB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;YAC7B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;YAC7B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;YAC7B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SACrC,CAAC;IACN,CAAC;IAEO,kBAAkB,CAAC,MAAW;QAClC,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC;IACxH,CAAC;CACJ;AAED,kBAAe,IAAI,sBAAsB,EAAE,CAAC","sourcesContent":["import { Feature } from '@/providers/feature/Feature';\n\ninterface TitleOption {\n label: string;\n value: string;\n}\n\ninterface GuestTitleFieldOptions {\n titleOptions?: TitleOption[];\n}\n\nclass GuestTitleFieldFeature extends Feature<GuestTitleFieldOptions> {\n private titleOptions: { label: string; value: string }[] = [];\n\n public constructor() {\n super('GuestTitleFieldFeature');\n this.setDefaultTitleOptions();\n }\n\n public getTitleOptions() {\n return this.titleOptions;\n }\n\n protected onLoad(options: GuestTitleFieldOptions) {\n if (options && options.titleOptions) {\n if (Array.isArray(options.titleOptions) && options.titleOptions.every(this.isValidTitleOption)) {\n this.titleOptions = options.titleOptions;\n } else {\n console.warn(\"Found invalid options for 'GuestTitleFieldFeature'. Falling back to default title options.\");\n }\n }\n }\n\n private setDefaultTitleOptions() {\n this.titleOptions = [\n { label: 'Mr.', value: 'Mr' },\n { label: 'Ms.', value: 'Ms' },\n { label: 'Mrs.', value: 'Mrs' },\n { label: 'Dr.', value: 'Dr' },\n { label: 'Other', value: 'Other' },\n ];\n }\n\n private isValidTitleOption(option: any): option is TitleOption {\n return option && typeof option === 'object' && typeof option.label === 'string' && typeof option.value === 'string';\n }\n}\n\nexport default new GuestTitleFieldFeature();\n"]}
1
+ {"version":3,"file":"GuestTitleFieldFeature.js","sourceRoot":"/","sources":["src/providers/feature/GuestTitleFieldFeature.ts"],"names":[],"mappings":";;AAAA,yDAAsD;AAWtD,MAAM,sBAAuB,SAAQ,iBAA+B;IAGhE;QACI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAH5B,iBAAY,GAAuC,EAAE,CAAC;QAI1D,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAClC,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAES,MAAM,CAAC,OAA+B;QAC5C,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC7F,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAC;YAC/G,CAAC;QACL,CAAC;IACL,CAAC;IAEO,sBAAsB;QAC1B,IAAI,CAAC,YAAY,GAAG;YAChB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;YAC7B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;YAC7B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;YAC7B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SACrC,CAAC;IACN,CAAC;IAEO,kBAAkB,CAAC,MAAW;QAClC,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC;IACxH,CAAC;CACJ;AAED,kBAAe,IAAI,sBAAsB,EAAE,CAAC","sourcesContent":["import { Feature } from '@/providers/feature/Feature';\n\ninterface TitleOption {\n label: string;\n value: string;\n}\n\ninterface GuestTitleFieldOptions {\n titleOptions?: TitleOption[];\n}\n\nclass GuestTitleFieldFeature extends Feature<GuestTitleFieldOptions> {\n private titleOptions: { label: string; value: string }[] = [];\n\n public constructor() {\n super('GuestTitleFieldFeature');\n this.setDefaultTitleOptions();\n }\n\n public getTitleOptions() {\n return this.titleOptions;\n }\n\n protected onLoad(options: GuestTitleFieldOptions) {\n if (options && options.titleOptions) {\n if (Array.isArray(options.titleOptions) && options.titleOptions.every(this.isValidTitleOption)) {\n this.titleOptions = options.titleOptions;\n } else {\n console.warn(\"Found invalid options for 'GuestTitleFieldFeature'. Falling back to default title options.\");\n }\n }\n }\n\n private setDefaultTitleOptions() {\n this.titleOptions = [\n { label: 'Mr.', value: 'Mr' },\n { label: 'Ms.', value: 'Ms' },\n { label: 'Mrs.', value: 'Mrs' },\n { label: 'Dr.', value: 'Dr' },\n { label: 'Other', value: 'Other' },\n ];\n }\n\n private isValidTitleOption(option: any): option is TitleOption {\n return option && typeof option === 'object' && typeof option.label === 'string' && typeof option.value === 'string';\n }\n}\n\nexport default new GuestTitleFieldFeature();\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"InlineAddonStepFeature.js","sourceRoot":"/","sources":["src/providers/feature/InlineAddonStepFeature.ts"],"names":[],"mappings":";;;;;AACA,kFAA0D;AAC1D,yDAAsD;AACtD,qEAA6C;AAE7C,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 type Step from '@/pages/steps/Step';\nimport StepAddon from '@/pages/steps/StepAddon/StepAddon';\nimport { Feature } from '@/providers/feature/Feature';\nimport StepManager from '@/util/StepManager';\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":";;;;;AACA,kFAA0D;AAC1D,yDAAsD;AACtD,qEAA6C;AAE7C,MAAM,sBAAuB,SAAQ,iBAAO;IAGxC;QACI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACpC,CAAC;IAES,MAAM;QACZ,IAAI,qBAAW,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,qBAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,qBAAW,CAAC,OAAO,CAAC,EAAE,EAAE,mBAAS,CAAC,CAAC;IACvC,CAAC;IAES,QAAQ;QACd,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,qBAAW,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,OAAO,qBAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;CACJ;AAED,kBAAe,IAAI,sBAAsB,EAAE,CAAC","sourcesContent":["import type Step from '@/pages/steps/Step';\nimport StepAddon from '@/pages/steps/StepAddon/StepAddon';\nimport { Feature } from '@/providers/feature/Feature';\nimport StepManager from '@/util/StepManager';\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 +1 @@
1
- {"version":3,"file":"MemberPortalFeature.js","sourceRoot":"/","sources":["src/providers/feature/MemberPortalFeature.ts"],"names":[],"mappings":";;AAAA,yDAAsD;AAMtD,MAAM,mBAAoB,SAAQ,iBAA4B;IAK1D;QACI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QALjC,6GAA6G;QAC7G,iGAAiG;QACzF,oCAA+B,GAAG,KAAK,CAAC;IAIhD,CAAC;IAEM,qCAAqC;QACxC,OAAO,IAAI,CAAC,+BAA+B,CAAC;IAChD,CAAC;IAES,MAAM,CAAC,OAA6B;QAC1C,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,+BAA+B,MAAK,SAAS,EAAE;YACxD,IAAI,CAAC,+BAA+B,GAAG,OAAO,CAAC,+BAA+B,CAAC;SAClF;IACL,CAAC;CACJ;AAED,kBAAe,IAAI,mBAAmB,EAAE,CAAC","sourcesContent":["import { Feature } from '@/providers/feature/Feature';\n\ninterface MemberPortalOptions {\n useMemberPortalForMemberPricing?: boolean;\n}\n\nclass MemberPortalFeature extends Feature<MemberPortalOptions> {\n // If this option is enabled, we'll force users to sign up to the member portal before showing member prices.\n // This will require them to set a password and verify their email before proceeding to checkout.\n private useMemberPortalForMemberPricing = false;\n\n constructor() {\n super('MemberPortalFeature');\n }\n\n public shouldUseMemberPortalForMemberPricing(): boolean {\n return this.useMemberPortalForMemberPricing;\n }\n\n protected onLoad(options?: MemberPortalOptions): void {\n if (options?.useMemberPortalForMemberPricing !== undefined) {\n this.useMemberPortalForMemberPricing = options.useMemberPortalForMemberPricing;\n }\n }\n}\n\nexport default new MemberPortalFeature();\n"]}
1
+ {"version":3,"file":"MemberPortalFeature.js","sourceRoot":"/","sources":["src/providers/feature/MemberPortalFeature.ts"],"names":[],"mappings":";;AAAA,yDAAsD;AAMtD,MAAM,mBAAoB,SAAQ,iBAA4B;IAK1D;QACI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QALjC,6GAA6G;QAC7G,iGAAiG;QACzF,oCAA+B,GAAG,KAAK,CAAC;IAIhD,CAAC;IAEM,qCAAqC;QACxC,OAAO,IAAI,CAAC,+BAA+B,CAAC;IAChD,CAAC;IAES,MAAM,CAAC,OAA6B;QAC1C,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,+BAA+B,MAAK,SAAS,EAAE,CAAC;YACzD,IAAI,CAAC,+BAA+B,GAAG,OAAO,CAAC,+BAA+B,CAAC;QACnF,CAAC;IACL,CAAC;CACJ;AAED,kBAAe,IAAI,mBAAmB,EAAE,CAAC","sourcesContent":["import { Feature } from '@/providers/feature/Feature';\n\ninterface MemberPortalOptions {\n useMemberPortalForMemberPricing?: boolean;\n}\n\nclass MemberPortalFeature extends Feature<MemberPortalOptions> {\n // If this option is enabled, we'll force users to sign up to the member portal before showing member prices.\n // This will require them to set a password and verify their email before proceeding to checkout.\n private useMemberPortalForMemberPricing = false;\n\n constructor() {\n super('MemberPortalFeature');\n }\n\n public shouldUseMemberPortalForMemberPricing(): boolean {\n return this.useMemberPortalForMemberPricing;\n }\n\n protected onLoad(options?: MemberPortalOptions): void {\n if (options?.useMemberPortalForMemberPricing !== undefined) {\n this.useMemberPortalForMemberPricing = options.useMemberPortalForMemberPricing;\n }\n }\n}\n\nexport default new MemberPortalFeature();\n"]}
@@ -3,5 +3,15 @@ declare class RoomUpsellFeature extends Feature {
3
3
  constructor();
4
4
  protected onLoad(): void;
5
5
  }
6
+ /**
7
+ * Deprecating this feature because we should use the new option in Hotel configuration.
8
+ * Keeping it for now so that Hotel's already loading the feature via client files will
9
+ * still use it.
10
+ *
11
+ * I think we update all the hotels first, and then remove all references to this feature as a
12
+ * follow up. Alternatively we take note of all the Hotels using this feature then quickly
13
+ * update them after merging these changes.
14
+ */
15
+ /** @deprecated Use enableRoomUpsells on Hotel object instead. */
6
16
  declare const _default: RoomUpsellFeature;
7
17
  export default _default;
@@ -9,5 +9,15 @@ class RoomUpsellFeature extends Feature_1.Feature {
9
9
  // no empty blocks
10
10
  }
11
11
  }
12
+ /**
13
+ * Deprecating this feature because we should use the new option in Hotel configuration.
14
+ * Keeping it for now so that Hotel's already loading the feature via client files will
15
+ * still use it.
16
+ *
17
+ * I think we update all the hotels first, and then remove all references to this feature as a
18
+ * follow up. Alternatively we take note of all the Hotels using this feature then quickly
19
+ * update them after merging these changes.
20
+ */
21
+ /** @deprecated Use enableRoomUpsells on Hotel object instead. */
12
22
  exports.default = new RoomUpsellFeature();
13
23
  //# sourceMappingURL=RoomUpsellFeature.js.map
@@ -1 +1 @@
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
+ {"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;;;;;;;;GAQG;AAEH,iEAAiE;AACjE,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\n/**\n * Deprecating this feature because we should use the new option in Hotel configuration.\n * Keeping it for now so that Hotel's already loading the feature via client files will\n * still use it.\n *\n * I think we update all the hotels first, and then remove all references to this feature as a\n * follow up. Alternatively we take note of all the Hotels using this feature then quickly\n * update them after merging these changes.\n */\n\n/** @deprecated Use enableRoomUpsells on Hotel object instead. */\nexport default new RoomUpsellFeature();\n"]}
@@ -209,7 +209,6 @@ class SessionProvider {
209
209
  children: unSerializeBasketRow.getChildren(),
210
210
  infants: unSerializeBasketRow.getInfants(),
211
211
  promoCode: unSerializeBasketRow.getPromoCode(),
212
- roomCode: unSerializeBasketRow.getRoomCode(),
213
212
  promoCodeStatus: unSerializeBasketRow.getPromoCodeStatus(),
214
213
  rate: serializedRate,
215
214
  room: serializedRoom,
@@ -262,7 +261,6 @@ class SessionProvider {
262
261
  basketRow.setAdults(serializedBasketRow.adults);
263
262
  basketRow.setChildren(serializedBasketRow.children);
264
263
  basketRow.setInfants(serializedBasketRow.infants);
265
- basketRow.setRoomCode(serializedBasketRow.roomCode);
266
264
  basketRows.push(basketRow);
267
265
  });
268
266
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"SessionProvider.js","sourceRoot":"/","sources":["src/providers/storage/SessionProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { SignInUser } from '@frontend/contexts';\nimport dayjs from 'dayjs';\n\nimport BasketRow from '@/models/BasketRow';\nimport { IRoom, Room } from '@/models/Room/Room';\nimport { IRoomRate, RoomRate } from '@/models/Room/RoomRate';\nimport { RoomstaySession, SERIALIZED_DATE_FORMAT, SerializedRoomstaySession, SerializedRoomstaySessionBasketRow } from '@/models/RoomstaySession';\nimport { StorageProvider } from '@/providers/storage/StorageProvider';\nimport { debounce, delay } 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 */\n\nexport default class SessionProvider {\n private currentSessionID!: number;\n private hotelID!: string;\n private cachedSession: Partial<RoomstaySession> = {};\n\n private syncSession = async () => {\n try {\n const currentSession = await this.getSession();\n const cachedSession = this.cachedSession;\n this.cachedSession = {};\n await this.saveSession({\n ...currentSession,\n ...cachedSession,\n });\n } catch (error) {\n console.error('Failed to sync session:', error);\n }\n };\n\n private debouncedUpdateSession = debounce(async () => {\n await this.syncSession();\n }, 300);\n\n private async updateSessionWithAsync() {\n await delay(300); // 300 milliseconds delay -- Why is a delay necessary?\n await this.syncSession();\n }\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 as number, source as string);\n\n if (foundSession) {\n this.currentSessionID = foundSession;\n\n // Never read?\n const storage = new StorageProvider(sessionStorage);\n await storage.write('currentSession', this.currentSessionID);\n }\n }\n\n /**\n * @returns the current session ID\n */\n public getCurrentSessionID(): number {\n return this.currentSessionID;\n }\n\n public getSession(): RoomstaySession {\n const storage = new StorageProvider();\n\n const sessionFromStorage = 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 StorageProvider();\n\n const serializedSession = this.serializeSession(changedSession);\n\n await storage.write(this.getSessionKey(serializedSession.id), serializedSession);\n }\n\n public async updateSession(partialSession: Partial<RoomstaySession>) {\n Object.assign(this.cachedSession, partialSession);\n this.debouncedUpdateSession();\n }\n\n public async updateSessionAsync(partialSession: Partial<RoomstaySession>) {\n Object.assign(this.cachedSession, partialSession);\n await this.updateSessionWithAsync();\n }\n\n public async deleteSession() {\n const storage = new StorageProvider();\n storage.delete(this.getSessionKey());\n }\n\n public async getAllSessions() {\n const storage = new StorageProvider();\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 /**\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)) as RoomstaySession;\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 | undefined> {\n const storage = new StorageProvider();\n const session = await storage.read<SerializedRoomstaySession>(this.getSessionKey(sessionID));\n\n if (session) {\n return this.unSerializeSession(session);\n }\n }\n\n private generateNewSession(source: string): 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 infants: unSerializeBasketRow.getInfants(),\n promoCode: unSerializeBasketRow.getPromoCode(),\n roomCode: unSerializeBasketRow.getRoomCode(),\n promoCodeStatus: unSerializeBasketRow.getPromoCodeStatus(),\n rate: serializedRate as IRoomRate,\n room: serializedRoom as IRoom,\n });\n });\n\n return {\n id: session.id,\n startDate: session.startDate?.format(SERIALIZED_DATE_FORMAT) as string,\n endDate: session.endDate?.format(SERIALIZED_DATE_FORMAT) as string,\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n user: JSON.stringify(session.user),\n memberId: session.memberId,\n reservation: session.reservation,\n reservationRequest: session.reservationRequest,\n };\n }\n\n private unSerializeSession(session: SerializedRoomstaySession): RoomstaySession {\n const basketRows: BasketRow[] = [];\n let startDate: dayjs.Dayjs | null = null;\n let endDate: dayjs.Dayjs | null = null;\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, 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 basketRow.setInfants(serializedBasketRow.infants);\n basketRow.setRoomCode(serializedBasketRow.roomCode);\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 user: session.user ? (JSON.parse(session.user) as SignInUser) : undefined,\n memberId: session.memberId,\n reservation: session.reservation,\n reservationRequest: session.reservationRequest,\n };\n }\n\n private getSessionKey(sessionId?: number): string {\n return `session-${sessionId ?? this.currentSessionID}`;\n }\n}\n"]}
1
+ {"version":3,"file":"SessionProvider.js","sourceRoot":"/","sources":["src/providers/storage/SessionProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { SignInUser } from '@frontend/contexts';\nimport dayjs from 'dayjs';\n\nimport BasketRow from '@/models/BasketRow';\nimport { IRoom, Room } from '@/models/Room/Room';\nimport { IRoomRate, RoomRate } from '@/models/Room/RoomRate';\nimport { RoomstaySession, SERIALIZED_DATE_FORMAT, SerializedRoomstaySession, SerializedRoomstaySessionBasketRow } from '@/models/RoomstaySession';\nimport { StorageProvider } from '@/providers/storage/StorageProvider';\nimport { debounce, delay } 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 */\n\nexport default class SessionProvider {\n private currentSessionID!: number;\n private hotelID!: string;\n private cachedSession: Partial<RoomstaySession> = {};\n\n private syncSession = async () => {\n try {\n const currentSession = await this.getSession();\n const cachedSession = this.cachedSession;\n this.cachedSession = {};\n await this.saveSession({\n ...currentSession,\n ...cachedSession,\n });\n } catch (error) {\n console.error('Failed to sync session:', error);\n }\n };\n\n private debouncedUpdateSession = debounce(async () => {\n await this.syncSession();\n }, 300);\n\n private async updateSessionWithAsync() {\n await delay(300); // 300 milliseconds delay -- Why is a delay necessary?\n await this.syncSession();\n }\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 as number, source as string);\n\n if (foundSession) {\n this.currentSessionID = foundSession;\n\n // Never read?\n const storage = new StorageProvider(sessionStorage);\n await storage.write('currentSession', this.currentSessionID);\n }\n }\n\n /**\n * @returns the current session ID\n */\n public getCurrentSessionID(): number {\n return this.currentSessionID;\n }\n\n public getSession(): RoomstaySession {\n const storage = new StorageProvider();\n\n const sessionFromStorage = 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 StorageProvider();\n\n const serializedSession = this.serializeSession(changedSession);\n\n await storage.write(this.getSessionKey(serializedSession.id), serializedSession);\n }\n\n public async updateSession(partialSession: Partial<RoomstaySession>) {\n Object.assign(this.cachedSession, partialSession);\n this.debouncedUpdateSession();\n }\n\n public async updateSessionAsync(partialSession: Partial<RoomstaySession>) {\n Object.assign(this.cachedSession, partialSession);\n await this.updateSessionWithAsync();\n }\n\n public async deleteSession() {\n const storage = new StorageProvider();\n storage.delete(this.getSessionKey());\n }\n\n public async getAllSessions() {\n const storage = new StorageProvider();\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 /**\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)) as RoomstaySession;\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 | undefined> {\n const storage = new StorageProvider();\n const session = await storage.read<SerializedRoomstaySession>(this.getSessionKey(sessionID));\n\n if (session) {\n return this.unSerializeSession(session);\n }\n }\n\n private generateNewSession(source: string): 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 infants: unSerializeBasketRow.getInfants(),\n promoCode: unSerializeBasketRow.getPromoCode(),\n promoCodeStatus: unSerializeBasketRow.getPromoCodeStatus(),\n rate: serializedRate as IRoomRate,\n room: serializedRoom as IRoom,\n });\n });\n\n return {\n id: session.id,\n startDate: session.startDate?.format(SERIALIZED_DATE_FORMAT) as string,\n endDate: session.endDate?.format(SERIALIZED_DATE_FORMAT) as string,\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n user: JSON.stringify(session.user),\n memberId: session.memberId,\n reservation: session.reservation,\n reservationRequest: session.reservationRequest,\n };\n }\n\n private unSerializeSession(session: SerializedRoomstaySession): RoomstaySession {\n const basketRows: BasketRow[] = [];\n let startDate: dayjs.Dayjs | null = null;\n let endDate: dayjs.Dayjs | null = null;\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, 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 basketRow.setInfants(serializedBasketRow.infants);\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 user: session.user ? (JSON.parse(session.user) as SignInUser) : undefined,\n memberId: session.memberId,\n reservation: session.reservation,\n reservationRequest: session.reservationRequest,\n };\n }\n\n private getSessionKey(sessionId?: number): string {\n return `session-${sessionId ?? this.currentSessionID}`;\n }\n}\n"]}
@@ -10,6 +10,6 @@ export declare class StorageProvider {
10
10
  readAll: <T>(keys: string[]) => Promise<T[]>;
11
11
  write(key: string, value: any): Promise<void>;
12
12
  delete: (key: string) => void;
13
- getAllKeys: (filter?: ((match: string) => boolean) | undefined) => string[];
13
+ getAllKeys: (filter?: (match: string) => boolean) => string[];
14
14
  private prefixKey;
15
15
  }
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -1 +1 @@
1
- {"version":3,"file":"StorageProvider.js","sourceRoot":"/","sources":["src/providers/storage/StorageProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAE1C,MAAa,eAAe;IASxB,YAAmB,aAAuB;QARzB,iBAAY,GAAG,UAAU,CAAC;QAiCpC,YAAO,GAAG,CAAU,IAAc,EAAgB,EAAE;YACvD,MAAM,OAAO,GAAQ,EAAE,CAAC;YAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAO,GAAG,EAAE,EAAE;gBACpC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;oBACzC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,CAAC,CAAC;iBAClD;gBAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAI,GAAG,CAAC,CAAC;gBAEzC,IAAI,QAAQ,EAAE;oBACV,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC1B;YACL,CAAC,CAAA,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE5B,OAAO,OAAO,CAAC;QACnB,CAAC,CAAA,CAAC;QAUK,WAAM,GAAG,CAAC,GAAW,EAAE,EAAE;YAC5B,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC;QAEK,eAAU,GAAG,CAAC,MAAmC,EAAY,EAAE;YAClE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtI,CAAC,CAAC;QAEM,cAAS,GAAG,CAAC,GAAW,EAAE,EAAE;YAChC,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,EAAE,CAAC;QACzC,CAAC,CAAC;QA9DE,IAAI,CAAC,aAAa,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IACvE,CAAC;IAEM,IAAI,CAAI,GAAW;QACtB,IAAI,WAAmB,CAAC;QAExB,IAAI;YACA,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAW,CAAC;SAC3E;QAAC,OAAO,EAAE,EAAE;YACT,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;SACf;QAED,IAAI,WAAW,EAAE;YACb,IAAI;gBACA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aAClC;YAAC,OAAO,EAAE,EAAE;gBACT,OAAO,IAAI,CAAC;aACf;SACJ;aAAM;YACH,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAsBY,KAAK,CAAC,GAAW,EAAE,KAAU;;YACtC,IAAI;gBACA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aAC1E;YAAC,OAAO,EAAE,EAAE;gBACT,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;aAC/B;QACL,CAAC;KAAA;CAaJ;AAzED,0CAyEC","sourcesContent":["import * as Sentry from '@sentry/browser';\n\nexport class 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 this.storageMethod = !storageMethod ? localStorage : storageMethod;\n }\n\n public read<T>(key: string): T | null | undefined {\n let fromStorage: string;\n\n try {\n fromStorage = this.storageMethod.getItem(this.prefixKey(key)) as string;\n } catch (ex) {\n Sentry.captureException(ex);\n return null;\n }\n\n if (fromStorage) {\n try {\n return JSON.parse(fromStorage);\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 try {\n this.storageMethod.setItem(this.prefixKey(key), JSON.stringify(value));\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(this.enginePrefix) && ((filter && filter(key)) || !filter));\n };\n\n private prefixKey = (key: string) => {\n return `${this.enginePrefix}-${key}`;\n };\n}\n"]}
1
+ {"version":3,"file":"StorageProvider.js","sourceRoot":"/","sources":["src/providers/storage/StorageProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import * as Sentry from '@sentry/browser';\n\nexport class 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 this.storageMethod = !storageMethod ? localStorage : storageMethod;\n }\n\n public read<T>(key: string): T | null | undefined {\n let fromStorage: string;\n\n try {\n fromStorage = this.storageMethod.getItem(this.prefixKey(key)) as string;\n } catch (ex) {\n Sentry.captureException(ex);\n return null;\n }\n\n if (fromStorage) {\n try {\n return JSON.parse(fromStorage);\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 try {\n this.storageMethod.setItem(this.prefixKey(key), JSON.stringify(value));\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(this.enginePrefix) && ((filter && filter(key)) || !filter));\n };\n\n private prefixKey = (key: string) => {\n return `${this.enginePrefix}-${key}`;\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"BasketReducer.js","sourceRoot":"/","sources":["src/reducers/BasketReducer.ts"],"names":[],"mappings":"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","sourcesContent":["import { AddToCartEvent } from '@frontend/events';\nimport dayjs from 'dayjs';\n\nimport { RemoveFromCartEvent } from '@/events/actions/RemoveFromCartEvent';\nimport RoomstayEventManager from '@/events/RoomstayEventManager';\nimport BasketRow from '@/models/BasketRow';\nimport { RoomRate } from '@/models/Room/RoomRate';\n\nexport type BasketReducerType = {\n method: 'Add' | 'Remove' | 'Update' | 'Clear' | 'AddRate' | 'Init';\n row?: BasketRow;\n rate?: RoomRate;\n rows?: BasketRow[];\n};\n\nexport const BasketReducer = (rows: BasketRow[], action: BasketReducerType): BasketRow[] => {\n const checkAndSetRowDates = (row: BasketRow) => {\n if (!row.getStartDate()) {\n row.setStartDate(dayjs('now'));\n }\n\n if (!row.getEndDate()) {\n row.setEndDate(dayjs('now').add(1, 'day'));\n }\n };\n\n switch (action.method) {\n case 'Add':\n if (action.row) {\n const { row } = action;\n\n checkAndSetRowDates(row);\n\n return [...rows, row];\n }\n return rows;\n case 'AddRate':\n if (action.row && action.rate) {\n const { row } = action;\n\n checkAndSetRowDates(row);\n\n row.setRate(action.rate);\n\n let hasRowIncluded = false;\n // Let us loop through all of our rows and see if it's in array\n // if target row isn't included, we'll add it to the end.\n const newRows = rows.map((mappedRow) => {\n if (mappedRow.getID() === action.row?.getID()) {\n hasRowIncluded = true;\n return action.row;\n } else {\n return mappedRow;\n }\n });\n\n if (!hasRowIncluded) {\n newRows.push(row);\n }\n\n // Reason we raise this event here, and not in the reducer for example is\n // this is the only sure way we can trust a room is being added to the cart\n const addToCartEvent = new AddToCartEvent(row, newRows);\n RoomstayEventManager.raise(addToCartEvent);\n\n return [...newRows];\n }\n\n return rows;\n case 'Remove':\n if (action.row) {\n const newRows = rows.filter((item) => item.getID() !== action.row?.getID());\n\n const removeFromCartEvent = new RemoveFromCartEvent(action.row, newRows);\n RoomstayEventManager.raise(removeFromCartEvent);\n\n return newRows;\n }\n\n return rows;\n case 'Clear':\n return [];\n case 'Update':\n if (action.row) {\n return rows.map((row) => {\n if (row.getID() === (action.row as BasketRow).getID()) {\n return action.row as BasketRow;\n } else {\n return row;\n }\n });\n }\n\n return rows;\n case 'Init': {\n if (action.rows?.length) {\n action.rows.forEach((row) => checkAndSetRowDates(row));\n }\n return action.rows || [];\n }\n }\n};\n"]}
1
+ {"version":3,"file":"BasketReducer.js","sourceRoot":"/","sources":["src/reducers/BasketReducer.ts"],"names":[],"mappings":"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","sourcesContent":["import { AddToCartEvent } from '@frontend/events';\nimport dayjs from 'dayjs';\n\nimport { RemoveFromCartEvent } from '@/events/actions/RemoveFromCartEvent';\nimport RoomstayEventManager from '@/events/RoomstayEventManager';\nimport BasketRow from '@/models/BasketRow';\nimport { RoomRate } from '@/models/Room/RoomRate';\n\nexport type BasketReducerType = {\n method: 'Add' | 'Remove' | 'Update' | 'Clear' | 'AddRate' | 'Init';\n row?: BasketRow;\n rate?: RoomRate;\n rows?: BasketRow[];\n};\n\nexport const BasketReducer = (rows: BasketRow[], action: BasketReducerType): BasketRow[] => {\n const checkAndSetRowDates = (row: BasketRow) => {\n if (!row.getStartDate()) {\n row.setStartDate(dayjs('now'));\n }\n\n if (!row.getEndDate()) {\n row.setEndDate(dayjs('now').add(1, 'day'));\n }\n };\n\n switch (action.method) {\n case 'Add':\n if (action.row) {\n const { row } = action;\n\n checkAndSetRowDates(row);\n\n return [...rows, row];\n }\n return rows;\n case 'AddRate':\n if (action.row && action.rate) {\n const { row } = action;\n\n checkAndSetRowDates(row);\n\n row.setRate(action.rate);\n\n let hasRowIncluded = false;\n // Let us loop through all of our rows and see if it's in array\n // if target row isn't included, we'll add it to the end.\n const newRows = rows.map((mappedRow) => {\n if (mappedRow.getID() === action.row?.getID()) {\n hasRowIncluded = true;\n return action.row;\n } else {\n return mappedRow;\n }\n });\n\n if (!hasRowIncluded) {\n newRows.push(row);\n }\n\n // Reason we raise this event here, and not in the reducer for example is\n // this is the only sure way we can trust a room is being added to the cart\n const addToCartEvent = new AddToCartEvent(row, newRows);\n RoomstayEventManager.raise(addToCartEvent);\n\n return [...newRows];\n }\n\n return rows;\n case 'Remove':\n if (action.row) {\n const newRows = rows.filter((item) => item.getID() !== action.row?.getID());\n\n const removeFromCartEvent = new RemoveFromCartEvent(action.row, newRows);\n RoomstayEventManager.raise(removeFromCartEvent);\n\n return newRows;\n }\n\n return rows;\n case 'Clear':\n return [];\n case 'Update':\n if (action.row) {\n return rows.map((row) => {\n if (row.getID() === (action.row as BasketRow).getID()) {\n return action.row as BasketRow;\n } else {\n return row;\n }\n });\n }\n\n return rows;\n case 'Init': {\n if (action.rows?.length) {\n action.rows.forEach((row) => checkAndSetRowDates(row));\n }\n return action.rows || [];\n }\n }\n};\n"]}
@@ -1,6 +1,7 @@
1
+ import React from 'react';
1
2
  import Step from '../pages/steps/Step';
2
3
  export interface StepRouteProps {
3
4
  step: Step;
4
5
  }
5
- declare const StepRoute: (props: StepRouteProps) => JSX.Element;
6
+ declare const StepRoute: (props: StepRouteProps) => React.JSX.Element;
6
7
  export default StepRoute;
@@ -1,10 +1,10 @@
1
1
  import { ComponentMeta, ComponentStory } from '@storybook/react';
2
2
  import React from 'react';
3
- import { BookingWizardProps } from '../components/generic/BookingWizard/BookingWizard';
4
- declare const _default: ComponentMeta<React.FC<BookingWizardProps>>;
3
+ import BookingWizard, { BookingWizardProps } from '../components/generic/BookingWizard/BookingWizard';
4
+ declare const _default: ComponentMeta<typeof BookingWizard>;
5
5
  export default _default;
6
6
  export declare const Horizontal: ComponentStory<React.FC<BookingWizardProps>>;
7
7
  export declare const Vertical: ComponentStory<React.FC<BookingWizardProps>>;
8
8
  export declare const Button: ComponentStory<React.FC<BookingWizardProps>>;
9
- export declare const FixedCompany: ({ properties, ...props }: BookingWizardProps) => JSX.Element;
9
+ export declare const FixedCompany: ({ properties, ...props }: BookingWizardProps) => React.JSX.Element;
10
10
  export declare const ThemeMini: ComponentStory<React.FC<BookingWizardProps>>;
@@ -1,11 +1,9 @@
1
1
  import { ComponentMeta, ComponentStory } from '@storybook/react';
2
2
  import React from 'react';
3
- declare const _default: ComponentMeta<React.FC<{
4
- title?: React.ReactNode;
5
- className?: string | undefined;
6
- }>>;
3
+ import { Card } from '../components/generic/Card/Card/Card';
4
+ declare const _default: ComponentMeta<typeof Card>;
7
5
  export default _default;
8
6
  export declare const Default: ComponentStory<React.FC<{
9
7
  title?: React.ReactNode;
10
- className?: string | undefined;
8
+ className?: string;
11
9
  }>>;