@roomstay/frontend 1.6.1 → 2.0.0-2

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 (1056) hide show
  1. package/dist/201.bundle.js +1 -1
  2. package/dist/218.bundle.js +1 -0
  3. package/dist/279.bundle.js +1 -1
  4. package/dist/370.bundle.js +1 -1
  5. package/dist/423.bundle.js +1 -0
  6. package/dist/449.bundle.js +1 -1
  7. package/dist/625.bundle.js +1 -1
  8. package/dist/873.bundle.js +1 -1
  9. package/dist/882.bundle.js +1 -0
  10. package/dist/972.bundle.js +1 -1
  11. package/dist/main.bundle.js +1 -1
  12. package/dist/src/animations/AutoAutoHeight.d.ts +1 -0
  13. package/dist/src/animations/AutoAutoHeight.js +14 -8
  14. package/dist/src/animations/AutoAutoHeight.js.map +1 -1
  15. package/dist/src/animations/Fade.d.ts +7 -3
  16. package/dist/src/animations/Fade.js +14 -3
  17. package/dist/src/animations/Fade.js.map +1 -1
  18. package/dist/src/api/AddonAPI.d.ts +3 -3
  19. package/dist/src/api/AddonAPI.js +3 -3
  20. package/dist/src/api/AddonAPI.js.map +1 -1
  21. package/dist/src/api/AvailabilityAPI.d.ts +3 -3
  22. package/dist/src/api/AvailabilityAPI.js +9 -8
  23. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  24. package/dist/src/api/BaseAPI.d.ts +8 -3
  25. package/dist/src/api/BaseAPI.js +22 -9
  26. package/dist/src/api/BaseAPI.js.map +1 -1
  27. package/dist/src/api/BookingAPI.d.ts +9 -7
  28. package/dist/src/api/BookingAPI.js +9 -7
  29. package/dist/src/api/BookingAPI.js.map +1 -1
  30. package/dist/src/api/ErrorAPI.d.ts +6 -0
  31. package/dist/src/api/ErrorAPI.js +15 -0
  32. package/dist/src/api/ErrorAPI.js.map +1 -1
  33. package/dist/src/api/ExchangeRateAPI.d.ts +2 -2
  34. package/dist/src/api/ExchangeRateAPI.js +14 -8
  35. package/dist/src/api/ExchangeRateAPI.js.map +1 -1
  36. package/dist/src/api/HotelAPI.d.ts +5 -5
  37. package/dist/src/api/HotelAPI.js +7 -3
  38. package/dist/src/api/HotelAPI.js.map +1 -1
  39. package/dist/src/api/MemberAPI.d.ts +1 -1
  40. package/dist/src/api/MemberAPI.js +1 -1
  41. package/dist/src/api/MemberAPI.js.map +1 -1
  42. package/dist/src/api/ReservationAPI.d.ts +19 -9
  43. package/dist/src/api/ReservationAPI.js +15 -7
  44. package/dist/src/api/ReservationAPI.js.map +1 -1
  45. package/dist/src/api/SessionAPI.d.ts +4 -0
  46. package/dist/src/api/SessionAPI.js +23 -0
  47. package/dist/src/api/SessionAPI.js.map +1 -0
  48. package/dist/src/api/members-service/MembersServiceAPI.d.ts +6 -0
  49. package/dist/src/api/members-service/MembersServiceAPI.js +77 -0
  50. package/dist/src/api/members-service/MembersServiceAPI.js.map +1 -0
  51. package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +6 -0
  52. package/dist/src/components/User/Forms/ForgotPasswordForm.js +108 -0
  53. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -0
  54. package/dist/src/components/User/Forms/SignInForm.d.ts +6 -0
  55. package/dist/src/components/User/Forms/SignInForm.js +113 -0
  56. package/dist/src/components/User/Forms/SignInForm.js.map +1 -0
  57. package/dist/src/components/User/Forms/SignUpForm.d.ts +6 -0
  58. package/dist/src/components/User/Forms/SignUpForm.js +159 -0
  59. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -0
  60. package/dist/src/components/generic/Alert.d.ts +11 -3
  61. package/dist/src/components/generic/Alert.js +9 -5
  62. package/dist/src/components/generic/Alert.js.map +1 -1
  63. package/dist/src/components/generic/BEButton.d.ts +9 -4
  64. package/dist/src/components/generic/BEButton.js +12 -12
  65. package/dist/src/components/generic/BEButton.js.map +1 -1
  66. package/dist/src/components/generic/BESelect.d.ts +4 -1
  67. package/dist/src/components/generic/BESelect.js +5 -40
  68. package/dist/src/components/generic/BESelect.js.map +1 -1
  69. package/dist/src/components/generic/BackButton.js +4 -4
  70. package/dist/src/components/generic/BackButton.js.map +1 -1
  71. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +6 -6
  72. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  73. package/dist/src/components/generic/Card/Card/Card.d.ts +7 -0
  74. package/dist/src/components/generic/Card/Card/Card.js +14 -0
  75. package/dist/src/components/generic/Card/Card/Card.js.map +1 -0
  76. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +15 -0
  77. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +33 -0
  78. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -0
  79. package/dist/src/components/generic/{Checkbox.d.ts → Checkbox/Checkbox.d.ts} +1 -1
  80. package/dist/src/components/generic/Checkbox/Checkbox.js +35 -0
  81. package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -0
  82. package/dist/src/components/generic/Countdown.js +3 -3
  83. package/dist/src/components/generic/Countdown.js.map +1 -1
  84. package/dist/src/components/generic/Currency.js +9 -9
  85. package/dist/src/components/generic/Currency.js.map +1 -1
  86. package/dist/src/components/generic/Distance.js +4 -4
  87. package/dist/src/components/generic/Distance.js.map +1 -1
  88. package/dist/src/components/generic/ForwardedSelect.d.ts +12 -0
  89. package/dist/src/components/generic/ForwardedSelect.js +16 -0
  90. package/dist/src/components/generic/ForwardedSelect.js.map +1 -0
  91. package/dist/src/components/generic/Headline.d.ts +5 -3
  92. package/dist/src/components/generic/Headline.js +2 -1
  93. package/dist/src/components/generic/Headline.js.map +1 -1
  94. package/dist/src/components/generic/{Icon.d.ts → Icon/Icon.d.ts} +6 -2
  95. package/dist/src/components/generic/{Icon.js → Icon/Icon.js} +10 -5
  96. package/dist/src/components/generic/Icon/Icon.js.map +1 -0
  97. package/dist/src/components/generic/IconText/IconText.d.ts +10 -0
  98. package/dist/src/components/generic/IconText/IconText.js +21 -0
  99. package/dist/src/components/generic/IconText/IconText.js.map +1 -0
  100. package/dist/src/components/generic/InputGroup/InputGroup.d.ts +1 -1
  101. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  102. package/dist/src/components/generic/InputGroup/InputGroup.types.d.ts +1 -1
  103. package/dist/src/components/generic/LineBreak.d.ts +1 -0
  104. package/dist/src/components/generic/LineBreak.js +1 -0
  105. package/dist/src/components/generic/LineBreak.js.map +1 -1
  106. package/dist/src/components/generic/Notification.d.ts +1 -1
  107. package/dist/src/components/generic/Notification.js +5 -5
  108. package/dist/src/components/generic/Notification.js.map +1 -1
  109. package/dist/src/components/generic/NumberIncrement.js +5 -5
  110. package/dist/src/components/generic/NumberIncrement.js.map +1 -1
  111. package/dist/src/components/generic/Overlay/Overlay.d.ts +18 -0
  112. package/dist/src/components/generic/Overlay/Overlay.js +93 -0
  113. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -0
  114. package/dist/src/components/generic/PasswordBox/PasswordBox.d.ts +3 -0
  115. package/dist/src/components/generic/PasswordBox/PasswordBox.js +20 -0
  116. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -0
  117. package/dist/src/components/generic/PaymentCard/CardTypeSelect.d.ts +9 -0
  118. package/dist/src/components/generic/PaymentCard/CardTypeSelect.js +30 -0
  119. package/dist/src/components/generic/PaymentCard/CardTypeSelect.js.map +1 -0
  120. package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +6 -0
  121. package/dist/src/components/generic/PaymentCard/PaymentCard.js +54 -0
  122. package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -0
  123. package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +11 -0
  124. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +201 -0
  125. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -0
  126. package/dist/src/components/generic/Pill.d.ts +11 -3
  127. package/dist/src/components/generic/Pill.js +10 -3
  128. package/dist/src/components/generic/Pill.js.map +1 -1
  129. package/dist/src/components/generic/Placeholder.d.ts +2 -1
  130. package/dist/src/components/generic/Placeholder.js +2 -1
  131. package/dist/src/components/generic/Placeholder.js.map +1 -1
  132. package/dist/src/components/generic/PlanpayButton/PlanpayButton.d.ts +6 -0
  133. package/dist/src/components/generic/PlanpayButton/PlanpayButton.js +11 -0
  134. package/dist/src/components/generic/PlanpayButton/PlanpayButton.js.map +1 -0
  135. package/dist/src/components/generic/Portal/Portal.d.ts +9 -0
  136. package/dist/src/components/generic/Portal/Portal.js +10 -0
  137. package/dist/src/components/generic/Portal/Portal.js.map +1 -0
  138. package/dist/src/components/generic/PromoCodeInput.js +22 -20
  139. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  140. package/dist/src/components/generic/RadioButtonGroup/RadioButton.d.ts +11 -0
  141. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +21 -0
  142. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -0
  143. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.d.ts +15 -0
  144. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +20 -0
  145. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -0
  146. package/dist/src/components/generic/RecentSearchesCard.d.ts +1 -1
  147. package/dist/src/components/generic/RecentSearchesCard.js +9 -9
  148. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  149. package/dist/src/components/generic/ScrollToTop.js +3 -3
  150. package/dist/src/components/generic/ScrollToTop.js.map +1 -1
  151. package/dist/src/components/generic/Select/Select.d.ts +24 -0
  152. package/dist/src/components/generic/Select/Select.js +64 -0
  153. package/dist/src/components/generic/Select/Select.js.map +1 -0
  154. package/dist/src/components/generic/Select.js +2 -2
  155. package/dist/src/components/generic/Select.js.map +1 -1
  156. package/dist/src/components/generic/Slider/Slider.d.ts +22 -0
  157. package/dist/src/components/generic/Slider/Slider.js +111 -0
  158. package/dist/src/components/generic/Slider/Slider.js.map +1 -0
  159. package/dist/src/components/generic/Tabs/ElementChildren.d.ts +3 -0
  160. package/dist/src/components/generic/Tabs/ElementChildren.js +18 -0
  161. package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -0
  162. package/dist/src/components/generic/Tabs/Tab.d.ts +9 -0
  163. package/dist/src/components/generic/Tabs/Tab.js +13 -0
  164. package/dist/src/components/generic/Tabs/Tab.js.map +1 -0
  165. package/dist/src/components/generic/Tabs/TabContext.d.ts +16 -0
  166. package/dist/src/components/generic/Tabs/TabContext.js +39 -0
  167. package/dist/src/components/generic/Tabs/TabContext.js.map +1 -0
  168. package/dist/src/components/generic/Tabs/TabLink.d.ts +1 -0
  169. package/dist/src/components/generic/Tabs/TabLink.js +30 -0
  170. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -0
  171. package/dist/src/components/generic/Tabs/TabRouteContainer.d.ts +6 -0
  172. package/dist/src/components/generic/Tabs/TabRouteContainer.js +30 -0
  173. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -0
  174. package/dist/src/components/generic/Tabs/Tabs.d.ts +12 -0
  175. package/dist/src/components/generic/Tabs/Tabs.js +39 -0
  176. package/dist/src/components/generic/Tabs/Tabs.js.map +1 -0
  177. package/dist/src/components/generic/Text.d.ts +6 -3
  178. package/dist/src/components/generic/Text.js +2 -2
  179. package/dist/src/components/generic/Text.js.map +1 -1
  180. package/dist/src/components/generic/TextArea.d.ts +2 -1
  181. package/dist/src/components/generic/TextArea.js +3 -3
  182. package/dist/src/components/generic/TextArea.js.map +1 -1
  183. package/dist/src/components/generic/TextBox.d.ts +5 -3
  184. package/dist/src/components/generic/TextBox.js +18 -14
  185. package/dist/src/components/generic/TextBox.js.map +1 -1
  186. package/dist/src/components/generic/Tooltip/Tooltip.d.ts +8 -0
  187. package/dist/src/components/generic/Tooltip/Tooltip.js +26 -0
  188. package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -0
  189. package/dist/src/components/generic/badging/SSLSecureBadge.js +3 -3
  190. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  191. package/dist/src/components/generic/buttons/NextStepButton.d.ts +1 -1
  192. package/dist/src/components/generic/buttons/NextStepButton.js +5 -5
  193. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  194. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.d.ts +10 -7
  195. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +37 -58
  196. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  197. package/dist/src/components/generic/date/DatePicker.js +29 -28
  198. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  199. package/dist/src/components/generic/date/DatePickerDay.js +21 -22
  200. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  201. package/dist/src/components/generic/date/DatePickerDays.js +5 -5
  202. package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
  203. package/dist/src/components/generic/date/DatePickerMonth.js +8 -8
  204. package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
  205. package/dist/src/components/generic/date/DatePickerWeek.js +23 -24
  206. package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
  207. package/dist/src/components/generic/date/FloatingDatePicker.js +14 -45
  208. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  209. package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
  210. package/dist/src/components/generic/loader/ImageLoader.js +6 -6
  211. package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
  212. package/dist/src/components/generic/loader/LargeLoader.js +5 -5
  213. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  214. package/dist/src/components/generic/loader/SmallSpinner.d.ts +1 -1
  215. package/dist/src/components/generic/loader/SmallSpinner.js +2 -2
  216. package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
  217. package/dist/src/components/generic/map/HotelLocationMap.js +2 -2
  218. package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
  219. package/dist/src/components/generic/modal/ConfirmationModal.js +3 -3
  220. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  221. package/dist/src/components/generic/modal/ErrorModal.js +3 -3
  222. package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
  223. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.d.ts +8 -0
  224. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +73 -0
  225. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -0
  226. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +15 -0
  227. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +82 -0
  228. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -0
  229. package/dist/src/components/generic/modal/SimpleModal.d.ts +2 -3
  230. package/dist/src/components/generic/modal/SimpleModal.js +67 -55
  231. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  232. package/dist/src/components/generic/modal/TabbedModal.js +3 -3
  233. package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
  234. package/dist/src/components/generic/radio/RadioFields.js +2 -2
  235. package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
  236. package/dist/src/components/members/EditMyProfile.d.ts +3 -0
  237. package/dist/src/components/members/EditMyProfile.js +103 -0
  238. package/dist/src/components/members/EditMyProfile.js.map +1 -0
  239. package/dist/src/components/navigation/Header.js +73 -32
  240. package/dist/src/components/navigation/Header.js.map +1 -1
  241. package/dist/src/components/navigation/StepSelector.js +15 -14
  242. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  243. package/dist/src/components/navigation/StepSelectorModal.js +9 -9
  244. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  245. package/dist/src/components/pages/Account/Card/CardList.d.ts +15 -0
  246. package/dist/src/components/pages/Account/Card/CardList.js +36 -0
  247. package/dist/src/components/pages/Account/Card/CardList.js.map +1 -0
  248. package/dist/src/components/pages/Account/Card/MemberCardItem.d.ts +8 -0
  249. package/dist/src/components/pages/Account/Card/MemberCardItem.js +38 -0
  250. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -0
  251. package/dist/src/components/pages/PageColorComponent.d.ts +1 -0
  252. package/dist/src/components/pages/PageColorComponent.js +18 -0
  253. package/dist/src/components/pages/PageColorComponent.js.map +1 -0
  254. package/dist/src/components/reservation/ReservationItem.d.ts +16 -0
  255. package/dist/src/components/reservation/ReservationItem.js +145 -0
  256. package/dist/src/components/reservation/ReservationItem.js.map +1 -0
  257. package/dist/src/components/reservation/ReservationList.d.ts +11 -0
  258. package/dist/src/components/reservation/ReservationList.js +10 -0
  259. package/dist/src/components/reservation/ReservationList.js.map +1 -0
  260. package/dist/src/components/steps/DaysSelectedInformer.js +4 -4
  261. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  262. package/dist/src/components/steps/MinimumNightStayPill.js +14 -14
  263. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  264. package/dist/src/components/steps/addons/AddonCard.d.ts +1 -1
  265. package/dist/src/components/steps/addons/AddonCard.js +22 -22
  266. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  267. package/dist/src/components/steps/addons/AddonList.js +12 -12
  268. package/dist/src/components/steps/addons/AddonList.js.map +1 -1
  269. package/dist/src/components/steps/addons/AddonsNotFound.js +5 -5
  270. package/dist/src/components/steps/addons/AddonsNotFound.js.map +1 -1
  271. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +1 -1
  272. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +4 -3
  273. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
  274. package/dist/src/components/steps/confirmation/AccountDetails.js +9 -9
  275. package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
  276. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.d.ts +8 -0
  277. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js +31 -0
  278. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -0
  279. package/dist/src/components/steps/confirmation/PaymentDetails/CardPaymentDetails.d.ts +0 -0
  280. package/dist/src/components/steps/confirmation/PaymentDetails/CardPaymentDetails.js +1 -0
  281. package/dist/src/components/steps/confirmation/PaymentDetails/CardPaymentDetails.js.map +1 -0
  282. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.d.ts +6 -0
  283. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +41 -0
  284. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -0
  285. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.d.ts +3 -0
  286. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +196 -0
  287. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -0
  288. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.d.ts +2 -0
  289. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +58 -0
  290. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -0
  291. package/dist/src/components/steps/confirmation/RoomContactDetails.d.ts +3 -8
  292. package/dist/src/components/steps/confirmation/RoomContactDetails.js +262 -201
  293. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  294. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.d.ts +3 -6
  295. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +29 -19
  296. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  297. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +1 -1
  298. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +13 -13
  299. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  300. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +2 -1
  301. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +22 -10
  302. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
  303. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.d.ts +10 -8
  304. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +82 -54
  305. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  306. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +229 -302
  307. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  308. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.d.ts +1 -0
  309. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +11 -0
  310. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -0
  311. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +7 -7
  312. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  313. package/dist/src/components/steps/confirmation/StepConfirmationPaymentDetails.js +31 -34
  314. package/dist/src/components/steps/confirmation/StepConfirmationPaymentDetails.js.map +1 -1
  315. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +5 -5
  316. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
  317. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +5 -5
  318. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  319. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +23 -23
  320. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  321. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +1 -1
  322. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +3 -3
  323. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  324. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +2 -2
  325. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +17 -17
  326. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
  327. package/dist/src/components/steps/date/PeoplePicker.js +9 -9
  328. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  329. package/dist/src/components/steps/date/PeoplePickerRow.js +13 -13
  330. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  331. package/dist/src/components/steps/date/StepDatePricePerRoom.js +15 -15
  332. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  333. package/dist/src/components/steps/date/StepOneDateRange.js +7 -7
  334. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  335. package/dist/src/components/steps/date/StepOneDateRangePicker.js +6 -6
  336. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  337. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +6 -6
  338. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
  339. package/dist/src/components/steps/date/StepOneNextStepButton.js +6 -6
  340. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  341. package/dist/src/components/steps/date/StepOneStatusPeople.js +1 -1
  342. package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
  343. package/dist/src/components/steps/hotel/HotelCard.d.ts +1 -1
  344. package/dist/src/components/steps/hotel/HotelCard.js +31 -31
  345. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  346. package/dist/src/components/steps/hotel/HotelCardList.d.ts +1 -1
  347. package/dist/src/components/steps/hotel/HotelCardList.js +2 -2
  348. package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
  349. package/dist/src/components/steps/hotel/HotelCardModal.d.ts +2 -3
  350. package/dist/src/components/steps/hotel/HotelCardModal.js +20 -20
  351. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  352. package/dist/src/components/steps/hotel/HotelSearchParameters.js +24 -31
  353. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  354. package/dist/src/components/steps/hotel/NoHotelsAvailable.js +4 -4
  355. package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
  356. package/dist/src/components/steps/room/AvailableUpgradesModal.js +23 -24
  357. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  358. package/dist/src/components/steps/room/ImageGallerySlider.d.ts +1 -1
  359. package/dist/src/components/steps/room/ImageGallerySlider.js +14 -14
  360. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  361. package/dist/src/components/steps/room/InactivityWindow.js +22 -22
  362. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  363. package/dist/src/components/steps/room/LargeRoomCard.d.ts +1 -1
  364. package/dist/src/components/steps/room/LargeRoomCard.js +14 -14
  365. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  366. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +39 -45
  367. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
  368. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.types.d.ts +1 -1
  369. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.types.js.map +1 -1
  370. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +22 -22
  371. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  372. package/dist/src/components/steps/room/RatesNotFound.js +3 -3
  373. package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
  374. package/dist/src/components/steps/room/RoomList.js +53 -23
  375. package/dist/src/components/steps/room/RoomList.js.map +1 -1
  376. package/dist/src/components/steps/room/RoomListAlert.d.ts +2 -0
  377. package/dist/src/components/steps/room/RoomListAlert.js +27 -0
  378. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -0
  379. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +24 -26
  380. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  381. package/dist/src/components/steps/room/RoomModal.d.ts +2 -2
  382. package/dist/src/components/steps/room/RoomModal.js +12 -12
  383. package/dist/src/components/steps/room/RoomModal.js.map +1 -1
  384. package/dist/src/components/steps/room/StepRoomAlertBlocks.js +8 -8
  385. package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
  386. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +8 -8
  387. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  388. package/dist/src/components/steps/room/StepRoomErrorForm.js +10 -10
  389. package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
  390. package/dist/src/components/steps/room/StepRoomHotelDetails.js +8 -9
  391. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  392. package/dist/src/components/steps/room/StepRoomNextStepButton.js +5 -5
  393. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  394. package/dist/src/components/steps/room/StepRoomSortBy.js +6 -6
  395. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  396. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +13 -13
  397. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  398. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +1 -1
  399. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +6 -6
  400. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
  401. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +1 -1
  402. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +6 -6
  403. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
  404. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +9 -9
  405. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  406. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +1 -1
  407. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +35 -42
  408. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  409. package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +1 -1
  410. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +37 -37
  411. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  412. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +3 -1
  413. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +9 -8
  414. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  415. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +1 -1
  416. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +5 -5
  417. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  418. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +10 -10
  419. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  420. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.d.ts +7 -0
  421. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +99 -0
  422. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -0
  423. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +1 -1
  424. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +4 -4
  425. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
  426. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +11 -11
  427. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  428. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +1 -1
  429. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +15 -14
  430. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  431. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +1 -1
  432. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +16 -15
  433. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  434. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +1 -1
  435. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +4 -4
  436. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  437. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +2 -3
  438. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +16 -16
  439. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  440. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +1 -1
  441. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +22 -22
  442. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  443. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +1 -1
  444. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +25 -32
  445. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  446. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +7 -7
  447. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  448. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +1 -1
  449. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +22 -39
  450. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  451. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +2 -2
  452. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +65 -27
  453. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
  454. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +2 -2
  455. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +13 -13
  456. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
  457. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +2 -2
  458. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +13 -13
  459. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  460. package/dist/src/components/summary/BEMapWidget.js +7 -7
  461. package/dist/src/components/summary/BEMapWidget.js.map +1 -1
  462. package/dist/src/components/summary/BEMobileSummary.js +15 -15
  463. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  464. package/dist/src/components/summary/BEMobileSummaryModal.js +25 -26
  465. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  466. package/dist/src/components/summary/BESummary.d.ts +1 -1
  467. package/dist/src/components/summary/BESummary.js +22 -25
  468. package/dist/src/components/summary/BESummary.js.map +1 -1
  469. package/dist/src/components/summary/BESummaryAddonRow.d.ts +1 -1
  470. package/dist/src/components/summary/BESummaryAddonRow.js +9 -9
  471. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  472. package/dist/src/components/summary/BESummaryPerkBlock.js +8 -8
  473. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  474. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +5 -5
  475. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  476. package/dist/src/components/summary/BESummaryRoomRow.d.ts +1 -1
  477. package/dist/src/components/summary/BESummaryRoomRow.js +19 -19
  478. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  479. package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +1 -1
  480. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +7 -7
  481. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  482. package/dist/src/components/temp/Login.d.ts +2 -0
  483. package/dist/src/components/temp/Login.js +53 -0
  484. package/dist/src/components/temp/Login.js.map +1 -0
  485. package/dist/src/containers/PrivateRoute.d.ts +3 -0
  486. package/dist/src/containers/PrivateRoute.js +31 -0
  487. package/dist/src/containers/PrivateRoute.js.map +1 -0
  488. package/dist/src/contexts/BasketContext/BasketContext.d.ts +2 -1
  489. package/dist/src/contexts/BasketContext/BasketContext.js +4 -2
  490. package/dist/src/contexts/BasketContext/BasketContext.js.map +1 -1
  491. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +7 -7
  492. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  493. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +70 -56
  494. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  495. package/dist/src/contexts/BookingEngineContext/BookingEngineContext.d.ts +1 -0
  496. package/dist/src/contexts/BookingEngineContext/BookingEngineContext.js +4 -2
  497. package/dist/src/contexts/BookingEngineContext/BookingEngineContext.js.map +1 -1
  498. package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.d.ts +2 -2
  499. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +4 -4
  500. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  501. package/dist/src/contexts/CompanyContext/CompanyContext.js +1 -1
  502. package/dist/src/contexts/CompanyContext/CompanyContext.js.map +1 -1
  503. package/dist/src/contexts/CompanyContext/CompanyContextType.type.d.ts +13 -9
  504. package/dist/src/contexts/CompanyContext/CompanyContextType.type.js.map +1 -1
  505. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.d.ts +1 -1
  506. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +37 -42
  507. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  508. package/dist/src/contexts/ConfirmationFormContext.d.ts +3 -3
  509. package/dist/src/contexts/ConfirmationFormContext.js +4 -5
  510. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  511. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.d.ts +4 -0
  512. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.js +8 -0
  513. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.js.map +1 -0
  514. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.d.ts +12 -0
  515. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js +3 -0
  516. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js.map +1 -0
  517. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.d.ts +2 -0
  518. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +188 -0
  519. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -0
  520. package/dist/src/contexts/ErrorContext.js +3 -3
  521. package/dist/src/contexts/ErrorContext.js.map +1 -1
  522. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.js +1 -1
  523. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.js.map +1 -1
  524. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +46 -35
  525. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  526. package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
  527. package/dist/src/contexts/HotelOverridesContext.js +15 -15
  528. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  529. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +36 -0
  530. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js +28 -0
  531. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -0
  532. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.d.ts +2 -0
  533. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +227 -0
  534. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -0
  535. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +20 -0
  536. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.js +8 -0
  537. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.js.map +1 -0
  538. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.d.ts +2 -0
  539. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +155 -0
  540. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -0
  541. package/dist/src/contexts/ModalContext.js +1 -1
  542. package/dist/src/contexts/ModalContext.js.map +1 -1
  543. package/dist/src/contexts/NotificationContext.d.ts +3 -3
  544. package/dist/src/contexts/NotificationContext.js +5 -6
  545. package/dist/src/contexts/NotificationContext.js.map +1 -1
  546. package/dist/src/contexts/index.d.ts +22 -19
  547. package/dist/src/contexts/index.js +28 -21
  548. package/dist/src/contexts/index.js.map +1 -1
  549. package/dist/src/engines/BaseEngine.d.ts +3 -3
  550. package/dist/src/engines/BaseEngine.js +2 -2
  551. package/dist/src/engines/BaseEngine.js.map +1 -1
  552. package/dist/src/engines/CustomEngine/CustomEngine.d.ts +1 -1
  553. package/dist/src/engines/CustomEngine/CustomEngine.js +1 -1
  554. package/dist/src/engines/CustomEngine/CustomEngine.js.map +1 -1
  555. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.d.ts +1 -1
  556. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +4 -4
  557. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
  558. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +1 -1
  559. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +25 -14
  560. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  561. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.d.ts +1 -1
  562. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js +4 -4
  563. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js.map +1 -1
  564. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +1 -1
  565. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +46 -121
  566. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  567. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.d.ts +1 -1
  568. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js +4 -4
  569. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -1
  570. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +1 -1
  571. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +17 -15
  572. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  573. package/dist/src/errors/GetAvailabilityError.d.ts +1 -1
  574. package/dist/src/errors/GetAvailabilityError.js +4 -4
  575. package/dist/src/errors/GetAvailabilityError.js.map +1 -1
  576. package/dist/src/errors/NoCompanyContextError.d.ts +1 -1
  577. package/dist/src/errors/NoCompanyContextError.js +1 -1
  578. package/dist/src/errors/NoCompanyContextError.js.map +1 -1
  579. package/dist/src/errors/NoHotelSelectedError.d.ts +1 -1
  580. package/dist/src/errors/NoHotelSelectedError.js +1 -1
  581. package/dist/src/errors/NoHotelSelectedError.js.map +1 -1
  582. package/dist/src/events/RoomstayEventManager.d.ts +3 -3
  583. package/dist/src/events/RoomstayEventManager.js +5 -24
  584. package/dist/src/events/RoomstayEventManager.js.map +1 -1
  585. package/dist/src/events/actions/AddToCartEvent.d.ts +2 -2
  586. package/dist/src/events/actions/AddToCartEvent.js +1 -1
  587. package/dist/src/events/actions/AddToCartEvent.js.map +1 -1
  588. package/dist/src/events/actions/RemoveFromCartEvent.d.ts +2 -2
  589. package/dist/src/events/actions/RemoveFromCartEvent.js +1 -1
  590. package/dist/src/events/actions/RemoveFromCartEvent.js.map +1 -1
  591. package/dist/src/events/index.d.ts +13 -14
  592. package/dist/src/events/index.js +19 -16
  593. package/dist/src/events/index.js.map +1 -1
  594. package/dist/src/events/views/StepCheckoutViewEvent.d.ts +2 -2
  595. package/dist/src/events/views/StepCheckoutViewEvent.js +1 -1
  596. package/dist/src/events/views/StepCheckoutViewEvent.js.map +1 -1
  597. package/dist/src/hooks/AutoFocusOnSelect.d.ts +13 -0
  598. package/dist/src/hooks/AutoFocusOnSelect.js +76 -0
  599. package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -0
  600. package/dist/src/hooks/BodyClickHook.d.ts +10 -0
  601. package/dist/src/hooks/BodyClickHook.js +36 -0
  602. package/dist/src/hooks/BodyClickHook.js.map +1 -0
  603. package/dist/src/hooks/CombineState.d.ts +2 -0
  604. package/dist/src/hooks/CombineState.js +10 -0
  605. package/dist/src/hooks/CombineState.js.map +1 -0
  606. package/dist/src/hooks/ConfirmationQuery.d.ts +5 -0
  607. package/dist/src/hooks/ConfirmationQuery.js +17 -0
  608. package/dist/src/hooks/ConfirmationQuery.js.map +1 -0
  609. package/dist/src/hooks/CurrentHotelHook.js +4 -3
  610. package/dist/src/hooks/CurrentHotelHook.js.map +1 -1
  611. package/dist/src/hooks/ElementSortHook.d.ts +2 -2
  612. package/dist/src/hooks/ElementSortHook.js +4 -3
  613. package/dist/src/hooks/ElementSortHook.js.map +1 -1
  614. package/dist/src/hooks/EventHook.d.ts +3 -3
  615. package/dist/src/hooks/EventHook.js +5 -4
  616. package/dist/src/hooks/EventHook.js.map +1 -1
  617. package/dist/src/hooks/KeyboardControlOnSelect.d.ts +13 -0
  618. package/dist/src/hooks/KeyboardControlOnSelect.js +111 -0
  619. package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -0
  620. package/dist/src/hooks/LoggedInUserHook.d.ts +10 -0
  621. package/dist/src/hooks/LoggedInUserHook.js +43 -0
  622. package/dist/src/hooks/LoggedInUserHook.js.map +1 -0
  623. package/dist/src/hooks/Query.d.ts +2 -0
  624. package/dist/src/hooks/Query.js +15 -0
  625. package/dist/src/hooks/Query.js.map +1 -0
  626. package/dist/src/hooks/ScrollFocusHook.js +2 -1
  627. package/dist/src/hooks/ScrollFocusHook.js.map +1 -1
  628. package/dist/src/hooks/VGSHooks.d.ts +47 -0
  629. package/dist/src/hooks/VGSHooks.js +207 -0
  630. package/dist/src/hooks/VGSHooks.js.map +1 -0
  631. package/dist/src/hooks/WindowSize.d.ts +4 -0
  632. package/dist/src/hooks/WindowSize.js +24 -0
  633. package/dist/src/hooks/WindowSize.js.map +1 -0
  634. package/dist/src/hooks/index.d.ts +6 -5
  635. package/dist/src/hooks/index.js +12 -7
  636. package/dist/src/hooks/index.js.map +1 -1
  637. package/dist/src/icons/Check.js +1 -1
  638. package/dist/src/icons/Check.js.map +1 -1
  639. package/dist/src/index.d.ts +62 -64
  640. package/dist/src/index.js +73 -72
  641. package/dist/src/index.js.map +1 -1
  642. package/dist/src/mockApi/AddonAPI.d.ts +3 -3
  643. package/dist/src/mockApi/AddonAPI.js +3 -3
  644. package/dist/src/mockApi/AddonAPI.js.map +1 -1
  645. package/dist/src/mockApi/BookingAPI.d.ts +6 -6
  646. package/dist/src/mockApi/BookingAPI.js +6 -6
  647. package/dist/src/mockApi/BookingAPI.js.map +1 -1
  648. package/dist/src/mockApi/ExchangeRateAPI.d.ts +2 -2
  649. package/dist/src/mockApi/ExchangeRateAPI.js +1 -1
  650. package/dist/src/mockApi/ExchangeRateAPI.js.map +1 -1
  651. package/dist/src/mockApi/HotelAPI.d.ts +3 -3
  652. package/dist/src/mockApi/HotelAPI.js +1 -1
  653. package/dist/src/mockApi/HotelAPI.js.map +1 -1
  654. package/dist/src/mockApi/MemberAPI.d.ts +1 -1
  655. package/dist/src/mockApi/MemberAPI.js +1 -1
  656. package/dist/src/mockApi/MemberAPI.js.map +1 -1
  657. package/dist/src/mockApi/MockAPI.d.ts +1 -1
  658. package/dist/src/mockApi/MockAPI.js +1 -1
  659. package/dist/src/mockApi/MockAPI.js.map +1 -1
  660. package/dist/src/mockApi/ReservationAPI.d.ts +6 -6
  661. package/dist/src/mockApi/ReservationAPI.js +1 -1
  662. package/dist/src/mockApi/ReservationAPI.js.map +1 -1
  663. package/dist/src/models/Addon/Addon.d.ts +2 -2
  664. package/dist/src/models/Addon/Addon.js.map +1 -1
  665. package/dist/src/models/Api/ExchangeRateDTO.d.ts +1 -1
  666. package/dist/src/models/Api/HotelDTO.d.ts +19 -11
  667. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  668. package/dist/src/models/Api/HotelOverrideDTO.d.ts +1 -1
  669. package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
  670. package/dist/src/models/Api/IEventReservation.d.ts +1 -1
  671. package/dist/src/models/Api/RatePlanDTO.d.ts +1 -1
  672. package/dist/src/models/Api/ReservationsDTO.d.ts +17 -4
  673. package/dist/src/models/Api/ReservationsDTO.js.map +1 -1
  674. package/dist/src/models/Api/RoomNightDTO.d.ts +2 -2
  675. package/dist/src/models/Api/RoomNightDTO.js.map +1 -1
  676. package/dist/src/models/Api/RoomNightRateDTO.d.ts +1 -1
  677. package/dist/src/models/Api/RoomTypeDTO.d.ts +1 -1
  678. package/dist/src/models/BasketAddonRow.d.ts +1 -1
  679. package/dist/src/models/BasketAddonRow.js +2 -2
  680. package/dist/src/models/BasketAddonRow.js.map +1 -1
  681. package/dist/src/models/BasketRow.d.ts +9 -6
  682. package/dist/src/models/BasketRow.js +4 -1
  683. package/dist/src/models/BasketRow.js.map +1 -1
  684. package/dist/src/models/BasketRowDifferences.d.ts +2 -2
  685. package/dist/src/models/Client/Hotel/ColorProfile.d.ts +1 -1
  686. package/dist/src/models/Client/Hotel/Company.d.ts +2 -2
  687. package/dist/src/models/Client/Hotel/Company.js.map +1 -1
  688. package/dist/src/models/Client/Hotel/Hotel.d.ts +28 -15
  689. package/dist/src/models/Client/Hotel/Hotel.js +8 -0
  690. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  691. package/dist/src/models/Client/Hotel/HotelAddress.d.ts +1 -1
  692. package/dist/src/models/Client/Hotel/HotelPerk.d.ts +3 -3
  693. package/dist/src/models/Client/Hotel/HotelPerk.js.map +1 -1
  694. package/dist/src/models/Client/Hotel/HotelRoomOverwrite.d.ts +1 -1
  695. package/dist/src/models/Confirmation.d.ts +31 -0
  696. package/dist/src/models/Confirmation.js +15 -0
  697. package/dist/src/models/Confirmation.js.map +1 -0
  698. package/dist/src/models/PaymentCard.d.ts +15 -2
  699. package/dist/src/models/PaymentCard.js +13 -0
  700. package/dist/src/models/PaymentCard.js.map +1 -1
  701. package/dist/src/models/Reservation/Reservation.d.ts +16 -0
  702. package/dist/src/models/{Promotion/IPromotion.type.js → Reservation/Reservation.js} +1 -1
  703. package/dist/src/models/Reservation/Reservation.js.map +1 -0
  704. package/dist/src/models/Room/Filters/BudgetFilter.d.ts +2 -2
  705. package/dist/src/models/Room/Filters/BudgetFilter.js +1 -1
  706. package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
  707. package/dist/src/models/Room/Filters/Filter.d.ts +1 -1
  708. package/dist/src/models/Room/Filters/Filter.js.map +1 -1
  709. package/dist/src/models/Room/Filters/RateTypeFilter.d.ts +2 -2
  710. package/dist/src/models/Room/Filters/RateTypeFilter.js +1 -1
  711. package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
  712. package/dist/src/models/Room/Filters/RoomTypeFilter.d.ts +2 -2
  713. package/dist/src/models/Room/Filters/RoomTypeFilter.js +1 -1
  714. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  715. package/dist/src/models/Room/Room.d.ts +3 -3
  716. package/dist/src/models/Room/Room.js +1 -1
  717. package/dist/src/models/Room/Room.js.map +1 -1
  718. package/dist/src/models/Room/RoomRate.d.ts +4 -4
  719. package/dist/src/models/Room/RoomRate.js +3 -3
  720. package/dist/src/models/Room/RoomRate.js.map +1 -1
  721. package/dist/src/models/Room/RoomRateNight.d.ts +1 -1
  722. package/dist/src/models/Room/RoomRateNight.js +1 -1
  723. package/dist/src/models/Room/RoomRateNight.js.map +1 -1
  724. package/dist/src/models/RoomListSearch.d.ts +3 -3
  725. package/dist/src/models/RoomstayMembers/IRoomstayMemberBooking.d.ts +21 -0
  726. package/dist/src/models/RoomstayMembers/IRoomstayMemberBooking.js +3 -0
  727. package/dist/src/models/RoomstayMembers/IRoomstayMemberBooking.js.map +1 -0
  728. package/dist/src/models/RoomstayMembers/IRoomstayMemberCard.d.ts +2 -0
  729. package/dist/src/models/RoomstayMembers/IRoomstayMemberCard.js +3 -0
  730. package/dist/src/models/RoomstayMembers/IRoomstayMemberCard.js.map +1 -0
  731. package/dist/src/models/RoomstaySession.d.ts +9 -6
  732. package/dist/src/models/RoomstaySession.js.map +1 -1
  733. package/dist/src/models/SearchParameters.d.ts +1 -1
  734. package/dist/src/models/UserProfile.d.ts +2 -1
  735. package/dist/src/models/UserProfile.js.map +1 -1
  736. package/dist/src/pages/account/AccountHome/AccountHomePage.d.ts +1 -0
  737. package/dist/src/pages/account/AccountHome/AccountHomePage.js +82 -0
  738. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -0
  739. package/dist/src/pages/account/AccountOutlet.d.ts +6 -0
  740. package/dist/src/pages/account/AccountOutlet.js +10 -0
  741. package/dist/src/pages/account/AccountOutlet.js.map +1 -0
  742. package/dist/src/pages/account/AccountRouter.d.ts +1 -0
  743. package/dist/src/pages/account/AccountRouter.js +32 -0
  744. package/dist/src/pages/account/AccountRouter.js.map +1 -0
  745. package/dist/src/pages/account/AccountRoutes.d.ts +22 -0
  746. package/dist/src/pages/account/AccountRoutes.js +26 -0
  747. package/dist/src/pages/account/AccountRoutes.js.map +1 -0
  748. package/dist/src/pages/account/Details/AccountDetailsCardsPage.d.ts +1 -0
  749. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +125 -0
  750. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -0
  751. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.d.ts +7 -0
  752. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +25 -0
  753. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -0
  754. package/dist/src/pages/account/Details/AccountDetailsProfilePage.d.ts +1 -0
  755. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +127 -0
  756. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -0
  757. package/dist/src/pages/account/Help/AccountHelpPage.d.ts +1 -0
  758. package/dist/src/pages/account/Help/AccountHelpPage.js +140 -0
  759. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -0
  760. package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.d.ts +1 -0
  761. package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js +107 -0
  762. package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js.map +1 -0
  763. package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.d.ts +2 -0
  764. package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js +132 -0
  765. package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js.map +1 -0
  766. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.d.ts +1 -0
  767. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +245 -0
  768. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -0
  769. package/dist/src/pages/account/Reservations/AccountReservationsPage.d.ts +1 -0
  770. package/dist/src/pages/account/Reservations/AccountReservationsPage.js +38 -0
  771. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -0
  772. package/dist/src/pages/findReservation/FindReservation.d.ts +7 -0
  773. package/dist/src/pages/findReservation/FindReservation.js +149 -73
  774. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  775. package/dist/src/pages/findReservation/FindReservationResults.js +29 -29
  776. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  777. package/dist/src/pages/findReservation/ReservationRow.d.ts +1 -1
  778. package/dist/src/pages/findReservation/ReservationRow.js +24 -23
  779. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  780. package/dist/src/pages/findReservation/ReservationRowModal.d.ts +1 -1
  781. package/dist/src/pages/findReservation/ReservationRowModal.js +12 -12
  782. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  783. package/dist/src/pages/hotel/HotelInfo.js +23 -30
  784. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  785. package/dist/src/pages/hotel/HotelInfoPlaceholder.js +1 -1
  786. package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
  787. package/dist/src/pages/steps/Step.d.ts +4 -4
  788. package/dist/src/pages/steps/Step.js.map +1 -1
  789. package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +6 -7
  790. package/dist/src/pages/steps/StepAddon/StepAddon.js +4 -4
  791. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  792. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +17 -17
  793. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  794. package/dist/src/pages/steps/StepAddon/StepAddonLoader.d.ts +2 -1
  795. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +7 -7
  796. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
  797. package/dist/src/pages/steps/StepAddon/StepAddonValidator.d.ts +1 -1
  798. package/dist/src/pages/steps/StepAddon/StepAddonValidator.js +1 -1
  799. package/dist/src/pages/steps/StepAddon/StepAddonValidator.js.map +1 -1
  800. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.d.ts +6 -6
  801. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js +4 -4
  802. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  803. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +23 -26
  804. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  805. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +2 -2
  806. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
  807. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.d.ts +1 -1
  808. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js +1 -1
  809. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
  810. package/dist/src/pages/steps/StepDate/StepDate.js +4 -4
  811. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  812. package/dist/src/pages/steps/StepDate/StepDateComponent.js +30 -28
  813. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  814. package/dist/src/pages/steps/StepDate/StepDateValidator.d.ts +2 -3
  815. package/dist/src/pages/steps/StepDate/StepDateValidator.js +2 -2
  816. package/dist/src/pages/steps/StepDate/StepDateValidator.js.map +1 -1
  817. package/dist/src/pages/steps/StepGuide.d.ts +1 -1
  818. package/dist/src/pages/steps/StepGuide.js +8 -8
  819. package/dist/src/pages/steps/StepGuide.js.map +1 -1
  820. package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +5 -6
  821. package/dist/src/pages/steps/StepHotel/StepHotel.js +4 -4
  822. package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
  823. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +26 -26
  824. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  825. package/dist/src/pages/steps/StepHotel/StepHotelLoader.d.ts +2 -1
  826. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +10 -10
  827. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
  828. package/dist/src/pages/steps/StepHotel/StepHotelValidator.d.ts +1 -1
  829. package/dist/src/pages/steps/StepHotel/StepHotelValidator.js +1 -1
  830. package/dist/src/pages/steps/StepHotel/StepHotelValidator.js.map +1 -1
  831. package/dist/src/pages/steps/StepRoom/StepRoom.d.ts +6 -6
  832. package/dist/src/pages/steps/StepRoom/StepRoom.js +4 -4
  833. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  834. package/dist/src/pages/steps/StepRoom/StepRoomComponent.d.ts +2 -1
  835. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +25 -35
  836. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  837. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +2 -2
  838. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
  839. package/dist/src/pages/steps/StepRoom/StepRoomValidator.d.ts +1 -1
  840. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js +1 -1
  841. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
  842. package/dist/src/pages/steps/StepThanks/StepThanks.d.ts +6 -6
  843. package/dist/src/pages/steps/StepThanks/StepThanks.js +5 -5
  844. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  845. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +17 -17
  846. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  847. package/dist/src/pages/steps/StepThanks/StepThanksValidator.d.ts +1 -1
  848. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js +1 -1
  849. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
  850. package/dist/src/providers/CurrencyProvider.js +128 -3
  851. package/dist/src/providers/CurrencyProvider.js.map +1 -1
  852. package/dist/src/providers/DistanceProvider.d.ts +1 -1
  853. package/dist/src/providers/DistanceProvider.js +1 -1
  854. package/dist/src/providers/DistanceProvider.js.map +1 -1
  855. package/dist/src/providers/FeatureProvider.js +11 -7
  856. package/dist/src/providers/FeatureProvider.js.map +1 -1
  857. package/dist/src/providers/FilterProvider.d.ts +3 -3
  858. package/dist/src/providers/FilterProvider.js +3 -1
  859. package/dist/src/providers/FilterProvider.js.map +1 -1
  860. package/dist/src/providers/ImageProvider.js +1 -1
  861. package/dist/src/providers/ImageProvider.js.map +1 -1
  862. package/dist/src/providers/LanguageProvider.d.ts +1 -1
  863. package/dist/src/providers/LanguageProvider.js +2 -2
  864. package/dist/src/providers/LanguageProvider.js.map +1 -1
  865. package/dist/src/providers/RatePillProvider.d.ts +8 -8
  866. package/dist/src/providers/RatePillProvider.js.map +1 -1
  867. package/dist/src/providers/RoomSortProvider.d.ts +1 -1
  868. package/dist/src/providers/RoomSortProvider.js.map +1 -1
  869. package/dist/src/providers/RoomstayThemeEngine.d.ts +6 -10
  870. package/dist/src/providers/RoomstayThemeEngine.js +14 -25
  871. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  872. package/dist/src/providers/SessionProvider.d.ts +3 -1
  873. package/dist/src/providers/SessionProvider.js +19 -7
  874. package/dist/src/providers/SessionProvider.js.map +1 -1
  875. package/dist/src/providers/feature/ConfirmationVerifyFeature.d.ts +1 -1
  876. package/dist/src/providers/feature/ConfirmationVerifyFeature.js +1 -1
  877. package/dist/src/providers/feature/ConfirmationVerifyFeature.js.map +1 -1
  878. package/dist/src/providers/feature/DatePickerTypeFeature.d.ts +1 -1
  879. package/dist/src/providers/feature/DatePickerTypeFeature.js +2 -2
  880. package/dist/src/providers/feature/DatePickerTypeFeature.js.map +1 -1
  881. package/dist/src/providers/feature/E164PhoneNumberFieldFeature.d.ts +1 -1
  882. package/dist/src/providers/feature/E164PhoneNumberFieldFeature.js +1 -1
  883. package/dist/src/providers/feature/E164PhoneNumberFieldFeature.js.map +1 -1
  884. package/dist/src/providers/feature/Feature.js +3 -1
  885. package/dist/src/providers/feature/Feature.js.map +1 -1
  886. package/dist/src/providers/feature/FeaturedPromoFeature.d.ts +1 -1
  887. package/dist/src/providers/feature/FeaturedPromoFeature.js +2 -2
  888. package/dist/src/providers/feature/FeaturedPromoFeature.js.map +1 -1
  889. package/dist/src/providers/feature/InlineAddonStepFeature.d.ts +1 -1
  890. package/dist/src/providers/feature/InlineAddonStepFeature.js +1 -1
  891. package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
  892. package/dist/src/providers/feature/MemberPortalFeature.d.ts +7 -0
  893. package/dist/src/providers/feature/MemberPortalFeature.js +11 -0
  894. package/dist/src/providers/feature/MemberPortalFeature.js.map +1 -0
  895. package/dist/src/providers/feature/NumberOfPeopleBookedPillFeature.d.ts +7 -0
  896. package/dist/src/providers/feature/NumberOfPeopleBookedPillFeature.js +11 -0
  897. package/dist/src/providers/feature/NumberOfPeopleBookedPillFeature.js.map +1 -0
  898. package/dist/src/providers/feature/RoomUpsellFeature.d.ts +1 -1
  899. package/dist/src/providers/feature/RoomUpsellFeature.js +1 -1
  900. package/dist/src/providers/feature/RoomUpsellFeature.js.map +1 -1
  901. package/dist/src/providers/feature/ShowIATANumberOnCheckoutFeature.d.ts +1 -1
  902. package/dist/src/providers/feature/ShowIATANumberOnCheckoutFeature.js +1 -1
  903. package/dist/src/providers/feature/ShowIATANumberOnCheckoutFeature.js.map +1 -1
  904. package/dist/src/providers/storage/LocalStorageProvider.d.ts +2 -2
  905. package/dist/src/providers/storage/LocalStorageProvider.js +25 -24
  906. package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -1
  907. package/dist/src/reducers/BasketReducer.d.ts +3 -3
  908. package/dist/src/reducers/BasketReducer.js +5 -4
  909. package/dist/src/reducers/BasketReducer.js.map +1 -1
  910. package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +1 -1
  911. package/dist/src/routes/NaturallyProgressedStepRoute.js +5 -3
  912. package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -1
  913. package/dist/src/stories/Button.stories.d.ts +5 -0
  914. package/dist/src/stories/Button.stories.js +17 -0
  915. package/dist/src/stories/Button.stories.js.map +1 -0
  916. package/dist/src/stories/Card.stories.d.ts +8 -0
  917. package/dist/src/stories/Card.stories.js +17 -0
  918. package/dist/src/stories/Card.stories.js.map +1 -0
  919. package/dist/src/stories/Checkbox.stories.d.ts +5 -0
  920. package/dist/src/stories/Checkbox.stories.js +17 -0
  921. package/dist/src/stories/Checkbox.stories.js.map +1 -0
  922. package/dist/src/stories/EnhancedPhoneNumberField.stories.js +16 -0
  923. package/dist/src/stories/EnhancedPhoneNumberField.stories.js.map +1 -0
  924. package/dist/src/stories/Icon.stories.d.ts +5 -0
  925. package/dist/src/stories/Icon.stories.js +16 -0
  926. package/dist/src/stories/Icon.stories.js.map +1 -0
  927. package/dist/src/stories/IconNavCard.stories.d.ts +16 -0
  928. package/dist/src/stories/IconNavCard.stories.js +28 -0
  929. package/dist/src/stories/IconNavCard.stories.js.map +1 -0
  930. package/dist/src/stories/IconText.stories.js +18 -0
  931. package/dist/src/stories/IconText.stories.js.map +1 -0
  932. package/dist/src/stories/ImageLoader.stories.d.ts +5 -0
  933. package/dist/src/stories/ImageLoader.stories.js +16 -0
  934. package/dist/src/stories/ImageLoader.stories.js.map +1 -0
  935. package/dist/src/stories/InputGroup.stories.d.ts +5 -0
  936. package/dist/src/stories/InputGroup.stories.js +16 -0
  937. package/dist/src/stories/InputGroup.stories.js.map +1 -0
  938. package/dist/src/stories/LargeLoader.stories.d.ts +5 -0
  939. package/dist/src/stories/LargeLoader.stories.js +14 -0
  940. package/dist/src/stories/LargeLoader.stories.js.map +1 -0
  941. package/dist/src/stories/PasswordBox.stories.d.ts +5 -0
  942. package/dist/src/stories/PasswordBox.stories.js +14 -0
  943. package/dist/src/stories/PasswordBox.stories.js.map +1 -0
  944. package/dist/src/stories/SSLSecureBadge.stories.d.ts +5 -0
  945. package/dist/src/stories/SSLSecureBadge.stories.js +14 -0
  946. package/dist/src/stories/SSLSecureBadge.stories.js.map +1 -0
  947. package/dist/src/stories/SmallSpinner.stories.d.ts +5 -0
  948. package/dist/src/stories/SmallSpinner.stories.js +14 -0
  949. package/dist/src/stories/SmallSpinner.stories.js.map +1 -0
  950. package/dist/src/translations/Translation.d.ts +111 -1
  951. package/dist/src/translations/Translation.js +111 -1
  952. package/dist/src/translations/Translation.js.map +1 -1
  953. package/dist/src/translations/languages/en-gb.d.ts +1 -1
  954. package/dist/src/translations/languages/en-gb.js +112 -2
  955. package/dist/src/translations/languages/en-gb.js.map +1 -1
  956. package/dist/src/translations/languages/es.js +1 -1
  957. package/dist/src/translations/languages/es.js.map +1 -1
  958. package/dist/src/translations/languages/fr.js +1 -1
  959. package/dist/src/translations/languages/fr.js.map +1 -1
  960. package/dist/src/translations/languages/template.js +1 -1
  961. package/dist/src/translations/languages/template.js.map +1 -1
  962. package/dist/src/translations/languages/zh-cn.js +1 -1
  963. package/dist/src/translations/languages/zh-cn.js.map +1 -1
  964. package/dist/src/translations/languages/zh-tw.js +1 -1
  965. package/dist/src/translations/languages/zh-tw.js.map +1 -1
  966. package/dist/src/util/CalendarHelper.d.ts +1 -1
  967. package/dist/src/util/CalendarHelper.js +2 -1
  968. package/dist/src/util/CalendarHelper.js.map +1 -1
  969. package/dist/src/util/Color.d.ts +15 -14
  970. package/dist/src/util/Color.js +15 -14
  971. package/dist/src/util/Color.js.map +1 -1
  972. package/dist/src/util/DataLayer.d.ts +7 -7
  973. package/dist/src/util/DataLayer.js.map +1 -1
  974. package/dist/src/util/Debounce.d.ts +2 -0
  975. package/dist/src/util/Debounce.js +14 -0
  976. package/dist/src/util/Debounce.js.map +1 -0
  977. package/dist/src/util/EnumHelper.d.ts +3 -0
  978. package/dist/src/util/EnumHelper.js +10 -0
  979. package/dist/src/util/EnumHelper.js.map +1 -0
  980. package/dist/src/util/PaymentCardHelper.d.ts +9 -0
  981. package/dist/src/util/PaymentCardHelper.js +37 -0
  982. package/dist/src/util/PaymentCardHelper.js.map +1 -0
  983. package/dist/src/util/StepManager.d.ts +1 -1
  984. package/dist/src/util/StepManager.js +1 -3
  985. package/dist/src/util/StepManager.js.map +1 -1
  986. package/dist/src/util/StringHelper.js +1 -1
  987. package/dist/src/util/StringHelper.js.map +1 -1
  988. package/dist/src/util/TotalCalculator.js +5 -3
  989. package/dist/src/util/TotalCalculator.js.map +1 -1
  990. package/dist/src/util/Validation.d.ts +17 -1
  991. package/dist/src/util/Validation.js +25 -2
  992. package/dist/src/util/Validation.js.map +1 -1
  993. package/dist/test.bundle.js +1 -1
  994. package/dist/tests/jest/events/EventManager.test.js +4 -5
  995. package/dist/tests/jest/events/EventManager.test.js.map +1 -1
  996. package/dist/tests/jest/providers/LanguageProvider.test.d.ts +1 -1
  997. package/dist/tests/jest/providers/LanguageProvider.test.js +6 -7
  998. package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -1
  999. package/dist/tests/jest/reducers/BasketReducer.test.js +11 -11
  1000. package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -1
  1001. package/dist/tests/offline/RoomstayBestRateAlert.js +3 -3
  1002. package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -1
  1003. package/dist/tests/offline/entry/RSCompany.d.ts +1 -1
  1004. package/dist/tests/offline/entry/RSCompany.js +15 -55
  1005. package/dist/tests/offline/entry/RSCompany.js.map +1 -1
  1006. package/dist/tests/offline/entry/ReactWrapper.js +11 -6
  1007. package/dist/tests/offline/entry/ReactWrapper.js.map +1 -1
  1008. package/dist/tests/offline/entry/allEngines.js +2 -2
  1009. package/dist/tests/offline/entry/allEngines.js.map +1 -1
  1010. package/dist/tests/offline/entry/components/TestPicker.js +32 -8
  1011. package/dist/tests/offline/entry/components/TestPicker.js.map +1 -1
  1012. package/dist/tests/setupTests.d.ts +0 -0
  1013. package/dist/tests/setupTests.js +9 -0
  1014. package/dist/tests/setupTests.js.map +1 -0
  1015. package/dist/vendors.bundle.js +1 -1
  1016. package/dist/vendors.bundle.js.LICENSE.txt +33 -8
  1017. package/package.json +31 -43
  1018. package/dist/661.bundle.js +0 -1
  1019. package/dist/7.bundle.js +0 -1
  1020. package/dist/845.bundle.js +0 -1
  1021. package/dist/876.bundle.js +0 -1
  1022. package/dist/src/components/generic/BETooltip.d.ts +0 -7
  1023. package/dist/src/components/generic/BETooltip.js +0 -44
  1024. package/dist/src/components/generic/BETooltip.js.map +0 -1
  1025. package/dist/src/components/generic/Checkbox.js +0 -22
  1026. package/dist/src/components/generic/Checkbox.js.map +0 -1
  1027. package/dist/src/components/generic/Icon.js.map +0 -1
  1028. package/dist/src/components/generic/ScrollToTop.d.ts +0 -2
  1029. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.d.ts +0 -7
  1030. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +0 -30
  1031. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +0 -1
  1032. package/dist/src/events/actions/MemberOnlyFence/MemberOnlyFenceSignUp.d.ts +0 -7
  1033. package/dist/src/events/actions/MemberOnlyFence/MemberOnlyFenceSignUp.js +0 -15
  1034. package/dist/src/events/actions/MemberOnlyFence/MemberOnlyFenceSignUp.js.map +0 -1
  1035. package/dist/src/events/actions/Promotion/PromotionAddedEvent.d.ts +0 -7
  1036. package/dist/src/events/actions/Promotion/PromotionAddedEvent.js +0 -15
  1037. package/dist/src/events/actions/Promotion/PromotionAddedEvent.js.map +0 -1
  1038. package/dist/src/events/actions/Promotion/PromotionClickedEvent.d.ts +0 -7
  1039. package/dist/src/events/actions/Promotion/PromotionClickedEvent.js +0 -15
  1040. package/dist/src/events/actions/Promotion/PromotionClickedEvent.js.map +0 -1
  1041. package/dist/src/events/actions/Promotion/PromotionRemovedEvent.d.ts +0 -7
  1042. package/dist/src/events/actions/Promotion/PromotionRemovedEvent.js +0 -15
  1043. package/dist/src/events/actions/Promotion/PromotionRemovedEvent.js.map +0 -1
  1044. package/dist/src/handlers/HotelContextEventHandler.d.ts +0 -3
  1045. package/dist/src/handlers/HotelContextEventHandler.js +0 -9
  1046. package/dist/src/handlers/HotelContextEventHandler.js.map +0 -1
  1047. package/dist/src/hooks/ScrollLock.d.ts +0 -1
  1048. package/dist/src/hooks/ScrollLock.js +0 -17
  1049. package/dist/src/hooks/ScrollLock.js.map +0 -1
  1050. package/dist/src/models/Promotion/IPromotion.type.d.ts +0 -27
  1051. package/dist/src/models/Promotion/IPromotion.type.js.map +0 -1
  1052. package/dist/src/pages/steps/StepDate/StepDate.d.ts +0 -14
  1053. package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +0 -2
  1054. package/dist/src/providers/PromotionProvider.d.ts +0 -14
  1055. package/dist/src/providers/PromotionProvider.js +0 -210
  1056. package/dist/src/providers/PromotionProvider.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ImageProvider.js","sourceRoot":"/","sources":["src/providers/ImageProvider.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAOX;AAPD,WAAY,SAAS;IACjB,2CAAU,CAAA;IACV,2CAAU,CAAA;IACV,6CAAW,CAAA;IACX,+CAAY,CAAA;IACZ,8CAAY,CAAA;IACZ,wDAAiB,CAAA;AACrB,CAAC,EAPW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAOpB;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,MAAM,EAAE,EAAE;gBAC3C,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;IAiCN,CAAC;IA/BW,UAAU,CAAC,GAAW,EAAE,IAAe;QAC3C,OAAO,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,WAAW,CAAC,GAAW,EAAE,IAAe;QAC3C,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;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}\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, reject) => {\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 private getImageID(url: string, size: ImageSize) {\n return `${url}|${size}`;\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 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\nexport default new ImageProvider();\n"]}
1
+ {"version":3,"file":"ImageProvider.js","sourceRoot":"/","sources":["src/providers/ImageProvider.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAOX;AAPD,WAAY,SAAS;IACjB,2CAAU,CAAA;IACV,2CAAU,CAAA;IACV,6CAAW,CAAA;IACX,+CAAY,CAAA;IACZ,8CAAY,CAAA;IACZ,wDAAiB,CAAA;AACrB,CAAC,EAPW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAOpB;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;IAiCN,CAAC;IA/BW,UAAU,CAAC,GAAW,EAAE,IAAe;QAC3C,OAAO,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,WAAW,CAAC,GAAW,EAAE,IAAe;QAC3C,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;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}\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 private getImageID(url: string, size: ImageSize) {\n return `${url}|${size}`;\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 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\nexport default new ImageProvider();\n"]}
@@ -1,4 +1,4 @@
1
- import { Translation } from '../translations/Translation';
1
+ import { Translation } from 'translations/Translation';
2
2
  import { DeepPartial } from 'react-hook-form';
3
3
  export declare enum Language {
4
4
  en_us = "en-US",
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LanguageProvider = exports.Language = void 0;
4
- const en_gb_1 = require("../translations/languages/en-gb");
4
+ const en_gb_1 = require("translations/languages/en-gb");
5
5
  const i18next_1 = require("i18next");
6
- const RoomstayThemeEngine_1 = require("./RoomstayThemeEngine");
6
+ const RoomstayThemeEngine_1 = require("providers/RoomstayThemeEngine");
7
7
  var Language;
8
8
  (function (Language) {
9
9
  Language["en_us"] = "en-US";
@@ -1 +1 @@
1
- {"version":3,"file":"LanguageProvider.js","sourceRoot":"/","sources":["src/providers/LanguageProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import common_en from '../translations/languages/en-gb';\n\nimport i18n from 'i18next';\nimport RoomstayThemeEngine from './RoomstayThemeEngine';\nimport { Translation } from '../translations/Translation';\nimport { DeepPartial } from 'react-hook-form';\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 private static overrides: { [name: string]: any } = {};\n\n private static languages: { [langType in Language]?: any } = {\n [Language.en_us]: common_en,\n [Language.es]: common_en,\n [Language.fr]: common_en,\n [Language.zh_cn]: common_en,\n [Language.zh_tw]: common_en,\n };\n\n public static filterLanguages: Language[] = [];\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(): any {\n const workingMappings: any = {};\n\n const languages = this.getLanguages();\n\n Object.keys(languages).forEach((key: Language) => {\n const translation = this.getOverridesForLanguage(key);\n\n workingMappings[key] = {\n translation,\n };\n });\n\n return workingMappings;\n }\n\n private static getOverridesForLanguage(lang: Language) {\n const languages = this.getLanguages();\n const translation = languages[lang];\n\n if (LanguageProvider.overrides[lang]) {\n const goDeeperAndCheckIsObject = (currentDepth: any, history: string[]) => {\n Object.keys(currentDepth).forEach((currentDepthKey) => {\n if (typeof currentDepth[currentDepthKey] === 'object') {\n goDeeperAndCheckIsObject(currentDepth[currentDepthKey], [...history, currentDepthKey]);\n } else {\n let mutable: any;\n history.forEach((depth) => {\n mutable = (mutable ?? translation)[depth];\n });\n\n mutable[currentDepthKey] = currentDepth[currentDepthKey];\n }\n });\n };\n\n goDeeperAndCheckIsObject(LanguageProvider.overrides[lang], []);\n }\n\n return translation;\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<typeof Translation>) {\n LanguageProvider.overrides[lang] = overrideTree;\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(): any {\n if (this.filterLanguages.length >= 1) {\n const filteredLanguages: any = {};\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"]}
1
+ {"version":3,"file":"LanguageProvider.js","sourceRoot":"/","sources":["src/providers/LanguageProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import common_en from 'translations/languages/en-gb';\n\nimport i18n from 'i18next';\nimport RoomstayThemeEngine from 'providers/RoomstayThemeEngine';\nimport { Translation } from 'translations/Translation';\nimport { DeepPartial } from 'react-hook-form';\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 private static overrides: { [name: string]: any } = {};\n\n private static languages: { [langType in Language]?: any } = {\n [Language.en_us]: common_en,\n [Language.es]: common_en,\n [Language.fr]: common_en,\n [Language.zh_cn]: common_en,\n [Language.zh_tw]: common_en,\n };\n\n public static filterLanguages: Language[] = [];\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(): any {\n const workingMappings: any = {};\n\n const languages = this.getLanguages();\n\n Object.keys(languages).forEach((key: Language) => {\n const translation = this.getOverridesForLanguage(key);\n\n workingMappings[key] = {\n translation,\n };\n });\n\n return workingMappings;\n }\n\n private static getOverridesForLanguage(lang: Language) {\n const languages = this.getLanguages();\n const translation = languages[lang];\n\n if (LanguageProvider.overrides[lang]) {\n const goDeeperAndCheckIsObject = (currentDepth: any, history: string[]) => {\n Object.keys(currentDepth).forEach((currentDepthKey) => {\n if (typeof currentDepth[currentDepthKey] === 'object') {\n goDeeperAndCheckIsObject(currentDepth[currentDepthKey], [...history, currentDepthKey]);\n } else {\n let mutable: any;\n history.forEach((depth) => {\n mutable = (mutable ?? translation)[depth];\n });\n\n mutable[currentDepthKey] = currentDepth[currentDepthKey];\n }\n });\n };\n\n goDeeperAndCheckIsObject(LanguageProvider.overrides[lang], []);\n }\n\n return translation;\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<typeof Translation>) {\n LanguageProvider.overrides[lang] = overrideTree;\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(): any {\n if (this.filterLanguages.length >= 1) {\n const filteredLanguages: any = {};\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"]}
@@ -1,10 +1,10 @@
1
1
  import { ReactNode } from 'react';
2
- import { IconType } from '../components/generic/Icon';
3
- import { PillType } from '../components/generic/Pill';
4
- import { Hotel } from '../models/Client/Hotel/Hotel';
5
- import { Room } from '../models/Room/Room';
6
- import { RoomRate } from '../models/Room/RoomRate';
7
- export declare type RatePill = {
2
+ import { IconType } from 'components/generic/Icon/Icon';
3
+ import { PillType } from 'components/generic/Pill';
4
+ import { Hotel } from 'models/Client/Hotel/Hotel';
5
+ import { Room } from 'models/Room/Room';
6
+ import { RoomRate } from 'models/Room/RoomRate';
7
+ export type RatePill = {
8
8
  icon: IconType | ReactNode;
9
9
  type?: PillType;
10
10
  title?: string;
@@ -14,12 +14,12 @@ export declare type RatePill = {
14
14
  [x: string]: string | number;
15
15
  };
16
16
  };
17
- declare type RatePillCriteriaMatch = {
17
+ type RatePillCriteriaMatch = {
18
18
  rate?: RoomRate;
19
19
  room?: Room;
20
20
  hotel: Hotel;
21
21
  };
22
- declare type RatePillCriteriaCallback = (criteria: RatePillCriteriaMatch) => boolean;
22
+ type RatePillCriteriaCallback = (criteria: RatePillCriteriaMatch) => boolean;
23
23
  declare class RatePillProvider {
24
24
  private registeredPills;
25
25
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"RatePillProvider.js","sourceRoot":"/","sources":["src/providers/RatePillProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ReactNode } from 'react';\nimport { IconType } from '../components/generic/Icon';\nimport { PillType } from '../components/generic/Pill';\nimport { Hotel } from '../models/Client/Hotel/Hotel';\nimport { Room } from '../models/Room/Room';\n\nimport { RoomRate } from '../models/Room/RoomRate';\n\nexport type RatePill = {\n // TODO: Add Unique Id here to avoid constantly checking\n // TODO: Add ability to specify title / tooltip in React Context (with variable data)\n icon: IconType | ReactNode;\n\n type?: PillType;\n title?: string;\n tooltipText?: string;\n\n translation?: string;\n translationProps?: {\n [x: string]: string | number;\n };\n};\n\ntype RatePillCriteriaMatch = { rate?: RoomRate; room?: Room; hotel: Hotel };\n\ntype RatePillCriteriaCallback = (criteria: RatePillCriteriaMatch) => boolean;\n\ntype RatePillLocation = 'Rate' | 'Room';\n\ntype RegisteredPillType = { pill: RatePill; criteria: RatePillCriteriaCallback; location: RatePillLocation; isExclusive: boolean };\n\nclass RatePillProvider {\n private registeredPills: RegisteredPillType[];\n\n public constructor() {\n this.registeredPills = [];\n }\n\n private doesPillExist(pill: RatePill, location: RatePillLocation): number | false {\n for (let i = 0, end = this.registeredPills.length; i < end; i++) {\n const registeredPill = this.registeredPills[i];\n if (\n registeredPill.location === location &&\n registeredPill.pill.title === pill.title &&\n registeredPill.pill.tooltipText === pill.tooltipText &&\n registeredPill.pill.translation === pill.translation\n ) {\n return i;\n }\n }\n\n return false;\n }\n\n public registerRatePill(pill: RatePill, criteria: RatePillCriteriaCallback, isExclusive = false) {\n if (this.doesPillExist(pill, 'Rate') === false) {\n this.registeredPills.push({ pill, criteria, location: 'Rate', isExclusive });\n }\n }\n\n public registerRoomPill(pill: RatePill, criteria: RatePillCriteriaCallback) {\n const pillIndex = this.doesPillExist(pill, 'Room');\n const newPill: RegisteredPillType = { pill, criteria, location: 'Room', isExclusive: true };\n\n if (pillIndex === false) {\n this.registeredPills.push(newPill);\n } else {\n this.registeredPills[pillIndex] = newPill;\n }\n }\n\n public getPillsForRate(match: RatePillCriteriaMatch): RatePill[] {\n const matches: RatePill[] = [];\n\n this.registeredPills.forEach((registeredPill) => {\n // Rates will only ever show Rate Pills\n if (registeredPill.location === 'Rate' && registeredPill.criteria(match)) {\n matches.push(registeredPill.pill);\n }\n });\n\n return matches;\n }\n\n public getPillsForRoom(match: RatePillCriteriaMatch): RatePill[] {\n const roomMatches: RatePill[] = [];\n const rateMatches: RatePill[] = [];\n\n // Rooms will show both Room and Rate pills\n this.registeredPills.forEach((registeredPill) => {\n if (registeredPill.location === 'Room') {\n if (registeredPill.criteria(match)) {\n roomMatches.push(registeredPill.pill);\n }\n }\n\n if (match.room) {\n for (const rate of match.room.getRates()) {\n if (registeredPill.location === 'Rate' && !registeredPill.isExclusive && registeredPill.criteria({ ...match, rate })) {\n rateMatches.push(registeredPill.pill);\n // No need to duplicate check because as soon as one Pill is matched, no more rates are checked.\n break;\n }\n }\n }\n });\n\n return [...roomMatches, ...rateMatches];\n }\n}\n\nexport default new RatePillProvider();\n"]}
1
+ {"version":3,"file":"RatePillProvider.js","sourceRoot":"/","sources":["src/providers/RatePillProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ReactNode } from 'react';\nimport { IconType } from 'components/generic/Icon/Icon';\nimport { PillType } from 'components/generic/Pill';\nimport { Hotel } from 'models/Client/Hotel/Hotel';\nimport { Room } from 'models/Room/Room';\n\nimport { RoomRate } from 'models/Room/RoomRate';\n\nexport type RatePill = {\n // TODO: Add Unique Id here to avoid constantly checking\n // TODO: Add ability to specify title / tooltip in React Context (with variable data)\n icon: IconType | ReactNode;\n\n type?: PillType;\n title?: string;\n tooltipText?: string;\n\n translation?: string;\n translationProps?: {\n [x: string]: string | number;\n };\n};\n\ntype RatePillCriteriaMatch = { rate?: RoomRate; room?: Room; hotel: Hotel };\n\ntype RatePillCriteriaCallback = (criteria: RatePillCriteriaMatch) => boolean;\n\ntype RatePillLocation = 'Rate' | 'Room';\n\ntype RegisteredPillType = { pill: RatePill; criteria: RatePillCriteriaCallback; location: RatePillLocation; isExclusive: boolean };\n\nclass RatePillProvider {\n private registeredPills: RegisteredPillType[];\n\n public constructor() {\n this.registeredPills = [];\n }\n\n private doesPillExist(pill: RatePill, location: RatePillLocation): number | false {\n for (let i = 0, end = this.registeredPills.length; i < end; i++) {\n const registeredPill = this.registeredPills[i];\n if (\n registeredPill.location === location &&\n registeredPill.pill.title === pill.title &&\n registeredPill.pill.tooltipText === pill.tooltipText &&\n registeredPill.pill.translation === pill.translation\n ) {\n return i;\n }\n }\n\n return false;\n }\n\n public registerRatePill(pill: RatePill, criteria: RatePillCriteriaCallback, isExclusive = false) {\n if (this.doesPillExist(pill, 'Rate') === false) {\n this.registeredPills.push({ pill, criteria, location: 'Rate', isExclusive });\n }\n }\n\n public registerRoomPill(pill: RatePill, criteria: RatePillCriteriaCallback) {\n const pillIndex = this.doesPillExist(pill, 'Room');\n const newPill: RegisteredPillType = { pill, criteria, location: 'Room', isExclusive: true };\n\n if (pillIndex === false) {\n this.registeredPills.push(newPill);\n } else {\n this.registeredPills[pillIndex] = newPill;\n }\n }\n\n public getPillsForRate(match: RatePillCriteriaMatch): RatePill[] {\n const matches: RatePill[] = [];\n\n this.registeredPills.forEach((registeredPill) => {\n // Rates will only ever show Rate Pills\n if (registeredPill.location === 'Rate' && registeredPill.criteria(match)) {\n matches.push(registeredPill.pill);\n }\n });\n\n return matches;\n }\n\n public getPillsForRoom(match: RatePillCriteriaMatch): RatePill[] {\n const roomMatches: RatePill[] = [];\n const rateMatches: RatePill[] = [];\n\n // Rooms will show both Room and Rate pills\n this.registeredPills.forEach((registeredPill) => {\n if (registeredPill.location === 'Room') {\n if (registeredPill.criteria(match)) {\n roomMatches.push(registeredPill.pill);\n }\n }\n\n if (match.room) {\n for (const rate of match.room.getRates()) {\n if (registeredPill.location === 'Rate' && !registeredPill.isExclusive && registeredPill.criteria({ ...match, rate })) {\n rateMatches.push(registeredPill.pill);\n // No need to duplicate check because as soon as one Pill is matched, no more rates are checked.\n break;\n }\n }\n }\n });\n\n return [...roomMatches, ...rateMatches];\n }\n}\n\nexport default new RatePillProvider();\n"]}
@@ -1,4 +1,4 @@
1
- import RoomRateSortable from '../models/Room/RoomRateSortable';
1
+ import RoomRateSortable from 'models/Room/RoomRateSortable';
2
2
  export declare enum RoomSort {
3
3
  PriceLow = "Lowest Price",
4
4
  PriceHigh = "Highest Price",
@@ -1 +1 @@
1
- {"version":3,"file":"RoomSortProvider.js","sourceRoot":"/","sources":["src/providers/RoomSortProvider.ts"],"names":[],"mappings":";;;AACA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,uCAA2B,CAAA;AAC/B,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB;AAED,MAAqB,gBAAgB;;AAArC,mCAgBC;AAfG,8DAA8D;AAChD,kCAAiB,GAAG,CAAC,MAAgB,EAAE,EAAE;IACnD,QAAQ,MAAM,EAAE;QACZ,KAAK,QAAQ,CAAC,SAAS;YACnB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC,CAAC;QACN,KAAK,QAAQ,CAAC,QAAQ;YAClB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC,CAAC;QACN;YACI,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;KACtB;AACL,CAAC,CAAC","sourcesContent":["import RoomRateSortable from '../models/Room/RoomRateSortable';\nexport enum RoomSort {\n PriceLow = 'Lowest Price',\n PriceHigh = 'Highest Price',\n Recommended = 'Recommended',\n}\n\nexport default class RoomSortProvider {\n // TODO refactor this to use static val instead of request one\n public static getSortByFunction = (sortBy: RoomSort) => {\n switch (sortBy) {\n case RoomSort.PriceHigh:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return b.getSortValue() - a.getSortValue();\n };\n case RoomSort.PriceLow:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return a.getSortValue() - b.getSortValue();\n };\n default:\n return () => 0;\n }\n };\n}\n"]}
1
+ {"version":3,"file":"RoomSortProvider.js","sourceRoot":"/","sources":["src/providers/RoomSortProvider.ts"],"names":[],"mappings":";;;AACA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;IAC3B,uCAA2B,CAAA;AAC/B,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB;AAED,MAAqB,gBAAgB;;AAArC,mCAgBC;AAfG,8DAA8D;AAChD,kCAAiB,GAAG,CAAC,MAAgB,EAAE,EAAE;IACnD,QAAQ,MAAM,EAAE;QACZ,KAAK,QAAQ,CAAC,SAAS;YACnB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC,CAAC;QACN,KAAK,QAAQ,CAAC,QAAQ;YAClB,OAAO,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/C,CAAC,CAAC;QACN;YACI,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;KACtB;AACL,CAAC,CAAC","sourcesContent":["import RoomRateSortable from 'models/Room/RoomRateSortable';\nexport enum RoomSort {\n PriceLow = 'Lowest Price',\n PriceHigh = 'Highest Price',\n Recommended = 'Recommended',\n}\n\nexport default class RoomSortProvider {\n // TODO refactor this to use static val instead of request one\n public static getSortByFunction = (sortBy: RoomSort) => {\n switch (sortBy) {\n case RoomSort.PriceHigh:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return b.getSortValue() - a.getSortValue();\n };\n case RoomSort.PriceLow:\n return (a: RoomRateSortable, b: RoomRateSortable) => {\n return a.getSortValue() - b.getSortValue();\n };\n default:\n return () => 0;\n }\n };\n}\n"]}
@@ -1,9 +1,6 @@
1
- import { Language } from './LanguageProvider';
2
- import type { Company } from '../models/Client/Hotel/Company';
3
- import type ColorProfile from '../models/Client/Hotel/ColorProfile';
4
- export declare enum ModulePermission {
5
- NumberOfPeopleBookedPill = "Number Of People Booked Pill"
6
- }
1
+ import { Language } from 'providers/LanguageProvider';
2
+ import type { Company } from 'models/Client/Hotel/Company';
3
+ import type ColorProfile from 'models/Client/Hotel/ColorProfile';
7
4
  declare global {
8
5
  interface Window {
9
6
  ResizeObserver: any;
@@ -16,8 +13,7 @@ export declare enum RoomstayTheme {
16
13
  }
17
14
  declare class RoomstayThemeEngine {
18
15
  currentCompany: Company | null;
19
- ModulesAllowed: ModulePermission[];
20
- EngineContainer: Element;
16
+ EngineContainer: HTMLElement;
21
17
  ScriptContainer: Element;
22
18
  StyleContainer: Element;
23
19
  selectedLang: Language;
@@ -31,6 +27,7 @@ declare class RoomstayThemeEngine {
31
27
  changeTheme: (profile: ColorProfile) => Promise<void>;
32
28
  registerStyles: (profile?: ColorProfile) => Promise<void>;
33
29
  getAssetUrl: () => string;
30
+ getImageAssetUrl: (url?: string) => string;
34
31
  /**
35
32
  * Detects if URL is absolute, and needs to be
36
33
  * @param url string
@@ -38,9 +35,8 @@ declare class RoomstayThemeEngine {
38
35
  wrapAssetUrl: (url: string) => string;
39
36
  registerScripts: () => Promise<void>;
40
37
  loadScript: (src: string, name: string) => Promise<void>;
41
- createElementOrReuseExisting: <K extends "object" | "a" | "abbr" | "address" | "applet" | "area" | "article" | "aside" | "audio" | "b" | "base" | "basefont" | "bdi" | "bdo" | "blockquote" | "body" | "br" | "button" | "canvas" | "caption" | "cite" | "code" | "col" | "colgroup" | "data" | "datalist" | "dd" | "del" | "details" | "dfn" | "dialog" | "dir" | "div" | "dl" | "dt" | "em" | "embed" | "fieldset" | "figcaption" | "figure" | "font" | "footer" | "form" | "frame" | "frameset" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "head" | "header" | "hgroup" | "hr" | "html" | "i" | "iframe" | "img" | "input" | "ins" | "kbd" | "label" | "legend" | "li" | "link" | "main" | "map" | "mark" | "marquee" | "menu" | "meta" | "meter" | "nav" | "noscript" | "ol" | "optgroup" | "option" | "output" | "p" | "param" | "picture" | "pre" | "progress" | "q" | "rp" | "rt" | "ruby" | "s" | "samp" | "script" | "section" | "select" | "slot" | "small" | "source" | "span" | "strong" | "style" | "sub" | "summary" | "sup" | "table" | "tbody" | "td" | "template" | "textarea" | "tfoot" | "th" | "thead" | "time" | "title" | "tr" | "track" | "u" | "ul" | "var" | "video" | "wbr">(type: K, name: string) => Element;
38
+ createElementOrReuseExisting: <K extends keyof HTMLElementTagNameMap>(type: K, name: string) => Element;
42
39
  init: () => Promise<void>;
43
- canSee(perm: ModulePermission): boolean;
44
40
  }
45
41
  declare const _default: RoomstayThemeEngine;
46
42
  export default _default;
@@ -9,23 +9,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.RoomstayTheme = exports.ModulePermission = void 0;
12
+ exports.RoomstayTheme = void 0;
13
13
  // tslint:disable-next-line: no-submodule-imports
14
14
  const isSameOrAfter = require("dayjs/plugin/isSameOrAfter");
15
15
  // tslint:disable-next-line: no-submodule-imports
16
16
  const isSameOrBefore = require("dayjs/plugin/isSameOrBefore");
17
17
  const dayjs = require("dayjs");
18
- const LanguageProvider_1 = require("./LanguageProvider");
18
+ const LanguageProvider_1 = require("providers/LanguageProvider");
19
19
  const i18next_1 = require("i18next");
20
20
  const react_i18next_1 = require("react-i18next");
21
21
  const Sentry = require("@sentry/browser");
22
22
  const ROP = require("resize-observer-polyfill");
23
- const HotelContextEventHandler_1 = require("../handlers/HotelContextEventHandler");
24
- // TODO Re-think our approach on permissions and who can see what.
25
- var ModulePermission;
26
- (function (ModulePermission) {
27
- ModulePermission["NumberOfPeopleBookedPill"] = "Number Of People Booked Pill";
28
- })(ModulePermission = exports.ModulePermission || (exports.ModulePermission = {}));
29
23
  /** @ts-ignore */
30
24
  if (typeof ResizeObserver === 'undefined') {
31
25
  window.ResizeObserver = ROP.default;
@@ -38,7 +32,6 @@ var RoomstayTheme;
38
32
  class RoomstayThemeEngine {
39
33
  constructor() {
40
34
  this.currentCompany = null;
41
- this.ModulesAllowed = [];
42
35
  this.ScriptContainer = null;
43
36
  this.StyleContainer = null;
44
37
  this.selectedLang = LanguageProvider_1.Language.en_us;
@@ -58,10 +51,6 @@ class RoomstayThemeEngine {
58
51
  this.changeCompany = (newCompany) => {
59
52
  this.currentCompany = newCompany;
60
53
  this.registerStyles(newCompany.colors);
61
- // TODO: Remove these hooks as they're useless
62
- if (HotelContextEventHandler_1.HotelContextEventHandler === null || HotelContextEventHandler_1.HotelContextEventHandler === void 0 ? void 0 : HotelContextEventHandler_1.HotelContextEventHandler.onHotelChange) {
63
- HotelContextEventHandler_1.HotelContextEventHandler.onHotelChange();
64
- }
65
54
  };
66
55
  this.changeTheme = (profile) => __awaiter(this, void 0, void 0, function* () {
67
56
  const styleOverrides = this.createElementOrReuseExisting('style', 'engine-styles');
@@ -69,20 +58,20 @@ class RoomstayThemeEngine {
69
58
  let headerOverrides = '';
70
59
  if (profile.navbar) {
71
60
  headerOverrides = `
72
- --color-header-background: ${profile.navbar.background}!important;
73
- --color-header-text: ${profile.navbar.text}!important;
74
- --color-header-text-active: ${profile.navbar.textActive}!important;
61
+ --rs-color-header-background: ${profile.navbar.background}!important;
62
+ --rs-color-header-text: ${profile.navbar.text}!important;
63
+ --rs-color-header-text-active: ${profile.navbar.textActive}!important;
75
64
  `;
76
65
  }
77
66
  styleOverrides.innerHTML = `
78
- .roomstay-booking-container {
79
- --color-accent-1: ${profile.accent}!important;
80
- --color-accent-2: ${profile.accent2}!important;
81
- --color-accent-3: ${profile.accent3}!important;
67
+ :root {
68
+ --rs-color-accent-1: ${profile.accent}!important;
69
+ --rs-color-accent-2: ${profile.accent2}!important;
70
+ --rs-color-accent-3: ${profile.accent3}!important;
82
71
 
83
72
  ${headerOverrides}
84
73
 
85
- ${profile.success ? `--color-success: ${profile.success}!important;` : ''}
74
+ ${profile.success ? `--rs-color-success: ${profile.success}!important;` : ''}
86
75
  }
87
76
  `;
88
77
  });
@@ -98,7 +87,10 @@ class RoomstayThemeEngine {
98
87
  });
99
88
  });
100
89
  this.getAssetUrl = () => {
101
- return this.isLocalhost ? 'http://localhost:9000/' : ASSET_URL;
90
+ return this.isLocalhost ? '/' : ASSET_URL;
91
+ };
92
+ this.getImageAssetUrl = (url = '') => {
93
+ return this.getAssetUrl() + 'assets/img/' + url;
102
94
  };
103
95
  /**
104
96
  * Detects if URL is absolute, and needs to be
@@ -176,9 +168,6 @@ class RoomstayThemeEngine {
176
168
  });
177
169
  console.log(`Initializing Roomstay Booking Engine v${exports.RS_VERSION}`);
178
170
  }
179
- canSee(perm) {
180
- return this.ModulesAllowed.includes(perm);
181
- }
182
171
  }
183
172
  exports.default = new RoomstayThemeEngine();
184
173
  //# sourceMappingURL=RoomstayThemeEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoomstayThemeEngine.js","sourceRoot":"/","sources":["src/providers/RoomstayThemeEngine.ts"],"names":[],"mappings":"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","sourcesContent":["// tslint:disable-next-line: no-submodule-imports\nimport * as isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\n// tslint:disable-next-line: no-submodule-imports\nimport * as isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport * as dayjs from 'dayjs';\n\nimport { LanguageProvider, Language } from './LanguageProvider';\n\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport * as Sentry from '@sentry/browser';\nimport * as ROP from 'resize-observer-polyfill';\nimport { HotelContextEventHandler } from '../handlers/HotelContextEventHandler';\nimport type { Company } from '../models/Client/Hotel/Company';\nimport type ColorProfile from '../models/Client/Hotel/ColorProfile';\n\n// TODO Re-think our approach on permissions and who can see what.\nexport enum ModulePermission {\n NumberOfPeopleBookedPill = 'Number Of People Booked Pill',\n}\n\ndeclare global {\n interface Window {\n ResizeObserver: any;\n }\n}\n\ndeclare const ASSET_URL: string;\n\nexport declare const RS_VERSION: string;\n\n/** @ts-ignore */\nif (typeof ResizeObserver === 'undefined') {\n window.ResizeObserver = ROP.default;\n}\n\nexport enum RoomstayTheme {\n Medium = 'medium',\n Light = 'light',\n}\nclass RoomstayThemeEngine {\n public currentCompany: Company | null = null;\n\n public ModulesAllowed: ModulePermission[] = [];\n\n public EngineContainer: Element;\n\n public ScriptContainer: Element = null;\n public StyleContainer: Element = null;\n\n public selectedLang: Language = Language.en_us;\n\n // TODO This needs to be changed, not ideal to just check for localhost\n public isLocalhost: boolean = location.hostname === 'localhost';\n\n // TODO: This needs to be refactored to not be a fixed string.\n public ThemeType = RoomstayTheme.Light;\n\n public ExternalStyles: string[] = [];\n public ExternalScripts: string[] = ['https://js.verygoodvault.com/vgs-collect/1/AC7dReJwJ6EWF1L9FHdcCw7n.js'];\n\n public constructor() {\n console.log(`Initializing Roomstay Booking Engine v${RS_VERSION}`);\n }\n\n private reloadScriptAndStyleContainers = () => {\n this.StyleContainer = this.createElementOrReuseExisting('div', 'style-container');\n this.ScriptContainer = this.createElementOrReuseExisting('div', 'script-container');\n\n this.ScriptContainer.innerHTML = '';\n this.StyleContainer.innerHTML = '';\n\n this.registerStyles();\n };\n\n public changeCompany = (newCompany: Company) => {\n this.currentCompany = newCompany;\n this.registerStyles(newCompany.colors);\n\n // TODO: Remove these hooks as they're useless\n if (HotelContextEventHandler?.onHotelChange) {\n HotelContextEventHandler.onHotelChange();\n }\n };\n\n public changeTheme = async (profile: ColorProfile) => {\n const styleOverrides = this.createElementOrReuseExisting('style', 'engine-styles');\n\n styleOverrides.setAttribute('rel', 'preload');\n\n let headerOverrides = '';\n if (profile.navbar) {\n headerOverrides = `\n --color-header-background: ${profile.navbar.background}!important;\n --color-header-text: ${profile.navbar.text}!important;\n --color-header-text-active: ${profile.navbar.textActive}!important;\n `;\n }\n\n styleOverrides.innerHTML = `\n .roomstay-booking-container {\n --color-accent-1: ${profile.accent}!important;\n --color-accent-2: ${profile.accent2}!important;\n --color-accent-3: ${profile.accent3}!important;\n\n ${headerOverrides}\n\n ${profile.success ? `--color-success: ${profile.success}!important;` : ''}\n }\n `;\n };\n\n public registerStyles = async (profile?: ColorProfile) => {\n console.log('Loading custom Theme Styles');\n if (profile) {\n this.changeTheme(profile);\n }\n\n this.ExternalStyles.forEach((url, index) => {\n const style = this.createElementOrReuseExisting('link', `engine-external-style-${index}`);\n style.setAttribute('rel', 'stylesheet');\n style.setAttribute('href', this.getAssetUrl() + url);\n });\n };\n\n public getAssetUrl = () => {\n return this.isLocalhost ? 'http://localhost:9000/' : ASSET_URL;\n };\n\n /**\n * Detects if URL is absolute, and needs to be\n * @param url string\n */\n public wrapAssetUrl = (url: string) => {\n if (url.match(/^(?:[a-z]+:)?\\/\\//)) {\n return url;\n }\n\n return this.getAssetUrl() + url;\n };\n\n public registerScripts = async () => {\n this.ExternalScripts.forEach((url: string, index) => {\n this.loadScript(url, `legacy-${index}`);\n });\n };\n\n public loadScript = (src: string, name: string): Promise<void> =>\n new Promise((resolve) => {\n const script = this.createElementOrReuseExisting('script', `script-${name}`);\n if (script.hasAttribute('src') && script.getAttribute('src') === src) {\n resolve();\n } else {\n script.setAttribute('src', src);\n script.addEventListener('load', () => {\n resolve();\n });\n }\n\n this.ScriptContainer.appendChild(script);\n });\n\n public createElementOrReuseExisting = <K extends keyof HTMLElementTagNameMap>(type: K, name: string) => {\n const container = this.EngineContainer;\n const findingElement = container.querySelector(`${type}[name=\"roomstay-${name}\"]`);\n\n if (findingElement) {\n return findingElement;\n } else {\n const target = document.createElement(type);\n target.setAttribute('name', `roomstay-${name}`);\n container.appendChild(target);\n return target;\n }\n };\n\n public init = async () => {\n dayjs.extend(isSameOrBefore);\n dayjs.extend(isSameOrAfter);\n\n if (i18n) {\n i18n.use(initReactI18next).init({\n interpolation: { escapeValue: false },\n lng: Language.en_us,\n resources: LanguageProvider.getI18nMappedLanguages(),\n });\n }\n\n if (!this.isLocalhost) {\n Sentry.init({\n dsn: 'https://3bfba949561e48f1862c843ce8254a2d@o398412.ingest.sentry.io/5254086',\n beforeSend: (event, hint) => {\n event.tags = event.tags ?? { logger: '_default_' };\n\n try {\n if (hint.originalException instanceof Error) {\n if (hint.originalException.stack.indexOf('www.googletagmanager.com/gtm.js?id=') > -1) {\n event.tags.logger = 'gtm';\n event.level = Sentry.Severity.Warning;\n }\n }\n } catch (ex) {\n console.log(ex);\n }\n\n return event;\n },\n });\n }\n\n this.reloadScriptAndStyleContainers();\n };\n\n public canSee(perm: ModulePermission) {\n return this.ModulesAllowed.includes(perm);\n }\n}\n\nexport default new RoomstayThemeEngine();\n"]}
1
+ {"version":3,"file":"RoomstayThemeEngine.js","sourceRoot":"/","sources":["src/providers/RoomstayThemeEngine.ts"],"names":[],"mappings":"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","sourcesContent":["// tslint:disable-next-line: no-submodule-imports\nimport * as isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\n// tslint:disable-next-line: no-submodule-imports\nimport * as isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport * as dayjs from 'dayjs';\n\nimport { LanguageProvider, Language } from 'providers/LanguageProvider';\n\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport * as Sentry from '@sentry/browser';\nimport * as ROP from 'resize-observer-polyfill';\nimport type { Company } from 'models/Client/Hotel/Company';\nimport type ColorProfile from 'models/Client/Hotel/ColorProfile';\n\ndeclare global {\n interface Window {\n ResizeObserver: any;\n }\n}\n\ndeclare const ASSET_URL: string;\n\nexport declare const RS_VERSION: string;\n\n/** @ts-ignore */\nif (typeof ResizeObserver === 'undefined') {\n window.ResizeObserver = ROP.default;\n}\n\nexport enum RoomstayTheme {\n Medium = 'medium',\n Light = 'light',\n}\nclass RoomstayThemeEngine {\n public currentCompany: Company | null = null;\n\n public EngineContainer: HTMLElement;\n\n public ScriptContainer: Element = null;\n public StyleContainer: Element = null;\n\n public selectedLang: Language = Language.en_us;\n\n // TODO This needs to be changed, not ideal to just check for localhost\n public isLocalhost: boolean = location.hostname === 'localhost';\n\n // TODO: This needs to be refactored to not be a fixed string.\n public ThemeType = RoomstayTheme.Light;\n\n public ExternalStyles: string[] = [];\n public ExternalScripts: string[] = ['https://js.verygoodvault.com/vgs-collect/1/AC7dReJwJ6EWF1L9FHdcCw7n.js'];\n\n public constructor() {\n console.log(`Initializing Roomstay Booking Engine v${RS_VERSION}`);\n }\n\n private reloadScriptAndStyleContainers = () => {\n this.StyleContainer = this.createElementOrReuseExisting('div', 'style-container');\n this.ScriptContainer = this.createElementOrReuseExisting('div', 'script-container');\n\n this.ScriptContainer.innerHTML = '';\n this.StyleContainer.innerHTML = '';\n\n this.registerStyles();\n };\n\n public changeCompany = (newCompany: Company) => {\n this.currentCompany = newCompany;\n this.registerStyles(newCompany.colors);\n };\n\n public changeTheme = async (profile: ColorProfile) => {\n const styleOverrides = this.createElementOrReuseExisting('style', 'engine-styles');\n\n styleOverrides.setAttribute('rel', 'preload');\n\n let headerOverrides = '';\n if (profile.navbar) {\n headerOverrides = `\n --rs-color-header-background: ${profile.navbar.background}!important;\n --rs-color-header-text: ${profile.navbar.text}!important;\n --rs-color-header-text-active: ${profile.navbar.textActive}!important;\n `;\n }\n\n styleOverrides.innerHTML = `\n :root {\n --rs-color-accent-1: ${profile.accent}!important;\n --rs-color-accent-2: ${profile.accent2}!important;\n --rs-color-accent-3: ${profile.accent3}!important;\n\n ${headerOverrides}\n\n ${profile.success ? `--rs-color-success: ${profile.success}!important;` : ''}\n }\n `;\n };\n\n public registerStyles = async (profile?: ColorProfile) => {\n console.log('Loading custom Theme Styles');\n if (profile) {\n this.changeTheme(profile);\n }\n\n this.ExternalStyles.forEach((url, index) => {\n const style = this.createElementOrReuseExisting('link', `engine-external-style-${index}`);\n style.setAttribute('rel', 'stylesheet');\n style.setAttribute('href', this.getAssetUrl() + url);\n });\n };\n\n public getAssetUrl = () => {\n return this.isLocalhost ? '/' : ASSET_URL;\n };\n\n public getImageAssetUrl = (url = '') => {\n return this.getAssetUrl() + 'assets/img/' + url;\n };\n\n /**\n * Detects if URL is absolute, and needs to be\n * @param url string\n */\n public wrapAssetUrl = (url: string) => {\n if (url.match(/^(?:[a-z]+:)?\\/\\//)) {\n return url;\n }\n\n return this.getAssetUrl() + url;\n };\n\n public registerScripts = async () => {\n this.ExternalScripts.forEach((url: string, index) => {\n this.loadScript(url, `legacy-${index}`);\n });\n };\n\n public loadScript = (src: string, name: string): Promise<void> =>\n new Promise((resolve) => {\n const script = this.createElementOrReuseExisting('script', `script-${name}`);\n if (script.hasAttribute('src') && script.getAttribute('src') === src) {\n resolve();\n } else {\n script.setAttribute('src', src);\n script.addEventListener('load', () => {\n resolve();\n });\n }\n\n this.ScriptContainer.appendChild(script);\n });\n\n public createElementOrReuseExisting = <K extends keyof HTMLElementTagNameMap>(type: K, name: string) => {\n const container = this.EngineContainer;\n const findingElement = container.querySelector(`${type}[name=\"roomstay-${name}\"]`);\n\n if (findingElement) {\n return findingElement;\n } else {\n const target = document.createElement(type);\n target.setAttribute('name', `roomstay-${name}`);\n container.appendChild(target);\n return target;\n }\n };\n\n public init = async () => {\n dayjs.extend(isSameOrBefore);\n dayjs.extend(isSameOrAfter);\n\n if (i18n) {\n i18n.use(initReactI18next).init({\n interpolation: { escapeValue: false },\n lng: Language.en_us,\n resources: LanguageProvider.getI18nMappedLanguages(),\n });\n }\n\n if (!this.isLocalhost) {\n Sentry.init({\n dsn: 'https://3bfba949561e48f1862c843ce8254a2d@o398412.ingest.sentry.io/5254086',\n beforeSend: (event, hint) => {\n event.tags = event.tags ?? { logger: '_default_' };\n\n try {\n if (hint.originalException instanceof Error) {\n if (hint.originalException.stack.indexOf('www.googletagmanager.com/gtm.js?id=') > -1) {\n event.tags.logger = 'gtm';\n event.level = Sentry.Severity.Warning;\n }\n }\n } catch (ex) {\n console.log(ex);\n }\n\n return event;\n },\n });\n }\n\n this.reloadScriptAndStyleContainers();\n };\n}\n\nexport default new RoomstayThemeEngine();\n"]}
@@ -1,4 +1,4 @@
1
- import { RoomstaySession } from '../models/RoomstaySession';
1
+ import { RoomstaySession } from 'models/RoomstaySession';
2
2
  /**
3
3
  * Session provider is in charge of handling the loading, saving and passing of the current Engine Session.
4
4
  *
@@ -29,6 +29,7 @@ import { RoomstaySession } from '../models/RoomstaySession';
29
29
  export default class SessionProvider {
30
30
  private currentSessionID;
31
31
  private hotelID;
32
+ private cachedSession;
32
33
  setHotelID(hotelID: string): Promise<void>;
33
34
  initialize(sessionID?: number, source?: string): Promise<void>;
34
35
  setSessionID(sessionID?: number, source?: string): Promise<void>;
@@ -49,6 +50,7 @@ export default class SessionProvider {
49
50
  getCurrentSessionID(): number;
50
51
  getSession(): Promise<RoomstaySession>;
51
52
  saveSession(changedSession: RoomstaySession): Promise<void>;
53
+ private debouncedUpdateSession;
52
54
  updateSession(partialSession: Partial<RoomstaySession>): Promise<void>;
53
55
  deleteSession(): Promise<void>;
54
56
  getAllSessions(): Promise<RoomstaySession[]>;
@@ -9,12 +9,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- const LocalStorageProvider_1 = require("./storage/LocalStorageProvider");
13
- const RoomstaySession_1 = require("../models/RoomstaySession");
12
+ const LocalStorageProvider_1 = require("providers/storage/LocalStorageProvider");
13
+ const RoomstaySession_1 = require("models/RoomstaySession");
14
14
  const dayjs = require("dayjs");
15
- const BasketRow_1 = require("../models/BasketRow");
16
- const RoomRate_1 = require("../models/Room/RoomRate");
17
- const Room_1 = require("../models/Room/Room");
15
+ const BasketRow_1 = require("models/BasketRow");
16
+ const RoomRate_1 = require("models/Room/RoomRate");
17
+ const Room_1 = require("models/Room/Room");
18
+ const Debounce_1 = require("../util/Debounce");
18
19
  /**
19
20
  * Session provider is in charge of handling the loading, saving and passing of the current Engine Session.
20
21
  *
@@ -43,6 +44,15 @@ const Room_1 = require("../models/Room/Room");
43
44
  * * Resume to Desired Flow
44
45
  */
45
46
  class SessionProvider {
47
+ constructor() {
48
+ this.cachedSession = {};
49
+ this.debouncedUpdateSession = (0, Debounce_1.debounce)(() => __awaiter(this, void 0, void 0, function* () {
50
+ const currentSession = yield this.getSession();
51
+ const cachedSession = this.cachedSession;
52
+ this.cachedSession = {};
53
+ yield this.saveSession(Object.assign(Object.assign({}, currentSession), cachedSession));
54
+ }), 300);
55
+ }
46
56
  setHotelID(hotelID) {
47
57
  return __awaiter(this, void 0, void 0, function* () {
48
58
  this.hotelID = hotelID;
@@ -144,6 +154,7 @@ class SessionProvider {
144
154
  hotelID: session.hotelID,
145
155
  basketRows,
146
156
  source: session.source,
157
+ reservation: session.reservation,
147
158
  };
148
159
  }
149
160
  unSerializeSession(session) {
@@ -188,6 +199,7 @@ class SessionProvider {
188
199
  hotelID: session.hotelID,
189
200
  basketRows,
190
201
  source: session.source,
202
+ reservation: session.reservation,
191
203
  };
192
204
  }
193
205
  getSessionKey(sessionId) {
@@ -223,8 +235,8 @@ class SessionProvider {
223
235
  }
224
236
  updateSession(partialSession) {
225
237
  return __awaiter(this, void 0, void 0, function* () {
226
- const currentSession = yield this.getSession();
227
- yield this.saveSession(Object.assign(Object.assign({}, currentSession), partialSession));
238
+ Object.assign(this.cachedSession, partialSession);
239
+ this.debouncedUpdateSession();
228
240
  });
229
241
  }
230
242
  deleteSession() {
@@ -1 +1 @@
1
- {"version":3,"file":"SessionProvider.js","sourceRoot":"/","sources":["src/providers/SessionProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { LocalStorageProvider } from './storage/LocalStorageProvider';\nimport { RoomstaySession, SerializedRoomstaySession, SERIALIZED_DATE_FORMAT, SerializedRoomstaySessionBasketRow } from '../models/RoomstaySession';\nimport * as dayjs from 'dayjs';\nimport BasketRow from '../models/BasketRow';\nimport { RoomRate } from '../models/Room/RoomRate';\nimport { Room } from '../models/Room/Room';\n\n/**\n * Session provider is in charge of handling the loading, saving and passing of the current Engine Session.\n *\n * Desired flow:\n * * App Opened\n * * Session Provider loaded\n * * New User Session Created\n * * User moves through the app, updating the session with vital details (current step, basket context )\n * * User refreshes browser - session is re-loaded and user resumes where they left off\n * * User proceeds to checkout.\n * * Session is saved.\n *\n * Mini Booking Widget:\n * * User loads mini booking widget, selects dates, people\n * * Rates are loaded, and user selects a rate, redirecting to Full Booking Engine\n * * Session Provider creates a SessionID to pass to redirected path\n * * Session Provider loads the passed SessionID and loads the correct session\n * * Resume to Desired Flow\n *\n * Re-targeting:\n * ---Since re-targeting will happen on client site, under client domain, localStorage will be preserved, ergo we can load the previous incomplete sessions back to the user\n * * User lands on client Homepage\n * * Session Provider loads previous incomplete sessions\n * * A slider with details of previous baskets is shown back to the user\n * * User clicks on a previous session and is brought to the Booking Engine\n * * Resume to Desired Flow\n */\nexport default class SessionProvider {\n private currentSessionID: number;\n private hotelID: string;\n\n public async setHotelID(hotelID: string) {\n this.hotelID = hotelID;\n this.updateSession({ hotelID });\n }\n\n public async initialize(sessionID?: number, source?: string) {\n await this.setSessionID(sessionID, source);\n }\n\n public async setSessionID(sessionID?: number, source?: string) {\n const foundSession = await this.findOrCreateSessionID(sessionID, source);\n\n if (foundSession) {\n this.currentSessionID = foundSession;\n\n const storage = new LocalStorageProvider(sessionStorage);\n await storage.write('currentSession', this.currentSessionID);\n }\n }\n\n /**\n * Function to find the right session from session storage, or local storage\n *\n * If one isn't found it is then created.\n */\n private async findOrCreateSessionID(sessionID: number, source: string) {\n let session: RoomstaySession;\n\n if (sessionID) {\n session = await this.findSession(sessionID);\n\n if (session) {\n return session.id;\n }\n }\n\n session = await this.generateNewSession(source);\n\n return session.id;\n }\n\n private async findSession(sessionID: number): Promise<RoomstaySession> {\n const storage = new LocalStorageProvider();\n\n const session = await storage.read<SerializedRoomstaySession>(this.getSessionKey(sessionID));\n\n if (session) {\n return this.unSerializeSession(session);\n }\n }\n\n private async generateNewSession(source: string): Promise<RoomstaySession> {\n const sessionId = new Date().getTime();\n\n const session: RoomstaySession = {\n id: sessionId,\n startDate: null,\n endDate: null,\n step: '',\n hotelID: this.hotelID ?? null,\n basketRows: [],\n source,\n };\n\n this.saveSession(session);\n\n return session;\n }\n\n private serializeSession(session: RoomstaySession): SerializedRoomstaySession {\n const basketRows: SerializedRoomstaySessionBasketRow[] = [];\n\n // TODO possibly refactor BasketRow to serialize itself, or instead make a serializer that can do all this.\n session.basketRows.forEach((unSerializeBasketRow: BasketRow) => {\n const rate = unSerializeBasketRow.getRate();\n const room = unSerializeBasketRow.getRoom();\n\n let serializedRate = null;\n let serializedRoom = null;\n\n if (rate) {\n serializedRate = rate.serialize();\n }\n\n if (room) {\n serializedRoom = room.serialize();\n }\n\n basketRows.push({\n uniqId: unSerializeBasketRow.getID(),\n startDate: unSerializeBasketRow.getStartDate()?.format(SERIALIZED_DATE_FORMAT),\n endDate: unSerializeBasketRow.getEndDate()?.format(SERIALIZED_DATE_FORMAT),\n adults: unSerializeBasketRow.getAdults(),\n children: unSerializeBasketRow.getChildren(),\n promoCode: unSerializeBasketRow.getPromoCode(),\n promoCodeStatus: unSerializeBasketRow.getPromoCodeStatus(),\n rate: serializedRate,\n room: serializedRoom,\n });\n });\n\n return {\n id: session.id,\n startDate: session.startDate?.format(SERIALIZED_DATE_FORMAT),\n endDate: session.endDate?.format(SERIALIZED_DATE_FORMAT),\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n };\n }\n\n private unSerializeSession(session: SerializedRoomstaySession): RoomstaySession {\n const basketRows: BasketRow[] = [];\n let startDate: dayjs.Dayjs;\n let endDate: dayjs.Dayjs;\n\n if (session.startDate) {\n startDate = dayjs(session.startDate, SERIALIZED_DATE_FORMAT);\n }\n\n if (session.endDate) {\n endDate = dayjs(session.endDate, SERIALIZED_DATE_FORMAT);\n }\n\n session.basketRows?.forEach((serializedBasketRow) => {\n let rate;\n let room;\n\n if (serializedBasketRow.room) {\n room = new Room();\n room.unSerialize(serializedBasketRow.room);\n }\n\n if (serializedBasketRow.rate && room) {\n rate = new RoomRate();\n rate.unSerialize(serializedBasketRow.rate);\n rate.setRoom(room);\n }\n\n const basketRow = new BasketRow(rate ?? null, serializedBasketRow.uniqId);\n\n if (serializedBasketRow.startDate) {\n basketRow.setStartDate(dayjs(serializedBasketRow.startDate, SERIALIZED_DATE_FORMAT));\n }\n if (serializedBasketRow.endDate) {\n basketRow.setEndDate(dayjs(serializedBasketRow.endDate, SERIALIZED_DATE_FORMAT));\n }\n\n basketRow.setAdults(serializedBasketRow.adults);\n basketRow.setChildren(serializedBasketRow.children);\n\n basketRows.push(basketRow);\n });\n\n return {\n id: session.id,\n startDate,\n endDate,\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n };\n }\n\n private getSessionKey(sessionId?: number): string {\n return `session-${sessionId ?? this.currentSessionID}`;\n }\n\n /**\n * @returns the current session ID\n */\n public getCurrentSessionID(): number {\n return this.currentSessionID;\n }\n\n public async getSession(): Promise<RoomstaySession> {\n const storage = new LocalStorageProvider();\n\n const sessionFromStorage = await storage.read<SerializedRoomstaySession>(this.getSessionKey());\n\n if (sessionFromStorage) {\n return this.unSerializeSession(sessionFromStorage);\n } else {\n return this.generateNewSession('');\n }\n }\n\n public async saveSession(changedSession: RoomstaySession) {\n if (!changedSession) {\n return console.log('Attempted to save empty session');\n }\n\n const storage = new LocalStorageProvider();\n\n const serializedSession = this.serializeSession(changedSession);\n\n await storage.write(this.getSessionKey(serializedSession.id), serializedSession);\n }\n\n public async updateSession(partialSession: Partial<RoomstaySession>) {\n const currentSession = await this.getSession();\n\n await this.saveSession({\n ...currentSession,\n ...partialSession,\n });\n }\n\n public async deleteSession() {\n const storage = new LocalStorageProvider();\n storage.delete(this.getSessionKey());\n }\n\n public async getAllSessions() {\n const storage = new LocalStorageProvider();\n const sessionKeys = storage.getAllKeys((name) => name.startsWith('roomstay-session'));\n\n return (await storage.readAll<SerializedRoomstaySession>(sessionKeys)).map((session) => this.unSerializeSession(session));\n }\n}\n"]}
1
+ {"version":3,"file":"SessionProvider.js","sourceRoot":"/","sources":["src/providers/SessionProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { LocalStorageProvider } from 'providers/storage/LocalStorageProvider';\nimport { RoomstaySession, SerializedRoomstaySession, SERIALIZED_DATE_FORMAT, SerializedRoomstaySessionBasketRow } from 'models/RoomstaySession';\nimport * as dayjs from 'dayjs';\nimport BasketRow from 'models/BasketRow';\nimport { RoomRate } from 'models/Room/RoomRate';\nimport { Room } from 'models/Room/Room';\nimport { debounce } from '../util/Debounce';\n\n/**\n * Session provider is in charge of handling the loading, saving and passing of the current Engine Session.\n *\n * Desired flow:\n * * App Opened\n * * Session Provider loaded\n * * New User Session Created\n * * User moves through the app, updating the session with vital details (current step, basket context )\n * * User refreshes browser - session is re-loaded and user resumes where they left off\n * * User proceeds to checkout.\n * * Session is saved.\n *\n * Mini Booking Widget:\n * * User loads mini booking widget, selects dates, people\n * * Rates are loaded, and user selects a rate, redirecting to Full Booking Engine\n * * Session Provider creates a SessionID to pass to redirected path\n * * Session Provider loads the passed SessionID and loads the correct session\n * * Resume to Desired Flow\n *\n * Re-targeting:\n * ---Since re-targeting will happen on client site, under client domain, localStorage will be preserved, ergo we can load the previous incomplete sessions back to the user\n * * User lands on client Homepage\n * * Session Provider loads previous incomplete sessions\n * * A slider with details of previous baskets is shown back to the user\n * * User clicks on a previous session and is brought to the Booking Engine\n * * Resume to Desired Flow\n */\nexport default class SessionProvider {\n private currentSessionID: number;\n private hotelID: string;\n private cachedSession: Partial<RoomstaySession> = {};\n\n public async setHotelID(hotelID: string) {\n this.hotelID = hotelID;\n this.updateSession({ hotelID });\n }\n\n public async initialize(sessionID?: number, source?: string) {\n await this.setSessionID(sessionID, source);\n }\n\n public async setSessionID(sessionID?: number, source?: string) {\n const foundSession = await this.findOrCreateSessionID(sessionID, source);\n\n if (foundSession) {\n this.currentSessionID = foundSession;\n\n const storage = new LocalStorageProvider(sessionStorage);\n await storage.write('currentSession', this.currentSessionID);\n }\n }\n\n /**\n * Function to find the right session from session storage, or local storage\n *\n * If one isn't found it is then created.\n */\n private async findOrCreateSessionID(sessionID: number, source: string) {\n let session: RoomstaySession;\n\n if (sessionID) {\n session = await this.findSession(sessionID);\n\n if (session) {\n return session.id;\n }\n }\n\n session = await this.generateNewSession(source);\n\n return session.id;\n }\n\n private async findSession(sessionID: number): Promise<RoomstaySession> {\n const storage = new LocalStorageProvider();\n\n const session = await storage.read<SerializedRoomstaySession>(this.getSessionKey(sessionID));\n\n if (session) {\n return this.unSerializeSession(session);\n }\n }\n\n private async generateNewSession(source: string): Promise<RoomstaySession> {\n const sessionId = new Date().getTime();\n\n const session: RoomstaySession = {\n id: sessionId,\n startDate: null,\n endDate: null,\n step: '',\n hotelID: this.hotelID ?? null,\n basketRows: [],\n source,\n };\n\n this.saveSession(session);\n\n return session;\n }\n\n private serializeSession(session: RoomstaySession): SerializedRoomstaySession {\n const basketRows: SerializedRoomstaySessionBasketRow[] = [];\n\n // TODO possibly refactor BasketRow to serialize itself, or instead make a serializer that can do all this.\n session.basketRows.forEach((unSerializeBasketRow: BasketRow) => {\n const rate = unSerializeBasketRow.getRate();\n const room = unSerializeBasketRow.getRoom();\n\n let serializedRate = null;\n let serializedRoom = null;\n\n if (rate) {\n serializedRate = rate.serialize();\n }\n\n if (room) {\n serializedRoom = room.serialize();\n }\n\n basketRows.push({\n uniqId: unSerializeBasketRow.getID(),\n startDate: unSerializeBasketRow.getStartDate()?.format(SERIALIZED_DATE_FORMAT),\n endDate: unSerializeBasketRow.getEndDate()?.format(SERIALIZED_DATE_FORMAT),\n adults: unSerializeBasketRow.getAdults(),\n children: unSerializeBasketRow.getChildren(),\n promoCode: unSerializeBasketRow.getPromoCode(),\n promoCodeStatus: unSerializeBasketRow.getPromoCodeStatus(),\n rate: serializedRate,\n room: serializedRoom,\n });\n });\n\n return {\n id: session.id,\n startDate: session.startDate?.format(SERIALIZED_DATE_FORMAT),\n endDate: session.endDate?.format(SERIALIZED_DATE_FORMAT),\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n reservation: session.reservation,\n };\n }\n\n private unSerializeSession(session: SerializedRoomstaySession): RoomstaySession {\n const basketRows: BasketRow[] = [];\n let startDate: dayjs.Dayjs;\n let endDate: dayjs.Dayjs;\n\n if (session.startDate) {\n startDate = dayjs(session.startDate, SERIALIZED_DATE_FORMAT);\n }\n\n if (session.endDate) {\n endDate = dayjs(session.endDate, SERIALIZED_DATE_FORMAT);\n }\n\n session.basketRows?.forEach((serializedBasketRow) => {\n let rate;\n let room;\n\n if (serializedBasketRow.room) {\n room = new Room();\n room.unSerialize(serializedBasketRow.room);\n }\n\n if (serializedBasketRow.rate && room) {\n rate = new RoomRate();\n rate.unSerialize(serializedBasketRow.rate);\n rate.setRoom(room);\n }\n\n const basketRow = new BasketRow(rate ?? null, serializedBasketRow.uniqId);\n\n if (serializedBasketRow.startDate) {\n basketRow.setStartDate(dayjs(serializedBasketRow.startDate, SERIALIZED_DATE_FORMAT));\n }\n if (serializedBasketRow.endDate) {\n basketRow.setEndDate(dayjs(serializedBasketRow.endDate, SERIALIZED_DATE_FORMAT));\n }\n\n basketRow.setAdults(serializedBasketRow.adults);\n basketRow.setChildren(serializedBasketRow.children);\n\n basketRows.push(basketRow);\n });\n\n return {\n id: session.id,\n startDate,\n endDate,\n step: session.step,\n hotelID: session.hotelID,\n basketRows,\n source: session.source,\n reservation: session.reservation,\n };\n }\n\n private getSessionKey(sessionId?: number): string {\n return `session-${sessionId ?? this.currentSessionID}`;\n }\n\n /**\n * @returns the current session ID\n */\n public getCurrentSessionID(): number {\n return this.currentSessionID;\n }\n\n public async getSession(): Promise<RoomstaySession> {\n const storage = new LocalStorageProvider();\n\n const sessionFromStorage = await storage.read<SerializedRoomstaySession>(this.getSessionKey());\n\n if (sessionFromStorage) {\n return this.unSerializeSession(sessionFromStorage);\n } else {\n return this.generateNewSession('');\n }\n }\n\n public async saveSession(changedSession: RoomstaySession) {\n if (!changedSession) {\n return console.log('Attempted to save empty session');\n }\n\n const storage = new LocalStorageProvider();\n\n const serializedSession = this.serializeSession(changedSession);\n\n await storage.write(this.getSessionKey(serializedSession.id), serializedSession);\n }\n\n private debouncedUpdateSession = debounce(async () => {\n const currentSession = await this.getSession();\n const cachedSession = this.cachedSession;\n this.cachedSession = {};\n await this.saveSession({\n ...currentSession,\n ...cachedSession,\n });\n }, 300);\n\n public async updateSession(partialSession: Partial<RoomstaySession>) {\n Object.assign(this.cachedSession, partialSession);\n this.debouncedUpdateSession();\n }\n\n public async deleteSession() {\n const storage = new LocalStorageProvider();\n storage.delete(this.getSessionKey());\n }\n\n public async getAllSessions() {\n const storage = new LocalStorageProvider();\n const sessionKeys = storage.getAllKeys((name) => name.startsWith('roomstay-session'));\n\n return (await storage.readAll<SerializedRoomstaySession>(sessionKeys)).map((session) => this.unSerializeSession(session));\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { Feature } from './Feature';
1
+ import { Feature } from 'providers/feature/Feature';
2
2
  /**
3
3
  * Feature to determine if checkboxes for verify confirmation must be ticked
4
4
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const Feature_1 = require("./Feature");
3
+ const Feature_1 = require("providers/feature/Feature");
4
4
  /**
5
5
  * Feature to determine if checkboxes for verify confirmation must be ticked
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationVerifyFeature.js","sourceRoot":"/","sources":["src/providers/feature/ConfirmationVerifyFeature.ts"],"names":[],"mappings":";;AAAA,uCAAoC;AAEpC;;GAEG;AACH,MAAM,yBAA0B,SAAQ,iBAAO;IAC3C;QACI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACvC,CAAC;IAES,MAAM;QACZ,2EAA2E;IAC/E,CAAC;CACJ;AAED,kBAAe,IAAI,yBAAyB,EAAE,CAAC","sourcesContent":["import { Feature } from './Feature';\n\n/**\n * Feature to determine if checkboxes for verify confirmation must be ticked\n */\nclass ConfirmationVerifyFeature extends Feature {\n public constructor() {\n super('ConfirmationVerifyFeature');\n }\n\n protected onLoad() {\n /** No onload function since the engine itself checks if this is enabled */\n }\n}\n\nexport default new ConfirmationVerifyFeature();\n"]}
1
+ {"version":3,"file":"ConfirmationVerifyFeature.js","sourceRoot":"/","sources":["src/providers/feature/ConfirmationVerifyFeature.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD;;GAEG;AACH,MAAM,yBAA0B,SAAQ,iBAAO;IAC3C;QACI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACvC,CAAC;IAES,MAAM;QACZ,2EAA2E;IAC/E,CAAC;CACJ;AAED,kBAAe,IAAI,yBAAyB,EAAE,CAAC","sourcesContent":["import { Feature } from 'providers/feature/Feature';\n\n/**\n * Feature to determine if checkboxes for verify confirmation must be ticked\n */\nclass ConfirmationVerifyFeature extends Feature {\n public constructor() {\n super('ConfirmationVerifyFeature');\n }\n\n protected onLoad() {\n /** No onload function since the engine itself checks if this is enabled */\n }\n}\n\nexport default new ConfirmationVerifyFeature();\n"]}
@@ -1,4 +1,4 @@
1
- import { Feature } from './Feature';
1
+ import { Feature } from 'providers/feature/Feature';
2
2
  declare class DatePickerTypeFeature extends Feature {
3
3
  constructor();
4
4
  protected onLoad(): void;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const FullPageBookingEngineElementEvents_1 = require("../../engines/FullPageBookingEngine/FullPageBookingEngineElementEvents");
4
- const Feature_1 = require("./Feature");
3
+ const FullPageBookingEngineElementEvents_1 = require("engines/FullPageBookingEngine/FullPageBookingEngineElementEvents");
4
+ const Feature_1 = require("providers/feature/Feature");
5
5
  class DatePickerTypeFeature extends Feature_1.Feature {
6
6
  constructor() {
7
7
  super('DatePickerTypeFeature');
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeFeature.js","sourceRoot":"/","sources":["src/providers/feature/DatePickerTypeFeature.ts"],"names":[],"mappings":";;AAAA,+HAA4H;AAC5H,uCAAoC;AAEpC,MAAM,qBAAsB,SAAQ,iBAAO;IACvC;QACI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACnC,CAAC;IAES,MAAM;QACZ,wCAAwC;QACxC,0CAA0C;QAC1C,uEAAuE;QACvE,IAAI;QAEJ,uEAAkC,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC;CACJ;AAED,kBAAe,IAAI,qBAAqB,EAAE,CAAC","sourcesContent":["import { FullPageBookingEngineElementEvents } from '../../engines/FullPageBookingEngine/FullPageBookingEngineElementEvents';\nimport { Feature } from './Feature';\n\nclass DatePickerTypeFeature extends Feature {\n public constructor() {\n super('DatePickerTypeFeature');\n }\n\n protected onLoad() {\n // TODO: This will need to be re-thought\n // if (RoomstayThemeEngine.currentHotel) {\n // RoomstayThemeEngine.currentHotel.defaultDatepickerType = 'Week';\n // }\n\n FullPageBookingEngineElementEvents.reload();\n }\n}\n\nexport default new DatePickerTypeFeature();\n"]}
1
+ {"version":3,"file":"DatePickerTypeFeature.js","sourceRoot":"/","sources":["src/providers/feature/DatePickerTypeFeature.ts"],"names":[],"mappings":";;AAAA,yHAAsH;AACtH,uDAAoD;AAEpD,MAAM,qBAAsB,SAAQ,iBAAO;IACvC;QACI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACnC,CAAC;IAES,MAAM;QACZ,wCAAwC;QACxC,0CAA0C;QAC1C,uEAAuE;QACvE,IAAI;QAEJ,uEAAkC,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC;CACJ;AAED,kBAAe,IAAI,qBAAqB,EAAE,CAAC","sourcesContent":["import { FullPageBookingEngineElementEvents } from 'engines/FullPageBookingEngine/FullPageBookingEngineElementEvents';\nimport { Feature } from 'providers/feature/Feature';\n\nclass DatePickerTypeFeature extends Feature {\n public constructor() {\n super('DatePickerTypeFeature');\n }\n\n protected onLoad() {\n // TODO: This will need to be re-thought\n // if (RoomstayThemeEngine.currentHotel) {\n // RoomstayThemeEngine.currentHotel.defaultDatepickerType = 'Week';\n // }\n\n FullPageBookingEngineElementEvents.reload();\n }\n}\n\nexport default new DatePickerTypeFeature();\n"]}
@@ -1,4 +1,4 @@
1
- import { Feature } from './Feature';
1
+ import { Feature } from 'providers/feature/Feature';
2
2
  declare class E164PhoneNumberFieldFeature extends Feature {
3
3
  constructor();
4
4
  protected onLoad(): void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const Feature_1 = require("./Feature");
3
+ const Feature_1 = require("providers/feature/Feature");
4
4
  class E164PhoneNumberFieldFeature extends Feature_1.Feature {
5
5
  constructor() {
6
6
  super('E164PhoneNumberFieldFeature');
@@ -1 +1 @@
1
- {"version":3,"file":"E164PhoneNumberFieldFeature.js","sourceRoot":"/","sources":["src/providers/feature/E164PhoneNumberFieldFeature.ts"],"names":[],"mappings":";;AAAA,uCAAoC;AAEpC,MAAM,2BAA4B,SAAQ,iBAAO;IAC7C;QACI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACzC,CAAC;IAES,MAAM;QACZ,yBAAyB;IAC7B,CAAC;CACJ;AAED,kBAAe,IAAI,2BAA2B,EAAE,CAAC","sourcesContent":["import { Feature } from './Feature';\n\nclass E164PhoneNumberFieldFeature extends Feature {\n public constructor() {\n super('E164PhoneNumberFieldFeature');\n }\n\n protected onLoad(): void {\n // No requirement on load\n }\n}\n\nexport default new E164PhoneNumberFieldFeature();\n"]}
1
+ {"version":3,"file":"E164PhoneNumberFieldFeature.js","sourceRoot":"/","sources":["src/providers/feature/E164PhoneNumberFieldFeature.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD,MAAM,2BAA4B,SAAQ,iBAAO;IAC7C;QACI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACzC,CAAC;IAES,MAAM;QACZ,yBAAyB;IAC7B,CAAC;CACJ;AAED,kBAAe,IAAI,2BAA2B,EAAE,CAAC","sourcesContent":["import { Feature } from 'providers/feature/Feature';\n\nclass E164PhoneNumberFieldFeature extends Feature {\n public constructor() {\n super('E164PhoneNumberFieldFeature');\n }\n\n protected onLoad(): void {\n // No requirement on load\n }\n}\n\nexport default new E164PhoneNumberFieldFeature();\n"]}
@@ -20,7 +20,9 @@ class Feature {
20
20
  this.active = false;
21
21
  this.onUnLoad();
22
22
  }
23
- onUnLoad() { }
23
+ onUnLoad() {
24
+ // Empty function to be overwritten
25
+ }
24
26
  }
25
27
  exports.Feature = Feature;
26
28
  //# sourceMappingURL=Feature.js.map