@roomstay/frontend 2.0.11 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (834) hide show
  1. package/dist/201.bundle.js +1 -1
  2. package/dist/218.bundle.js +1 -1
  3. package/dist/423.bundle.js +1 -1
  4. package/dist/449.bundle.js +1 -1
  5. package/dist/873.bundle.js +1 -1
  6. package/dist/882.bundle.js +1 -1
  7. package/dist/main.bundle.js +1 -1
  8. package/dist/src/animations/AutoAutoHeight.js +28 -2
  9. package/dist/src/animations/AutoAutoHeight.js.map +1 -1
  10. package/dist/src/animations/Fade.js +24 -1
  11. package/dist/src/animations/Fade.js.map +1 -1
  12. package/dist/src/api/AddonAPI.js +29 -3
  13. package/dist/src/api/AddonAPI.js.map +1 -1
  14. package/dist/src/api/AvailabilityAPI.d.ts +1 -1
  15. package/dist/src/api/AvailabilityAPI.js +40 -14
  16. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  17. package/dist/src/api/BaseAPI.d.ts +1 -1
  18. package/dist/src/api/BaseAPI.js +7 -4
  19. package/dist/src/api/BaseAPI.js.map +1 -1
  20. package/dist/src/api/BookingAPI.js +12 -9
  21. package/dist/src/api/BookingAPI.js.map +1 -1
  22. package/dist/src/api/ErrorAPI.js +4 -1
  23. package/dist/src/api/ErrorAPI.js.map +1 -1
  24. package/dist/src/api/ExchangeRateAPI.js +4 -1
  25. package/dist/src/api/ExchangeRateAPI.js.map +1 -1
  26. package/dist/src/api/HotelAPI.js +4 -1
  27. package/dist/src/api/HotelAPI.js.map +1 -1
  28. package/dist/src/api/MemberAPI.js +24 -1
  29. package/dist/src/api/MemberAPI.js.map +1 -1
  30. package/dist/src/api/ReservationAPI.js +24 -1
  31. package/dist/src/api/ReservationAPI.js.map +1 -1
  32. package/dist/src/api/SessionAPI.js +24 -1
  33. package/dist/src/api/SessionAPI.js.map +1 -1
  34. package/dist/src/api/members-service/MembersServiceAPI.js +4 -1
  35. package/dist/src/api/members-service/MembersServiceAPI.js.map +1 -1
  36. package/dist/src/components/User/Forms/ForgotPasswordForm.js +33 -7
  37. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  38. package/dist/src/components/User/Forms/SignInForm.js +33 -7
  39. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  40. package/dist/src/components/User/Forms/SignUpForm.js +36 -10
  41. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  42. package/dist/src/components/generic/Alert.js +30 -4
  43. package/dist/src/components/generic/Alert.js.map +1 -1
  44. package/dist/src/components/generic/BEButton.js +30 -4
  45. package/dist/src/components/generic/BEButton.js.map +1 -1
  46. package/dist/src/components/generic/BackButton.js +28 -2
  47. package/dist/src/components/generic/BackButton.js.map +1 -1
  48. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +29 -3
  49. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  50. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +19 -0
  51. package/dist/src/components/generic/BookingWizard/BookingWizard.js +106 -0
  52. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -0
  53. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +6 -0
  54. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js +28 -0
  55. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js.map +1 -0
  56. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +10 -0
  57. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +113 -0
  58. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -0
  59. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +35 -0
  60. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js +8 -0
  61. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -0
  62. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +7 -0
  63. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +146 -0
  64. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -0
  65. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +9 -0
  66. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +111 -0
  67. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -0
  68. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +10 -0
  69. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +144 -0
  70. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -0
  71. package/dist/src/components/generic/Card/Card/Card.js +30 -4
  72. package/dist/src/components/generic/Card/Card/Card.js.map +1 -1
  73. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +31 -5
  74. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
  75. package/dist/src/components/generic/Checkbox/Checkbox.js +30 -4
  76. package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
  77. package/dist/src/components/generic/Countdown.d.ts +1 -1
  78. package/dist/src/components/generic/Countdown.js +29 -3
  79. package/dist/src/components/generic/Countdown.js.map +1 -1
  80. package/dist/src/components/generic/Currency.js +29 -3
  81. package/dist/src/components/generic/Currency.js.map +1 -1
  82. package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +14 -0
  83. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +155 -0
  84. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -0
  85. package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.d.ts +10 -0
  86. package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js +44 -0
  87. package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js.map +1 -0
  88. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +21 -0
  89. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +134 -0
  90. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -0
  91. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +6 -0
  92. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +44 -0
  93. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -0
  94. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +7 -0
  95. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +57 -0
  96. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -0
  97. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.d.ts +25 -0
  98. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +87 -0
  99. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -0
  100. package/dist/src/components/generic/Distance.js +28 -2
  101. package/dist/src/components/generic/Distance.js.map +1 -1
  102. package/dist/src/components/generic/ForwardedSelect.d.ts +1 -1
  103. package/dist/src/components/generic/ForwardedSelect.js +24 -1
  104. package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
  105. package/dist/src/components/generic/Headline.js +29 -3
  106. package/dist/src/components/generic/Headline.js.map +1 -1
  107. package/dist/src/components/generic/Icon/Icon.js +30 -4
  108. package/dist/src/components/generic/Icon/Icon.js.map +1 -1
  109. package/dist/src/components/generic/IconText/IconText.js +31 -5
  110. package/dist/src/components/generic/IconText/IconText.js.map +1 -1
  111. package/dist/src/components/generic/InputGroup/InputGroup.js +29 -3
  112. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  113. package/dist/src/components/generic/LineBreak.js +29 -3
  114. package/dist/src/components/generic/LineBreak.js.map +1 -1
  115. package/dist/src/components/generic/Notification.js +25 -2
  116. package/dist/src/components/generic/Notification.js.map +1 -1
  117. package/dist/src/components/generic/NumberIncrement.js +30 -4
  118. package/dist/src/components/generic/NumberIncrement.js.map +1 -1
  119. package/dist/src/components/generic/Overlay/Overlay.d.ts +3 -2
  120. package/dist/src/components/generic/Overlay/Overlay.js +33 -6
  121. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  122. package/dist/src/components/generic/PasswordBox/PasswordBox.js +30 -4
  123. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  124. package/dist/src/components/generic/PaymentCard/CardTypeSelect.d.ts +1 -2
  125. package/dist/src/components/generic/PaymentCard/CardTypeSelect.js +30 -4
  126. package/dist/src/components/generic/PaymentCard/CardTypeSelect.js.map +1 -1
  127. package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +2 -3
  128. package/dist/src/components/generic/PaymentCard/PaymentCard.js +30 -4
  129. package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
  130. package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +2 -3
  131. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +34 -8
  132. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  133. package/dist/src/components/generic/Pill.js +30 -4
  134. package/dist/src/components/generic/Pill.js.map +1 -1
  135. package/dist/src/components/generic/Placeholder.js +29 -3
  136. package/dist/src/components/generic/Placeholder.js.map +1 -1
  137. package/dist/src/components/generic/PlanpayButton/PlanpayButton.d.ts +1 -2
  138. package/dist/src/components/generic/PlanpayButton/PlanpayButton.js +28 -2
  139. package/dist/src/components/generic/PlanpayButton/PlanpayButton.js.map +1 -1
  140. package/dist/src/components/generic/Portal/Portal.js +24 -1
  141. package/dist/src/components/generic/Portal/Portal.js.map +1 -1
  142. package/dist/src/components/generic/PromoCodeInput.js +32 -6
  143. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  144. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +30 -4
  145. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  146. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +30 -4
  147. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  148. package/dist/src/components/generic/RecentSearchesCard.d.ts +1 -1
  149. package/dist/src/components/generic/RecentSearchesCard.js +35 -9
  150. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  151. package/dist/src/components/generic/Select/Select.d.ts +20 -6
  152. package/dist/src/components/generic/Select/Select.js +92 -25
  153. package/dist/src/components/generic/Select/Select.js.map +1 -1
  154. package/dist/src/components/generic/Slider/Slider.js +29 -3
  155. package/dist/src/components/generic/Slider/Slider.js.map +1 -1
  156. package/dist/src/components/generic/Tabs/ElementChildren.js +24 -1
  157. package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
  158. package/dist/src/components/generic/Tabs/Tab.js +24 -1
  159. package/dist/src/components/generic/Tabs/Tab.js.map +1 -1
  160. package/dist/src/components/generic/Tabs/TabContext.js +24 -1
  161. package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
  162. package/dist/src/components/generic/Tabs/TabLink.js +30 -4
  163. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  164. package/dist/src/components/generic/Tabs/TabRouteContainer.js +28 -2
  165. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
  166. package/dist/src/components/generic/Tabs/Tabs.js +29 -3
  167. package/dist/src/components/generic/Tabs/Tabs.js.map +1 -1
  168. package/dist/src/components/generic/Text.js +29 -3
  169. package/dist/src/components/generic/Text.js.map +1 -1
  170. package/dist/src/components/generic/TextArea.js +24 -1
  171. package/dist/src/components/generic/TextArea.js.map +1 -1
  172. package/dist/src/components/generic/TextBox.js +30 -4
  173. package/dist/src/components/generic/TextBox.js.map +1 -1
  174. package/dist/src/components/generic/Tooltip/Tooltip.js +28 -2
  175. package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
  176. package/dist/src/components/generic/badging/SSLSecureBadge.js +29 -3
  177. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  178. package/dist/src/components/generic/buttons/NextStepButton.js +30 -4
  179. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  180. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +34 -8
  181. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  182. package/dist/src/components/generic/date/DatePicker.d.ts +1 -1
  183. package/dist/src/components/generic/date/DatePicker.js +43 -16
  184. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  185. package/dist/src/components/generic/date/DatePickerDay.d.ts +1 -1
  186. package/dist/src/components/generic/date/DatePickerDay.js +33 -7
  187. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  188. package/dist/src/components/generic/date/DatePickerDays.d.ts +1 -1
  189. package/dist/src/components/generic/date/DatePickerDays.js +29 -3
  190. package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
  191. package/dist/src/components/generic/date/DatePickerMonth.d.ts +1 -1
  192. package/dist/src/components/generic/date/DatePickerMonth.js +30 -4
  193. package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
  194. package/dist/src/components/generic/date/DatePickerWeek.js +38 -12
  195. package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
  196. package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
  197. package/dist/src/components/generic/date/FloatingDatePicker.js +29 -3
  198. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  199. package/dist/src/components/generic/date/WeekViewSkeleton.js +31 -5
  200. package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
  201. package/dist/src/components/generic/loader/ImageLoader.js +29 -3
  202. package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
  203. package/dist/src/components/generic/loader/LargeLoader.js +28 -2
  204. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  205. package/dist/src/components/generic/loader/SmallSpinner.js +25 -2
  206. package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
  207. package/dist/src/components/generic/map/HotelLocationMap.js +28 -2
  208. package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
  209. package/dist/src/components/generic/modal/ConfirmationModal.d.ts +1 -2
  210. package/dist/src/components/generic/modal/ConfirmationModal.js +30 -4
  211. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  212. package/dist/src/components/generic/modal/ErrorModal.js +29 -3
  213. package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
  214. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +32 -6
  215. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  216. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +33 -7
  217. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  218. package/dist/src/components/generic/modal/SimpleModal.d.ts +2 -0
  219. package/dist/src/components/generic/modal/SimpleModal.js +36 -9
  220. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  221. package/dist/src/components/generic/modal/TabbedModal.js +29 -3
  222. package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
  223. package/dist/src/components/generic/radio/RadioFields.js +32 -6
  224. package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
  225. package/dist/src/components/iconComponents/BookNowPayLaterIcon.js +24 -1
  226. package/dist/src/components/iconComponents/BookNowPayLaterIcon.js.map +1 -1
  227. package/dist/src/components/members/EditMyProfile.js +32 -6
  228. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  229. package/dist/src/components/navigation/Header.js +40 -14
  230. package/dist/src/components/navigation/Header.js.map +1 -1
  231. package/dist/src/components/navigation/StepSelector.js +34 -8
  232. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  233. package/dist/src/components/navigation/StepSelectorModal.js +33 -7
  234. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  235. package/dist/src/components/pages/Account/Card/CardList.js +30 -4
  236. package/dist/src/components/pages/Account/Card/CardList.js.map +1 -1
  237. package/dist/src/components/pages/Account/Card/MemberCardItem.js +34 -8
  238. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  239. package/dist/src/components/pages/PageColorComponent.js +28 -2
  240. package/dist/src/components/pages/PageColorComponent.js.map +1 -1
  241. package/dist/src/components/reservation/ReservationItem.js +42 -16
  242. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  243. package/dist/src/components/reservation/ReservationList.js +28 -2
  244. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  245. package/dist/src/components/steps/DaysSelectedInformer.js +25 -2
  246. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  247. package/dist/src/components/steps/MinimumNightStayPill.js +30 -4
  248. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  249. package/dist/src/components/steps/addons/AddonCard.js +37 -12
  250. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  251. package/dist/src/components/steps/addons/AddonList.js +33 -7
  252. package/dist/src/components/steps/addons/AddonList.js.map +1 -1
  253. package/dist/src/components/steps/addons/AddonsNotFound.js +29 -3
  254. package/dist/src/components/steps/addons/AddonsNotFound.js.map +1 -1
  255. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +29 -3
  256. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
  257. package/dist/src/components/steps/confirmation/AccountDetails.js +29 -3
  258. package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
  259. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js +30 -4
  260. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  261. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +24 -1
  262. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  263. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +32 -6
  264. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  265. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +28 -2
  266. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
  267. package/dist/src/components/steps/confirmation/RoomContactDetails.js +41 -15
  268. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  269. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +33 -7
  270. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  271. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +37 -11
  272. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  273. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +30 -4
  274. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
  275. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +31 -5
  276. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  277. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +54 -28
  278. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  279. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +28 -2
  280. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
  281. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +1 -1
  282. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +32 -6
  283. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  284. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +29 -3
  285. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
  286. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +25 -2
  287. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  288. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +36 -10
  289. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  290. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +26 -3
  291. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  292. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +37 -12
  293. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
  294. package/dist/src/components/steps/date/PeoplePicker.js +32 -6
  295. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  296. package/dist/src/components/steps/date/PeoplePickerRow.js +31 -5
  297. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  298. package/dist/src/components/steps/date/StepDatePricePerRoom.js +32 -6
  299. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  300. package/dist/src/components/steps/date/StepOneDateRange.js +29 -3
  301. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  302. package/dist/src/components/steps/date/StepOneDateRangePicker.js +30 -4
  303. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  304. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +29 -3
  305. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
  306. package/dist/src/components/steps/date/StepOneNextStepButton.js +29 -3
  307. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  308. package/dist/src/components/steps/date/StepOneStatusPeople.js +28 -2
  309. package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
  310. package/dist/src/components/steps/hotel/HotelCard.js +39 -13
  311. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  312. package/dist/src/components/steps/hotel/HotelCardList.js +29 -3
  313. package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
  314. package/dist/src/components/steps/hotel/HotelCardModal.js +38 -12
  315. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  316. package/dist/src/components/steps/hotel/HotelSearchParameters.js +47 -21
  317. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  318. package/dist/src/components/steps/hotel/NoHotelsAvailable.js +29 -3
  319. package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
  320. package/dist/src/components/steps/room/AvailableUpgradesModal.js +37 -11
  321. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  322. package/dist/src/components/steps/room/ImageGallerySlider.js +32 -6
  323. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  324. package/dist/src/components/steps/room/InactivityWindow.js +37 -11
  325. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  326. package/dist/src/components/steps/room/LargeRoomCard.js +35 -9
  327. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  328. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +38 -12
  329. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
  330. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +35 -9
  331. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  332. package/dist/src/components/steps/room/RatesNotFound.js +29 -3
  333. package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
  334. package/dist/src/components/steps/room/RoomList.js +38 -12
  335. package/dist/src/components/steps/room/RoomList.js.map +1 -1
  336. package/dist/src/components/steps/room/RoomListAlert.js +31 -5
  337. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
  338. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +34 -8
  339. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  340. package/dist/src/components/steps/room/RoomModal.js +34 -8
  341. package/dist/src/components/steps/room/RoomModal.js.map +1 -1
  342. package/dist/src/components/steps/room/StepRoomAlertBlocks.js +31 -5
  343. package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
  344. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +29 -3
  345. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  346. package/dist/src/components/steps/room/StepRoomErrorForm.js +37 -11
  347. package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
  348. package/dist/src/components/steps/room/StepRoomHotelDetails.js +29 -3
  349. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  350. package/dist/src/components/steps/room/StepRoomNextStepButton.js +29 -3
  351. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  352. package/dist/src/components/steps/room/StepRoomSortBy.js +34 -9
  353. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  354. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +31 -5
  355. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  356. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +1 -1
  357. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +32 -7
  358. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
  359. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +1 -1
  360. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +32 -7
  361. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
  362. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +31 -5
  363. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  364. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +43 -17
  365. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  366. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +41 -15
  367. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  368. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +25 -2
  369. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  370. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +31 -5
  371. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  372. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +35 -9
  373. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  374. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +37 -11
  375. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  376. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +29 -3
  377. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
  378. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +35 -9
  379. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  380. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +34 -8
  381. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  382. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +34 -8
  383. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  384. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +30 -4
  385. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  386. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +30 -4
  387. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  388. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +32 -6
  389. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  390. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +38 -12
  391. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  392. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +33 -7
  393. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  394. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +30 -4
  395. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  396. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +38 -12
  397. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  398. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +33 -7
  399. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
  400. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +32 -6
  401. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
  402. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +32 -6
  403. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  404. package/dist/src/components/summary/BEMapWidget.d.ts +3 -5
  405. package/dist/src/components/summary/BEMapWidget.js +66 -18
  406. package/dist/src/components/summary/BEMapWidget.js.map +1 -1
  407. package/dist/src/components/summary/BEMobileSummary.js +35 -9
  408. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  409. package/dist/src/components/summary/BEMobileSummaryModal.js +41 -15
  410. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  411. package/dist/src/components/summary/BESummary.js +37 -11
  412. package/dist/src/components/summary/BESummary.js.map +1 -1
  413. package/dist/src/components/summary/BESummaryAddonRow.js +34 -8
  414. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  415. package/dist/src/components/summary/BESummaryPerkBlock.js +30 -4
  416. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  417. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +25 -2
  418. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  419. package/dist/src/components/summary/BESummaryRoomRow.js +35 -9
  420. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  421. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +30 -4
  422. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  423. package/dist/src/components/temp/Login.js +29 -3
  424. package/dist/src/components/temp/Login.js.map +1 -1
  425. package/dist/src/containers/PrivateRoute.js +24 -1
  426. package/dist/src/containers/PrivateRoute.js.map +1 -1
  427. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +1 -1
  428. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  429. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +42 -16
  430. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  431. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +28 -2
  432. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  433. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +34 -8
  434. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  435. package/dist/src/contexts/ConfirmationFormContext.js +24 -1
  436. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  437. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +30 -4
  438. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  439. package/dist/src/contexts/DatePickerContext.d.ts +1 -1
  440. package/dist/src/contexts/DatePickerContext.js +24 -1
  441. package/dist/src/contexts/DatePickerContext.js.map +1 -1
  442. package/dist/src/contexts/ErrorContext.js +29 -3
  443. package/dist/src/contexts/ErrorContext.js.map +1 -1
  444. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.d.ts +1 -1
  445. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.js.map +1 -1
  446. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +52 -26
  447. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  448. package/dist/src/contexts/HotelOverridesContext.js +28 -2
  449. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  450. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +30 -4
  451. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  452. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +30 -4
  453. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  454. package/dist/src/contexts/ModalContext.js +24 -1
  455. package/dist/src/contexts/ModalContext.js.map +1 -1
  456. package/dist/src/contexts/NotificationContext.js +28 -2
  457. package/dist/src/contexts/NotificationContext.js.map +1 -1
  458. package/dist/src/engines/BaseEngine.d.ts +4 -5
  459. package/dist/src/engines/BaseEngine.js +6 -2
  460. package/dist/src/engines/BaseEngine.js.map +1 -1
  461. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +17 -0
  462. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js +31 -0
  463. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -0
  464. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +6 -0
  465. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +54 -0
  466. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -0
  467. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.d.ts +6 -2
  468. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +24 -1
  469. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
  470. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +24 -1
  471. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  472. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.d.ts +6 -2
  473. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js +4 -1
  474. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js.map +1 -1
  475. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +61 -35
  476. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  477. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.d.ts +6 -2
  478. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js +4 -1
  479. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -1
  480. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +35 -9
  481. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  482. package/dist/src/errors/GetAvailabilityError.d.ts +1 -1
  483. package/dist/src/errors/GetAvailabilityError.js.map +1 -1
  484. package/dist/src/hooks/AutoFocusOnSelect.d.ts +2 -0
  485. package/dist/src/hooks/AutoFocusOnSelect.js +1 -0
  486. package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
  487. package/dist/src/hooks/ConfirmationQuery.js +2 -2
  488. package/dist/src/hooks/ConfirmationQuery.js.map +1 -1
  489. package/dist/src/hooks/ElementSortHook.js +24 -1
  490. package/dist/src/hooks/ElementSortHook.js.map +1 -1
  491. package/dist/src/hooks/EventHook.js +4 -1
  492. package/dist/src/hooks/EventHook.js.map +1 -1
  493. package/dist/src/hooks/KeyboardControlOnSelect.d.ts +14 -8
  494. package/dist/src/hooks/KeyboardControlOnSelect.js +45 -37
  495. package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
  496. package/dist/src/hooks/Query.d.ts +1 -1
  497. package/dist/src/hooks/Query.js +29 -6
  498. package/dist/src/hooks/Query.js.map +1 -1
  499. package/dist/src/hooks/VGSHooks.js +6 -3
  500. package/dist/src/hooks/VGSHooks.js.map +1 -1
  501. package/dist/src/hooks/WindowSize.d.ts +9 -3
  502. package/dist/src/hooks/WindowSize.js +13 -2
  503. package/dist/src/hooks/WindowSize.js.map +1 -1
  504. package/dist/src/icons/Check.js +24 -1
  505. package/dist/src/icons/Check.js.map +1 -1
  506. package/dist/src/index.d.ts +1 -0
  507. package/dist/src/index.js +60 -44
  508. package/dist/src/index.js.map +1 -1
  509. package/dist/src/mockApi/AddonAPI.js +5 -2
  510. package/dist/src/mockApi/AddonAPI.js.map +1 -1
  511. package/dist/src/mockApi/BookingAPI.js +9 -6
  512. package/dist/src/mockApi/BookingAPI.js.map +1 -1
  513. package/dist/src/mockApi/ExchangeRateAPI.js +4 -1
  514. package/dist/src/mockApi/ExchangeRateAPI.js.map +1 -1
  515. package/dist/src/mockApi/HotelAPI.js +4 -1
  516. package/dist/src/mockApi/HotelAPI.js.map +1 -1
  517. package/dist/src/mockApi/MemberAPI.js +24 -1
  518. package/dist/src/mockApi/MemberAPI.js.map +1 -1
  519. package/dist/src/mockApi/MockAPI.d.ts +1 -1
  520. package/dist/src/mockApi/MockAPI.js +6 -3
  521. package/dist/src/mockApi/MockAPI.js.map +1 -1
  522. package/dist/src/mockApi/ReservationAPI.js +24 -1
  523. package/dist/src/mockApi/ReservationAPI.js.map +1 -1
  524. package/dist/src/models/Addon/Addon.d.ts +1 -1
  525. package/dist/src/models/Addon/Addon.js +7 -4
  526. package/dist/src/models/Addon/Addon.js.map +1 -1
  527. package/dist/src/models/BasketRow.d.ts +1 -1
  528. package/dist/src/models/BasketRow.js.map +1 -1
  529. package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +6 -0
  530. package/dist/src/models/BookingWizard/BookingWizardProperty.js +3 -0
  531. package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -0
  532. package/dist/src/models/BookingWizard/BookingWizardTypes.d.ts +4 -0
  533. package/dist/src/models/BookingWizard/BookingWizardTypes.js +3 -0
  534. package/dist/src/models/BookingWizard/BookingWizardTypes.js.map +1 -0
  535. package/dist/src/models/Promotion/IPromotion.type.d.ts +1 -1
  536. package/dist/src/models/Promotion/IPromotion.type.js.map +1 -1
  537. package/dist/src/models/Reservation/Reservation.d.ts +1 -1
  538. package/dist/src/models/Reservation/Reservation.js.map +1 -1
  539. package/dist/src/models/Room/Filters/BudgetFilter.js +4 -1
  540. package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
  541. package/dist/src/models/Room/Filters/RateTypeFilter.js +4 -1
  542. package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
  543. package/dist/src/models/Room/Filters/RoomTypeFilter.js +4 -1
  544. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  545. package/dist/src/models/Room/RoomRate.js +6 -3
  546. package/dist/src/models/Room/RoomRate.js.map +1 -1
  547. package/dist/src/models/Room/RoomRateNight.d.ts +1 -1
  548. package/dist/src/models/Room/RoomRateNight.js +5 -2
  549. package/dist/src/models/Room/RoomRateNight.js.map +1 -1
  550. package/dist/src/models/RoomstaySession.d.ts +1 -1
  551. package/dist/src/models/RoomstaySession.js.map +1 -1
  552. package/dist/src/pages/account/AccountHome/AccountHomePage.js +34 -8
  553. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  554. package/dist/src/pages/account/AccountOutlet.js +24 -1
  555. package/dist/src/pages/account/AccountOutlet.js.map +1 -1
  556. package/dist/src/pages/account/AccountRouter.js +24 -1
  557. package/dist/src/pages/account/AccountRouter.js.map +1 -1
  558. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +33 -7
  559. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  560. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +32 -6
  561. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  562. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +34 -8
  563. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  564. package/dist/src/pages/account/Help/AccountHelpPage.js +36 -10
  565. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  566. package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js +40 -14
  567. package/dist/src/pages/account/Reservations/AccountReservationCancelledPage.js.map +1 -1
  568. package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js +39 -13
  569. package/dist/src/pages/account/Reservations/AccountReservationMultiplePage.js.map +1 -1
  570. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +39 -13
  571. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  572. package/dist/src/pages/account/Reservations/AccountReservationsPage.js +31 -5
  573. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  574. package/dist/src/pages/findReservation/FindReservation.js +39 -13
  575. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  576. package/dist/src/pages/findReservation/FindReservationResults.js +40 -14
  577. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  578. package/dist/src/pages/findReservation/ReservationRow.js +40 -14
  579. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  580. package/dist/src/pages/findReservation/ReservationRowModal.js +39 -13
  581. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  582. package/dist/src/pages/hotel/HotelInfo.js +36 -10
  583. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  584. package/dist/src/pages/hotel/HotelInfoPlaceholder.js +28 -2
  585. package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
  586. package/dist/src/pages/steps/StepAddon/StepAddon.js +6 -3
  587. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  588. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +35 -9
  589. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  590. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +29 -3
  591. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
  592. package/dist/src/pages/steps/StepAddon/StepAddonValidator.js +4 -1
  593. package/dist/src/pages/steps/StepAddon/StepAddonValidator.js.map +1 -1
  594. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js +6 -3
  595. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  596. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +41 -15
  597. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  598. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +29 -3
  599. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
  600. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js +4 -1
  601. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
  602. package/dist/src/pages/steps/StepDate/StepDate.js +6 -3
  603. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  604. package/dist/src/pages/steps/StepDate/StepDateComponent.js +39 -13
  605. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  606. package/dist/src/pages/steps/StepDate/StepDateValidator.js +4 -1
  607. package/dist/src/pages/steps/StepDate/StepDateValidator.js.map +1 -1
  608. package/dist/src/pages/steps/StepGuide.js +29 -3
  609. package/dist/src/pages/steps/StepGuide.js.map +1 -1
  610. package/dist/src/pages/steps/StepHotel/StepHotel.js +6 -3
  611. package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
  612. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +39 -13
  613. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  614. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +31 -5
  615. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
  616. package/dist/src/pages/steps/StepHotel/StepHotelValidator.js +4 -1
  617. package/dist/src/pages/steps/StepHotel/StepHotelValidator.js.map +1 -1
  618. package/dist/src/pages/steps/StepRoom/StepRoom.js +6 -3
  619. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  620. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +42 -16
  621. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  622. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +29 -3
  623. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
  624. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js +4 -1
  625. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
  626. package/dist/src/pages/steps/StepThanks/StepThanks.js +7 -4
  627. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  628. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +39 -13
  629. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  630. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js +4 -1
  631. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
  632. package/dist/src/providers/CurrencyProvider.js +4 -1
  633. package/dist/src/providers/CurrencyProvider.js.map +1 -1
  634. package/dist/src/providers/DIProvider.js +24 -1
  635. package/dist/src/providers/DIProvider.js.map +1 -1
  636. package/dist/src/providers/FeatureProvider.d.ts +2 -2
  637. package/dist/src/providers/FeatureProvider.js +12 -9
  638. package/dist/src/providers/FeatureProvider.js.map +1 -1
  639. package/dist/src/providers/FilterProvider.js +4 -1
  640. package/dist/src/providers/FilterProvider.js.map +1 -1
  641. package/dist/src/providers/LanguageProvider.js +6 -3
  642. package/dist/src/providers/LanguageProvider.js.map +1 -1
  643. package/dist/src/providers/PromotionProvider.js +7 -4
  644. package/dist/src/providers/PromotionProvider.js.map +1 -1
  645. package/dist/src/providers/RoomstayThemeEngine.js +35 -9
  646. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  647. package/dist/src/providers/SessionProvider.js +9 -6
  648. package/dist/src/providers/SessionProvider.js.map +1 -1
  649. package/dist/src/providers/feature/InlineAddonStepFeature.js +5 -2
  650. package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
  651. package/dist/src/providers/storage/LocalStorageProvider.js +24 -1
  652. package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -1
  653. package/dist/src/reducers/BasketReducer.js +7 -4
  654. package/dist/src/reducers/BasketReducer.js.map +1 -1
  655. package/dist/src/routes/NaturallyProgressedStepRoute.js +33 -7
  656. package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -1
  657. package/dist/src/stories/Alert.stories.d.ts +5 -0
  658. package/dist/src/stories/Alert.stories.js +42 -0
  659. package/dist/src/stories/Alert.stories.js.map +1 -0
  660. package/dist/src/stories/{Button.stories.d.ts → BEButton.stories.d.ts} +1 -1
  661. package/dist/src/stories/BEButton.stories.js +43 -0
  662. package/dist/src/stories/BEButton.stories.js.map +1 -0
  663. package/dist/src/stories/BackButton.stories.d.ts +5 -0
  664. package/dist/src/stories/BackButton.stories.js +40 -0
  665. package/dist/src/stories/BackButton.stories.js.map +1 -0
  666. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.d.ts +5 -0
  667. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js +37 -0
  668. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js.map +1 -0
  669. package/dist/src/stories/BookingWizard.stories.d.ts +9 -0
  670. package/dist/src/stories/BookingWizard.stories.js +58 -0
  671. package/dist/src/stories/BookingWizard.stories.js.map +1 -0
  672. package/dist/src/stories/Card.stories.d.ts +3 -3
  673. package/dist/src/stories/Card.stories.js +4 -1
  674. package/dist/src/stories/Card.stories.js.map +1 -1
  675. package/dist/src/stories/CardTypeSelect.stories.d.ts +5 -0
  676. package/dist/src/stories/CardTypeSelect.stories.js +37 -0
  677. package/dist/src/stories/CardTypeSelect.stories.js.map +1 -0
  678. package/dist/src/stories/Checkbox.stories.js +28 -2
  679. package/dist/src/stories/Checkbox.stories.js.map +1 -1
  680. package/dist/src/stories/ConfirmationModal.stories.d.ts +5 -0
  681. package/dist/src/stories/ConfirmationModal.stories.js +45 -0
  682. package/dist/src/stories/ConfirmationModal.stories.js.map +1 -0
  683. package/dist/src/stories/Countdown.stories.d.ts +5 -0
  684. package/dist/src/stories/Countdown.stories.js +43 -0
  685. package/dist/src/stories/Countdown.stories.js.map +1 -0
  686. package/dist/src/stories/Currency.stories.d.ts +5 -0
  687. package/dist/src/stories/Currency.stories.js +42 -0
  688. package/dist/src/stories/Currency.stories.js.map +1 -0
  689. package/dist/src/stories/DateRangePicker.stories.d.ts +8 -0
  690. package/dist/src/stories/DateRangePicker.stories.js +80 -0
  691. package/dist/src/stories/DateRangePicker.stories.js.map +1 -0
  692. package/dist/src/stories/Distance.stories.d.ts +5 -0
  693. package/dist/src/stories/Distance.stories.js +42 -0
  694. package/dist/src/stories/Distance.stories.js.map +1 -0
  695. package/dist/src/stories/EnhancedPhoneNumberField.stories.js +28 -2
  696. package/dist/src/stories/EnhancedPhoneNumberField.stories.js.map +1 -1
  697. package/dist/src/stories/ErrorModal.stories.d.ts +5 -0
  698. package/dist/src/stories/ErrorModal.stories.js +46 -0
  699. package/dist/src/stories/ErrorModal.stories.js.map +1 -0
  700. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +6 -0
  701. package/dist/src/stories/FloatingDateRangePicker.stories.js +75 -0
  702. package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -0
  703. package/dist/src/stories/ForwardedSelect.stories.d.ts +5 -0
  704. package/dist/src/stories/ForwardedSelect.stories.js +51 -0
  705. package/dist/src/stories/ForwardedSelect.stories.js.map +1 -0
  706. package/dist/src/stories/Headline.stories.d.ts +5 -0
  707. package/dist/src/stories/Headline.stories.js +42 -0
  708. package/dist/src/stories/Headline.stories.js.map +1 -0
  709. package/dist/src/stories/Icon.stories.js +25 -2
  710. package/dist/src/stories/Icon.stories.js.map +1 -1
  711. package/dist/src/stories/IconNavCard.stories.js +24 -1
  712. package/dist/src/stories/IconNavCard.stories.js.map +1 -1
  713. package/dist/src/stories/IconText.stories.js +28 -2
  714. package/dist/src/stories/IconText.stories.js.map +1 -1
  715. package/dist/src/stories/ImageLoader.stories.js +28 -2
  716. package/dist/src/stories/ImageLoader.stories.js.map +1 -1
  717. package/dist/src/stories/InputGroup.stories.js +28 -2
  718. package/dist/src/stories/InputGroup.stories.js.map +1 -1
  719. package/dist/src/stories/LargeLoader.stories.js +28 -2
  720. package/dist/src/stories/LargeLoader.stories.js.map +1 -1
  721. package/dist/src/stories/LineBreak.stories.d.ts +5 -0
  722. package/dist/src/stories/LineBreak.stories.js +40 -0
  723. package/dist/src/stories/LineBreak.stories.js.map +1 -0
  724. package/dist/src/stories/Notification.stories.d.ts +5 -0
  725. package/dist/src/stories/Notification.stories.js +46 -0
  726. package/dist/src/stories/Notification.stories.js.map +1 -0
  727. package/dist/src/stories/NumberIncrement.stories.d.ts +5 -0
  728. package/dist/src/stories/NumberIncrement.stories.js +46 -0
  729. package/dist/src/stories/NumberIncrement.stories.js.map +1 -0
  730. package/dist/src/stories/PasswordBox.stories.js +24 -1
  731. package/dist/src/stories/PasswordBox.stories.js.map +1 -1
  732. package/dist/src/stories/PaymentCard.stories.d.ts +4 -0
  733. package/dist/src/stories/PaymentCard.stories.js +47 -0
  734. package/dist/src/stories/PaymentCard.stories.js.map +1 -0
  735. package/dist/src/stories/PaymentCardInput.stories.d.ts +6 -0
  736. package/dist/src/stories/PaymentCardInput.stories.js +51 -0
  737. package/dist/src/stories/PaymentCardInput.stories.js.map +1 -0
  738. package/dist/src/stories/Pill.stories.d.ts +5 -0
  739. package/dist/src/stories/Pill.stories.js +42 -0
  740. package/dist/src/stories/Pill.stories.js.map +1 -0
  741. package/dist/src/stories/Placeholder.stories.d.ts +5 -0
  742. package/dist/src/stories/Placeholder.stories.js +45 -0
  743. package/dist/src/stories/Placeholder.stories.js.map +1 -0
  744. package/dist/src/stories/PlanpayButton.stories.d.ts +5 -0
  745. package/dist/src/stories/PlanpayButton.stories.js +39 -0
  746. package/dist/src/stories/PlanpayButton.stories.js.map +1 -0
  747. package/dist/src/stories/PromoCodeInput.stories.d.ts +5 -0
  748. package/dist/src/stories/PromoCodeInput.stories.js +40 -0
  749. package/dist/src/stories/PromoCodeInput.stories.js.map +1 -0
  750. package/dist/src/stories/RadioButton.stories.d.ts +6 -0
  751. package/dist/src/stories/RadioButton.stories.js +47 -0
  752. package/dist/src/stories/RadioButton.stories.js.map +1 -0
  753. package/dist/src/stories/RadioButtonGroup.stories.d.ts +5 -0
  754. package/dist/src/stories/RadioButtonGroup.stories.js +55 -0
  755. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -0
  756. package/dist/src/stories/RadioFields.stories.d.ts +5 -0
  757. package/dist/src/stories/RadioFields.stories.js +54 -0
  758. package/dist/src/stories/RadioFields.stories.js.map +1 -0
  759. package/dist/src/stories/SSLSecureBadge.stories.js +5 -2
  760. package/dist/src/stories/SSLSecureBadge.stories.js.map +1 -1
  761. package/dist/src/stories/Select.stories.d.ts +25 -0
  762. package/dist/src/stories/Select.stories.js +96 -0
  763. package/dist/src/stories/Select.stories.js.map +1 -0
  764. package/dist/src/stories/SimpleModal.stories.d.ts +5 -0
  765. package/dist/src/stories/SimpleModal.stories.js +52 -0
  766. package/dist/src/stories/SimpleModal.stories.js.map +1 -0
  767. package/dist/src/stories/Slider.stories.d.ts +10 -0
  768. package/dist/src/stories/Slider.stories.js +53 -0
  769. package/dist/src/stories/Slider.stories.js.map +1 -0
  770. package/dist/src/stories/SmallSpinner.stories.js +28 -2
  771. package/dist/src/stories/SmallSpinner.stories.js.map +1 -1
  772. package/dist/src/stories/TabbedModal.stories.d.ts +5 -0
  773. package/dist/src/stories/TabbedModal.stories.js +61 -0
  774. package/dist/src/stories/TabbedModal.stories.js.map +1 -0
  775. package/dist/src/stories/Tabs.stories.d.ts +5 -0
  776. package/dist/src/stories/Tabs.stories.js +52 -0
  777. package/dist/src/stories/Tabs.stories.js.map +1 -0
  778. package/dist/src/stories/Text.stories.d.ts +5 -0
  779. package/dist/src/stories/Text.stories.js +42 -0
  780. package/dist/src/stories/Text.stories.js.map +1 -0
  781. package/dist/src/stories/TextArea.stories.d.ts +5 -0
  782. package/dist/src/stories/TextArea.stories.js +40 -0
  783. package/dist/src/stories/TextArea.stories.js.map +1 -0
  784. package/dist/src/stories/TextBox.stories.d.ts +5 -0
  785. package/dist/src/stories/TextBox.stories.js +40 -0
  786. package/dist/src/stories/TextBox.stories.js.map +1 -0
  787. package/dist/src/stories/Tooltip.stories.d.ts +5 -0
  788. package/dist/src/stories/Tooltip.stories.js +43 -0
  789. package/dist/src/stories/Tooltip.stories.js.map +1 -0
  790. package/dist/src/util/CalendarHelper.d.ts +1 -1
  791. package/dist/src/util/CalendarHelper.js +5 -2
  792. package/dist/src/util/CalendarHelper.js.map +1 -1
  793. package/dist/src/util/DataLayer.js +30 -4
  794. package/dist/src/util/DataLayer.js.map +1 -1
  795. package/dist/src/util/ObjectHelper.js +1 -1
  796. package/dist/src/util/ObjectHelper.js.map +1 -1
  797. package/dist/src/util/PaymentCardHelper.js +4 -1
  798. package/dist/src/util/PaymentCardHelper.js.map +1 -1
  799. package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +4 -1
  800. package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -1
  801. package/dist/tests/jest/events/EventManager.test.js +5 -2
  802. package/dist/tests/jest/events/EventManager.test.js.map +1 -1
  803. package/dist/tests/jest/models/RoomRate.test.js +5 -2
  804. package/dist/tests/jest/models/RoomRate.test.js.map +1 -1
  805. package/dist/tests/jest/providers/LanguageProvider.test.js +11 -0
  806. package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -1
  807. package/dist/tests/jest/providers/SessionProvider.test.js +26 -15
  808. package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -1
  809. package/dist/tests/jest/reducers/BasketReducer.test.js +4 -1
  810. package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -1
  811. package/dist/tests/offline/RoomstayBestRateAlert.js +29 -3
  812. package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -1
  813. package/dist/tests/offline/entry/RSCompany.js +13 -1
  814. package/dist/tests/offline/entry/RSCompany.js.map +1 -1
  815. package/dist/tests/offline/entry/ReactWrapper.js +105 -9
  816. package/dist/tests/offline/entry/ReactWrapper.js.map +1 -1
  817. package/dist/tests/offline/entry/allEngines.js +32 -6
  818. package/dist/tests/offline/entry/allEngines.js.map +1 -1
  819. package/dist/tests/offline/entry/components/TestPicker.js +79 -36
  820. package/dist/tests/offline/entry/components/TestPicker.js.map +1 -1
  821. package/dist/tests/setupTests.js +2 -0
  822. package/dist/tests/setupTests.js.map +1 -1
  823. package/dist/vendors.bundle.js +1 -1
  824. package/dist/vendors.bundle.js.LICENSE.txt +5 -9
  825. package/package.json +10 -7
  826. package/dist/src/components/generic/BESelect.d.ts +0 -16
  827. package/dist/src/components/generic/BESelect.js +0 -12
  828. package/dist/src/components/generic/BESelect.js.map +0 -1
  829. package/dist/src/components/generic/Select.d.ts +0 -11
  830. package/dist/src/components/generic/Select.js +0 -18
  831. package/dist/src/components/generic/Select.js.map +0 -1
  832. package/dist/src/stories/Button.stories.js +0 -17
  833. package/dist/src/stories/Button.stories.js.map +0 -1
  834. package/dist/test.bundle.js +0 -1
@@ -70,6 +70,7 @@ const useAutoFocusOnSelect = ({ ref, onlyAutoOpenWhenInputEmpty = false, focusOn
70
70
  onDropdownClosed,
71
71
  onTriggerClicked,
72
72
  onItemSelected,
73
+ setIsDropdownOpen,
73
74
  };
74
75
  };
75
76
  exports.useAutoFocusOnSelect = useAutoFocusOnSelect;
@@ -1 +1 @@
1
- {"version":3,"file":"AutoFocusOnSelect.js","sourceRoot":"/","sources":["src/hooks/AutoFocusOnSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import { Dispatch, SetStateAction, useCallback, useEffect, useRef, useState } from 'react';\nimport { debounce } from '../util/Debounce';\n\ninterface UseAutoFocusOnSelectProps {\n ref: HTMLInputElement | null;\n onlyAutoOpenWhenInputEmpty?: boolean;\n focusOnSelected?: boolean;\n}\n\nconst duration = 300;\n\nexport const useAutoFocusOnSelect = ({ ref, onlyAutoOpenWhenInputEmpty = false, focusOnSelected = true }: UseAutoFocusOnSelectProps) => {\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n const lockOpen = useRef<boolean>(false);\n const timeout = useRef<NodeJS.Timeout>();\n\n useEffect(() => clearTimeout(timeout.current), []);\n\n const debounceSetFocus = useCallback(\n debounce((value) => {\n setIsFocused(value);\n }, duration),\n []\n );\n\n const onTriggerClicked = () => {\n setIsDropdownOpen(true);\n debounceSetFocus(true);\n };\n\n const onDropdownClosed = (e: MouseEvent) => {\n const composedPath = e.composedPath() as HTMLElement[];\n if (composedPath.some((el) => el.isSameNode?.(ref))) {\n return;\n }\n if (!lockOpen.current) {\n setIsDropdownOpen(false);\n }\n debounceSetFocus(false);\n };\n\n const onItemSelected = () => {\n if (!lockOpen.current) setIsDropdownOpen(false);\n if (focusOnSelected) ref?.focus();\n else ref?.blur();\n };\n\n const _onFocus = useCallback(() => {\n if (!isFocused) {\n if (!onlyAutoOpenWhenInputEmpty || !ref?.value) {\n setIsDropdownOpen(true);\n lockOpen.current = true;\n timeout.current = setTimeout(() => {\n lockOpen.current = false;\n }, duration);\n }\n }\n debounceSetFocus(true);\n }, [setIsFocused, isFocused, isDropdownOpen, setIsDropdownOpen]);\n\n const _onBlur = useCallback(() => {\n debounceSetFocus(false);\n }, [setIsFocused]);\n\n useEffect(() => {\n if (!ref) return;\n ref.addEventListener('focus', _onFocus);\n ref.addEventListener('blur', _onBlur);\n ref.addEventListener('click', _onFocus);\n return () => {\n if (!ref) return;\n ref.removeEventListener('focus', _onFocus);\n ref.removeEventListener('blur', _onBlur);\n ref.removeEventListener('click', _onFocus);\n };\n }, [ref, _onFocus, _onBlur]);\n return {\n isFocused,\n isDropdownOpen,\n onDropdownClosed,\n onTriggerClicked,\n onItemSelected,\n };\n};\n"]}
1
+ {"version":3,"file":"AutoFocusOnSelect.js","sourceRoot":"/","sources":["src/hooks/AutoFocusOnSelect.ts"],"names":[],"mappings":";;;AAAA,iCAA2F;AAC3F,+CAA4C;AAQ5C,MAAM,QAAQ,GAAG,GAAG,CAAC;AAEd,MAAM,oBAAoB,GAAG,CAAC,EAAE,GAAG,EAAE,0BAA0B,GAAG,KAAK,EAAE,eAAe,GAAG,IAAI,EAA6B,EAAE,EAAE;IACnI,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAU,KAAK,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAA,cAAM,GAAkB,CAAC;IAEzC,IAAA,iBAAS,EAAC,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnD,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAChC,IAAA,mBAAQ,EAAC,CAAC,KAAK,EAAE,EAAE;QACf,YAAY,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,EAAE,QAAQ,CAAC,EACZ,EAAE,CACL,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC1B,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,CAAa,EAAE,EAAE;QACvC,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,EAAmB,CAAC;QACvD,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,WAAC,OAAA,MAAA,EAAE,CAAC,UAAU,mDAAG,GAAG,CAAC,CAAA,EAAA,CAAC,EAAE;YACjD,OAAO;SACV;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACnB,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC5B;QACD,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,eAAe;YAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,EAAE,CAAC;;YAC7B,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,SAAS,EAAE;YACZ,IAAI,CAAC,0BAA0B,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAA,EAAE;gBAC5C,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gBACxB,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC7B,CAAC,EAAE,QAAQ,CAAC,CAAC;aAChB;SACJ;QACD,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEjE,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC7B,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC3C,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACzC,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7B,OAAO;QACH,SAAS;QACT,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,cAAc;QACd,iBAAiB;KACpB,CAAC;AACN,CAAC,CAAC;AA1EW,QAAA,oBAAoB,wBA0E/B","sourcesContent":["import { Dispatch, SetStateAction, useCallback, useEffect, useRef, useState } from 'react';\nimport { debounce } from '../util/Debounce';\n\ninterface UseAutoFocusOnSelectProps {\n ref: HTMLInputElement | null;\n onlyAutoOpenWhenInputEmpty?: boolean;\n focusOnSelected?: boolean;\n}\n\nconst duration = 300;\n\nexport const useAutoFocusOnSelect = ({ ref, onlyAutoOpenWhenInputEmpty = false, focusOnSelected = true }: UseAutoFocusOnSelectProps) => {\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n const lockOpen = useRef<boolean>(false);\n const timeout = useRef<NodeJS.Timeout>();\n\n useEffect(() => clearTimeout(timeout.current), []);\n\n const debounceSetFocus = useCallback(\n debounce((value) => {\n setIsFocused(value);\n }, duration),\n []\n );\n\n const onTriggerClicked = () => {\n setIsDropdownOpen(true);\n debounceSetFocus(true);\n };\n\n const onDropdownClosed = (e: MouseEvent) => {\n const composedPath = e.composedPath() as HTMLElement[];\n if (composedPath.some((el) => el.isSameNode?.(ref))) {\n return;\n }\n if (!lockOpen.current) {\n setIsDropdownOpen(false);\n }\n debounceSetFocus(false);\n };\n\n const onItemSelected = () => {\n if (!lockOpen.current) setIsDropdownOpen(false);\n if (focusOnSelected) ref?.focus();\n else ref?.blur();\n };\n\n const _onFocus = useCallback(() => {\n if (!isFocused) {\n if (!onlyAutoOpenWhenInputEmpty || !ref?.value) {\n setIsDropdownOpen(true);\n lockOpen.current = true;\n timeout.current = setTimeout(() => {\n lockOpen.current = false;\n }, duration);\n }\n }\n debounceSetFocus(true);\n }, [setIsFocused, isFocused, isDropdownOpen, setIsDropdownOpen]);\n\n const _onBlur = useCallback(() => {\n debounceSetFocus(false);\n }, [setIsFocused]);\n\n useEffect(() => {\n if (!ref) return;\n ref.addEventListener('focus', _onFocus);\n ref.addEventListener('blur', _onBlur);\n ref.addEventListener('click', _onFocus);\n return () => {\n if (!ref) return;\n ref.removeEventListener('focus', _onFocus);\n ref.removeEventListener('blur', _onBlur);\n ref.removeEventListener('click', _onFocus);\n };\n }, [ref, _onFocus, _onBlur]);\n return {\n isFocused,\n isDropdownOpen,\n onDropdownClosed,\n onTriggerClicked,\n onItemSelected,\n setIsDropdownOpen,\n };\n};\n"]}
@@ -4,9 +4,9 @@ exports.useConfirmationQuery = void 0;
4
4
  const react_1 = require("react");
5
5
  const Query_1 = require("./Query");
6
6
  const useConfirmationQuery = () => {
7
+ const hashQuery = (0, Query_1.useHashQuery)();
7
8
  const query = (0, Query_1.useQuery)();
8
- const hashQuery = (0, Query_1.useHashParams)();
9
- const [queryPaymentMethod, queryRoomstayId, queryPlanpayCheckoutId] = (0, react_1.useMemo)(() => ['paymentMethod', 'roomstayId', 'planpay_checkout_id'].map((name) => hashQuery.get(name) || query.get(name)), [query]);
9
+ const [queryPaymentMethod, queryRoomstayId, queryPlanpayCheckoutId] = (0, react_1.useMemo)(() => ['paymentMethod', 'roomstayId', 'planpay_checkout_id'].map((name) => query.get(name) || hashQuery.get(name)), [hashQuery, query]);
10
10
  return {
11
11
  queryPaymentMethod,
12
12
  queryRoomstayId,
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationQuery.js","sourceRoot":"/","sources":["src/hooks/ConfirmationQuery.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAChC,mCAAkD;AAE3C,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACrC,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAC;IACzB,MAAM,SAAS,GAAG,IAAA,qBAAa,GAAE,CAAC;IAClC,MAAM,CAAC,kBAAkB,EAAE,eAAe,EAAE,sBAAsB,CAAC,GAAG,IAAA,eAAO,EACzE,GAAG,EAAE,CAAC,CAAC,eAAe,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAClH,CAAC,KAAK,CAAC,CACV,CAAC;IACF,OAAO;QACH,kBAAkB;QAClB,eAAe;QACf,sBAAsB;KACzB,CAAC;AACN,CAAC,CAAC;AAZW,QAAA,oBAAoB,wBAY/B","sourcesContent":["import { useMemo } from 'react';\nimport { useHashParams, useQuery } from './Query';\n\nexport const useConfirmationQuery = () => {\n const query = useQuery();\n const hashQuery = useHashParams();\n const [queryPaymentMethod, queryRoomstayId, queryPlanpayCheckoutId] = useMemo(\n () => ['paymentMethod', 'roomstayId', 'planpay_checkout_id'].map((name) => hashQuery.get(name) || query.get(name)),\n [query]\n );\n return {\n queryPaymentMethod,\n queryRoomstayId,\n queryPlanpayCheckoutId,\n };\n};\n"]}
1
+ {"version":3,"file":"ConfirmationQuery.js","sourceRoot":"/","sources":["src/hooks/ConfirmationQuery.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAChC,mCAAiD;AAE1C,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACrC,MAAM,SAAS,GAAG,IAAA,oBAAY,GAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAC;IACzB,MAAM,CAAC,kBAAkB,EAAE,eAAe,EAAE,sBAAsB,CAAC,GAAG,IAAA,eAAO,EACzE,GAAG,EAAE,CAAC,CAAC,eAAe,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAClH,CAAC,SAAS,EAAE,KAAK,CAAC,CACrB,CAAC;IACF,OAAO;QACH,kBAAkB;QAClB,eAAe;QACf,sBAAsB;KACzB,CAAC;AACN,CAAC,CAAC;AAZW,QAAA,oBAAoB,wBAY/B","sourcesContent":["import { useMemo } from 'react';\nimport { useQuery, useHashQuery } from './Query';\n\nexport const useConfirmationQuery = () => {\n const hashQuery = useHashQuery();\n const query = useQuery();\n const [queryPaymentMethod, queryRoomstayId, queryPlanpayCheckoutId] = useMemo(\n () => ['paymentMethod', 'roomstayId', 'planpay_checkout_id'].map((name) => query.get(name) || hashQuery.get(name)),\n [hashQuery, query]\n );\n return {\n queryPaymentMethod,\n queryRoomstayId,\n queryPlanpayCheckoutId,\n };\n};\n"]}
@@ -1,7 +1,30 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.useElementSort = void 0;
4
- const React = require("react");
27
+ const React = __importStar(require("react"));
5
28
  const react_1 = require("react");
6
29
  const useElementSort = (list) => {
7
30
  const [sortedComponents, setSortedComponents] = (0, react_1.useState)([]);
@@ -1 +1 @@
1
- {"version":3,"file":"ElementSortHook.js","sourceRoot":"/","sources":["src/hooks/ElementSortHook.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,iCAAiE;AAa1D,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAE,EAAE;IACvD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAE7D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;aACjC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE;YAC5B,OAAO,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACpD,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAC,gBAAQ,IAAC,GAAG,EAAE,KAAK,IAAG,IAAI,CAAC,SAAS,CAAY,CAAC,CAAC;QAE7E,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO;QACH,gBAAgB;KACnB,CAAC;AACN,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB","sourcesContent":["import * as React from 'react';\nimport { Fragment, ReactNode, useEffect, useState } from 'react';\n\nexport type OrderableReactNode = {\n // TODO: Add complex references to other OrderableReactNodes to chain blocks, and keep references.\n priority: number;\n // TODO: Add a way to pass props through to children.\n component: ReactNode;\n};\n\nexport type OrderableReactList = {\n [name: string]: OrderableReactNode;\n};\n\nexport const useElementSort = (list: OrderableReactList) => {\n const [sortedComponents, setSortedComponents] = useState([]);\n\n useEffect(() => {\n const valueArray = Object.values(list)\n .sort((firstValue, nextValue) => {\n return firstValue.priority - nextValue.priority;\n })\n .map((item, index) => <Fragment key={index}>{item.component}</Fragment>);\n\n setSortedComponents(valueArray);\n }, [list]);\n\n return {\n sortedComponents,\n };\n};\n"]}
1
+ {"version":3,"file":"ElementSortHook.js","sourceRoot":"/","sources":["src/hooks/ElementSortHook.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,iCAAiE;AAa1D,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAE,EAAE;IACvD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAE7D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;aACjC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE;YAC5B,OAAO,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACpD,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAC,gBAAQ,IAAC,GAAG,EAAE,KAAK,IAAG,IAAI,CAAC,SAAS,CAAY,CAAC,CAAC;QAE7E,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO;QACH,gBAAgB;KACnB,CAAC;AACN,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB","sourcesContent":["import * as React from 'react';\nimport { Fragment, ReactNode, useEffect, useState } from 'react';\n\nexport type OrderableReactNode = {\n // TODO: Add complex references to other OrderableReactNodes to chain blocks, and keep references.\n priority: number;\n // TODO: Add a way to pass props through to children.\n component: ReactNode;\n};\n\nexport type OrderableReactList = {\n [name: string]: OrderableReactNode;\n};\n\nexport const useElementSort = (list: OrderableReactList) => {\n const [sortedComponents, setSortedComponents] = useState([]);\n\n useEffect(() => {\n const valueArray = Object.values(list)\n .sort((firstValue, nextValue) => {\n return firstValue.priority - nextValue.priority;\n })\n .map((item, index) => <Fragment key={index}>{item.component}</Fragment>);\n\n setSortedComponents(valueArray);\n }, [list]);\n\n return {\n sortedComponents,\n };\n};\n"]}
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.useEvent = void 0;
4
- const RoomstayEventManager_1 = require("events/RoomstayEventManager");
7
+ const RoomstayEventManager_1 = __importDefault(require("events/RoomstayEventManager"));
5
8
  // Thanks to Cerz for the idea
6
9
  const useEvent = () => {
7
10
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"EventHook.js","sourceRoot":"/","sources":["src/hooks/EventHook.tsx"],"names":[],"mappings":";;;AACA,sEAA6E;AAE7E,8BAA8B;AACvB,MAAM,QAAQ,GAAG,GAAG,EAAE;IACzB,OAAO;QACH,KAAK,EAAE,CAAC,KAAoB,EAAE,EAAE;YAC5B,8BAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,EAAE,EAAE,CAAC,SAAiC,EAAE,QAA+B,EAAE,EAAW,EAAE,EAAE;YACpF,8BAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AATW,QAAA,QAAQ,YASnB","sourcesContent":["import { RoomstayEvent } from 'events/RoomstayEvent';\nimport manager, { RoomstayEventCallback } from 'events/RoomstayEventManager';\n\n// Thanks to Cerz for the idea\nexport const useEvent = () => {\n return {\n raise: (event: RoomstayEvent) => {\n manager.raise(event);\n },\n on: (eventType: RoomstayEvent | string, callback: RoomstayEventCallback, id?: string) => {\n manager.addEvent(eventType, callback, id);\n },\n };\n};\n"]}
1
+ {"version":3,"file":"EventHook.js","sourceRoot":"/","sources":["src/hooks/EventHook.tsx"],"names":[],"mappings":";;;;;;AACA,uFAA6E;AAE7E,8BAA8B;AACvB,MAAM,QAAQ,GAAG,GAAG,EAAE;IACzB,OAAO;QACH,KAAK,EAAE,CAAC,KAAoB,EAAE,EAAE;YAC5B,8BAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,EAAE,EAAE,CAAC,SAAiC,EAAE,QAA+B,EAAE,EAAW,EAAE,EAAE;YACpF,8BAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AATW,QAAA,QAAQ,YASnB","sourcesContent":["import { RoomstayEvent } from 'events/RoomstayEvent';\nimport manager, { RoomstayEventCallback } from 'events/RoomstayEventManager';\n\n// Thanks to Cerz for the idea\nexport const useEvent = () => {\n return {\n raise: (event: RoomstayEvent) => {\n manager.raise(event);\n },\n on: (eventType: RoomstayEvent | string, callback: RoomstayEventCallback, id?: string) => {\n manager.addEvent(eventType, callback, id);\n },\n };\n};\n"]}
@@ -1,13 +1,19 @@
1
- export declare const useKeyboardControlOnSelect: <T>({ defaultOption, options, idName, overlayRef, isEnabled, onSelected, }: {
2
- defaultOption?: T;
3
- options: T[];
4
- idName: keyof T;
5
- overlayRef: HTMLDivElement;
1
+ import { MutableRefObject } from 'react';
2
+ import { Option, TSelectOptionKey } from 'components/generic/Select/Select';
3
+ export declare const useKeyboardControlOnSelect: <TOption extends Option<KeyName>, KeyName extends string>({ defaultOption, options, idName, overlayRef, isEnabled, onSelected, optionRefs, optionContainerRef, }: {
4
+ defaultOption?: TOption;
5
+ options: TSelectOptionKey<TOption>[];
6
+ idName: keyof TOption;
7
+ overlayRef: HTMLDivElement | null;
6
8
  isEnabled: boolean;
7
- onSelected: (item: T) => void;
9
+ onSelected: (item: TOption) => void;
10
+ optionRefs: MutableRefObject<{
11
+ [id: string]: HTMLDivElement;
12
+ }>;
13
+ optionContainerRef: MutableRefObject<HTMLDivElement | null>;
8
14
  }) => {
9
- selectingItem: T;
10
- onItemMouseEnter: (item: T) => void;
15
+ selectingItem: TOption;
16
+ onItemMouseEnter: (item: TOption) => void;
11
17
  onItemMouseLeave: () => void;
12
18
  onItemMouseMove: () => void;
13
19
  };
@@ -2,18 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useKeyboardControlOnSelect = void 0;
4
4
  const react_1 = require("react");
5
- const useKeyboardControlOnSelect = ({ defaultOption, options, idName, overlayRef, isEnabled, onSelected, }) => {
5
+ const useKeyboardControlOnSelect = ({ defaultOption, options, idName, overlayRef, isEnabled, onSelected, optionRefs, optionContainerRef, }) => {
6
6
  const [selectingItem, setSelectingItem] = (0, react_1.useState)(defaultOption);
7
7
  const [focusedItem, setFocusedItem] = (0, react_1.useState)(null);
8
8
  const [lockHover, setLockHover] = (0, react_1.useState)(false);
9
+ const flattenedOptions = options.reduce((flattenedOptions, optionGroup) => {
10
+ if (optionGroup.options)
11
+ return flattenedOptions.concat(optionGroup.options);
12
+ return flattenedOptions.concat([optionGroup]);
13
+ }, []);
9
14
  const _onKeyDown = (0, react_1.useCallback)((e) => {
10
15
  switch (e.key) {
11
16
  case 'ArrowUp': {
12
17
  e.preventDefault();
13
18
  setLockHover(true);
14
- const index = options.findIndex((item) => (selectingItem === null || selectingItem === void 0 ? void 0 : selectingItem[idName]) === item[idName]);
15
- const newIndex = index - 1 < 0 ? options.length - 1 : index - 1;
16
- const newSelecting = options[newIndex];
19
+ const index = flattenedOptions.findIndex((item) => (selectingItem === null || selectingItem === void 0 ? void 0 : selectingItem[idName]) === item[idName]);
20
+ const newIndex = index - 1 < 0 ? flattenedOptions.length - 1 : index - 1;
21
+ const newSelecting = flattenedOptions[newIndex];
17
22
  setSelectingItem(newSelecting);
18
23
  scrollIntoSelectingItem(newSelecting);
19
24
  break;
@@ -21,9 +26,9 @@ const useKeyboardControlOnSelect = ({ defaultOption, options, idName, overlayRef
21
26
  case 'ArrowDown': {
22
27
  e.preventDefault();
23
28
  setLockHover(true);
24
- const index = options.findIndex((item) => (selectingItem === null || selectingItem === void 0 ? void 0 : selectingItem[idName]) === item[idName]);
25
- const newIndex = (index + 1) % options.length;
26
- const newSelecting = options[newIndex];
29
+ const index = flattenedOptions.findIndex((item) => (selectingItem === null || selectingItem === void 0 ? void 0 : selectingItem[idName]) === item[idName]);
30
+ const newIndex = (index + 1) % flattenedOptions.length;
31
+ const newSelecting = flattenedOptions[newIndex];
27
32
  setSelectingItem(newSelecting);
28
33
  scrollIntoSelectingItem(newSelecting);
29
34
  break;
@@ -31,7 +36,7 @@ const useKeyboardControlOnSelect = ({ defaultOption, options, idName, overlayRef
31
36
  case 'Tab':
32
37
  case 'Enter': {
33
38
  e.preventDefault();
34
- const selectedItem = selectingItem || options[0];
39
+ const selectedItem = selectingItem || flattenedOptions[0];
35
40
  if (selectedItem)
36
41
  onSelected(selectedItem);
37
42
  break;
@@ -40,40 +45,43 @@ const useKeyboardControlOnSelect = ({ defaultOption, options, idName, overlayRef
40
45
  }
41
46
  }, [options, setSelectingItem, selectingItem]);
42
47
  const scrollIntoSelectingItem = (selecting, smooth = true) => {
43
- if (overlayRef) {
44
- const index = options.findIndex((item) => selecting[idName] === item[idName]);
45
- const childNodes = [...overlayRef.childNodes];
46
- const scrollTop = childNodes.slice(0, index).reduce((result, node) => {
47
- result += node.getBoundingClientRect().height;
48
- return result;
49
- }, 0);
50
- const offset = overlayRef.clientHeight / 2;
51
- const targetPosition = Math.max(scrollTop + childNodes[index].getBoundingClientRect().height - offset, 0);
52
- if (smooth)
53
- scrollTo(overlayRef, targetPosition, 200);
54
- else
55
- overlayRef.scrollTop = targetPosition;
48
+ const optionRef = optionRefs.current[selecting[idName]];
49
+ if (optionContainerRef.current && optionRef) {
50
+ scrollToElm(optionContainerRef.current, optionRef, 0.2, optionContainerRef.current.getBoundingClientRect().height / 2);
56
51
  }
57
52
  };
58
- const easeInOutQuad = function (t, b, c, d) {
59
- t /= d / 2;
60
- if (t < 1)
61
- return (c / 2) * t * t + b;
62
- t--;
63
- return (-c / 2) * (t * (t - 2) - 1) + b;
53
+ const scrollToElm = (container, elm, duration, offset = 0) => {
54
+ const pos = getRelativePos(elm);
55
+ scrollTo(container, pos.top - offset, duration); // duration in seconds
64
56
  };
65
- const scrollTo = (element, to, duration) => {
66
- const start = element.scrollTop, change = to - start, increment = 20;
67
- let currentTime = 0;
68
- const animateScroll = function () {
69
- currentTime += increment;
70
- element.scrollTop = easeInOutQuad(currentTime, start, change, duration);
71
- if (currentTime < duration) {
72
- setTimeout(animateScroll, increment);
73
- }
57
+ const getRelativePos = (elm) => {
58
+ const pPos = elm.parentNode.getBoundingClientRect(), // parent pos
59
+ cPos = elm.getBoundingClientRect(), // target pos
60
+ pos = {};
61
+ (pos.top = cPos.top - pPos.top + elm.parentNode.scrollTop),
62
+ (pos.right = cPos.right - pPos.right),
63
+ (pos.bottom = cPos.bottom - pPos.bottom),
64
+ (pos.left = cPos.left - pPos.left);
65
+ return pos;
66
+ };
67
+ const scrollTo = (element, to, duration, onDone) => {
68
+ let now, elapsed, t;
69
+ const startTime = performance.now(), start = element.scrollTop, change = to - start;
70
+ const animateScroll = () => {
71
+ now = performance.now();
72
+ elapsed = (now - startTime) / 1000;
73
+ t = elapsed / duration;
74
+ element.scrollTop = start + change * easeInOutQuad(t);
75
+ if (t < 1)
76
+ window.requestAnimationFrame(animateScroll);
77
+ else
78
+ onDone && onDone();
74
79
  };
75
80
  animateScroll();
76
81
  };
82
+ const easeInOutQuad = (t) => {
83
+ return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
84
+ };
77
85
  (0, react_1.useEffect)(() => setSelectingItem(focusedItem || defaultOption), [defaultOption, focusedItem]);
78
86
  (0, react_1.useEffect)(() => {
79
87
  if (isEnabled)
@@ -84,7 +92,7 @@ const useKeyboardControlOnSelect = ({ defaultOption, options, idName, overlayRef
84
92
  };
85
93
  }, [_onKeyDown, isEnabled]);
86
94
  (0, react_1.useEffect)(() => {
87
- setSelectingItem(options.find((item) => item[idName] === (selectingItem === null || selectingItem === void 0 ? void 0 : selectingItem[idName])));
95
+ setSelectingItem(flattenedOptions.find((item) => item[idName] === (selectingItem === null || selectingItem === void 0 ? void 0 : selectingItem[idName])));
88
96
  }, [options]);
89
97
  (0, react_1.useEffect)(() => {
90
98
  if (isEnabled && overlayRef && defaultOption) {
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardControlOnSelect.js","sourceRoot":"/","sources":["src/hooks/KeyboardControlOnSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nexport const useKeyboardControlOnSelect = <T>({\n defaultOption,\n options,\n idName,\n overlayRef,\n isEnabled,\n onSelected,\n}: {\n defaultOption?: T;\n options: T[];\n idName: keyof T;\n overlayRef: HTMLDivElement;\n isEnabled: boolean;\n onSelected: (item: T) => void;\n}) => {\n const [selectingItem, setSelectingItem] = useState<T | undefined>(defaultOption);\n const [focusedItem, setFocusedItem] = useState<T | null>(null);\n const [lockHover, setLockHover] = useState<boolean>(false);\n const _onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowUp': {\n e.preventDefault();\n setLockHover(true);\n const index = options.findIndex((item) => selectingItem?.[idName] === item[idName]);\n const newIndex = index - 1 < 0 ? options.length - 1 : index - 1;\n const newSelecting = options[newIndex];\n setSelectingItem(newSelecting);\n scrollIntoSelectingItem(newSelecting);\n break;\n }\n case 'ArrowDown': {\n e.preventDefault();\n setLockHover(true);\n const index = options.findIndex((item) => selectingItem?.[idName] === item[idName]);\n const newIndex = (index + 1) % options.length;\n const newSelecting = options[newIndex];\n setSelectingItem(newSelecting);\n scrollIntoSelectingItem(newSelecting);\n break;\n }\n case 'Tab':\n case 'Enter': {\n e.preventDefault();\n const selectedItem = selectingItem || options[0];\n if (selectedItem) onSelected(selectedItem);\n break;\n }\n default:\n }\n },\n [options, setSelectingItem, selectingItem]\n );\n\n const scrollIntoSelectingItem = (selecting: T, smooth = true) => {\n if (overlayRef) {\n const index = options.findIndex((item) => selecting[idName] === item[idName]);\n const childNodes: HTMLDivElement[] = [...overlayRef.childNodes] as HTMLDivElement[];\n const scrollTop = childNodes.slice(0, index).reduce<number>((result, node) => {\n result += node.getBoundingClientRect().height;\n return result;\n }, 0);\n const offset = overlayRef.clientHeight / 2;\n const targetPosition = Math.max(scrollTop + childNodes[index].getBoundingClientRect().height - offset, 0);\n if (smooth) scrollTo(overlayRef, targetPosition, 200);\n else overlayRef.scrollTop = targetPosition;\n }\n };\n\n const easeInOutQuad = function (t: number, b: number, c: number, d: number) {\n t /= d / 2;\n if (t < 1) return (c / 2) * t * t + b;\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n };\n\n const scrollTo = (element: HTMLElement, to: number, duration: number) => {\n const start = element.scrollTop,\n change = to - start,\n increment = 20;\n\n let currentTime = 0;\n\n const animateScroll = function () {\n currentTime += increment;\n element.scrollTop = easeInOutQuad(currentTime, start, change, duration);\n if (currentTime < duration) {\n setTimeout(animateScroll, increment);\n }\n };\n animateScroll();\n };\n\n useEffect(() => setSelectingItem(focusedItem || defaultOption), [defaultOption, focusedItem]);\n\n useEffect(() => {\n if (isEnabled) window.addEventListener('keydown', _onKeyDown);\n return () => {\n if (isEnabled) window.removeEventListener('keydown', _onKeyDown);\n };\n }, [_onKeyDown, isEnabled]);\n\n useEffect(() => {\n setSelectingItem(options.find((item) => item[idName] === selectingItem?.[idName]));\n }, [options]);\n\n useEffect(() => {\n if (isEnabled && overlayRef && defaultOption) {\n scrollIntoSelectingItem(defaultOption, false);\n }\n }, [isEnabled, defaultOption, overlayRef]);\n\n const onItemMouseEnter = (item: T) => {\n if (!lockHover) setFocusedItem(item);\n };\n\n const onItemMouseLeave = () => {\n if (!lockHover) setFocusedItem(null);\n };\n\n const onItemMouseMove = () => setLockHover(false);\n\n return {\n selectingItem,\n onItemMouseEnter,\n onItemMouseLeave,\n onItemMouseMove,\n };\n};\n"]}
1
+ {"version":3,"file":"KeyboardControlOnSelect.js","sourceRoot":"/","sources":["src/hooks/KeyboardControlOnSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import { MutableRefObject, useCallback, useEffect, useState } from 'react';\nimport { Option, TSelectOptionKey } from 'components/generic/Select/Select';\n\nexport const useKeyboardControlOnSelect = <TOption extends Option<KeyName>, KeyName extends string>({\n defaultOption,\n options,\n idName,\n overlayRef,\n isEnabled,\n onSelected,\n optionRefs,\n optionContainerRef,\n}: {\n defaultOption?: TOption;\n options: TSelectOptionKey<TOption>[];\n idName: keyof TOption;\n overlayRef: HTMLDivElement | null;\n isEnabled: boolean;\n onSelected: (item: TOption) => void;\n optionRefs: MutableRefObject<{ [id: string]: HTMLDivElement | undefined | null }>;\n optionContainerRef: MutableRefObject<HTMLDivElement | null>;\n}) => {\n const [selectingItem, setSelectingItem] = useState<TOption | undefined>(defaultOption);\n const [focusedItem, setFocusedItem] = useState<TOption | null>(null);\n const [lockHover, setLockHover] = useState<boolean>(false);\n const flattenedOptions = options.reduce<TOption[]>((flattenedOptions, optionGroup) => {\n if (optionGroup.options) return flattenedOptions.concat(optionGroup.options as TOption[]);\n return flattenedOptions.concat([optionGroup as TOption]);\n }, []);\n\n const _onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowUp': {\n e.preventDefault();\n setLockHover(true);\n const index = flattenedOptions.findIndex((item) => selectingItem?.[idName] === item[idName]);\n const newIndex = index - 1 < 0 ? flattenedOptions.length - 1 : index - 1;\n const newSelecting = flattenedOptions[newIndex];\n setSelectingItem(newSelecting);\n scrollIntoSelectingItem(newSelecting);\n break;\n }\n case 'ArrowDown': {\n e.preventDefault();\n setLockHover(true);\n const index = flattenedOptions.findIndex((item) => selectingItem?.[idName] === item[idName]);\n const newIndex = (index + 1) % flattenedOptions.length;\n const newSelecting = flattenedOptions[newIndex];\n setSelectingItem(newSelecting);\n scrollIntoSelectingItem(newSelecting);\n break;\n }\n case 'Tab':\n case 'Enter': {\n e.preventDefault();\n const selectedItem = selectingItem || flattenedOptions[0];\n if (selectedItem) onSelected(selectedItem);\n break;\n }\n default:\n }\n },\n [options, setSelectingItem, selectingItem]\n );\n\n const scrollIntoSelectingItem = (selecting: TOption, smooth = true) => {\n const optionRef = optionRefs.current[selecting[idName] as unknown as string];\n if (optionContainerRef.current && optionRef) {\n scrollToElm(optionContainerRef.current, optionRef, 0.2, optionContainerRef.current.getBoundingClientRect().height / 2);\n }\n };\n\n const scrollToElm = (container: HTMLElement, elm: HTMLElement, duration: number, offset = 0) => {\n const pos = getRelativePos(elm);\n scrollTo(container, pos.top - offset, duration); // duration in seconds\n };\n\n const getRelativePos = (elm: HTMLElement): { top: number; right: number; bottom: number; left: number } => {\n const pPos = (elm.parentNode as HTMLElement).getBoundingClientRect(), // parent pos\n cPos = elm.getBoundingClientRect(), // target pos\n pos: { top?: number; right?: number; bottom?: number; left?: number } = {};\n\n (pos.top = cPos.top - pPos.top + (elm.parentNode as HTMLElement).scrollTop),\n (pos.right = cPos.right - pPos.right),\n (pos.bottom = cPos.bottom - pPos.bottom),\n (pos.left = cPos.left - pPos.left);\n\n return pos as ReturnType<typeof getRelativePos>;\n };\n\n const scrollTo = (element: HTMLElement, to: number, duration: number, onDone?: () => void) => {\n let now, elapsed, t;\n const startTime = performance.now(),\n start = element.scrollTop,\n change = to - start;\n\n const animateScroll = () => {\n now = performance.now();\n elapsed = (now - startTime) / 1000;\n t = elapsed / duration;\n\n element.scrollTop = start + change * easeInOutQuad(t);\n\n if (t < 1) window.requestAnimationFrame(animateScroll);\n else onDone && onDone();\n };\n\n animateScroll();\n };\n\n const easeInOutQuad = (t: number) => {\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n };\n\n useEffect(() => setSelectingItem(focusedItem || defaultOption), [defaultOption, focusedItem]);\n\n useEffect(() => {\n if (isEnabled) window.addEventListener('keydown', _onKeyDown);\n return () => {\n if (isEnabled) window.removeEventListener('keydown', _onKeyDown);\n };\n }, [_onKeyDown, isEnabled]);\n\n useEffect(() => {\n setSelectingItem(flattenedOptions.find((item) => item[idName] === selectingItem?.[idName]));\n }, [options]);\n\n useEffect(() => {\n if (isEnabled && overlayRef && defaultOption) {\n scrollIntoSelectingItem(defaultOption, false);\n }\n }, [isEnabled, defaultOption, overlayRef]);\n\n const onItemMouseEnter = (item: TOption) => {\n if (!lockHover) setFocusedItem(item);\n };\n\n const onItemMouseLeave = () => {\n if (!lockHover) setFocusedItem(null);\n };\n\n const onItemMouseMove = () => setLockHover(false);\n\n return {\n selectingItem,\n onItemMouseEnter,\n onItemMouseLeave,\n onItemMouseMove,\n };\n};\n"]}
@@ -1,2 +1,2 @@
1
+ export declare function useHashQuery(): URLSearchParams;
1
2
  export declare function useQuery(): URLSearchParams;
2
- export declare function useHashParams(): URLSearchParams;
@@ -1,15 +1,38 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useHashParams = exports.useQuery = void 0;
26
+ exports.useQuery = exports.useHashQuery = void 0;
4
27
  const react_router_dom_1 = require("react-router-dom");
5
- const React = require("react");
6
- function useQuery() {
28
+ const React = __importStar(require("react"));
29
+ function useHashQuery() {
7
30
  const { search } = (0, react_router_dom_1.useLocation)();
8
31
  return React.useMemo(() => new URLSearchParams(search), [search]);
9
32
  }
10
- exports.useQuery = useQuery;
11
- function useHashParams() {
33
+ exports.useHashQuery = useHashQuery;
34
+ function useQuery() {
12
35
  return React.useMemo(() => new URLSearchParams(window.location.search), [window.location.search]);
13
36
  }
14
- exports.useHashParams = useHashParams;
37
+ exports.useQuery = useQuery;
15
38
  //# sourceMappingURL=Query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Query.js","sourceRoot":"/","sources":["src/hooks/Query.ts"],"names":[],"mappings":";;;AAAA,uDAA+C;AAC/C,+BAA+B;AAE/B,SAAgB,QAAQ;IACpB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,8BAAW,GAAE,CAAC;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACtE,CAAC;AAHD,4BAGC;AAED,SAAgB,aAAa;IACzB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACtG,CAAC;AAFD,sCAEC","sourcesContent":["import { useLocation } from 'react-router-dom';\nimport * as React from 'react';\n\nexport function useQuery() {\n const { search } = useLocation();\n return React.useMemo(() => new URLSearchParams(search), [search]);\n}\n\nexport function useHashParams() {\n return React.useMemo(() => new URLSearchParams(window.location.search), [window.location.search]);\n}\n"]}
1
+ {"version":3,"file":"Query.js","sourceRoot":"/","sources":["src/hooks/Query.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA+C;AAC/C,6CAA+B;AAE/B,SAAgB,YAAY;IACxB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,8BAAW,GAAE,CAAC;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACtE,CAAC;AAHD,oCAGC;AAED,SAAgB,QAAQ;IACpB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACtG,CAAC;AAFD,4BAEC","sourcesContent":["import { useLocation } from 'react-router-dom';\nimport * as React from 'react';\n\nexport function useHashQuery() {\n const { search } = useLocation();\n return React.useMemo(() => new URLSearchParams(search), [search]);\n}\n\nexport function useQuery() {\n return React.useMemo(() => new URLSearchParams(window.location.search), [window.location.search]);\n}\n"]}
@@ -8,12 +8,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.useVgsCollect = exports.useVgsShow = void 0;
13
16
  const auth_1 = require("@aws-amplify/auth");
14
- const RoomstayThemeEngine_1 = require("providers/RoomstayThemeEngine");
17
+ const RoomstayThemeEngine_1 = __importDefault(require("providers/RoomstayThemeEngine"));
15
18
  const react_1 = require("react");
16
- const classNames = require("classnames");
19
+ const classnames_1 = __importDefault(require("classnames"));
17
20
  const CurrentHotelHook_1 = require("./CurrentHotelHook");
18
21
  let vgsShowLoader = null;
19
22
  let VGSShow;
@@ -103,7 +106,7 @@ const useVgsCollect = (fields) => {
103
106
  const config = fields[index];
104
107
  if (!field)
105
108
  return '';
106
- return classNames('c-input', extendedClasses, {
109
+ return (0, classnames_1.default)('c-input', 'c-input--vgs', extendedClasses, {
107
110
  '--selected': field.isFocused,
108
111
  '--success': field.isValid !== null && field.isValid,
109
112
  '--error': field.isValid !== null && !field.isValid,
@@ -1 +1 @@
1
- {"version":3,"file":"VGSHooks.js","sourceRoot":"/","sources":["src/hooks/VGSHooks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Auth } from '@aws-amplify/auth';\nimport { ECardType } from 'models/PaymentCard';\nimport RoomstayThemeEngine from 'providers/RoomstayThemeEngine';\nimport { useEffect, useRef, useState } from 'react';\nimport * as classNames from 'classnames';\nimport { useCurrentHotel } from './CurrentHotelHook';\n\nlet vgsShowLoader: Promise<any> | null = null;\nlet VGSShow: any;\n\nlet vgsCollectLoader: Promise<any> | null = null;\n\ndeclare global {\n interface Window {\n VGSCollect: any;\n }\n}\n\nwindow.VGSCollect = window.VGSCollect || {};\n\ntype UseVgsShowProps = {\n name: string;\n value: string;\n\n styles?: {};\n};\n\nexport const useVgsShow = (props: UseVgsShowProps) => {\n const { hotel } = useCurrentHotel();\n\n const [randomId, setRandomId] = useState(btoa((Math.random() * Math.random() * Date.now()).toString()).replace(/\\=/gi, ''));\n const [isLoading, setIsLoading] = useState(false);\n\n const targetRef = useRef(null);\n\n useEffect(() => {\n if (vgsShowLoader === null) {\n vgsShowLoader = (async () => {\n try {\n await RoomstayThemeEngine.loadScript('https://js.verygoodvault.com/vgs-show/2.0.2/show.js', 'vgs-show');\n\n // TODO: Load this ID dynamically\n VGSShow = window.VGSShow.create(hotel.vgsVaultName, (state: any) => {}).setEnvironment('live');\n } catch (ex) {\n console.error('Unable to load vgs-show ' + ex.message);\n }\n })();\n }\n }, []);\n\n useEffect(() => {\n let cancelled = false;\n\n if (VGSShow && targetRef?.current) {\n targetRef.current.classList.add(randomId);\n setIsLoading(true);\n\n Auth.currentAuthenticatedUser().then((cognitoData) => {\n const jwtToken = cognitoData.signInUserSession.idToken.jwtToken;\n\n const revealer = VGSShow.request({\n name: props.name,\n method: 'POST',\n path: '/members/vgs-auth',\n payload: {\n [props.name]: `${props.value}`,\n },\n headers: {\n Authorization: jwtToken,\n },\n serializers: [VGSShow.SERIALIZERS.replace('(\\\\d{4})(\\\\d{4})(\\\\d{4})(\\\\d{4})', '$1 $2 $3 $4')],\n htmlWrapper: 'text',\n jsonPathSelector: `${props.name}`,\n });\n\n // TODO: Handle failure on reveal\n revealer.on('revealSuccess', () => {\n setIsLoading(false);\n });\n\n revealer.on('revealFail', () => {\n setIsLoading(false);\n });\n\n targetRef.current.innerHTML = '';\n revealer.render(`.${randomId}`, props.styles);\n });\n }\n\n return () => {\n cancelled = true;\n };\n }, [VGSShow, targetRef, props.name, props.value]);\n\n return { targetRef, isLoading };\n};\n\ntype VGSCollectProps = {\n name: string;\n type: 'card-expiration-date' | 'text' | 'card-number' | 'card-security-code';\n label: string;\n\n vgsProps: {\n validations?: ('required' | 'validCardNumber' | 'validCardExpirationDate' | 'validCardSecurityCode')[];\n disabled?: boolean;\n css: object;\n placeholder?: string;\n\n [name: string]: any;\n };\n};\n\ntype VGSCollectInputState = {\n name: string;\n label: string;\n type: string;\n\n isFocused: boolean;\n isValid: boolean;\n\n vgsInput: any;\n\n cardType?: ECardType;\n};\n\nexport const useVgsCollect = (fields: VGSCollectProps[]) => {\n const { hotel } = useCurrentHotel();\n\n const refs = fields.map(() => {\n return useRef();\n });\n\n const getDefaultStateFromFields: () => VGSCollectInputState[] = () => {\n return fields.map((field) => {\n return {\n isFocused: null,\n isValid: null,\n\n name: field.name,\n label: field.label,\n type: field.type,\n\n vgsInput: null,\n };\n });\n };\n\n const mapInputConfigToVGS = (config: VGSCollectProps) => {\n return { name: config.name, type: config.type, ...config.vgsProps, disabled: config.vgsProps.disabled || undefined };\n };\n\n const getClassesFormInput = (index: number, extendedClasses?: string) => {\n const field: VGSCollectInputState = inputState[index];\n const config = fields[index];\n\n if (!field) return '';\n\n return classNames('c-input', extendedClasses, {\n '--selected': field.isFocused,\n '--success': field.isValid !== null && field.isValid,\n '--error': field.isValid !== null && !field.isValid,\n '--disabled': !!config?.vgsProps?.disabled,\n });\n };\n\n const [vgsLoaded, setVgsLoaded] = useState(false);\n const [vgsForm, setVgsForm] = useState(null);\n const [inputState, setInputState] = useState<VGSCollectInputState[]>(getDefaultStateFromFields());\n\n /** Loading VGS, or seeing if it's been loaded before, and binding onto that. */\n useEffect(() => {\n let cancelled = false;\n\n if (vgsCollectLoader === null) {\n vgsCollectLoader = (async () => {\n await RoomstayThemeEngine.loadScript('https://js.verygoodvault.com/vgs-collect/2.18.1/vgs-collect.js', 'vgs-collect');\n\n if (!cancelled) {\n setVgsLoaded(true);\n }\n })();\n } else {\n vgsCollectLoader.then(() => {\n if (!cancelled) {\n setVgsLoaded(true);\n }\n });\n }\n\n return () => {\n cancelled = true;\n };\n }, []);\n\n useEffect(() => {\n for (const ref of refs) {\n if (!ref?.current) {\n // Means we've still to wait for all the refs to bind\n return;\n }\n }\n\n if (vgsLoaded && !vgsForm) {\n const form = window.VGSCollect.create(hotel.vgsVaultName, 'live', (state: any) => {\n setInputState((oldState) => {\n const newState = [...oldState];\n\n for (const input of newState) {\n const vgsState = state[input.name];\n\n if (vgsState) {\n input.isFocused = vgsState.isFocused;\n input.isValid = !vgsState.isEmpty ? vgsState.isValid : null;\n\n if (input.type === 'card-number') {\n input.cardType = vgsState.cardType;\n }\n }\n }\n\n return newState;\n });\n });\n\n setVgsForm(form);\n\n setInputState((oldState) => {\n const newState = [...oldState];\n\n for (let i = 0; i < newState.length; i++) {\n const input = newState[i];\n const inputConfig = fields[i];\n\n input.vgsInput = form.field(refs[i].current, mapInputConfigToVGS(inputConfig));\n }\n\n return newState;\n });\n }\n }, [vgsLoaded, vgsForm, refs]);\n\n const triggerFieldUpdate = () => {\n for (const ref of refs) {\n if (!ref?.current) {\n // Means we've still to wait for all the refs to bind\n return;\n }\n }\n\n if (!vgsForm) {\n // Means VGS Collect has not loaded yet.\n return;\n }\n\n for (let i = 0; i < inputState.length; i++) {\n const input = inputState[i];\n const inputConfig = fields[i];\n\n if (input.vgsInput) {\n input.vgsInput.update?.(mapInputConfigToVGS(inputConfig));\n }\n }\n };\n\n return {\n fields: fields.map((item, index) => {\n return {\n ref: refs[index],\n state: inputState[index],\n getClasses: (extendedClasses?: string) => getClassesFormInput(index, extendedClasses),\n };\n }),\n triggerFieldUpdate,\n vgsForm,\n };\n};\n"]}
1
+ {"version":3,"file":"VGSHooks.js","sourceRoot":"/","sources":["src/hooks/VGSHooks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Auth } from '@aws-amplify/auth';\nimport { ECardType } from 'models/PaymentCard';\nimport RoomstayThemeEngine from 'providers/RoomstayThemeEngine';\nimport { useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { useCurrentHotel } from './CurrentHotelHook';\n\nlet vgsShowLoader: Promise<any> | null = null;\nlet VGSShow: any;\n\nlet vgsCollectLoader: Promise<any> | null = null;\n\ndeclare global {\n interface Window {\n VGSCollect: any;\n }\n}\n\nwindow.VGSCollect = window.VGSCollect || {};\n\ntype UseVgsShowProps = {\n name: string;\n value: string;\n\n styles?: {};\n};\n\nexport const useVgsShow = (props: UseVgsShowProps) => {\n const { hotel } = useCurrentHotel();\n\n const [randomId, setRandomId] = useState(btoa((Math.random() * Math.random() * Date.now()).toString()).replace(/\\=/gi, ''));\n const [isLoading, setIsLoading] = useState(false);\n\n const targetRef = useRef(null);\n\n useEffect(() => {\n if (vgsShowLoader === null) {\n vgsShowLoader = (async () => {\n try {\n await RoomstayThemeEngine.loadScript('https://js.verygoodvault.com/vgs-show/2.0.2/show.js', 'vgs-show');\n\n // TODO: Load this ID dynamically\n VGSShow = window.VGSShow.create(hotel.vgsVaultName, (state: any) => {}).setEnvironment('live');\n } catch (ex) {\n console.error('Unable to load vgs-show ' + ex.message);\n }\n })();\n }\n }, []);\n\n useEffect(() => {\n let cancelled = false;\n\n if (VGSShow && targetRef?.current) {\n targetRef.current.classList.add(randomId);\n setIsLoading(true);\n\n Auth.currentAuthenticatedUser().then((cognitoData) => {\n const jwtToken = cognitoData.signInUserSession.idToken.jwtToken;\n\n const revealer = VGSShow.request({\n name: props.name,\n method: 'POST',\n path: '/members/vgs-auth',\n payload: {\n [props.name]: `${props.value}`,\n },\n headers: {\n Authorization: jwtToken,\n },\n serializers: [VGSShow.SERIALIZERS.replace('(\\\\d{4})(\\\\d{4})(\\\\d{4})(\\\\d{4})', '$1 $2 $3 $4')],\n htmlWrapper: 'text',\n jsonPathSelector: `${props.name}`,\n });\n\n // TODO: Handle failure on reveal\n revealer.on('revealSuccess', () => {\n setIsLoading(false);\n });\n\n revealer.on('revealFail', () => {\n setIsLoading(false);\n });\n\n targetRef.current.innerHTML = '';\n revealer.render(`.${randomId}`, props.styles);\n });\n }\n\n return () => {\n cancelled = true;\n };\n }, [VGSShow, targetRef, props.name, props.value]);\n\n return { targetRef, isLoading };\n};\n\ntype VGSCollectProps = {\n name: string;\n type: 'card-expiration-date' | 'text' | 'card-number' | 'card-security-code';\n label: string;\n\n vgsProps: {\n validations?: ('required' | 'validCardNumber' | 'validCardExpirationDate' | 'validCardSecurityCode')[];\n disabled?: boolean;\n css: object;\n placeholder?: string;\n\n [name: string]: any;\n };\n};\n\ntype VGSCollectInputState = {\n name: string;\n label: string;\n type: string;\n\n isFocused: boolean;\n isValid: boolean;\n\n vgsInput: any;\n\n cardType?: ECardType;\n};\n\nexport const useVgsCollect = (fields: VGSCollectProps[]) => {\n const { hotel } = useCurrentHotel();\n\n const refs = fields.map(() => {\n return useRef();\n });\n\n const getDefaultStateFromFields: () => VGSCollectInputState[] = () => {\n return fields.map((field) => {\n return {\n isFocused: null,\n isValid: null,\n\n name: field.name,\n label: field.label,\n type: field.type,\n\n vgsInput: null,\n };\n });\n };\n\n const mapInputConfigToVGS = (config: VGSCollectProps) => {\n return { name: config.name, type: config.type, ...config.vgsProps, disabled: config.vgsProps.disabled || undefined };\n };\n\n const getClassesFormInput = (index: number, extendedClasses?: string) => {\n const field: VGSCollectInputState = inputState[index];\n const config = fields[index];\n\n if (!field) return '';\n\n return classNames('c-input', 'c-input--vgs', extendedClasses, {\n '--selected': field.isFocused,\n '--success': field.isValid !== null && field.isValid,\n '--error': field.isValid !== null && !field.isValid,\n '--disabled': !!config?.vgsProps?.disabled,\n });\n };\n\n const [vgsLoaded, setVgsLoaded] = useState(false);\n const [vgsForm, setVgsForm] = useState(null);\n const [inputState, setInputState] = useState<VGSCollectInputState[]>(getDefaultStateFromFields());\n\n /** Loading VGS, or seeing if it's been loaded before, and binding onto that. */\n useEffect(() => {\n let cancelled = false;\n\n if (vgsCollectLoader === null) {\n vgsCollectLoader = (async () => {\n await RoomstayThemeEngine.loadScript('https://js.verygoodvault.com/vgs-collect/2.18.1/vgs-collect.js', 'vgs-collect');\n\n if (!cancelled) {\n setVgsLoaded(true);\n }\n })();\n } else {\n vgsCollectLoader.then(() => {\n if (!cancelled) {\n setVgsLoaded(true);\n }\n });\n }\n\n return () => {\n cancelled = true;\n };\n }, []);\n\n useEffect(() => {\n for (const ref of refs) {\n if (!ref?.current) {\n // Means we've still to wait for all the refs to bind\n return;\n }\n }\n\n if (vgsLoaded && !vgsForm) {\n const form = window.VGSCollect.create(hotel.vgsVaultName, 'live', (state: any) => {\n setInputState((oldState) => {\n const newState = [...oldState];\n\n for (const input of newState) {\n const vgsState = state[input.name];\n\n if (vgsState) {\n input.isFocused = vgsState.isFocused;\n input.isValid = !vgsState.isEmpty ? vgsState.isValid : null;\n\n if (input.type === 'card-number') {\n input.cardType = vgsState.cardType;\n }\n }\n }\n\n return newState;\n });\n });\n\n setVgsForm(form);\n\n setInputState((oldState) => {\n const newState = [...oldState];\n\n for (let i = 0; i < newState.length; i++) {\n const input = newState[i];\n const inputConfig = fields[i];\n\n input.vgsInput = form.field(refs[i].current, mapInputConfigToVGS(inputConfig));\n }\n\n return newState;\n });\n }\n }, [vgsLoaded, vgsForm, refs]);\n\n const triggerFieldUpdate = () => {\n for (const ref of refs) {\n if (!ref?.current) {\n // Means we've still to wait for all the refs to bind\n return;\n }\n }\n\n if (!vgsForm) {\n // Means VGS Collect has not loaded yet.\n return;\n }\n\n for (let i = 0; i < inputState.length; i++) {\n const input = inputState[i];\n const inputConfig = fields[i];\n\n if (input.vgsInput) {\n input.vgsInput.update?.(mapInputConfigToVGS(inputConfig));\n }\n }\n };\n\n return {\n fields: fields.map((item, index) => {\n return {\n ref: refs[index],\n state: inputState[index],\n getClasses: (extendedClasses?: string) => getClassesFormInput(index, extendedClasses),\n };\n }),\n triggerFieldUpdate,\n vgsForm,\n };\n};\n"]}
@@ -1,4 +1,10 @@
1
- export declare const useWindowSize: () => {
2
- width?: number;
3
- height?: number;
1
+ export interface Size {
2
+ width: number | undefined;
3
+ height: number | undefined;
4
+ isMobile: boolean | undefined;
5
+ }
6
+ type UseWindowSizeProps = {
7
+ debounceTime?: number;
4
8
  };
9
+ export declare const useWindowSize: (props?: UseWindowSizeProps) => Size;
10
+ export {};
@@ -1,17 +1,28 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.useWindowSize = void 0;
4
7
  const react_1 = require("react");
5
- const useWindowSize = () => {
8
+ const Debounce_1 = require("util/Debounce");
9
+ const ScreenSize_1 = __importDefault(require("util/ScreenSize"));
10
+ const useWindowSize = (props) => {
11
+ const { debounceTime = 5 } = props !== null && props !== void 0 ? props : {};
6
12
  const [windowSize, setWindowSize] = (0, react_1.useState)({
7
13
  width: undefined,
8
14
  height: undefined,
15
+ isMobile: undefined,
9
16
  });
17
+ const setWindowSizeDebounce = (0, react_1.useCallback)((0, Debounce_1.debounce)((value) => {
18
+ setWindowSize(value);
19
+ }, debounceTime), []);
10
20
  (0, react_1.useEffect)(() => {
11
21
  function handleResize() {
12
- setWindowSize({
22
+ setWindowSizeDebounce({
13
23
  width: window.innerWidth,
14
24
  height: window.innerHeight,
25
+ isMobile: window.innerWidth <= ScreenSize_1.default.Large,
15
26
  });
16
27
  }
17
28
  window.addEventListener('resize', handleResize);
@@ -1 +1 @@
1
- {"version":3,"file":"WindowSize.js","sourceRoot":"/","sources":["src/hooks/WindowSize.ts"],"names":[],"mappings":";;;AAAA,iCAA4C;AAErC,MAAM,aAAa,GAAG,GAAwC,EAAE;IACnE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAsC;QAC9E,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;KACpB,CAAC,CAAC;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,SAAS,YAAY;YACjB,aAAa,CAAC;gBACV,KAAK,EAAE,MAAM,CAAC,UAAU;gBACxB,MAAM,EAAE,MAAM,CAAC,WAAW;aAC7B,CAAC,CAAC;QACP,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChD,YAAY,EAAE,CAAC;QACf,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AAjBW,QAAA,aAAa,iBAiBxB","sourcesContent":["import { useEffect, useState } from 'react';\n\nexport const useWindowSize = (): { width?: number; height?: number } => {\n const [windowSize, setWindowSize] = useState<{ width?: number; height?: number }>({\n width: undefined,\n height: undefined,\n });\n useEffect(() => {\n function handleResize() {\n setWindowSize({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n }\n window.addEventListener('resize', handleResize);\n handleResize();\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n return windowSize;\n};\n"]}
1
+ {"version":3,"file":"WindowSize.js","sourceRoot":"/","sources":["src/hooks/WindowSize.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAyD;AACzD,4CAAyC;AACzC,iEAAyC;AAWlC,MAAM,aAAa,GAAG,CAAC,KAA0B,EAAQ,EAAE;IAC9D,MAAM,EAAE,YAAY,GAAG,CAAC,EAAE,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IAEzC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAO;QAC/C,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,SAAS;KACtB,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,IAAA,mBAAW,EACrC,IAAA,mBAAQ,EAAC,CAAC,KAAK,EAAE,EAAE;QACf,aAAa,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,EAAE,YAAY,CAAC,EAChB,EAAE,CACL,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,SAAS,YAAY;YACjB,qBAAqB,CAAC;gBAClB,KAAK,EAAE,MAAM,CAAC,UAAU;gBACxB,MAAM,EAAE,MAAM,CAAC,WAAW;gBAC1B,QAAQ,EAAE,MAAM,CAAC,UAAU,IAAI,oBAAU,CAAC,KAAK;aAClD,CAAC,CAAC;QACP,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChD,YAAY,EAAE,CAAC;QAEf,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AAhCW,QAAA,aAAa,iBAgCxB","sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { debounce } from 'util/Debounce';\nimport ScreenSize from 'util/ScreenSize';\n\nexport interface Size {\n width: number | undefined;\n height: number | undefined;\n isMobile: boolean | undefined;\n}\n\ntype UseWindowSizeProps = {\n debounceTime?: number;\n};\nexport const useWindowSize = (props?: UseWindowSizeProps): Size => {\n const { debounceTime = 5 } = props ?? {};\n\n const [windowSize, setWindowSize] = useState<Size>({\n width: undefined,\n height: undefined,\n isMobile: undefined,\n });\n\n const setWindowSizeDebounce = useCallback(\n debounce((value) => {\n setWindowSize(value);\n }, debounceTime),\n []\n );\n\n useEffect(() => {\n function handleResize() {\n setWindowSizeDebounce({\n width: window.innerWidth,\n height: window.innerHeight,\n isMobile: window.innerWidth <= ScreenSize.Large,\n });\n }\n\n window.addEventListener('resize', handleResize);\n handleResize();\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return windowSize;\n};\n"]}
@@ -1,6 +1,29 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const React = require("react");
26
+ const React = __importStar(require("react"));
4
27
  const Color_1 = require("util/Color");
5
28
  const Check = (props) => {
6
29
  return (React.createElement("div", { className: props.className },
@@ -1 +1 @@
1
- {"version":3,"file":"Check.js","sourceRoot":"/","sources":["src/icons/Check.tsx"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,sCAAmC;AAMnC,MAAM,KAAK,GAAG,CAAC,KAAY,EAAE,EAAE;IAC3B,OAAO,CACH,6BAAK,SAAS,EAAE,KAAK,CAAC,SAAS;QAC3B,6BAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;YAC1F,8BAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,IAAI,EAAE,aAAK,CAAC,MAAM,GAAI;YAC3D,8BAAM,CAAC,EAAC,uGAAuG,EAAC,IAAI,EAAC,OAAO,GAAG,CAC7H,CACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,KAAK,CAAC","sourcesContent":["import * as React from 'react';\nimport { Color } from 'util/Color';\n\ninterface Props {\n className?: string;\n}\n\nconst Check = (props: Props) => {\n return (\n <div className={props.className}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"12\" fill={Color.Accent} />\n <path d=\"M7.33333 12L10.6667 15.3333L16.6667 9.33332L15.7267 8.38666L10.6667 13.4467L8.27333 11.06L7.33333 12Z\" fill=\"white\" />\n </svg>\n </div>\n );\n};\n\nexport default Check;\n"]}
1
+ {"version":3,"file":"Check.js","sourceRoot":"/","sources":["src/icons/Check.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,sCAAmC;AAMnC,MAAM,KAAK,GAAG,CAAC,KAAY,EAAE,EAAE;IAC3B,OAAO,CACH,6BAAK,SAAS,EAAE,KAAK,CAAC,SAAS;QAC3B,6BAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;YAC1F,8BAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,IAAI,EAAE,aAAK,CAAC,MAAM,GAAI;YAC3D,8BAAM,CAAC,EAAC,uGAAuG,EAAC,IAAI,EAAC,OAAO,GAAG,CAC7H,CACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,KAAK,CAAC","sourcesContent":["import * as React from 'react';\nimport { Color } from 'util/Color';\n\ninterface Props {\n className?: string;\n}\n\nconst Check = (props: Props) => {\n return (\n <div className={props.className}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"12\" fill={Color.Accent} />\n <path d=\"M7.33333 12L10.6667 15.3333L16.6667 9.33332L15.7267 8.38666L10.6667 13.4467L8.27333 11.06L7.33333 12Z\" fill=\"white\" />\n </svg>\n </div>\n );\n};\n\nexport default Check;\n"]}
@@ -5,6 +5,7 @@ export { Link } from 'react-router-dom';
5
5
  export * from 'engines/FullPageBookingEngine/FullPageBookingEngine';
6
6
  export * from 'engines/InlineRoomMiniEngine/InlineRoomMiniEngine';
7
7
  export * from 'engines/RecentSearchesEngine/RecentSearchesEngine';
8
+ export * from 'engines/BookingWizardEngine/BookingWizardEngine';
8
9
  export * from 'engines/CustomEngine/CustomEngine';
9
10
  export { default as Icon } from 'components/generic/Icon/Icon';
10
11
  export * from 'components/generic/Icon/Icon';