@roomstay/frontend 2.6.88 → 2.6.89-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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/380.bundle.js +1 -0
  6. package/dist/430.bundle.js +1 -1
  7. package/dist/449.bundle.js +1 -1
  8. package/dist/456.bundle.js +1 -0
  9. package/dist/537.bundle.js +1 -1
  10. package/dist/686.bundle.js +1 -1
  11. package/dist/873.bundle.js +1 -1
  12. package/dist/972.bundle.js +1 -1
  13. package/dist/978.bundle.js +1 -1
  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 +9 -8
  25. package/dist/e2e/helpers/checkoutHelpers.js.map +1 -1
  26. package/dist/e2e/helpers/playwrightHelpers.js +2 -1
  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 +8 -18
  33. package/dist/src/animations/AutoAutoHeight.js.map +1 -1
  34. package/dist/src/animations/Fade.js +7 -17
  35. package/dist/src/animations/Fade.js.map +1 -1
  36. package/dist/src/api/AddonAPI.js +7 -17
  37. package/dist/src/api/AddonAPI.js.map +1 -1
  38. package/dist/src/api/AvailabilityAPI.d.ts +6 -28
  39. package/dist/src/api/AvailabilityAPI.js +106 -214
  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 +7 -17
  48. package/dist/src/api/MemberAPI.js.map +1 -1
  49. package/dist/src/api/ReservationAPI.d.ts +3 -2
  50. package/dist/src/api/ReservationAPI.js +10 -21
  51. package/dist/src/api/ReservationAPI.js.map +1 -1
  52. package/dist/src/api/SessionAPI.js +7 -17
  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 +7 -17
  58. package/dist/src/components/Event/EventCarouselContainer.js.map +1 -1
  59. package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +1 -2
  60. package/dist/src/components/User/Forms/ForgotPasswordForm.js +7 -17
  61. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  62. package/dist/src/components/User/Forms/SignInForm.js +7 -17
  63. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  64. package/dist/src/components/User/Forms/SignUpForm.d.ts +1 -2
  65. package/dist/src/components/User/Forms/SignUpForm.js +7 -17
  66. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  67. package/dist/src/components/User/Forms/VerifyEmailForm.d.ts +1 -2
  68. package/dist/src/components/User/Forms/VerifyEmailForm.js +7 -17
  69. package/dist/src/components/User/Forms/VerifyEmailForm.js.map +1 -1
  70. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js +7 -17
  71. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js.map +1 -1
  72. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.d.ts +1 -2
  73. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js +7 -17
  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 +1 -2
  79. package/dist/src/components/generic/BEButton.js +9 -20
  80. package/dist/src/components/generic/BEButton.js.map +1 -1
  81. package/dist/src/components/generic/BackButton.d.ts +1 -2
  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 +9 -18
  85. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  86. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +2 -1
  87. package/dist/src/components/generic/BookingWizard/BookingWizard.js +46 -28
  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 +7 -5
  91. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +43 -21
  92. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  93. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +9 -0
  94. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
  95. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +2 -1
  96. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +9 -19
  97. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  98. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +2 -5
  99. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +10 -20
  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 +11 -21
  103. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  104. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js +7 -17
  105. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js.map +1 -1
  106. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.d.ts +15 -0
  107. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js +135 -0
  108. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js.map +1 -0
  109. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +2 -2
  110. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +7 -17
  111. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
  112. package/dist/src/components/generic/Checkbox/Checkbox.js +7 -17
  113. package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
  114. package/dist/src/components/generic/Countdown.d.ts +1 -2
  115. package/dist/src/components/generic/Countdown.js +8 -18
  116. package/dist/src/components/generic/Countdown.js.map +1 -1
  117. package/dist/src/components/generic/Currency.d.ts +1 -2
  118. package/dist/src/components/generic/Currency.js +8 -18
  119. package/dist/src/components/generic/Currency.js.map +1 -1
  120. package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +1 -2
  121. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +8 -18
  122. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
  123. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +1 -2
  124. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +9 -19
  125. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -1
  126. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +1 -2
  127. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +8 -18
  128. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -1
  129. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +1 -2
  130. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +8 -18
  131. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -1
  132. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +7 -17
  133. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
  134. package/dist/src/components/generic/Distance.d.ts +1 -2
  135. package/dist/src/components/generic/Distance.js +8 -18
  136. package/dist/src/components/generic/Distance.js.map +1 -1
  137. package/dist/src/components/generic/Event/EventCard.js +7 -17
  138. package/dist/src/components/generic/Event/EventCard.js.map +1 -1
  139. package/dist/src/components/generic/Event/EventCarousel.js +7 -17
  140. package/dist/src/components/generic/Event/EventCarousel.js.map +1 -1
  141. package/dist/src/components/generic/ForwardedSelect.js +7 -17
  142. package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
  143. package/dist/src/components/generic/GroupedCheckInOutTimes/GroupedCheckInOutTimes.js.map +1 -1
  144. package/dist/src/components/generic/Headline.d.ts +1 -1
  145. package/dist/src/components/generic/Headline.js +1 -1
  146. package/dist/src/components/generic/Headline.js.map +1 -1
  147. package/dist/src/components/generic/HtmlContentViewer.d.ts +1 -2
  148. package/dist/src/components/generic/HtmlContentViewer.js +7 -17
  149. package/dist/src/components/generic/HtmlContentViewer.js.map +1 -1
  150. package/dist/src/components/generic/IconText/IconText.js +9 -19
  151. package/dist/src/components/generic/IconText/IconText.js.map +1 -1
  152. package/dist/src/components/generic/InputGroup/InputGroup.d.ts +2 -2
  153. package/dist/src/components/generic/InputGroup/InputGroup.js +1 -1
  154. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  155. package/dist/src/components/generic/LineBreak.d.ts +1 -2
  156. package/dist/src/components/generic/LineBreak.js +1 -1
  157. package/dist/src/components/generic/LineBreak.js.map +1 -1
  158. package/dist/src/components/generic/Notification.d.ts +1 -1
  159. package/dist/src/components/generic/Notification.js +8 -18
  160. package/dist/src/components/generic/Notification.js.map +1 -1
  161. package/dist/src/components/generic/NumberIncrement.d.ts +1 -2
  162. package/dist/src/components/generic/NumberIncrement.js +8 -18
  163. package/dist/src/components/generic/NumberIncrement.js.map +1 -1
  164. package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -2
  165. package/dist/src/components/generic/Overlay/Overlay.js +7 -17
  166. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  167. package/dist/src/components/generic/PageTitle/index.d.ts +1 -2
  168. package/dist/src/components/generic/PageTitle/index.js.map +1 -1
  169. package/dist/src/components/generic/PasswordBox/PasswordBox.js +7 -17
  170. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  171. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +9 -19
  172. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -1
  173. package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +1 -2
  174. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +7 -17
  175. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  176. package/dist/src/components/generic/Pill.d.ts +1 -1
  177. package/dist/src/components/generic/Pill.js +3 -3
  178. package/dist/src/components/generic/Pill.js.map +1 -1
  179. package/dist/src/components/generic/Placeholder.d.ts +1 -2
  180. package/dist/src/components/generic/Placeholder.js +1 -1
  181. package/dist/src/components/generic/Placeholder.js.map +1 -1
  182. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js +7 -17
  183. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js.map +1 -1
  184. package/dist/src/components/generic/PromoCodeInput.d.ts +1 -4
  185. package/dist/src/components/generic/PromoCodeInput.js +12 -20
  186. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  187. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +7 -17
  188. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  189. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +7 -17
  190. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  191. package/dist/src/components/generic/RecentSearchesCard.d.ts +1 -2
  192. package/dist/src/components/generic/RecentSearchesCard.js +7 -17
  193. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  194. package/dist/src/components/generic/RoomstayMark.d.ts +1 -2
  195. package/dist/src/components/generic/RoomstayMark.js +7 -17
  196. package/dist/src/components/generic/RoomstayMark.js.map +1 -1
  197. package/dist/src/components/generic/ScrollToTop.js.map +1 -1
  198. package/dist/src/components/generic/Select/InputSelect.js +8 -18
  199. package/dist/src/components/generic/Select/InputSelect.js.map +1 -1
  200. package/dist/src/components/generic/Select/Select.d.ts +2 -2
  201. package/dist/src/components/generic/Select/Select.js +7 -17
  202. package/dist/src/components/generic/Select/Select.js.map +1 -1
  203. package/dist/src/components/generic/Slider/Slider.d.ts +1 -1
  204. package/dist/src/components/generic/Slider/Slider.js +7 -17
  205. package/dist/src/components/generic/Slider/Slider.js.map +1 -1
  206. package/dist/src/components/generic/Tabs/ElementChildren.js +3 -2
  207. package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
  208. package/dist/src/components/generic/Tabs/TabContext.js +7 -17
  209. package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
  210. package/dist/src/components/generic/Tabs/TabLink.js +7 -17
  211. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  212. package/dist/src/components/generic/Tabs/TabRouteContainer.d.ts +2 -2
  213. package/dist/src/components/generic/Tabs/TabRouteContainer.js +9 -18
  214. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
  215. package/dist/src/components/generic/Text.d.ts +1 -0
  216. package/dist/src/components/generic/Text.js +12 -20
  217. package/dist/src/components/generic/Text.js.map +1 -1
  218. package/dist/src/components/generic/TextArea.js +7 -17
  219. package/dist/src/components/generic/TextArea.js.map +1 -1
  220. package/dist/src/components/generic/TextBox.js +7 -17
  221. package/dist/src/components/generic/TextBox.js.map +1 -1
  222. package/dist/src/components/generic/Tooltip/Tooltip.d.ts +2 -2
  223. package/dist/src/components/generic/Tooltip/Tooltip.js +8 -18
  224. package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
  225. package/dist/src/components/generic/badging/SSLSecureBadge.d.ts +1 -2
  226. package/dist/src/components/generic/badging/SSLSecureBadge.js +1 -1
  227. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  228. package/dist/src/components/generic/buttons/NextStepButton.d.ts +1 -2
  229. package/dist/src/components/generic/buttons/NextStepButton.js +8 -18
  230. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  231. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +7 -18
  232. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  233. package/dist/src/components/generic/date/DatePicker.d.ts +2 -3
  234. package/dist/src/components/generic/date/DatePicker.js +9 -19
  235. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  236. package/dist/src/components/generic/date/DatePickerDay.d.ts +1 -2
  237. package/dist/src/components/generic/date/DatePickerDay.js +9 -19
  238. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  239. package/dist/src/components/generic/date/DatePickerDays.d.ts +1 -2
  240. package/dist/src/components/generic/date/DatePickerDays.js +8 -18
  241. package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
  242. package/dist/src/components/generic/date/DatePickerMonth.d.ts +1 -2
  243. package/dist/src/components/generic/date/DatePickerMonth.js +8 -18
  244. package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
  245. package/dist/src/components/generic/date/DatePickerWeek.d.ts +1 -2
  246. package/dist/src/components/generic/date/DatePickerWeek.js +11 -21
  247. package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
  248. package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
  249. package/dist/src/components/generic/date/FloatingDatePicker.js +9 -19
  250. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  251. package/dist/src/components/generic/date/WeekViewSkeleton.d.ts +1 -2
  252. package/dist/src/components/generic/date/WeekViewSkeleton.js +7 -17
  253. package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
  254. package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
  255. package/dist/src/components/generic/loader/ImageLoader.js +8 -18
  256. package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
  257. package/dist/src/components/generic/loader/LargeLoader.d.ts +1 -2
  258. package/dist/src/components/generic/loader/LargeLoader.js +1 -1
  259. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  260. package/dist/src/components/generic/loader/OverlayLoader.d.ts +1 -2
  261. package/dist/src/components/generic/loader/SmallSpinner.d.ts +1 -2
  262. package/dist/src/components/generic/loader/SmallSpinner.js +8 -18
  263. package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
  264. package/dist/src/components/generic/map/HotelLocationMap.d.ts +1 -2
  265. package/dist/src/components/generic/map/HotelLocationMap.js +1 -1
  266. package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
  267. package/dist/src/components/generic/modal/ConfirmationModal.d.ts +1 -2
  268. package/dist/src/components/generic/modal/ConfirmationModal.js +8 -18
  269. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  270. package/dist/src/components/generic/modal/ErrorModal.d.ts +1 -1
  271. package/dist/src/components/generic/modal/ErrorModal.js +8 -18
  272. package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
  273. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +7 -17
  274. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  275. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +7 -17
  276. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -1
  277. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +1 -2
  278. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +8 -18
  279. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  280. package/dist/src/components/generic/modal/SimpleModal.d.ts +1 -1
  281. package/dist/src/components/generic/modal/SimpleModal.js +9 -19
  282. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  283. package/dist/src/components/generic/modal/TabbedModal.d.ts +1 -1
  284. package/dist/src/components/generic/modal/TabbedModal.js +8 -18
  285. package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
  286. package/dist/src/components/generic/radio/RadioFields.d.ts +1 -2
  287. package/dist/src/components/generic/radio/RadioFields.js +8 -18
  288. package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
  289. package/dist/src/components/graphics/TravelerNotfound.d.ts +1 -2
  290. package/dist/src/components/graphics/TravelerNotfound.js +1 -1
  291. package/dist/src/components/graphics/TravelerNotfound.js.map +1 -1
  292. package/dist/src/components/iconComponents/BookNowPayLaterIcon.d.ts +1 -2
  293. package/dist/src/components/members/EditMyProfile.js +7 -17
  294. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  295. package/dist/src/components/members/InlineSignUpSection.d.ts +2 -3
  296. package/dist/src/components/members/InlineSignUpSection.js +7 -17
  297. package/dist/src/components/members/InlineSignUpSection.js.map +1 -1
  298. package/dist/src/components/members/SignInModal/ExternalMemberModal.d.ts +1 -2
  299. package/dist/src/components/members/SignInModal/ExternalMemberModal.js +7 -17
  300. package/dist/src/components/members/SignInModal/ExternalMemberModal.js.map +1 -1
  301. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.d.ts +1 -2
  302. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js +9 -19
  303. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js.map +1 -1
  304. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.d.ts +1 -2
  305. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js +8 -18
  306. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js.map +1 -1
  307. package/dist/src/components/members/SignInModal/MemberSignInModal.d.ts +1 -2
  308. package/dist/src/components/members/SignInModal/MemberSignInModal.js +7 -17
  309. package/dist/src/components/members/SignInModal/MemberSignInModal.js.map +1 -1
  310. package/dist/src/components/navigation/Header.d.ts +1 -2
  311. package/dist/src/components/navigation/Header.js +8 -22
  312. package/dist/src/components/navigation/Header.js.map +1 -1
  313. package/dist/src/components/navigation/StepSelector.d.ts +1 -2
  314. package/dist/src/components/navigation/StepSelector.js +8 -18
  315. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  316. package/dist/src/components/navigation/StepSelectorModal.d.ts +1 -2
  317. package/dist/src/components/navigation/StepSelectorModal.js +8 -18
  318. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  319. package/dist/src/components/pages/Account/Card/MemberCardItem.d.ts +1 -2
  320. package/dist/src/components/pages/Account/Card/MemberCardItem.js +7 -17
  321. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  322. package/dist/src/components/pages/PageColorComponent.d.ts +1 -2
  323. package/dist/src/components/pages/PageColorComponent.js +7 -17
  324. package/dist/src/components/pages/PageColorComponent.js.map +1 -1
  325. package/dist/src/components/reservation/EmptyReservation.js +7 -17
  326. package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
  327. package/dist/src/components/reservation/ReservationItem.d.ts +1 -3
  328. package/dist/src/components/reservation/ReservationItem.js +10 -20
  329. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  330. package/dist/src/components/reservation/ReservationList.d.ts +0 -1
  331. package/dist/src/components/reservation/ReservationList.js +2 -2
  332. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  333. package/dist/src/components/steps/DaysSelectedInformer.d.ts +1 -2
  334. package/dist/src/components/steps/DaysSelectedInformer.js +8 -18
  335. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  336. package/dist/src/components/steps/MinimumNightStayPill.d.ts +1 -2
  337. package/dist/src/components/steps/MinimumNightStayPill.js +8 -18
  338. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  339. package/dist/src/components/steps/addons/AddonCard.d.ts +1 -2
  340. package/dist/src/components/steps/addons/AddonCard.js +8 -26
  341. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  342. package/dist/src/components/steps/addons/AddonList.d.ts +1 -2
  343. package/dist/src/components/steps/addons/AddonList.js +7 -17
  344. package/dist/src/components/steps/addons/AddonList.js.map +1 -1
  345. package/dist/src/components/steps/addons/AddonsNotFoundBlock.d.ts +1 -2
  346. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js +1 -1
  347. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js.map +1 -1
  348. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +2 -3
  349. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +10 -20
  350. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
  351. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.d.ts +1 -2
  352. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js +7 -17
  353. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js.map +1 -1
  354. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.d.ts +2 -3
  355. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js +7 -17
  356. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js.map +1 -1
  357. package/dist/src/components/steps/confirmation/AccountDetails.d.ts +1 -2
  358. package/dist/src/components/steps/confirmation/AccountDetails.js +8 -18
  359. package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
  360. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js +7 -17
  361. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js.map +1 -1
  362. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js +7 -17
  363. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js.map +1 -1
  364. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  365. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.d.ts +1 -2
  366. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +7 -17
  367. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  368. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +7 -17
  369. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  370. package/dist/src/components/steps/confirmation/PaymentInformation.d.ts +1 -2
  371. package/dist/src/components/steps/confirmation/PaymentInformation.js +7 -17
  372. package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -1
  373. package/dist/src/components/steps/confirmation/PlanpayLabel.d.ts +1 -2
  374. package/dist/src/components/steps/confirmation/PlanpayLabel.js +7 -17
  375. package/dist/src/components/steps/confirmation/PlanpayLabel.js.map +1 -1
  376. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +7 -17
  377. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
  378. package/dist/src/components/steps/confirmation/RoomContactDetails.js +11 -18
  379. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  380. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.d.ts +1 -2
  381. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +19 -28
  382. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  383. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +1 -2
  384. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +8 -18
  385. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  386. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +1 -2
  387. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +2 -2
  388. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
  389. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +7 -17
  390. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  391. package/dist/src/components/steps/confirmation/StepConfirmationForm.d.ts +1 -2
  392. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +8 -18
  393. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  394. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.d.ts +1 -2
  395. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +1 -1
  396. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
  397. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +1 -2
  398. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +8 -18
  399. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  400. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.d.ts +1 -2
  401. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +8 -18
  402. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
  403. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.d.ts +1 -2
  404. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +14 -25
  405. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  406. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.d.ts +1 -2
  407. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js +13 -26
  408. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js.map +1 -1
  409. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.d.ts +1 -5
  410. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js +13 -35
  411. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js.map +1 -1
  412. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.d.ts +1 -2
  413. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +8 -18
  414. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  415. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +1 -2
  416. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +8 -18
  417. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  418. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +1 -2
  419. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +9 -19
  420. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
  421. package/dist/src/components/steps/date/OccupancyWarningBlock.d.ts +1 -2
  422. package/dist/src/components/steps/date/OccupancyWarningBlock.js +1 -1
  423. package/dist/src/components/steps/date/OccupancyWarningBlock.js.map +1 -1
  424. package/dist/src/components/steps/date/PeoplePicker.d.ts +1 -2
  425. package/dist/src/components/steps/date/PeoplePicker.js +10 -20
  426. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  427. package/dist/src/components/steps/date/PeoplePickerRow.d.ts +1 -2
  428. package/dist/src/components/steps/date/PeoplePickerRow.js +9 -19
  429. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  430. package/dist/src/components/steps/date/StepDatePricePerRoom.d.ts +1 -2
  431. package/dist/src/components/steps/date/StepDatePricePerRoom.js +8 -18
  432. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  433. package/dist/src/components/steps/date/StepOneDateRange.d.ts +1 -2
  434. package/dist/src/components/steps/date/StepOneDateRange.js +8 -18
  435. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  436. package/dist/src/components/steps/date/StepOneDateRangePicker.d.ts +1 -2
  437. package/dist/src/components/steps/date/StepOneDateRangePicker.js +8 -18
  438. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  439. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.d.ts +1 -2
  440. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +8 -18
  441. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
  442. package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +1 -2
  443. package/dist/src/components/steps/date/StepOneNextStepButton.js +8 -18
  444. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  445. package/dist/src/components/steps/date/StepOneStatusPeople.d.ts +1 -2
  446. package/dist/src/components/steps/date/StepOneStatusPeople.js +8 -18
  447. package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
  448. package/dist/src/components/steps/hotel/HotelCard.d.ts +1 -2
  449. package/dist/src/components/steps/hotel/HotelCard.js +9 -19
  450. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  451. package/dist/src/components/steps/hotel/HotelCardList.d.ts +1 -2
  452. package/dist/src/components/steps/hotel/HotelCardList.js +1 -1
  453. package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
  454. package/dist/src/components/steps/hotel/HotelCardModal.d.ts +1 -2
  455. package/dist/src/components/steps/hotel/HotelCardModal.js +7 -17
  456. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  457. package/dist/src/components/steps/hotel/HotelInfoPerksRow.d.ts +1 -2
  458. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js +8 -18
  459. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js.map +1 -1
  460. package/dist/src/components/steps/hotel/HotelSearchParameters.d.ts +1 -2
  461. package/dist/src/components/steps/hotel/HotelSearchParameters.js +20 -22
  462. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  463. package/dist/src/components/steps/hotel/NoHotelsAvailable.d.ts +1 -2
  464. package/dist/src/components/steps/hotel/NoHotelsAvailable.js +1 -1
  465. package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
  466. package/dist/src/components/steps/room/AvailableUpgradesModal.js +35 -113
  467. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  468. package/dist/src/components/steps/room/ImageGallerySlider.d.ts +1 -2
  469. package/dist/src/components/steps/room/ImageGallerySlider.js +8 -18
  470. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  471. package/dist/src/components/steps/room/InactivityWindow.d.ts +1 -2
  472. package/dist/src/components/steps/room/InactivityWindow.js +7 -17
  473. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  474. package/dist/src/components/steps/room/LargeRoomCard.d.ts +1 -2
  475. package/dist/src/components/steps/room/LargeRoomCard.js +10 -26
  476. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  477. package/dist/src/components/steps/room/NoRoomsFoundBlock.d.ts +1 -2
  478. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +8 -18
  479. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  480. package/dist/src/components/steps/room/RatesNotFoundBlock.d.ts +1 -2
  481. package/dist/src/components/steps/room/RatesNotFoundBlock.js +1 -1
  482. package/dist/src/components/steps/room/RatesNotFoundBlock.js.map +1 -1
  483. package/dist/src/components/steps/room/RoomList.d.ts +1 -2
  484. package/dist/src/components/steps/room/RoomList.js +8 -18
  485. package/dist/src/components/steps/room/RoomList.js.map +1 -1
  486. package/dist/src/components/steps/room/RoomListAlert.js +7 -17
  487. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
  488. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +8 -18
  489. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  490. package/dist/src/components/steps/room/RoomModal.d.ts +1 -2
  491. package/dist/src/components/steps/room/RoomModal.js +8 -18
  492. package/dist/src/components/steps/room/RoomModal.js.map +1 -1
  493. package/dist/src/components/steps/room/RoomModalPerkRow.d.ts +1 -2
  494. package/dist/src/components/steps/room/RoomModalPerkRow.js +8 -18
  495. package/dist/src/components/steps/room/RoomModalPerkRow.js.map +1 -1
  496. package/dist/src/components/steps/room/StepRoomAlertBlocks.d.ts +1 -2
  497. package/dist/src/components/steps/room/StepRoomAlertBlocks.js +8 -18
  498. package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
  499. package/dist/src/components/steps/room/StepRoomBestRateAlert.d.ts +1 -2
  500. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +8 -18
  501. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  502. package/dist/src/components/steps/room/StepRoomErrorForm.d.ts +1 -2
  503. package/dist/src/components/steps/room/StepRoomErrorForm.js +7 -17
  504. package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
  505. package/dist/src/components/steps/room/StepRoomHotelDetails.d.ts +1 -2
  506. package/dist/src/components/steps/room/StepRoomHotelDetails.js +8 -18
  507. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  508. package/dist/src/components/steps/room/StepRoomNextStepButton.js +8 -18
  509. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  510. package/dist/src/components/steps/room/StepRoomSortBy.d.ts +1 -2
  511. package/dist/src/components/steps/room/StepRoomSortBy.js +8 -18
  512. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  513. package/dist/src/components/steps/room/StepRoomSummaryAndButton.d.ts +1 -2
  514. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +8 -18
  515. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  516. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.d.ts +1 -2
  517. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +7 -17
  518. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
  519. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.d.ts +1 -2
  520. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js +7 -17
  521. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js.map +1 -1
  522. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.d.ts +1 -2
  523. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js +7 -17
  524. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js.map +1 -1
  525. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.d.ts +2 -3
  526. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js +8 -19
  527. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js.map +1 -1
  528. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.d.ts +1 -2
  529. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js +7 -17
  530. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js.map +1 -1
  531. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.d.ts +1 -2
  532. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js +20 -20
  533. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js.map +1 -1
  534. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.d.ts +1 -2
  535. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +7 -17
  536. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
  537. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +1 -2
  538. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +1 -1
  539. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
  540. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +1 -2
  541. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +1 -1
  542. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
  543. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.d.ts +1 -2
  544. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js +1 -1
  545. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js.map +1 -1
  546. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.d.ts +1 -2
  547. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +8 -18
  548. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  549. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +1 -2
  550. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +23 -23
  551. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  552. package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +1 -2
  553. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +8 -18
  554. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  555. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +1 -2
  556. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +9 -18
  557. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  558. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +1 -2
  559. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +9 -18
  560. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  561. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.d.ts +1 -2
  562. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +8 -18
  563. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  564. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +7 -17
  565. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  566. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +1 -2
  567. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +8 -18
  568. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
  569. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.d.ts +1 -2
  570. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +8 -18
  571. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  572. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +2 -3
  573. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +10 -20
  574. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  575. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.d.ts +1 -2
  576. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js +8 -18
  577. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js.map +1 -1
  578. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +2 -3
  579. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +15 -24
  580. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  581. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +1 -2
  582. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +9 -19
  583. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  584. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.d.ts +1 -2
  585. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +7 -17
  586. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  587. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +1 -2
  588. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +8 -18
  589. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  590. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +1 -2
  591. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +8 -18
  592. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  593. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +1 -2
  594. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +8 -18
  595. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  596. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.d.ts +1 -2
  597. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js +12 -26
  598. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js.map +1 -1
  599. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.d.ts +1 -2
  600. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +8 -18
  601. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  602. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +1 -2
  603. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +8 -18
  604. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  605. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +1 -2
  606. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +8 -18
  607. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
  608. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +1 -2
  609. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +8 -18
  610. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
  611. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +1 -2
  612. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +8 -18
  613. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  614. package/dist/src/components/summary/BEMapWidget.d.ts +2 -0
  615. package/dist/src/components/summary/BEMapWidget.js +7 -17
  616. package/dist/src/components/summary/BEMapWidget.js.map +1 -1
  617. package/dist/src/components/summary/BEMobileSummary.d.ts +1 -2
  618. package/dist/src/components/summary/BEMobileSummary.js +8 -18
  619. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  620. package/dist/src/components/summary/BEMobileSummaryModal.d.ts +1 -2
  621. package/dist/src/components/summary/BEMobileSummaryModal.js +19 -30
  622. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  623. package/dist/src/components/summary/BESummary.d.ts +1 -2
  624. package/dist/src/components/summary/BESummary.js +14 -24
  625. package/dist/src/components/summary/BESummary.js.map +1 -1
  626. package/dist/src/components/summary/BESummaryAddonRow.d.ts +1 -2
  627. package/dist/src/components/summary/BESummaryAddonRow.js +16 -30
  628. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  629. package/dist/src/components/summary/BESummaryPerkBlock.d.ts +1 -2
  630. package/dist/src/components/summary/BESummaryPerkBlock.js +9 -19
  631. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  632. package/dist/src/components/summary/BESummaryPrivacyPolicy.d.ts +1 -2
  633. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +8 -18
  634. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  635. package/dist/src/components/summary/BESummaryRoomRow.d.ts +1 -2
  636. package/dist/src/components/summary/BESummaryRoomRow.js +9 -19
  637. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  638. package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +1 -2
  639. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +8 -18
  640. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  641. package/dist/src/containers/PrivateRoute.js.map +1 -1
  642. package/dist/src/contexts/BasketContext/BasketContext.d.ts +1 -0
  643. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +4 -5
  644. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  645. package/dist/src/contexts/BasketContext/BasketContextWrapper.d.ts +1 -1
  646. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +169 -248
  647. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  648. package/dist/src/contexts/BookingEngineContext/BookingEngineContext.d.ts +1 -0
  649. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.d.ts +1 -1
  650. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +9 -18
  651. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  652. package/dist/src/contexts/CompanyContext/CompanyContext.d.ts +1 -0
  653. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.d.ts +2 -2
  654. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +14 -24
  655. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  656. package/dist/src/contexts/ConfirmationFormContext.d.ts +1 -1
  657. package/dist/src/contexts/ConfirmationFormContext.js +9 -19
  658. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  659. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.d.ts +1 -0
  660. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.d.ts +1 -2
  661. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js.map +1 -1
  662. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +25 -47
  663. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  664. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.d.ts +1 -2
  665. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js +7 -17
  666. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js.map +1 -1
  667. package/dist/src/contexts/ErrorContext.d.ts +1 -1
  668. package/dist/src/contexts/ErrorContext.js +9 -19
  669. package/dist/src/contexts/ErrorContext.js.map +1 -1
  670. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.d.ts +1 -2
  671. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js +2 -1
  672. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js.map +1 -1
  673. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.d.ts +1 -2
  674. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js +9 -18
  675. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js.map +1 -1
  676. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.d.ts +1 -0
  677. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +1 -2
  678. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +20 -25
  679. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  680. package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
  681. package/dist/src/contexts/HotelOverridesContext.js +7 -17
  682. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  683. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +2 -1
  684. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js +1 -1
  685. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
  686. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +14 -40
  687. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  688. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +1 -0
  689. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +7 -17
  690. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  691. package/dist/src/contexts/ModalContext.d.ts +1 -1
  692. package/dist/src/contexts/ModalContext.js +9 -18
  693. package/dist/src/contexts/ModalContext.js.map +1 -1
  694. package/dist/src/contexts/NotificationContext.d.ts +1 -1
  695. package/dist/src/contexts/NotificationContext.js +9 -19
  696. package/dist/src/contexts/NotificationContext.js.map +1 -1
  697. package/dist/src/engines/BaseEngine.js +1 -1
  698. package/dist/src/engines/BaseEngine.js.map +1 -1
  699. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +4 -1
  700. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  701. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +1 -2
  702. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +3 -1
  703. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  704. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +7 -17
  705. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
  706. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +1 -2
  707. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +8 -18
  708. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  709. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +19 -21
  710. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +34 -30
  711. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  712. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -1
  713. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +1 -2
  714. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +8 -18
  715. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
  716. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +1 -2
  717. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +8 -17
  718. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  719. package/dist/src/events/RoomstayEventManager.js +1 -1
  720. package/dist/src/events/RoomstayEventManager.js.map +1 -1
  721. package/dist/src/events/actions/PlacedBookingEvent.d.ts +1 -1
  722. package/dist/src/events/actions/PlacedBookingEvent.js.map +1 -1
  723. package/dist/src/events/views/CommittedBookingEvent.d.ts +1 -1
  724. package/dist/src/events/views/CommittedBookingEvent.js.map +1 -1
  725. package/dist/src/events/views/RolledBackBookingEvent.d.ts +1 -1
  726. package/dist/src/events/views/RolledBackBookingEvent.js.map +1 -1
  727. package/dist/src/handlers/BasketContextErrorHandler.d.ts +1 -1
  728. package/dist/src/handlers/BasketContextErrorHandler.js.map +1 -1
  729. package/dist/src/handlers/payment/AdyenPaymentHandler.js +7 -17
  730. package/dist/src/handlers/payment/AdyenPaymentHandler.js.map +1 -1
  731. package/dist/src/handlers/payment/PlanpayPaymentHandler.js +7 -17
  732. package/dist/src/handlers/payment/PlanpayPaymentHandler.js.map +1 -1
  733. package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js +5 -8
  734. package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js.map +1 -1
  735. package/dist/src/handlers/payment/VGSMemberPaymentHandler.js.map +1 -1
  736. package/dist/src/handlers/payment/VGSPaymentHandler.js +9 -19
  737. package/dist/src/handlers/payment/VGSPaymentHandler.js.map +1 -1
  738. package/dist/src/hooks/AutoFocusOnSelect.d.ts +2 -23
  739. package/dist/src/hooks/AutoFocusOnSelect.js +3 -3
  740. package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
  741. package/dist/src/hooks/BodyClickHook.js.map +1 -1
  742. package/dist/src/hooks/CombineState.d.ts +1 -1
  743. package/dist/src/hooks/ConfirmationQuery.d.ts +0 -4
  744. package/dist/src/hooks/ConfirmationQuery.js +3 -12
  745. package/dist/src/hooks/ConfirmationQuery.js.map +1 -1
  746. package/dist/src/hooks/Currency.js.map +1 -1
  747. package/dist/src/hooks/CurrentHotelHook.js.map +1 -1
  748. package/dist/src/hooks/ElementSortHook.js +7 -17
  749. package/dist/src/hooks/ElementSortHook.js.map +1 -1
  750. package/dist/src/hooks/HistoryConsistentPush.js +2 -1
  751. package/dist/src/hooks/HistoryConsistentPush.js.map +1 -1
  752. package/dist/src/hooks/KeyboardControlOnSelect.d.ts +2 -2
  753. package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
  754. package/dist/src/hooks/LoggedInUserHook.js.map +1 -1
  755. package/dist/src/hooks/Planpay.d.ts +1 -1
  756. package/dist/src/hooks/Query.js +3 -2
  757. package/dist/src/hooks/Query.js.map +1 -1
  758. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +1 -0
  759. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  760. package/dist/src/hooks/UpdateQueryParameters.js +2 -1
  761. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -1
  762. package/dist/src/hooks/VGSHooks.d.ts +1 -0
  763. package/dist/src/hooks/VGSHooks.js.map +1 -1
  764. package/dist/src/hooks/useCalendarNightStay.js +3 -3
  765. package/dist/src/hooks/useCalendarNightStay.js.map +1 -1
  766. package/dist/src/hooks/useNextStepAction.d.ts +1 -2
  767. package/dist/src/hooks/useNextStepAction.js +11 -21
  768. package/dist/src/hooks/useNextStepAction.js.map +1 -1
  769. package/dist/src/hooks/usePlanpayRawPrice.js.map +1 -1
  770. package/dist/src/hooks/useRateDetails.js.map +1 -1
  771. package/dist/src/hooks/useSearchScopeHook.d.ts +1 -1
  772. package/dist/src/hooks/useSearchScopeHook.js.map +1 -1
  773. package/dist/src/icons/Check.d.ts +1 -2
  774. package/dist/src/index.d.ts +1 -1
  775. package/dist/src/index.js.map +1 -1
  776. package/dist/src/mockApi/AddonAPI.js.map +1 -1
  777. package/dist/src/mockApi/MemberAPI.js +7 -17
  778. package/dist/src/mockApi/MemberAPI.js.map +1 -1
  779. package/dist/src/mockApi/MockAPI.js +5 -5
  780. package/dist/src/mockApi/MockAPI.js.map +1 -1
  781. package/dist/src/mockApi/ReservationAPI.d.ts +1 -1
  782. package/dist/src/mockApi/ReservationAPI.js +8 -18
  783. package/dist/src/mockApi/ReservationAPI.js.map +1 -1
  784. package/dist/src/models/Addon/Addon.d.ts +24 -0
  785. package/dist/src/models/Addon/Addon.js.map +1 -1
  786. package/dist/src/models/Api/HotelDTO.d.ts +2 -3
  787. package/dist/src/models/Api/HotelDTO.js +1 -1
  788. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  789. package/dist/src/models/Api/IEventReservation.d.ts +0 -5
  790. package/dist/src/models/Api/IEventReservation.js.map +1 -1
  791. package/dist/src/models/Api/ReservationsDTO.d.ts +80 -0
  792. package/dist/src/models/Api/ReservationsDTO.js +3 -0
  793. package/dist/src/models/Api/ReservationsDTO.js.map +1 -0
  794. package/dist/src/models/AppQueryParameters.js +1 -1
  795. package/dist/src/models/AppQueryParameters.js.map +1 -1
  796. package/dist/src/models/BasketAddonRow.js +5 -3
  797. package/dist/src/models/BasketAddonRow.js.map +1 -1
  798. package/dist/src/models/BasketRow.d.ts +9 -63
  799. package/dist/src/models/BasketRow.js +37 -77
  800. package/dist/src/models/BasketRow.js.map +1 -1
  801. package/dist/src/models/BookingWizard/BookingWizardTypes.d.ts +4 -0
  802. package/dist/src/models/BookingWizard/BookingWizardTypes.js.map +1 -1
  803. package/dist/src/models/Client/Hotel/Company.d.ts +0 -2
  804. package/dist/src/models/Client/Hotel/Company.js.map +1 -1
  805. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js +1 -1
  806. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js.map +1 -1
  807. package/dist/src/models/Client/Hotel/Hotel.d.ts +2 -3
  808. package/dist/src/models/Client/Hotel/Hotel.js +1 -1
  809. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  810. package/dist/src/models/Client/Hotel/HotelDataSource.types.js +1 -1
  811. package/dist/src/models/Client/Hotel/HotelDataSource.types.js.map +1 -1
  812. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js +1 -1
  813. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js.map +1 -1
  814. package/dist/src/models/Confirmation.js +2 -2
  815. package/dist/src/models/Confirmation.js.map +1 -1
  816. package/dist/src/models/CountryCodesAndNumbers.js +3 -3
  817. package/dist/src/models/CountryCodesAndNumbers.js.map +1 -1
  818. package/dist/src/models/Fee.d.ts +9 -1
  819. package/dist/src/models/Fee.js +5 -4
  820. package/dist/src/models/Fee.js.map +1 -1
  821. package/dist/src/models/PaymentCard.js +1 -1
  822. package/dist/src/models/PaymentCard.js.map +1 -1
  823. package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
  824. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  825. package/dist/src/models/Room/Room.js.map +1 -1
  826. package/dist/src/models/Room/RoomRate.d.ts +1 -12
  827. package/dist/src/models/Room/RoomRate.js +1 -29
  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 +3 -1
  832. package/dist/src/models/RoomstaySession.js.map +1 -1
  833. package/dist/src/pages/account/AccountHome/AccountHomePage.d.ts +1 -2
  834. package/dist/src/pages/account/AccountHome/AccountHomePage.js +8 -18
  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 +1 -2
  838. package/dist/src/pages/account/AccountRoutes.d.ts +0 -5
  839. package/dist/src/pages/account/AccountRoutes.js +2 -8
  840. package/dist/src/pages/account/AccountRoutes.js.map +1 -1
  841. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.d.ts +1 -2
  842. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js +7 -17
  843. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js.map +1 -1
  844. package/dist/src/pages/account/Details/AccountDetailsCardsPage.d.ts +1 -2
  845. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +7 -17
  846. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  847. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +7 -17
  848. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  849. package/dist/src/pages/account/Details/AccountDetailsProfilePage.d.ts +1 -2
  850. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +7 -17
  851. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  852. package/dist/src/pages/account/Help/AccountHelpPage.d.ts +1 -2
  853. package/dist/src/pages/account/Help/AccountHelpPage.js +7 -17
  854. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  855. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.d.ts +1 -2
  856. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +13 -38
  857. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  858. package/dist/src/pages/account/Reservations/AccountReservationsPage.d.ts +1 -2
  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 +1 -2
  862. package/dist/src/pages/findReservation/FindReservation.js +9 -19
  863. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  864. package/dist/src/pages/findReservation/FindReservationResults.d.ts +1 -2
  865. package/dist/src/pages/findReservation/FindReservationResults.js +11 -21
  866. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  867. package/dist/src/pages/findReservation/ReservationRow.d.ts +2 -3
  868. package/dist/src/pages/findReservation/ReservationRow.js +8 -18
  869. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  870. package/dist/src/pages/findReservation/ReservationRowModal.d.ts +2 -3
  871. package/dist/src/pages/findReservation/ReservationRowModal.js +8 -18
  872. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  873. package/dist/src/pages/hotel/HotelInfo.d.ts +1 -2
  874. package/dist/src/pages/hotel/HotelInfo.js +10 -20
  875. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  876. package/dist/src/pages/hotel/HotelInfoPlaceholder.d.ts +1 -2
  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 +1 -2
  882. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +8 -18
  883. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  884. package/dist/src/pages/steps/StepAddon/StepAddonLoader.d.ts +1 -2
  885. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +7 -17
  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 +1 -2
  889. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +7 -17
  890. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  891. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.d.ts +1 -2
  892. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +8 -18
  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 +1 -2
  898. package/dist/src/pages/steps/StepDate/StepDateComponent.js +7 -17
  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 +1 -2
  902. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js +7 -20
  903. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js.map +1 -1
  904. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.d.ts +1 -2
  905. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js +8 -18
  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 +8 -18
  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 +1 -2
  912. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +7 -17
  913. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  914. package/dist/src/pages/steps/StepHotel/StepHotelLoader.d.ts +1 -2
  915. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +7 -17
  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 +1 -2
  919. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +7 -17
  920. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  921. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js +7 -17
  922. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js.map +1 -1
  923. package/dist/src/pages/steps/StepRoom/StepRoomLoader.d.ts +1 -2
  924. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +8 -18
  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 +1 -2
  929. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +10 -25
  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 +1 -2
  935. package/dist/src/providers/DIProvider.js +3 -2
  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 +1 -3
  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 +8 -18
  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 +2 -0
  956. package/dist/src/providers/feature/Feature.js +4 -0
  957. package/dist/src/providers/feature/Feature.js.map +1 -1
  958. package/dist/src/providers/feature/GuestTitleFieldFeature.js.map +1 -1
  959. package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
  960. package/dist/src/providers/feature/MemberPortalFeature.js.map +1 -1
  961. package/dist/src/providers/feature/RoomUpsellFeature.d.ts +0 -10
  962. package/dist/src/providers/feature/RoomUpsellFeature.js +0 -10
  963. package/dist/src/providers/feature/RoomUpsellFeature.js.map +1 -1
  964. package/dist/src/providers/storage/SessionProvider.js +2 -0
  965. package/dist/src/providers/storage/SessionProvider.js.map +1 -1
  966. package/dist/src/providers/storage/StorageProvider.d.ts +1 -1
  967. package/dist/src/providers/storage/StorageProvider.js +7 -17
  968. package/dist/src/providers/storage/StorageProvider.js.map +1 -1
  969. package/dist/src/reducers/BasketReducer.js.map +1 -1
  970. package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +1 -2
  971. package/dist/src/stories/BookingWizard.stories.d.ts +3 -3
  972. package/dist/src/stories/Card.stories.d.ts +5 -3
  973. package/dist/src/stories/CardTypeSelect.stories.d.ts +1 -2
  974. package/dist/src/stories/Checkbox.stories.d.ts +1 -2
  975. package/dist/src/stories/ConfirmationModal.stories.d.ts +1 -2
  976. package/dist/src/stories/ConfirmationModal.stories.js +7 -17
  977. package/dist/src/stories/ConfirmationModal.stories.js.map +1 -1
  978. package/dist/src/stories/DateRangePicker.stories.d.ts +4 -5
  979. package/dist/src/stories/DateRangePicker.stories.js +7 -17
  980. package/dist/src/stories/DateRangePicker.stories.js.map +1 -1
  981. package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +1 -2
  982. package/dist/src/stories/ErrorModal.stories.d.ts +1 -2
  983. package/dist/src/stories/ErrorModal.stories.js +7 -17
  984. package/dist/src/stories/ErrorModal.stories.js.map +1 -1
  985. package/dist/src/stories/EventCarousel.stories.d.ts +3 -4
  986. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +3 -4
  987. package/dist/src/stories/FloatingDateRangePicker.stories.js +7 -17
  988. package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -1
  989. package/dist/src/stories/ForwardedSelect.stories.d.ts +1 -2
  990. package/dist/src/stories/Icon.stories.js +7 -17
  991. package/dist/src/stories/Icon.stories.js.map +1 -1
  992. package/dist/src/stories/IconNavCard.stories.d.ts +16 -7
  993. package/dist/src/stories/IconText.stories.js +7 -17
  994. package/dist/src/stories/IconText.stories.js.map +1 -1
  995. package/dist/src/stories/NumberIncrement.stories.d.ts +1 -2
  996. package/dist/src/stories/NumberIncrement.stories.js +7 -17
  997. package/dist/src/stories/NumberIncrement.stories.js.map +1 -1
  998. package/dist/src/stories/PasswordBox.stories.d.ts +1 -2
  999. package/dist/src/stories/PaymentCard.stories.d.ts +2 -4
  1000. package/dist/src/stories/PaymentCardInput.stories.d.ts +1 -2
  1001. package/dist/src/stories/PlanpayButton.stories.d.ts +1 -2
  1002. package/dist/src/stories/RadioButton.stories.d.ts +1 -2
  1003. package/dist/src/stories/RadioButtonGroup.stories.d.ts +5 -5
  1004. package/dist/src/stories/RadioButtonGroup.stories.js +7 -17
  1005. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
  1006. package/dist/src/stories/Select.stories.d.ts +6 -5
  1007. package/dist/src/stories/Select.stories.js +7 -17
  1008. package/dist/src/stories/Select.stories.js.map +1 -1
  1009. package/dist/src/stories/SimpleModal.stories.d.ts +1 -2
  1010. package/dist/src/stories/SimpleModal.stories.js +7 -17
  1011. package/dist/src/stories/SimpleModal.stories.js.map +1 -1
  1012. package/dist/src/stories/Slider.stories.d.ts +8 -4
  1013. package/dist/src/stories/Slider.stories.js +7 -17
  1014. package/dist/src/stories/Slider.stories.js.map +1 -1
  1015. package/dist/src/stories/TabbedModal.stories.d.ts +1 -2
  1016. package/dist/src/stories/TabbedModal.stories.js +7 -17
  1017. package/dist/src/stories/TabbedModal.stories.js.map +1 -1
  1018. package/dist/src/stories/Tabs.stories.d.ts +2 -3
  1019. package/dist/src/stories/Text.stories.d.ts +1 -2
  1020. package/dist/src/stories/TextArea.stories.d.ts +1 -2
  1021. package/dist/src/stories/TextBox.stories.d.ts +1 -2
  1022. package/dist/src/translations/Translation.d.ts +2 -0
  1023. package/dist/src/translations/Translation.js +4 -2
  1024. package/dist/src/translations/Translation.js.map +1 -1
  1025. package/dist/src/translations/languages/en-gb.js +2 -0
  1026. package/dist/src/translations/languages/en-gb.js.map +1 -1
  1027. package/dist/src/util/Analytics/Analytics.d.ts +10 -36
  1028. package/dist/src/util/Analytics/Analytics.js +0 -30
  1029. package/dist/src/util/Analytics/Analytics.js.map +1 -1
  1030. package/dist/src/util/Analytics/GoogleAnalytics4.d.ts +3 -10
  1031. package/dist/src/util/Analytics/GoogleAnalytics4.js +4 -21
  1032. package/dist/src/util/Analytics/GoogleAnalytics4.js.map +1 -1
  1033. package/dist/src/util/Analytics/UniversalAnalytics.d.ts +23 -5
  1034. package/dist/src/util/Analytics/UniversalAnalytics.js +5 -24
  1035. package/dist/src/util/Analytics/UniversalAnalytics.js.map +1 -1
  1036. package/dist/src/util/AsyncAuth.js +7 -17
  1037. package/dist/src/util/AsyncAuth.js.map +1 -1
  1038. package/dist/src/util/CalendarHelper.js +1 -1
  1039. package/dist/src/util/CalendarHelper.js.map +1 -1
  1040. package/dist/src/util/Color.d.ts +1 -1
  1041. package/dist/src/util/Color.js +1 -1
  1042. package/dist/src/util/Color.js.map +1 -1
  1043. package/dist/src/util/CurrencyHelper.js.map +1 -1
  1044. package/dist/src/util/DataLayer.d.ts +3 -9
  1045. package/dist/src/util/DataLayer.js +26 -61
  1046. package/dist/src/util/DataLayer.js.map +1 -1
  1047. package/dist/src/util/Debounce.js +3 -2
  1048. package/dist/src/util/Debounce.js.map +1 -1
  1049. package/dist/src/util/DefaultValueManager.js +1 -1
  1050. package/dist/src/util/DefaultValueManager.js.map +1 -1
  1051. package/dist/src/util/DerbysoftPixel.d.ts +1 -1
  1052. package/dist/src/util/DerbysoftPixel.js +2 -2
  1053. package/dist/src/util/DerbysoftPixel.js.map +1 -1
  1054. package/dist/src/util/EventsHelper.d.ts +2 -2
  1055. package/dist/src/util/EventsHelper.js.map +1 -1
  1056. package/dist/src/util/HotelPerkHelper.js +7 -17
  1057. package/dist/src/util/HotelPerkHelper.js.map +1 -1
  1058. package/dist/src/util/ObjectHelper.d.ts +1 -1
  1059. package/dist/src/util/ObjectHelper.js.map +1 -1
  1060. package/dist/src/util/PaymentCardHelper.js.map +1 -1
  1061. package/dist/src/util/RouteManager.js +1 -1
  1062. package/dist/src/util/RouteManager.js.map +1 -1
  1063. package/dist/src/util/StepManager.js +1 -1
  1064. package/dist/src/util/StepManager.js.map +1 -1
  1065. package/dist/src/util/StringHelper.js.map +1 -1
  1066. package/dist/src/util/TextAlignment.js +1 -1
  1067. package/dist/src/util/TextAlignment.js.map +1 -1
  1068. package/dist/src/util/TimeHelper.js.map +1 -1
  1069. package/dist/src/util/TotalCalculator.d.ts +24 -0
  1070. package/dist/src/util/TotalCalculator.js +157 -0
  1071. package/dist/src/util/TotalCalculator.js.map +1 -0
  1072. package/dist/test.bundle.js +1 -1
  1073. package/dist/tests/offline/entry/config/hotelSpecDefault.d.ts +1 -2
  1074. package/dist/tests/offline/entry/config/hotelSpecDefault.js +1 -0
  1075. package/dist/tests/offline/entry/config/hotelSpecDefault.js.map +1 -1
  1076. package/dist/vendors.bundle.js +1 -1
  1077. package/package.json +4 -12
  1078. package/dist/4.bundle.js +0 -1
  1079. package/dist/984.bundle.js +0 -1
  1080. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.d.ts +0 -2
  1081. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js +0 -94
  1082. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js.map +0 -1
  1083. package/dist/src/components/steps/room/LargeRateCard.d.ts +0 -11
  1084. package/dist/src/components/steps/room/LargeRateCard.js +0 -120
  1085. package/dist/src/components/steps/room/LargeRateCard.js.map +0 -1
  1086. package/dist/src/providers/feature/GiftCardFeature.d.ts +0 -13
  1087. package/dist/src/providers/feature/GiftCardFeature.js +0 -14
  1088. package/dist/src/providers/feature/GiftCardFeature.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureProvider.js","sourceRoot":"/","sources":["src/providers/FeatureProvider.ts"],"names":[],"mappings":";;;;;AAAA,8GAAsF;AACtF,sGAA8E;AAC9E,kHAA0F;AAC1F,oGAA4E;AAC5E,8HAAsG;AACtG,wGAAgF;AAChF,8FAAsE;AACtE,wGAAgF;AAChF,kGAA0E;AAC1E,oGAA4E;AAC5E,0HAAkG;AAClG,gHAAwF;AACxF,8FAAsE;AACtE,0HAAkG;AAElG,4GAAoF;AACpF,gFAAwD;AACxD,8GAAsF;AAEtF,MAAqB,eAAe;IAqBzB,MAAM,CAAC,IAAI,CAAC,IAAuF,EAAE,OAAa;QACrH,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,IAAuF;QACxG,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjD,OAAO,CAAC,MAAM,EAAE,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;;AAlCc,wBAAQ,GAAG;IACtB,gCAAsB;IACtB,+BAAqB;IACrB,2BAAiB;IACjB,8BAAoB;IACpB,mCAAyB;IACzB,yCAA+B;IAC/B,qCAA2B;IAC3B,6BAAmB;IACnB,yCAA+B;IAC/B,2CAAiC;IACjC,8BAAoB;IACpB,oCAA0B;IAC1B,wCAA8B;IAC9B,uCAA6B;IAC7B,gCAAsB;IACtB,2BAAiB;IACjB,yBAAe;CAClB,CAAC;kBAnBe,eAAe","sourcesContent":["import ConfirmationVerifyFeature from '@/providers/feature/ConfirmationVerifyFeature';\nimport DatePickerTypeFeature from '@/providers/feature/DatePickerTypeFeature';\nimport E164PhoneNumberFieldFeature from '@/providers/feature/E164PhoneNumberFieldFeature';\nimport FeaturedPromoFeature from '@/providers/feature/FeaturedPromoFeature';\nimport FullPageEngineSmallSpacingFeature from '@/providers/feature/FullPageEngineSmallSpacingFeature';\nimport GuestTitleFieldFeature from '@/providers/feature/GuestTitleFieldFeature';\nimport HotelGroupFeature from '@/providers/feature/HotelGroupFeature';\nimport InlineAddonStepFeature from '@/providers/feature/InlineAddonStepFeature';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport ModifyBookingFeature from '@/providers/feature/ModifyBookingFeature';\nimport NumberOfPeopleBookedPillFeature from '@/providers/feature/NumberOfPeopleBookedPillFeature';\nimport PlanPayPricePreviewFeature from '@/providers/feature/PlanPayPricePreviewFeature';\nimport RoomUpsellFeature from '@/providers/feature/RoomUpsellFeature';\nimport ShowIATANumberOnCheckoutFeature from '@/providers/feature/ShowIATANumberOnCheckoutFeature';\n\nimport DerbysoftClickTrackingFeature from './feature/DerbysoftClickTrackingFeature';\nimport GiftCardFeature from './feature/GiftCardFeature';\nimport RoomRateReadMoreVersionFeature from './feature/RoomRateReadMoreVersionFeature';\n\nexport default class FeatureProvider {\n private static features = [\n InlineAddonStepFeature,\n DatePickerTypeFeature,\n RoomUpsellFeature,\n FeaturedPromoFeature,\n ConfirmationVerifyFeature,\n ShowIATANumberOnCheckoutFeature,\n E164PhoneNumberFieldFeature,\n MemberPortalFeature,\n NumberOfPeopleBookedPillFeature,\n FullPageEngineSmallSpacingFeature,\n ModifyBookingFeature,\n PlanPayPricePreviewFeature,\n RoomRateReadMoreVersionFeature,\n DerbysoftClickTrackingFeature,\n GuestTitleFieldFeature,\n HotelGroupFeature,\n GiftCardFeature,\n ];\n\n public static load(name: string | (typeof FeatureProvider.features)[keyof typeof FeatureProvider.features], options?: any) {\n for (const feature of this.features) {\n if (feature.getName() === name || name === feature) {\n feature.load(options);\n }\n }\n }\n\n public static unLoad(name: string | (typeof FeatureProvider.features)[keyof typeof FeatureProvider.features]) {\n for (const feature of this.features) {\n if (feature.getName() === name || name === feature) {\n feature.unLoad();\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"FeatureProvider.js","sourceRoot":"/","sources":["src/providers/FeatureProvider.ts"],"names":[],"mappings":";;;;;AAAA,8GAAsF;AACtF,sGAA8E;AAC9E,kHAA0F;AAC1F,oGAA4E;AAC5E,8HAAsG;AACtG,wGAAgF;AAChF,8FAAsE;AACtE,wGAAgF;AAChF,kGAA0E;AAC1E,oGAA4E;AAC5E,0HAAkG;AAClG,gHAAwF;AACxF,8FAAsE;AACtE,0HAAkG;AAElG,4GAAoF;AACpF,8GAAsF;AAEtF,MAAqB,eAAe;IAoBzB,MAAM,CAAC,IAAI,CAAC,IAAuF,EAAE,OAAa;QACrH,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,OAAO,EAAE;gBAChD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACzB;SACJ;IACL,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,IAAuF;QACxG,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,OAAO,EAAE;gBAChD,OAAO,CAAC,MAAM,EAAE,CAAC;aACpB;SACJ;IACL,CAAC;;AAlCL,kCAmCC;AAlCkB,wBAAQ,GAAG;IACtB,gCAAsB;IACtB,+BAAqB;IACrB,2BAAiB;IACjB,8BAAoB;IACpB,mCAAyB;IACzB,yCAA+B;IAC/B,qCAA2B;IAC3B,6BAAmB;IACnB,yCAA+B;IAC/B,2CAAiC;IACjC,8BAAoB;IACpB,oCAA0B;IAC1B,wCAA8B;IAC9B,uCAA6B;IAC7B,gCAAsB;IACtB,2BAAiB;CACpB,CAAC","sourcesContent":["import ConfirmationVerifyFeature from '@/providers/feature/ConfirmationVerifyFeature';\nimport DatePickerTypeFeature from '@/providers/feature/DatePickerTypeFeature';\nimport E164PhoneNumberFieldFeature from '@/providers/feature/E164PhoneNumberFieldFeature';\nimport FeaturedPromoFeature from '@/providers/feature/FeaturedPromoFeature';\nimport FullPageEngineSmallSpacingFeature from '@/providers/feature/FullPageEngineSmallSpacingFeature';\nimport GuestTitleFieldFeature from '@/providers/feature/GuestTitleFieldFeature';\nimport HotelGroupFeature from '@/providers/feature/HotelGroupFeature';\nimport InlineAddonStepFeature from '@/providers/feature/InlineAddonStepFeature';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport ModifyBookingFeature from '@/providers/feature/ModifyBookingFeature';\nimport NumberOfPeopleBookedPillFeature from '@/providers/feature/NumberOfPeopleBookedPillFeature';\nimport PlanPayPricePreviewFeature from '@/providers/feature/PlanPayPricePreviewFeature';\nimport RoomUpsellFeature from '@/providers/feature/RoomUpsellFeature';\nimport ShowIATANumberOnCheckoutFeature from '@/providers/feature/ShowIATANumberOnCheckoutFeature';\n\nimport DerbysoftClickTrackingFeature from './feature/DerbysoftClickTrackingFeature';\nimport RoomRateReadMoreVersionFeature from './feature/RoomRateReadMoreVersionFeature';\n\nexport default class FeatureProvider {\n private static features = [\n InlineAddonStepFeature,\n DatePickerTypeFeature,\n RoomUpsellFeature,\n FeaturedPromoFeature,\n ConfirmationVerifyFeature,\n ShowIATANumberOnCheckoutFeature,\n E164PhoneNumberFieldFeature,\n MemberPortalFeature,\n NumberOfPeopleBookedPillFeature,\n FullPageEngineSmallSpacingFeature,\n ModifyBookingFeature,\n PlanPayPricePreviewFeature,\n RoomRateReadMoreVersionFeature,\n DerbysoftClickTrackingFeature,\n GuestTitleFieldFeature,\n HotelGroupFeature,\n ];\n\n public static load(name: string | (typeof FeatureProvider.features)[keyof typeof FeatureProvider.features], options?: any) {\n for (const feature of this.features) {\n if (feature.getName() === name || name === feature) {\n feature.load(options);\n }\n }\n }\n\n public static unLoad(name: string | (typeof FeatureProvider.features)[keyof typeof FeatureProvider.features]) {\n for (const feature of this.features) {\n if (feature.getName() === name || name === feature) {\n feature.unLoad();\n }\n }\n }\n}\n"]}
@@ -4,5 +4,5 @@ import { Room } from '../models/Room/Room';
4
4
  export default class FilterProvider {
5
5
  static getRoomList: (row: BasketRow, filters: Filter[], hotelID: string, memberNumber?: string) => Promise<Room[]>;
6
6
  static filterRooms: (rooms: Room[], filters: Filter[]) => Room[];
7
- static getUnfilteredRoomList: (row: BasketRow, hotelID: string, memberNumber?: string) => Promise<Room[] | undefined>;
7
+ static getUnfilteredRoomList: (row: BasketRow, hotelID: string, memberNumber?: string) => Promise<Room[] | null | undefined>;
8
8
  }
@@ -16,11 +16,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
16
16
  const BookingAPI_1 = __importDefault(require("../api/BookingAPI"));
17
17
  class FilterProvider {
18
18
  }
19
+ exports.default = FilterProvider;
19
20
  _a = FilterProvider;
20
21
  // TODO refactor to load from a static list of filters
21
22
  FilterProvider.getRoomList = (row, filters, hotelID, memberNumber) => __awaiter(void 0, void 0, void 0, function* () {
22
- const rooms = yield _a.getUnfilteredRoomList(row, hotelID, memberNumber);
23
- return _a.filterRooms(rooms, filters);
23
+ const rooms = yield FilterProvider.getUnfilteredRoomList(row, hotelID, memberNumber);
24
+ return FilterProvider.filterRooms(rooms, filters);
24
25
  });
25
26
  FilterProvider.filterRooms = (rooms, filters) => {
26
27
  const filteredRooms = [];
@@ -42,5 +43,4 @@ FilterProvider.filterRooms = (rooms, filters) => {
42
43
  return filteredRooms;
43
44
  };
44
45
  FilterProvider.getUnfilteredRoomList = (row, hotelID, memberNumber) => __awaiter(void 0, void 0, void 0, function* () { return BookingAPI_1.default.Availability.fetchAvailabilityData(row, hotelID, memberNumber); });
45
- exports.default = FilterProvider;
46
46
  //# sourceMappingURL=FilterProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterProvider.js","sourceRoot":"/","sources":["src/providers/FilterProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kEAAmC;AAKnC,MAAqB,cAAc;;;AAC/B,sDAAsD;AACxC,0BAAW,GAAG,CAAO,GAAc,EAAE,OAAiB,EAAE,OAAe,EAAE,YAAqB,EAAmB,EAAE;IAC7H,MAAM,KAAK,GAAG,MAAM,EAAc,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACrF,OAAO,EAAc,CAAC,WAAW,CAAC,KAAe,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC,CAAA,AAHwB,CAGvB;AAEY,0BAAW,GAAG,CAAC,KAAa,EAAE,OAAiB,EAAU,EAAE;IACrE,MAAM,aAAa,GAAW,EAAE,CAAC;IAEjC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAU,EAAE,EAAE;QACzB,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAErD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAS,CAAC;YAE1C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACzB,CAAC,AAvBwB,CAuBvB;AAEY,oCAAqB,GAAG,CAAO,GAAc,EAAE,OAAe,EAAE,YAAqB,EAAE,EAAE,kDAAC,OAAA,oBAAG,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA,GAAA,AAAvI,CAAwI;kBAhC1J,cAAc","sourcesContent":["import API from '@/api/BookingAPI';\nimport BasketRow from '@/models/BasketRow';\nimport Filter from '@/models/Room/Filters/Filter';\nimport { Room } from '@/models/Room/Room';\n\nexport default class FilterProvider {\n // TODO refactor to load from a static list of filters\n public static getRoomList = async (row: BasketRow, filters: Filter[], hotelID: string, memberNumber?: string): Promise<Room[]> => {\n const rooms = await FilterProvider.getUnfilteredRoomList(row, hotelID, memberNumber);\n return FilterProvider.filterRooms(rooms as Room[], filters);\n };\n\n public static filterRooms = (rooms: Room[], filters: Filter[]): Room[] => {\n const filteredRooms: Room[] = [];\n\n rooms.forEach((room: Room) => {\n let filteredRoom = room;\n filteredRoom.filteredRates = room.getOriginalRates();\n\n for (const filter of filters) {\n if (!filter) continue;\n\n filteredRoom = filter.check(room) as Room;\n\n if (!filteredRoom) {\n break;\n }\n }\n\n if (filteredRoom) {\n filteredRooms.push(filteredRoom);\n }\n });\n\n return filteredRooms;\n };\n\n public static getUnfilteredRoomList = async (row: BasketRow, hotelID: string, memberNumber?: string) => API.Availability.fetchAvailabilityData(row, hotelID, memberNumber);\n}\n"]}
1
+ {"version":3,"file":"FilterProvider.js","sourceRoot":"/","sources":["src/providers/FilterProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kEAAmC;AAKnC,MAAqB,cAAc;;AAAnC,iCAiCC;;AAhCG,sDAAsD;AACxC,0BAAW,GAAG,CAAO,GAAc,EAAE,OAAiB,EAAE,OAAe,EAAE,YAAqB,EAAmB,EAAE;IAC7H,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACrF,OAAO,cAAc,CAAC,WAAW,CAAC,KAAe,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC,CAAA,CAAC;AAEY,0BAAW,GAAG,CAAC,KAAa,EAAE,OAAiB,EAAU,EAAE;IACrE,MAAM,aAAa,GAAW,EAAE,CAAC;IAEjC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAU,EAAE,EAAE;QACzB,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAErD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC1B,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAS,CAAC;YAE1C,IAAI,CAAC,YAAY,EAAE;gBACf,MAAM;aACT;SACJ;QAED,IAAI,YAAY,EAAE;YACd,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC;AAEY,oCAAqB,GAAG,CAAO,GAAc,EAAE,OAAe,EAAE,YAAqB,EAAE,EAAE,kDAAC,OAAA,oBAAG,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA,GAAA,CAAC","sourcesContent":["import API from '@/api/BookingAPI';\nimport BasketRow from '@/models/BasketRow';\nimport Filter from '@/models/Room/Filters/Filter';\nimport { Room } from '@/models/Room/Room';\n\nexport default class FilterProvider {\n // TODO refactor to load from a static list of filters\n public static getRoomList = async (row: BasketRow, filters: Filter[], hotelID: string, memberNumber?: string): Promise<Room[]> => {\n const rooms = await FilterProvider.getUnfilteredRoomList(row, hotelID, memberNumber);\n return FilterProvider.filterRooms(rooms as Room[], filters);\n };\n\n public static filterRooms = (rooms: Room[], filters: Filter[]): Room[] => {\n const filteredRooms: Room[] = [];\n\n rooms.forEach((room: Room) => {\n let filteredRoom = room;\n filteredRoom.filteredRates = room.getOriginalRates();\n\n for (const filter of filters) {\n if (!filter) continue;\n\n filteredRoom = filter.check(room) as Room;\n\n if (!filteredRoom) {\n break;\n }\n }\n\n if (filteredRoom) {\n filteredRooms.push(filteredRoom);\n }\n });\n\n return filteredRooms;\n };\n\n public static getUnfilteredRoomList = async (row: BasketRow, hotelID: string, memberNumber?: string) => API.Availability.fetchAvailabilityData(row, hotelID, memberNumber);\n}\n"]}
@@ -10,7 +10,7 @@ var ImageSize;
10
10
  ImageSize[ImageSize["Large"] = 1024] = "Large";
11
11
  ImageSize[ImageSize["ExtraLarge"] = 1600] = "ExtraLarge";
12
12
  ImageSize[ImageSize["Original"] = 1920] = "Original";
13
- })(ImageSize || (exports.ImageSize = ImageSize = {}));
13
+ })(ImageSize = exports.ImageSize || (exports.ImageSize = {}));
14
14
  class ImageProvider {
15
15
  constructor() {
16
16
  this.imageMap = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"ImageProvider.js","sourceRoot":"/","sources":["src/providers/ImageProvider.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAQX;AARD,WAAY,SAAS;IACjB,2CAAU,CAAA;IACV,2CAAU,CAAA;IACV,6CAAW,CAAA;IACX,+CAAY,CAAA;IACZ,8CAAY,CAAA;IACZ,wDAAiB,CAAA;IACjB,oDAAe,CAAA;AACnB,CAAC,EARW,SAAS,yBAAT,SAAS,QAQpB;AAED,MAAM,aAAa;IAAnB;QACY,aAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B;;WAEG;QACI,0BAAqB,GAAsD,CAAC,GAAW,EAAE,IAAe,EAAE,EAAE;YAC/G,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE/B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;gBACnC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,MAAM,EAAE,CAAC;oBACT,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;gBAC1B,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;oBAChC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACnB,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IAkCN,CAAC;IAhCG;;;;;;;;;;;OAWG;IACI,WAAW,CAAC,GAAW,EAAE,IAAe;QAC3C,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEtC,4CAA4C;QAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,MAAM,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAC1B,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,OAAO,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,UAAU,CAAC,GAAW,EAAE,IAAe;QAC3C,OAAO,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAC5B,CAAC;CACJ;AAED,kBAAe,IAAI,aAAa,EAAE,CAAC","sourcesContent":["export enum ImageSize {\n Icon = 128,\n Tiny = 256,\n Small = 512,\n Medium = 768,\n Large = 1024,\n ExtraLarge = 1600,\n Original = 1920,\n}\n\nclass ImageProvider {\n private imageMap = new Map();\n /**\n * Only returns after image is successfully loaded\n */\n public getLazyLoadedImageUrl: (url: string, size: ImageSize) => Promise<string> = (url: string, size: ImageSize) => {\n const imageMap = this.imageMap;\n\n return new Promise<string>((resolve) => {\n const id = this.getImageID(url, size);\n\n const mapUrl = this.imageMap.get(id);\n if (mapUrl) {\n return resolve(mapUrl);\n }\n\n const image = new Image();\n image.addEventListener('load', () => {\n resolve(image.src);\n imageMap.set(id, image.src);\n });\n image.src = this.resizeImage(url, size);\n });\n };\n\n /**\n * Converts an Image URL to a resized image URL.\n *\n * Right now we can only manipulate Roomstay hosted images in S3, so only where the source\n * image URL contains cdn.app.roomstay.io can we add the resize parameters.\n *\n * This function will simply pass through any URL not matching the criteria\n *\n * @param url string\n * @param size ImageSize\n * @returns\n */\n public resizeImage(url: string, size: ImageSize): string {\n if (!url) return '';\n const id = this.getImageID(url, size);\n\n // Only check if source is from roomstay cdn\n if (url.includes('cdn.app.roomstay.io')) {\n const mapUrl = this.imageMap.get(id);\n if (mapUrl && mapUrl !== '') {\n return mapUrl;\n }\n\n return url + '?w=' + size;\n }\n\n return url;\n }\n\n private getImageID(url: string, size: ImageSize) {\n return `${url}|${size}`;\n }\n}\n\nexport default new ImageProvider();\n"]}
1
+ {"version":3,"file":"ImageProvider.js","sourceRoot":"/","sources":["src/providers/ImageProvider.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAQX;AARD,WAAY,SAAS;IACjB,2CAAU,CAAA;IACV,2CAAU,CAAA;IACV,6CAAW,CAAA;IACX,+CAAY,CAAA;IACZ,8CAAY,CAAA;IACZ,wDAAiB,CAAA;IACjB,oDAAe,CAAA;AACnB,CAAC,EARW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAQpB;AAED,MAAM,aAAa;IAAnB;QACY,aAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B;;WAEG;QACI,0BAAqB,GAAsD,CAAC,GAAW,EAAE,IAAe,EAAE,EAAE;YAC/G,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE/B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;gBACnC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,MAAM,EAAE;oBACR,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;iBAC1B;gBAED,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;gBAC1B,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;oBAChC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACnB,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IAkCN,CAAC;IAhCG;;;;;;;;;;;OAWG;IACI,WAAW,CAAC,GAAW,EAAE,IAAe;QAC3C,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEtC,4CAA4C;QAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,MAAM,IAAI,MAAM,KAAK,EAAE,EAAE;gBACzB,OAAO,MAAM,CAAC;aACjB;YAED,OAAO,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;SAC7B;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,UAAU,CAAC,GAAW,EAAE,IAAe;QAC3C,OAAO,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAC5B,CAAC;CACJ;AAED,kBAAe,IAAI,aAAa,EAAE,CAAC","sourcesContent":["export enum ImageSize {\n Icon = 128,\n Tiny = 256,\n Small = 512,\n Medium = 768,\n Large = 1024,\n ExtraLarge = 1600,\n Original = 1920,\n}\n\nclass ImageProvider {\n private imageMap = new Map();\n /**\n * Only returns after image is successfully loaded\n */\n public getLazyLoadedImageUrl: (url: string, size: ImageSize) => Promise<string> = (url: string, size: ImageSize) => {\n const imageMap = this.imageMap;\n\n return new Promise<string>((resolve) => {\n const id = this.getImageID(url, size);\n\n const mapUrl = this.imageMap.get(id);\n if (mapUrl) {\n return resolve(mapUrl);\n }\n\n const image = new Image();\n image.addEventListener('load', () => {\n resolve(image.src);\n imageMap.set(id, image.src);\n });\n image.src = this.resizeImage(url, size);\n });\n };\n\n /**\n * Converts an Image URL to a resized image URL.\n *\n * Right now we can only manipulate Roomstay hosted images in S3, so only where the source\n * image URL contains cdn.app.roomstay.io can we add the resize parameters.\n *\n * This function will simply pass through any URL not matching the criteria\n *\n * @param url string\n * @param size ImageSize\n * @returns\n */\n public resizeImage(url: string, size: ImageSize): string {\n if (!url) return '';\n const id = this.getImageID(url, size);\n\n // Only check if source is from roomstay cdn\n if (url.includes('cdn.app.roomstay.io')) {\n const mapUrl = this.imageMap.get(id);\n if (mapUrl && mapUrl !== '') {\n return mapUrl;\n }\n\n return url + '?w=' + size;\n }\n\n return url;\n }\n\n private getImageID(url: string, size: ImageSize) {\n return `${url}|${size}`;\n }\n}\n\nexport default new ImageProvider();\n"]}
@@ -20,7 +20,7 @@ var Language;
20
20
  Language["es"] = "es";
21
21
  Language["fr"] = "fr";
22
22
  Language["clear"] = "testing_only";
23
- })(Language || (exports.Language = Language = {}));
23
+ })(Language = exports.Language || (exports.Language = {}));
24
24
  class LanguageProvider {
25
25
  static changeLanguage(lang) {
26
26
  RoomstayThemeEngine_1.default.selectedLang = lang;
@@ -1 +1 @@
1
- {"version":3,"file":"LanguageProvider.js","sourceRoot":"/","sources":["src/providers/LanguageProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import i18n from 'i18next';\nimport { DeepPartial } from 'react-hook-form';\nimport common_en from 'translations/languages/en-gb';\nimport es from 'translations/languages/es';\nimport fr from 'translations/languages/fr';\nimport zhCn from 'translations/languages/zh-cn';\nimport zhTw from 'translations/languages/zh-tw';\nimport { Translation } from 'translations/Translation';\n\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { mergeDeep } from '@/util/ObjectHelper';\n\ntype TTranslation = typeof Translation;\ntype TI18nMappedLanguage = {\n translation: TTranslation;\n};\ntype TI18nMappedLanguages = {\n [key in Language]?: TI18nMappedLanguage;\n};\n\nexport type TLanguageTranslations = {\n [key in Language]?: TTranslation;\n};\n\nexport enum Language {\n en_us = 'en-US',\n zh_cn = 'zh-CN',\n zh_tw = 'zh-TW',\n es = 'es',\n fr = 'fr',\n clear = 'testing_only', // TODO remove before live\n}\n\nexport class LanguageProvider {\n public static filterLanguages: Language[] = [];\n private static overrides: { [name: string]: TTranslation } = {};\n private static languages: { [langType in Language]?: TTranslation } = {\n [Language.en_us]: common_en,\n [Language.es]: mergeDeep(common_en, es),\n [Language.fr]: mergeDeep(common_en, fr),\n [Language.zh_cn]: mergeDeep(common_en, zhCn),\n [Language.zh_tw]: mergeDeep(common_en, zhTw),\n };\n\n public static changeLanguage(lang: Language) {\n RoomstayThemeEngine.selectedLang = lang;\n i18n.changeLanguage(lang);\n }\n\n public static getPrettyLanguageName(lang: Language) {\n switch (lang) {\n case Language.en_us:\n return 'English';\n case Language.zh_cn:\n return '简体中文';\n case Language.zh_tw:\n return '繁體中文';\n case Language.es:\n return 'Español';\n case Language.fr:\n return 'Français';\n default:\n return '';\n }\n }\n\n public static getI18nMappedLanguages(): TI18nMappedLanguages {\n const workingMappings: TI18nMappedLanguages = {};\n\n const languages = this.getLanguages();\n\n Object.keys(languages).forEach((key) => {\n const translation = this.getOverridesForLanguage(key as Language);\n\n workingMappings[key as Language] = {\n translation,\n };\n });\n\n return workingMappings;\n }\n\n /**\n * Create a way to override translations for specific languages, and hotels.\n * @param lang\n * @param overrideTree\n */\n public static registerOverride(lang: Language, overrideTree: DeepPartial<TTranslation>) {\n LanguageProvider.overrides[lang] = mergeDeep<TTranslation>(LanguageProvider.overrides[lang], overrideTree) as TTranslation;\n\n // Check required for making sure Lang is loaded first.\n if (i18n && i18n.addResourceBundle) {\n i18n.addResourceBundle(lang, 'translation', this.getOverridesForLanguage(lang));\n }\n }\n\n public static getLanguages(): TLanguageTranslations {\n if (this.filterLanguages.length >= 1) {\n const filteredLanguages: TLanguageTranslations = {};\n\n this.filterLanguages.map((lang) => {\n filteredLanguages[lang] = this.languages[lang];\n });\n\n return filteredLanguages;\n } else {\n return this.languages;\n }\n }\n\n private static getOverridesForLanguage(lang: Language): TTranslation {\n const languages = this.getLanguages();\n const translation = languages[lang];\n return mergeDeep<TTranslation>(translation, LanguageProvider.overrides[lang]) as TTranslation;\n }\n}\n"]}
1
+ {"version":3,"file":"LanguageProvider.js","sourceRoot":"/","sources":["src/providers/LanguageProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import i18n from 'i18next';\nimport { DeepPartial } from 'react-hook-form';\nimport common_en from 'translations/languages/en-gb';\nimport es from 'translations/languages/es';\nimport fr from 'translations/languages/fr';\nimport zhCn from 'translations/languages/zh-cn';\nimport zhTw from 'translations/languages/zh-tw';\nimport { Translation } from 'translations/Translation';\n\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { mergeDeep } from '@/util/ObjectHelper';\n\ntype TTranslation = typeof Translation;\ntype TI18nMappedLanguage = {\n translation: TTranslation;\n};\ntype TI18nMappedLanguages = {\n [key in Language]?: TI18nMappedLanguage;\n};\n\nexport type TLanguageTranslations = {\n [key in Language]?: TTranslation;\n};\n\nexport enum Language {\n en_us = 'en-US',\n zh_cn = 'zh-CN',\n zh_tw = 'zh-TW',\n es = 'es',\n fr = 'fr',\n clear = 'testing_only', // TODO remove before live\n}\n\nexport class LanguageProvider {\n public static filterLanguages: Language[] = [];\n private static overrides: { [name: string]: TTranslation } = {};\n private static languages: { [langType in Language]?: TTranslation } = {\n [Language.en_us]: common_en,\n [Language.es]: mergeDeep(common_en, es),\n [Language.fr]: mergeDeep(common_en, fr),\n [Language.zh_cn]: mergeDeep(common_en, zhCn),\n [Language.zh_tw]: mergeDeep(common_en, zhTw),\n };\n\n public static changeLanguage(lang: Language) {\n RoomstayThemeEngine.selectedLang = lang;\n i18n.changeLanguage(lang);\n }\n\n public static getPrettyLanguageName(lang: Language) {\n switch (lang) {\n case Language.en_us:\n return 'English';\n case Language.zh_cn:\n return '简体中文';\n case Language.zh_tw:\n return '繁體中文';\n case Language.es:\n return 'Español';\n case Language.fr:\n return 'Français';\n default:\n return '';\n }\n }\n\n public static getI18nMappedLanguages(): TI18nMappedLanguages {\n const workingMappings: TI18nMappedLanguages = {};\n\n const languages = this.getLanguages();\n\n Object.keys(languages).forEach((key) => {\n const translation = this.getOverridesForLanguage(key as Language);\n\n workingMappings[key as Language] = {\n translation,\n };\n });\n\n return workingMappings;\n }\n\n /**\n * Create a way to override translations for specific languages, and hotels.\n * @param lang\n * @param overrideTree\n */\n public static registerOverride(lang: Language, overrideTree: DeepPartial<TTranslation>) {\n LanguageProvider.overrides[lang] = mergeDeep<TTranslation>(LanguageProvider.overrides[lang], overrideTree) as TTranslation;\n\n // Check required for making sure Lang is loaded first.\n if (i18n && i18n.addResourceBundle) {\n i18n.addResourceBundle(lang, 'translation', this.getOverridesForLanguage(lang));\n }\n }\n\n public static getLanguages(): TLanguageTranslations {\n if (this.filterLanguages.length >= 1) {\n const filteredLanguages: TLanguageTranslations = {};\n\n this.filterLanguages.map((lang) => {\n filteredLanguages[lang] = this.languages[lang];\n });\n\n return filteredLanguages;\n } else {\n return this.languages;\n }\n }\n\n private static getOverridesForLanguage(lang: Language): TTranslation {\n const languages = this.getLanguages();\n const translation = languages[lang];\n return mergeDeep<TTranslation>(translation, LanguageProvider.overrides[lang]) as TTranslation;\n }\n}\n"]}
@@ -8,7 +8,7 @@ export declare const removePromotion: (promotion: IPromotion) => void;
8
8
  */
9
9
  export declare const usePromotionContainer: ({ selectedBasketRow, updateBasketRow }: {
10
10
  selectedBasketRow: BasketRow;
11
- updateBasketRow: BasketContextType["updateBasketRow"];
11
+ updateBasketRow: BasketContextType['updateBasketRow'];
12
12
  }) => {
13
13
  loadedPromotion: IPromotion | null;
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PromotionProvider.js","sourceRoot":"/","sources":["src/providers/PromotionProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { BasketContextType, CompanyContext } from '@frontend/contexts';\nimport dayjs from 'dayjs';\nimport { useContext, useEffect, useState } from 'react';\n\nimport { MemberOnlyFenceSignUp } from '@/events/actions/MemberOnlyFence/MemberOnlyFenceSignUp';\nimport { PromotionAddEvent } from '@/events/actions/Promotion/PromotionAddedEvent';\nimport { PromotionClickedEvent } from '@/events/actions/Promotion/PromotionClickedEvent';\nimport { PromotionRemoveEvent } from '@/events/actions/Promotion/PromotionRemovedEvent';\nimport RoomstayEventManager from '@/events/RoomstayEventManager';\nimport { useEvent } from '@/hooks/EventHook';\nimport BasketRow from '@/models/BasketRow';\nimport { IPromotion, IPromotionTestCriteria } from '@/models/Promotion/IPromotion.type';\n\nconst _loadedPromotions: IPromotion[] = [];\nlet basketContextLoaded = false;\n\nexport const registerPromotion = (promotion: IPromotion) => {\n if (basketContextLoaded) {\n RoomstayEventManager.raise(new PromotionAddEvent(promotion));\n } else {\n const promoIndex = getPromoIndex(promotion.name, _loadedPromotions);\n\n if (promoIndex === -1) {\n _loadedPromotions.push(promotion);\n } else {\n _loadedPromotions[promoIndex] = promotion;\n }\n }\n};\n\nexport const removePromotion = (promotion: IPromotion) => {\n if (basketContextLoaded) {\n RoomstayEventManager.raise(new PromotionRemoveEvent(promotion));\n } else {\n const promoIndex = getPromoIndex(promotion.name, _loadedPromotions);\n\n if (promoIndex !== -1) {\n _loadedPromotions.splice(promoIndex, 1);\n }\n }\n};\n\nconst getPromoIndex = (name: string, promoList: IPromotion[]) => {\n for (let i = 0; i < promoList.length; i++) {\n if (promoList[i].name === name) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Used by the Basket context to bind to state.\n */\nexport const usePromotionContainer = ({ selectedBasketRow, updateBasketRow }: { selectedBasketRow: BasketRow; updateBasketRow: BasketContextType['updateBasketRow'] }) => {\n const ccx = useContext(CompanyContext);\n\n const [bump, setBump] = useState(0);\n const [allPromotions, setAllPromotions] = useState<IPromotion[]>(_loadedPromotions ?? []);\n\n // TODO: Current implementation only supports a single promotion. In the future there will be multiple promotion locations\n const [loadedPromotion, setLoadedPromotion] = useState<IPromotion | null>(null);\n\n const { on } = useEvent();\n\n useEffect(() => {\n basketContextLoaded = true;\n\n const updateBasketRowContext = (promotion: IPromotion) => {\n if (!promotion) {\n // We don't care about non promo sign ups;\n return;\n }\n\n if (selectedBasketRow) {\n const criteria = {\n checkInDate: selectedBasketRow.getStartDate(),\n checkOutDate: selectedBasketRow.getEndDate(),\n adults: selectedBasketRow.getAdults(),\n children: selectedBasketRow.getChildren(),\n infants: selectedBasketRow.getInfants(),\n promoCode: selectedBasketRow.getPromoCode(),\n };\n\n const { checkInDate, checkOutDate, adults, children, infants, promoCode } = promotion.onApply(criteria);\n\n if (checkInDate) {\n selectedBasketRow.setStartDate(dayjs(checkInDate));\n }\n\n if (checkOutDate) {\n selectedBasketRow.setEndDate(dayjs(checkOutDate));\n }\n\n if (adults) {\n selectedBasketRow.setAdults(adults);\n }\n\n if (children) {\n selectedBasketRow.setChildren(children);\n }\n\n if (infants) {\n selectedBasketRow.setInfants(infants);\n }\n\n if (promoCode) {\n selectedBasketRow.setPromoCode(promoCode);\n }\n\n updateBasketRow(selectedBasketRow);\n }\n };\n\n on(\n PromotionAddEvent,\n async (event: PromotionAddEvent) => {\n if (event?.promotion) {\n setAllPromotions((oldPromotions) => {\n const promoIndex = getPromoIndex(event.promotion.name, oldPromotions);\n\n if (promoIndex === -1) {\n return [...oldPromotions, event.promotion];\n } else {\n oldPromotions[promoIndex] = event.promotion;\n return oldPromotions;\n }\n });\n }\n },\n 'root'\n );\n\n on(\n PromotionRemoveEvent,\n async (event: PromotionRemoveEvent) => {\n if (event?.promotion) {\n setAllPromotions((oldPromotions) => {\n if (oldPromotions.length === 0) {\n return [];\n }\n\n return oldPromotions.filter((promo) => {\n if (promo.name !== event.promotion.name) {\n return promo;\n }\n return false;\n });\n });\n\n setBump((a) => a + 1);\n }\n },\n 'root'\n );\n\n on(\n PromotionClickedEvent,\n async (event: PromotionClickedEvent) => {\n const { promotion } = event;\n\n if (!promotion) {\n // We shouldn't be here, but just in case we are...\n return;\n }\n\n if (!ccx.signedInUser && promotion.requireMemberPromotion) {\n ccx.openMemberSignupModal(promotion);\n } else {\n updateBasketRowContext(promotion);\n }\n },\n 'root'\n );\n\n on(\n MemberOnlyFenceSignUp,\n async (event: MemberOnlyFenceSignUp) => {\n updateBasketRowContext(event.promotion as IPromotion);\n },\n 'root'\n );\n }, [ccx.signedInUser, selectedBasketRow, allPromotions, setAllPromotions, loadedPromotion, setLoadedPromotion]);\n\n useEffect(() => {\n if (selectedBasketRow) {\n const criteria = {\n checkInDate: selectedBasketRow.getStartDate(),\n checkOutDate: selectedBasketRow.getEndDate(),\n adults: selectedBasketRow.getAdults(),\n children: selectedBasketRow.getChildren(),\n infants: selectedBasketRow.getInfants(),\n promoCode: selectedBasketRow.getPromoCode(),\n };\n\n onPromotionCriteriaChanged(criteria);\n }\n }, [\n selectedBasketRow,\n selectedBasketRow?.getAdults(),\n selectedBasketRow?.getChildren(),\n selectedBasketRow?.getInfants(),\n selectedBasketRow?.getArrivalDate(),\n selectedBasketRow?.getEndDate(),\n selectedBasketRow?.getPromoCode(),\n allPromotions,\n bump,\n ]);\n\n useEffect(() => {\n if (!loadedPromotion) {\n return;\n }\n\n let loadedExists = false;\n for (const promotion of allPromotions) {\n if (promotion.name === loadedPromotion.name) {\n loadedExists = true;\n break;\n }\n }\n\n if (!loadedExists) {\n setLoadedPromotion(null);\n }\n }, [allPromotions, loadedPromotion]);\n\n /**\n * Checks all the registered promotions, and returns the first one that matches the criteria.\n *\n * @param criteria\n */\n const checkPromotions = async (criteria: IPromotionTestCriteria) => {\n for (const promotion of allPromotions) {\n if (await promotion.testCriteria(criteria)) {\n return promotion;\n }\n }\n\n return null;\n };\n\n const onPromotionCriteriaChanged = (criteria: IPromotionTestCriteria) => {\n checkPromotions(criteria)\n .then((promo) => {\n setLoadedPromotion(promo);\n })\n .catch(() => {\n setLoadedPromotion(null);\n });\n };\n\n return {\n loadedPromotion,\n };\n};\n"]}
1
+ {"version":3,"file":"PromotionProvider.js","sourceRoot":"/","sources":["src/providers/PromotionProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { BasketContextType, CompanyContext } from '@frontend/contexts';\nimport dayjs from 'dayjs';\nimport { useContext, useEffect, useState } from 'react';\n\nimport { MemberOnlyFenceSignUp } from '@/events/actions/MemberOnlyFence/MemberOnlyFenceSignUp';\nimport { PromotionAddEvent } from '@/events/actions/Promotion/PromotionAddedEvent';\nimport { PromotionClickedEvent } from '@/events/actions/Promotion/PromotionClickedEvent';\nimport { PromotionRemoveEvent } from '@/events/actions/Promotion/PromotionRemovedEvent';\nimport RoomstayEventManager from '@/events/RoomstayEventManager';\nimport { useEvent } from '@/hooks/EventHook';\nimport BasketRow from '@/models/BasketRow';\nimport { IPromotion, IPromotionTestCriteria } from '@/models/Promotion/IPromotion.type';\n\nconst _loadedPromotions: IPromotion[] = [];\nlet basketContextLoaded = false;\n\nexport const registerPromotion = (promotion: IPromotion) => {\n if (basketContextLoaded) {\n RoomstayEventManager.raise(new PromotionAddEvent(promotion));\n } else {\n const promoIndex = getPromoIndex(promotion.name, _loadedPromotions);\n\n if (promoIndex === -1) {\n _loadedPromotions.push(promotion);\n } else {\n _loadedPromotions[promoIndex] = promotion;\n }\n }\n};\n\nexport const removePromotion = (promotion: IPromotion) => {\n if (basketContextLoaded) {\n RoomstayEventManager.raise(new PromotionRemoveEvent(promotion));\n } else {\n const promoIndex = getPromoIndex(promotion.name, _loadedPromotions);\n\n if (promoIndex !== -1) {\n _loadedPromotions.splice(promoIndex, 1);\n }\n }\n};\n\nconst getPromoIndex = (name: string, promoList: IPromotion[]) => {\n for (let i = 0; i < promoList.length; i++) {\n if (promoList[i].name === name) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Used by the Basket context to bind to state.\n */\nexport const usePromotionContainer = ({ selectedBasketRow, updateBasketRow }: { selectedBasketRow: BasketRow; updateBasketRow: BasketContextType['updateBasketRow'] }) => {\n const ccx = useContext(CompanyContext);\n\n const [bump, setBump] = useState(0);\n const [allPromotions, setAllPromotions] = useState<IPromotion[]>(_loadedPromotions ?? []);\n\n // TODO: Current implementation only supports a single promotion. In the future there will be multiple promotion locations\n const [loadedPromotion, setLoadedPromotion] = useState<IPromotion | null>(null);\n\n const { on } = useEvent();\n\n useEffect(() => {\n basketContextLoaded = true;\n\n const updateBasketRowContext = (promotion: IPromotion) => {\n if (!promotion) {\n // We don't care about non promo sign ups;\n return;\n }\n\n if (selectedBasketRow) {\n const criteria = {\n checkInDate: selectedBasketRow.getStartDate(),\n checkOutDate: selectedBasketRow.getEndDate(),\n adults: selectedBasketRow.getAdults(),\n children: selectedBasketRow.getChildren(),\n infants: selectedBasketRow.getInfants(),\n promoCode: selectedBasketRow.getPromoCode(),\n };\n\n const { checkInDate, checkOutDate, adults, children, infants, promoCode } = promotion.onApply(criteria);\n\n if (checkInDate) {\n selectedBasketRow.setStartDate(dayjs(checkInDate));\n }\n\n if (checkOutDate) {\n selectedBasketRow.setEndDate(dayjs(checkOutDate));\n }\n\n if (adults) {\n selectedBasketRow.setAdults(adults);\n }\n\n if (children) {\n selectedBasketRow.setChildren(children);\n }\n\n if (infants) {\n selectedBasketRow.setInfants(infants);\n }\n\n if (promoCode) {\n selectedBasketRow.setPromoCode(promoCode);\n }\n\n updateBasketRow(selectedBasketRow);\n }\n };\n\n on(\n PromotionAddEvent,\n async (event: PromotionAddEvent) => {\n if (event?.promotion) {\n setAllPromotions((oldPromotions) => {\n const promoIndex = getPromoIndex(event.promotion.name, oldPromotions);\n\n if (promoIndex === -1) {\n return [...oldPromotions, event.promotion];\n } else {\n oldPromotions[promoIndex] = event.promotion;\n return oldPromotions;\n }\n });\n }\n },\n 'root'\n );\n\n on(\n PromotionRemoveEvent,\n async (event: PromotionRemoveEvent) => {\n if (event?.promotion) {\n setAllPromotions((oldPromotions) => {\n if (oldPromotions.length === 0) {\n return [];\n }\n\n return oldPromotions.filter((promo) => {\n if (promo.name !== event.promotion.name) {\n return promo;\n }\n return false;\n });\n });\n\n setBump((a) => a + 1);\n }\n },\n 'root'\n );\n\n on(\n PromotionClickedEvent,\n async (event: PromotionClickedEvent) => {\n const { promotion } = event;\n\n if (!promotion) {\n // We shouldn't be here, but just in case we are...\n return;\n }\n\n if (!ccx.signedInUser && promotion.requireMemberPromotion) {\n ccx.openMemberSignupModal(promotion);\n } else {\n updateBasketRowContext(promotion);\n }\n },\n 'root'\n );\n\n on(\n MemberOnlyFenceSignUp,\n async (event: MemberOnlyFenceSignUp) => {\n updateBasketRowContext(event.promotion as IPromotion);\n },\n 'root'\n );\n }, [ccx.signedInUser, selectedBasketRow, allPromotions, setAllPromotions, loadedPromotion, setLoadedPromotion]);\n\n useEffect(() => {\n if (selectedBasketRow) {\n const criteria = {\n checkInDate: selectedBasketRow.getStartDate(),\n checkOutDate: selectedBasketRow.getEndDate(),\n adults: selectedBasketRow.getAdults(),\n children: selectedBasketRow.getChildren(),\n infants: selectedBasketRow.getInfants(),\n promoCode: selectedBasketRow.getPromoCode(),\n };\n\n onPromotionCriteriaChanged(criteria);\n }\n }, [\n selectedBasketRow,\n selectedBasketRow?.getAdults(),\n selectedBasketRow?.getChildren(),\n selectedBasketRow?.getInfants(),\n selectedBasketRow?.getArrivalDate(),\n selectedBasketRow?.getEndDate(),\n selectedBasketRow?.getPromoCode(),\n allPromotions,\n bump,\n ]);\n\n useEffect(() => {\n if (!loadedPromotion) {\n return;\n }\n\n let loadedExists = false;\n for (const promotion of allPromotions) {\n if (promotion.name === loadedPromotion.name) {\n loadedExists = true;\n break;\n }\n }\n\n if (!loadedExists) {\n setLoadedPromotion(null);\n }\n }, [allPromotions, loadedPromotion]);\n\n /**\n * Checks all the registered promotions, and returns the first one that matches the criteria.\n *\n * @param criteria\n */\n const checkPromotions = async (criteria: IPromotionTestCriteria) => {\n for (const promotion of allPromotions) {\n if (await promotion.testCriteria(criteria)) {\n return promotion;\n }\n }\n\n return null;\n };\n\n const onPromotionCriteriaChanged = (criteria: IPromotionTestCriteria) => {\n checkPromotions(criteria)\n .then((promo) => {\n setLoadedPromotion(promo);\n })\n .catch(() => {\n setLoadedPromotion(null);\n });\n };\n\n return {\n loadedPromotion,\n };\n};\n"]}
@@ -1 +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,9 +6,10 @@ var RoomSort;
6
6
  RoomSort["PriceLow"] = "Lowest Price";
7
7
  RoomSort["PriceHigh"] = "Highest Price";
8
8
  RoomSort["Recommended"] = "Recommended";
9
- })(RoomSort || (exports.RoomSort = RoomSort = {}));
9
+ })(RoomSort = exports.RoomSort || (exports.RoomSort = {}));
10
10
  class RoomSortProvider {
11
11
  }
12
+ exports.default = RoomSortProvider;
12
13
  // TODO refactor this to use static val instead of request one
13
14
  RoomSortProvider.getSortByFunction = (sortBy) => {
14
15
  switch (sortBy) {
@@ -28,5 +29,4 @@ RoomSortProvider.getSortByFunction = (sortBy) => {
28
29
  return () => 0;
29
30
  }
30
31
  };
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,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"]}
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"]}
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
35
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -62,7 +52,7 @@ var RoomstayTheme;
62
52
  (function (RoomstayTheme) {
63
53
  RoomstayTheme["Medium"] = "medium";
64
54
  RoomstayTheme["Light"] = "light";
65
- })(RoomstayTheme || (exports.RoomstayTheme = RoomstayTheme = {}));
55
+ })(RoomstayTheme = exports.RoomstayTheme || (exports.RoomstayTheme = {}));
66
56
  class RoomstayThemeEngine {
67
57
  constructor() {
68
58
  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,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
+ {"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,8 +1,10 @@
1
1
  export declare abstract class Feature<TOptions = any> {
2
2
  private name;
3
3
  private active;
4
+ private options?;
4
5
  constructor(name: string);
5
6
  getName(): string;
7
+ getOptions(): TOptions | undefined;
6
8
  isActive(): boolean;
7
9
  load(options?: TOptions): void;
8
10
  unLoad(): void;
@@ -9,6 +9,9 @@ class Feature {
9
9
  getName() {
10
10
  return this.name;
11
11
  }
12
+ getOptions() {
13
+ return this.options;
14
+ }
12
15
  isActive() {
13
16
  return this.active;
14
17
  }
@@ -22,6 +25,7 @@ class Feature {
22
25
  }
23
26
  onLoad(options) {
24
27
  // Empty function to be overwritten
28
+ this.options = options;
25
29
  }
26
30
  onUnLoad() {
27
31
  // 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;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"]}
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 +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,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
+ {"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 +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,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
+ {"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 +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,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"]}
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"]}
@@ -3,15 +3,5 @@ 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. */
16
6
  declare const _default: RoomUpsellFeature;
17
7
  export default _default;
@@ -9,15 +9,5 @@ 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. */
22
12
  exports.default = new RoomUpsellFeature();
23
13
  //# 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;;;;;;;;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"]}
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"]}
@@ -209,6 +209,7 @@ class SessionProvider {
209
209
  children: unSerializeBasketRow.getChildren(),
210
210
  infants: unSerializeBasketRow.getInfants(),
211
211
  promoCode: unSerializeBasketRow.getPromoCode(),
212
+ roomCode: unSerializeBasketRow.getRoomCode(),
212
213
  promoCodeStatus: unSerializeBasketRow.getPromoCodeStatus(),
213
214
  rate: serializedRate,
214
215
  room: serializedRoom,
@@ -261,6 +262,7 @@ class SessionProvider {
261
262
  basketRow.setAdults(serializedBasketRow.adults);
262
263
  basketRow.setChildren(serializedBasketRow.children);
263
264
  basketRow.setInfants(serializedBasketRow.infants);
265
+ basketRow.setRoomCode(serializedBasketRow.roomCode);
264
266
  basketRows.push(basketRow);
265
267
  });
266
268
  return {