@roomstay/frontend 2.6.77-0 → 2.6.78

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 (338) hide show
  1. package/dist/{451.bundle.js → 151.bundle.js} +1 -1
  2. package/dist/177.bundle.js +1 -0
  3. package/dist/279.bundle.js +1 -0
  4. package/dist/288.bundle.js +1 -0
  5. package/dist/370.bundle.js +1 -0
  6. package/dist/430.bundle.js +1 -0
  7. package/dist/439.bundle.js +1 -0
  8. package/dist/446.bundle.js +1 -0
  9. package/dist/449.bundle.js +1 -0
  10. package/dist/535.bundle.js +2 -0
  11. package/dist/{349.bundle.js.LICENSE.txt → 535.bundle.js.LICENSE.txt} +1 -1
  12. package/dist/537.bundle.js +1 -0
  13. package/dist/619.bundle.js +1 -0
  14. package/dist/625.bundle.js +1 -0
  15. package/dist/659.bundle.js +1 -0
  16. package/dist/686.bundle.js +1 -0
  17. package/dist/873.bundle.js +1 -0
  18. package/dist/972.bundle.js +1 -0
  19. package/dist/978.bundle.js +1 -0
  20. package/dist/984.bundle.js +1 -0
  21. package/dist/main.bundle.js +1 -1
  22. package/dist/src/animations/AutoAutoHeight.d.ts +1 -1
  23. package/dist/src/api/ReservationAPI.js +9 -12
  24. package/dist/src/api/ReservationAPI.js.map +1 -1
  25. package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +1 -2
  26. package/dist/src/components/User/Forms/SignUpForm.d.ts +1 -2
  27. package/dist/src/components/User/Forms/VerifyEmailForm.d.ts +1 -2
  28. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.d.ts +1 -2
  29. package/dist/src/components/generic/Alert.d.ts +2 -2
  30. package/dist/src/components/generic/BEButton.d.ts +1 -1
  31. package/dist/src/components/generic/BackButton.d.ts +1 -2
  32. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +0 -1
  33. package/dist/src/components/generic/BookingWizard/BookingWizard.js +1 -7
  34. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  35. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +2 -2
  36. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +3 -3
  37. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +1 -1
  38. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +2 -2
  39. package/dist/src/components/generic/Countdown.d.ts +1 -2
  40. package/dist/src/components/generic/Currency.d.ts +1 -2
  41. package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +1 -2
  42. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +1 -2
  43. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +1 -2
  44. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +1 -2
  45. package/dist/src/components/generic/Distance.d.ts +1 -2
  46. package/dist/src/components/generic/Headline.d.ts +1 -1
  47. package/dist/src/components/generic/HtmlContentViewer.d.ts +1 -2
  48. package/dist/src/components/generic/InputGroup/InputGroup.d.ts +2 -2
  49. package/dist/src/components/generic/LineBreak.d.ts +1 -2
  50. package/dist/src/components/generic/Notification.d.ts +1 -1
  51. package/dist/src/components/generic/NumberIncrement.d.ts +1 -2
  52. package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -2
  53. package/dist/src/components/generic/PageTitle/index.d.ts +1 -2
  54. package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +1 -2
  55. package/dist/src/components/generic/Pill.d.ts +1 -1
  56. package/dist/src/components/generic/Placeholder.d.ts +1 -2
  57. package/dist/src/components/generic/PromoCodeInput.d.ts +1 -2
  58. package/dist/src/components/generic/RecentSearchesCard.d.ts +1 -2
  59. package/dist/src/components/generic/RoomstayMark.d.ts +1 -2
  60. package/dist/src/components/generic/Select/Select.d.ts +1 -1
  61. package/dist/src/components/generic/Slider/Slider.d.ts +1 -1
  62. package/dist/src/components/generic/Tabs/TabRouteContainer.d.ts +2 -2
  63. package/dist/src/components/generic/Tooltip/Tooltip.d.ts +2 -2
  64. package/dist/src/components/generic/badging/SSLSecureBadge.d.ts +1 -2
  65. package/dist/src/components/generic/buttons/NextStepButton.d.ts +1 -2
  66. package/dist/src/components/generic/date/DatePicker.d.ts +1 -2
  67. package/dist/src/components/generic/date/DatePickerDay.d.ts +1 -2
  68. package/dist/src/components/generic/date/DatePickerDays.d.ts +1 -2
  69. package/dist/src/components/generic/date/DatePickerMonth.d.ts +1 -2
  70. package/dist/src/components/generic/date/DatePickerWeek.d.ts +1 -2
  71. package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
  72. package/dist/src/components/generic/date/WeekViewSkeleton.d.ts +1 -2
  73. package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
  74. package/dist/src/components/generic/loader/LargeLoader.d.ts +1 -2
  75. package/dist/src/components/generic/loader/OverlayLoader.d.ts +1 -2
  76. package/dist/src/components/generic/loader/SmallSpinner.d.ts +1 -2
  77. package/dist/src/components/generic/map/HotelLocationMap.d.ts +1 -2
  78. package/dist/src/components/generic/modal/ConfirmationModal.d.ts +1 -2
  79. package/dist/src/components/generic/modal/ErrorModal.d.ts +1 -1
  80. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +1 -2
  81. package/dist/src/components/generic/modal/SimpleModal.d.ts +1 -1
  82. package/dist/src/components/generic/modal/TabbedModal.d.ts +1 -1
  83. package/dist/src/components/generic/radio/RadioFields.d.ts +1 -2
  84. package/dist/src/components/graphics/TravelerNotfound.d.ts +1 -2
  85. package/dist/src/components/iconComponents/BookNowPayLaterIcon.d.ts +1 -2
  86. package/dist/src/components/members/InlineSignUpSection.d.ts +1 -2
  87. package/dist/src/components/members/SignInModal/ExternalMemberModal.d.ts +1 -2
  88. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.d.ts +1 -2
  89. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.d.ts +1 -2
  90. package/dist/src/components/members/SignInModal/MemberSignInModal.d.ts +1 -2
  91. package/dist/src/components/navigation/Header.d.ts +1 -2
  92. package/dist/src/components/navigation/StepSelector.d.ts +1 -2
  93. package/dist/src/components/navigation/StepSelectorModal.d.ts +1 -2
  94. package/dist/src/components/pages/Account/Card/MemberCardItem.d.ts +1 -2
  95. package/dist/src/components/pages/PageColorComponent.d.ts +1 -2
  96. package/dist/src/components/reservation/ReservationItem.d.ts +1 -2
  97. package/dist/src/components/steps/DaysSelectedInformer.d.ts +1 -2
  98. package/dist/src/components/steps/MinimumNightStayPill.d.ts +1 -2
  99. package/dist/src/components/steps/addons/AddonCard.d.ts +1 -2
  100. package/dist/src/components/steps/addons/AddonList.d.ts +1 -2
  101. package/dist/src/components/steps/addons/AddonsNotFoundBlock.d.ts +1 -2
  102. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +1 -2
  103. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.d.ts +1 -2
  104. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.d.ts +1 -2
  105. package/dist/src/components/steps/confirmation/AccountDetails.d.ts +1 -2
  106. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.d.ts +1 -2
  107. package/dist/src/components/steps/confirmation/PaymentInformation.d.ts +1 -2
  108. package/dist/src/components/steps/confirmation/PlanpayLabel.d.ts +1 -2
  109. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.d.ts +1 -2
  110. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +10 -11
  111. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  112. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +1 -2
  113. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +1 -2
  114. package/dist/src/components/steps/confirmation/StepConfirmationForm.d.ts +1 -2
  115. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +4 -11
  116. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  117. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.d.ts +1 -2
  118. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +1 -2
  119. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.d.ts +1 -2
  120. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.d.ts +1 -2
  121. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.d.ts +1 -2
  122. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +1 -2
  123. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +1 -2
  124. package/dist/src/components/steps/date/OccupancyWarningBlock.d.ts +1 -2
  125. package/dist/src/components/steps/date/PeoplePicker.d.ts +1 -2
  126. package/dist/src/components/steps/date/PeoplePickerRow.d.ts +1 -2
  127. package/dist/src/components/steps/date/StepDatePricePerRoom.d.ts +1 -2
  128. package/dist/src/components/steps/date/StepOneDateRange.d.ts +1 -2
  129. package/dist/src/components/steps/date/StepOneDateRangePicker.d.ts +1 -2
  130. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.d.ts +1 -2
  131. package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +1 -2
  132. package/dist/src/components/steps/date/StepOneStatusPeople.d.ts +1 -2
  133. package/dist/src/components/steps/hotel/HotelCard.d.ts +1 -2
  134. package/dist/src/components/steps/hotel/HotelCardList.d.ts +1 -2
  135. package/dist/src/components/steps/hotel/HotelCardModal.d.ts +1 -2
  136. package/dist/src/components/steps/hotel/HotelInfoPerksRow.d.ts +1 -2
  137. package/dist/src/components/steps/hotel/HotelSearchParameters.d.ts +1 -2
  138. package/dist/src/components/steps/hotel/NoHotelsAvailable.d.ts +1 -2
  139. package/dist/src/components/steps/room/AvailableUpgradesModal.js +5 -0
  140. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  141. package/dist/src/components/steps/room/ImageGallerySlider.d.ts +1 -2
  142. package/dist/src/components/steps/room/InactivityWindow.d.ts +1 -2
  143. package/dist/src/components/steps/room/LargeRoomCard.d.ts +1 -2
  144. package/dist/src/components/steps/room/NoRoomsFoundBlock.d.ts +1 -2
  145. package/dist/src/components/steps/room/RatesNotFoundBlock.d.ts +1 -2
  146. package/dist/src/components/steps/room/RoomList.d.ts +1 -2
  147. package/dist/src/components/steps/room/RoomModal.d.ts +1 -2
  148. package/dist/src/components/steps/room/RoomModalPerkRow.d.ts +1 -2
  149. package/dist/src/components/steps/room/StepRoomAlertBlocks.d.ts +1 -2
  150. package/dist/src/components/steps/room/StepRoomBestRateAlert.d.ts +1 -2
  151. package/dist/src/components/steps/room/StepRoomErrorForm.d.ts +1 -2
  152. package/dist/src/components/steps/room/StepRoomHotelDetails.d.ts +1 -2
  153. package/dist/src/components/steps/room/StepRoomSortBy.d.ts +1 -2
  154. package/dist/src/components/steps/room/StepRoomSummaryAndButton.d.ts +1 -2
  155. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.d.ts +1 -2
  156. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.d.ts +1 -2
  157. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.d.ts +1 -2
  158. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.d.ts +1 -2
  159. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.d.ts +1 -2
  160. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.d.ts +1 -2
  161. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.d.ts +1 -2
  162. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +1 -2
  163. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +1 -2
  164. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.d.ts +1 -2
  165. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.d.ts +1 -2
  166. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +1 -2
  167. package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +1 -2
  168. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +1 -2
  169. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +1 -2
  170. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.d.ts +1 -2
  171. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +1 -2
  172. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.d.ts +1 -2
  173. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +2 -3
  174. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +26 -15
  175. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  176. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.d.ts +1 -2
  177. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +2 -3
  178. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +1 -2
  179. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.d.ts +1 -2
  180. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +1 -2
  181. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +1 -2
  182. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +1 -2
  183. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.d.ts +1 -2
  184. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.d.ts +1 -2
  185. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +1 -2
  186. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +1 -2
  187. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +1 -2
  188. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +1 -2
  189. package/dist/src/components/summary/BEMobileSummary.d.ts +1 -2
  190. package/dist/src/components/summary/BEMobileSummaryModal.d.ts +1 -2
  191. package/dist/src/components/summary/BESummary.d.ts +1 -2
  192. package/dist/src/components/summary/BESummaryAddonRow.d.ts +1 -2
  193. package/dist/src/components/summary/BESummaryPerkBlock.d.ts +1 -2
  194. package/dist/src/components/summary/BESummaryPrivacyPolicy.d.ts +1 -2
  195. package/dist/src/components/summary/BESummaryRoomRow.d.ts +1 -2
  196. package/dist/src/components/summary/BESummaryRoomRow.js +1 -1
  197. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  198. package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +1 -2
  199. package/dist/src/contexts/BasketContext/BasketContextWrapper.d.ts +1 -1
  200. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +11 -63
  201. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  202. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.d.ts +1 -1
  203. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.d.ts +2 -2
  204. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +0 -1
  205. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  206. package/dist/src/contexts/ConfirmationFormContext.d.ts +1 -1
  207. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +2 -3
  208. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  209. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.d.ts +1 -2
  210. package/dist/src/contexts/ErrorContext.d.ts +1 -1
  211. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.d.ts +1 -2
  212. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.d.ts +1 -2
  213. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +1 -2
  214. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +2 -10
  215. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  216. package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
  217. package/dist/src/contexts/ModalContext.d.ts +1 -1
  218. package/dist/src/contexts/NotificationContext.d.ts +1 -1
  219. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +0 -1
  220. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  221. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +1 -2
  222. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +0 -1
  223. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  224. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +1 -2
  225. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +2 -2
  226. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +0 -3
  227. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  228. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +1 -2
  229. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +1 -2
  230. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +0 -1
  231. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  232. package/dist/src/hooks/useNextStepAction.d.ts +1 -2
  233. package/dist/src/icons/Check.d.ts +1 -2
  234. package/dist/src/index.d.ts +0 -1
  235. package/dist/src/index.js +2 -4
  236. package/dist/src/index.js.map +1 -1
  237. package/dist/src/models/Api/HotelDTO.d.ts +0 -1
  238. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  239. package/dist/src/models/BasketRow.d.ts +1 -2
  240. package/dist/src/models/BasketRow.js +2 -32
  241. package/dist/src/models/BasketRow.js.map +1 -1
  242. package/dist/src/models/Client/Hotel/Hotel.d.ts +0 -1
  243. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  244. package/dist/src/models/Room/RoomRate.d.ts +3 -0
  245. package/dist/src/models/Room/RoomRate.js +6 -1
  246. package/dist/src/models/Room/RoomRate.js.map +1 -1
  247. package/dist/src/models/RoomstaySession.d.ts +0 -1
  248. package/dist/src/models/RoomstaySession.js.map +1 -1
  249. package/dist/src/pages/account/AccountHome/AccountHomePage.d.ts +1 -2
  250. package/dist/src/pages/account/AccountOutlet.d.ts +1 -1
  251. package/dist/src/pages/account/AccountRouter.d.ts +1 -2
  252. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.d.ts +1 -2
  253. package/dist/src/pages/account/Details/AccountDetailsCardsPage.d.ts +1 -2
  254. package/dist/src/pages/account/Details/AccountDetailsProfilePage.d.ts +1 -2
  255. package/dist/src/pages/account/Help/AccountHelpPage.d.ts +1 -2
  256. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.d.ts +1 -2
  257. package/dist/src/pages/account/Reservations/AccountReservationsPage.d.ts +1 -2
  258. package/dist/src/pages/findReservation/FindReservation.d.ts +1 -2
  259. package/dist/src/pages/findReservation/FindReservationResults.d.ts +1 -2
  260. package/dist/src/pages/findReservation/ReservationRow.d.ts +1 -2
  261. package/dist/src/pages/findReservation/ReservationRowModal.d.ts +1 -2
  262. package/dist/src/pages/hotel/HotelInfo.d.ts +1 -2
  263. package/dist/src/pages/hotel/HotelInfoPlaceholder.d.ts +1 -2
  264. package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +1 -2
  265. package/dist/src/pages/steps/StepAddon/StepAddonComponent.d.ts +1 -2
  266. package/dist/src/pages/steps/StepAddon/StepAddonLoader.d.ts +1 -2
  267. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.d.ts +1 -2
  268. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.d.ts +1 -2
  269. package/dist/src/pages/steps/StepDate/StepDate.d.ts +1 -2
  270. package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +1 -2
  271. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.d.ts +1 -2
  272. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.d.ts +1 -2
  273. package/dist/src/pages/steps/StepGuide.d.ts +1 -1
  274. package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +1 -2
  275. package/dist/src/pages/steps/StepHotel/StepHotelComponent.d.ts +1 -2
  276. package/dist/src/pages/steps/StepHotel/StepHotelLoader.d.ts +1 -2
  277. package/dist/src/pages/steps/StepRoom/StepRoomComponent.d.ts +1 -2
  278. package/dist/src/pages/steps/StepRoom/StepRoomLoader.d.ts +1 -2
  279. package/dist/src/pages/steps/StepThanks/StepThanksComponent.d.ts +1 -2
  280. package/dist/src/providers/DIProvider.d.ts +1 -2
  281. package/dist/src/providers/FeatureProvider.js +0 -2
  282. package/dist/src/providers/FeatureProvider.js.map +1 -1
  283. package/dist/src/providers/feature/Feature.d.ts +0 -2
  284. package/dist/src/providers/feature/Feature.js +0 -4
  285. package/dist/src/providers/feature/Feature.js.map +1 -1
  286. package/dist/src/providers/storage/SessionProvider.js +0 -2
  287. package/dist/src/providers/storage/SessionProvider.js.map +1 -1
  288. package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +1 -2
  289. package/dist/src/stories/BookingWizard.stories.d.ts +1 -1
  290. package/dist/src/stories/ConfirmationModal.stories.d.ts +1 -2
  291. package/dist/src/stories/DateRangePicker.stories.d.ts +4 -5
  292. package/dist/src/stories/ErrorModal.stories.d.ts +1 -2
  293. package/dist/src/stories/EventCarousel.stories.d.ts +2 -2
  294. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +2 -2
  295. package/dist/src/stories/IconNavCard.stories.d.ts +2 -2
  296. package/dist/src/stories/NumberIncrement.stories.d.ts +1 -2
  297. package/dist/src/stories/PaymentCard.stories.d.ts +2 -3
  298. package/dist/src/stories/RadioButtonGroup.stories.d.ts +3 -3
  299. package/dist/src/stories/Select.stories.d.ts +3 -3
  300. package/dist/src/stories/SimpleModal.stories.d.ts +1 -2
  301. package/dist/src/stories/Slider.stories.d.ts +2 -3
  302. package/dist/src/stories/TabbedModal.stories.d.ts +1 -2
  303. package/dist/src/stories/Tabs.stories.d.ts +1 -1
  304. package/dist/src/translations/Translation.d.ts +1 -4
  305. package/dist/src/translations/Translation.js +1 -4
  306. package/dist/src/translations/Translation.js.map +1 -1
  307. package/dist/src/translations/languages/en-gb.js +1 -4
  308. package/dist/src/translations/languages/en-gb.js.map +1 -1
  309. package/dist/src/util/TotalCalculator.js.map +1 -1
  310. package/dist/test.bundle.js +1 -1
  311. package/dist/tests/offline/entry/config/hotelSpecDefault.d.ts +1 -2
  312. package/dist/vendors.bundle.js +1 -1
  313. package/dist/vendors.bundle.js.LICENSE.txt +6 -6
  314. package/package.json +1 -1
  315. package/dist/153.bundle.js +0 -1
  316. package/dist/176.bundle.js +0 -1
  317. package/dist/273.bundle.js +0 -1
  318. package/dist/292.bundle.js +0 -1
  319. package/dist/316.bundle.js +0 -1
  320. package/dist/349.bundle.js +0 -2
  321. package/dist/352.bundle.js +0 -1
  322. package/dist/41.bundle.js +0 -1
  323. package/dist/479.bundle.js +0 -1
  324. package/dist/534.bundle.js +0 -1
  325. package/dist/557.bundle.js +0 -1
  326. package/dist/620.bundle.js +0 -1
  327. package/dist/696.bundle.js +0 -1
  328. package/dist/734.bundle.js +0 -1
  329. package/dist/83.bundle.js +0 -1
  330. package/dist/910.bundle.js +0 -1
  331. package/dist/922.bundle.js +0 -1
  332. package/dist/99.bundle.js +0 -1
  333. package/dist/src/components/steps/confirmation/StepConfirmationImportantInformation.d.ts +0 -7
  334. package/dist/src/components/steps/confirmation/StepConfirmationImportantInformation.js +0 -54
  335. package/dist/src/components/steps/confirmation/StepConfirmationImportantInformation.js.map +0 -1
  336. package/dist/src/providers/feature/ConfirmationImportantInformationFeature.d.ts +0 -10
  337. package/dist/src/providers/feature/ConfirmationImportantInformationFeature.js +0 -13
  338. package/dist/src/providers/feature/ConfirmationImportantInformationFeature.js.map +0 -1
@@ -6,5 +6,5 @@ interface AutoAutoHeightProps {
6
6
  onComponentHidden?: () => void;
7
7
  topOffset?: number;
8
8
  }
9
- export default function AutoAutoHeight(props: AutoAutoHeightProps): React.JSX.Element;
9
+ export default function AutoAutoHeight(props: AutoAutoHeightProps): JSX.Element;
10
10
  export {};
@@ -89,19 +89,16 @@ class ReservationAPI extends BaseAPI_1.default {
89
89
  * This ID is used to detect changes and re-fetch deposit quotes during checkout.
90
90
  */
91
91
  this.buildQuoteQueryID = (rows, memberNumber) => {
92
- return rows
92
+ const quoteRequest = this.buildQuoteRequest(rows, memberNumber);
93
+ return quoteRequest.rows
93
94
  .map((row) => {
94
- var _a, _b, _c, _d;
95
- return `row:${row.getID()},
96
- room:${(_a = row.getRoom()) === null || _a === void 0 ? void 0 : _a.code},
97
- rate:${(_b = row.getRate()) === null || _b === void 0 ? void 0 : _b.code},
98
- promo:${row.getPromoCode()},
99
- adults:${row.getAdults()},
100
- children:${row.getChildren()},
101
- infants:${row.getInfants()},
102
- checkIn:${(_c = row.getStartDate()) === null || _c === void 0 ? void 0 : _c.format('YYYY-MM-DD')},
103
- checkOut:${(_d = row.getEndDate()) === null || _d === void 0 ? void 0 : _d.format('YYYY-MM-DD')},
104
- member:${memberNumber}`;
95
+ const sortedKeys = Object.keys(row).sort();
96
+ return sortedKeys
97
+ .map((key) => {
98
+ const value = row[key];
99
+ return `${key}-${value}`;
100
+ })
101
+ .join('-');
105
102
  })
106
103
  .join('-');
107
104
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ReservationAPI.js","sourceRoot":"/","sources":["src/api/ReservationAPI.ts"],"names":[],"mappings":"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","sourcesContent":["import { IBookingPayment, IBookingQuoteRequest, IBookingQuoteResponse, IPencilReservationRequest, IPencilReservationResponse } from '@roomstay/core';\n\nimport BaseAPI, { APIEndpoint } from '@/api/BaseAPI';\nimport ReservationsDTO, { ReservationDTO } from '@/models/Api/ReservationsDTO';\nimport BasketAddonRow from '@/models/BasketAddonRow';\nimport BasketRow from '@/models/BasketRow';\nimport { IRoomstayMemberBooking } from '@/models/RoomstayMembers/IRoomstayMemberBooking';\nimport UserProfile from '@/models/UserProfile';\n\nexport enum EPaymentMethod {\n PLANPAY = 'Planpay',\n CARD = 'Card',\n}\n\nexport default class ReservationAPI extends BaseAPI {\n private storedReservations: { [ref: string]: any } = {};\n\n /**\n * Populates a booking quote request.\n */\n public buildQuoteRequest = (rows: BasketRow[], memberNumber?: string): IBookingQuoteRequest => {\n const quoteRows = rows.reduce<IBookingQuoteRequest['rows']>((acc, row) => {\n try {\n acc.push({\n rowId: row.getID(),\n roomCode: row.getRoom().code as string,\n rateCode: row.getRate()?.code as string,\n promoCode: row.getPromoCode(),\n adults: row.getAdults(),\n children: row.getChildren(),\n infants: row.getInfants(),\n checkIn: row.getStartDate().format('YYYY-MM-DD'),\n checkOut: row.getEndDate().format('YYYY-MM-DD'),\n memberNumber,\n totalDisplayedPrice: row.getTotalPrice(),\n });\n } catch (ex) {\n // Skip row if it throws\n // Fixed: The checkout step will hang indefinitely if any basket row is missing a selected room rate\n }\n return acc;\n }, []);\n\n return { rows: quoteRows };\n };\n\n /**\n * Populates a pencil reservation request based on a quote request.\n */\n public buildPencilRequest = (rows: BasketRow[], memberNumber?: string, pencilId?: string): IPencilReservationRequest => {\n const quoteRequest = this.buildQuoteRequest(rows, memberNumber);\n const pencilRequest: IPencilReservationRequest = {\n ...quoteRequest,\n pencilId: pencilId,\n };\n\n pencilRequest.rows = quoteRequest.rows.map((requestRow) => {\n const basketRow = rows.find((r) => r.getID() == requestRow.rowId);\n\n return {\n ...requestRow,\n pencilId: basketRow?.pencilId,\n };\n });\n\n return pencilRequest;\n };\n\n /**\n * Generates a unique query ID string based on basket row data.\n * This ID is used to detect changes and re-fetch deposit quotes during checkout.\n */\n public buildQuoteQueryID = (rows: BasketRow[], memberNumber?: string): string => {\n return rows\n .map((row) => {\n return `row:${row.getID()},\n room:${row.getRoom()?.code},\n rate:${row.getRate()?.code},\n promo:${row.getPromoCode()},\n adults:${row.getAdults()},\n children:${row.getChildren()},\n infants:${row.getInfants()},\n checkIn:${row.getStartDate()?.format('YYYY-MM-DD')},\n checkOut:${row.getEndDate()?.format('YYYY-MM-DD')},\n member:${memberNumber}`;\n })\n .join('-');\n };\n\n /**\n * Returns a quote for the given\n */\n public getPriceQuote = async (hotelId: string, rows: BasketRow[], memberNumber?: string): Promise<IBookingQuoteResponse> => {\n const quoteBody = this.buildQuoteRequest(rows, memberNumber);\n return this.post(APIEndpoint.Reservations, quoteBody, hotelId, {}, 'quote');\n };\n\n /**\n * Pencils a reservation for the given rooms. Returns the timeout, and quote if applicable.\n */\n public pencilReservation = async (hotelId: string, rows: BasketRow[], memberNumber?: string, pencilId?: string): Promise<IPencilReservationResponse> => {\n const quoteBody = this.buildPencilRequest(rows, memberNumber, pencilId);\n return this.post(APIEndpoint.Reservations, quoteBody, hotelId, {}, 'pencil');\n };\n\n /**\n *\n * @param basketRows\n * @param userProfiles\n * @param payment\n * @param addonRows\n * @param comments\n * @param hotelId\n * @param sessionId\n * @param specialReq\n * @returns\n */\n public bookNow = async (\n basketRows: BasketRow[],\n userProfiles: UserProfile[],\n payment: IBookingPayment,\n addonRows: BasketAddonRow[],\n comments: string,\n hotelId: string,\n sessionId: string,\n pencilId: string | undefined = undefined,\n specialReq: string | undefined = undefined,\n retryPayment = false,\n roomstayId: string | undefined = undefined,\n memberNumber: string | undefined = undefined\n ): Promise<ReservationsDTO> => {\n const rooms: any[] = [];\n\n basketRows.forEach((row) => {\n const room = {\n roomType: row.getRoom().code || '',\n ratePlan: row.getRate()?.code || '',\n promoCode: row.getPromoCode(),\n adults: row.getAdults(),\n children: row.getChildren(),\n infants: row.getInfants(),\n checkInDate: row.getStartDate().format('YYYY-MM-DD'),\n checkOutDate: row.getEndDate().format('YYYY-MM-DD'),\n\n quoteId: row.quoteDetails?.quoteId,\n rowId: row.getID(),\n memberNumber,\n pencilId: row.pencilId,\n };\n\n rooms.push(room);\n });\n\n const addons = addonRows.map((row) => {\n const addon = row.getAddon();\n const priceInfo = addon.availability[row.getSelectedDate()];\n\n const response: any = {\n code: addon.code,\n startDate: row.getSelectedDate(),\n };\n if (addon?.ratePlanCode) {\n response.ratePlanCode = row.getAddon().ratePlanCode;\n }\n if (row.getSelectedTime()) {\n response.startTime = row.getSelectedTime();\n }\n\n if (priceInfo.price) {\n response.quantity = row.getQuantity();\n }\n if (priceInfo.adultPrice) {\n response.adults = row.getAdultQuantity();\n }\n if (priceInfo.childPrice) {\n response.children = row.getChildQuantity();\n }\n\n if (addon.pricingType) {\n response.pricingType = addon.pricingType;\n }\n\n return response;\n });\n\n const getParams: any = {};\n\n if (retryPayment) {\n getParams.retryPayment = true;\n }\n\n return this.post(\n APIEndpoint.Reservations,\n {\n rooms: rooms,\n services: addons,\n specialRequest: specialReq,\n comments: comments,\n profiles: userProfiles,\n payment: payment,\n sessionId: sessionId,\n pencilId: pencilId,\n sourceUrl: window.location.href,\n roomstayId: roomstayId,\n },\n hotelId,\n getParams\n );\n };\n\n public commit = async (reservations: string[], itineraryId: string, hotelId: string, planpayCheckoutId?: string): Promise<ReservationsDTO> => {\n return this.post(\n APIEndpoint.Reservations,\n {\n itineraryId: itineraryId,\n reservationIds: reservations,\n planpayCheckoutId,\n },\n hotelId,\n {},\n 'commit'\n );\n };\n\n public rollback = async (reservations: string[], itineraryId: string, hotelId: string): Promise<boolean> => {\n await this.post(\n APIEndpoint.Reservations,\n {\n itineraryId: itineraryId,\n reservationIds: reservations,\n },\n hotelId,\n {},\n 'rollback'\n );\n\n return true;\n };\n\n public cancelReservation = (id: string, email: string, hotelId: string): Promise<boolean> =>\n new Promise(async (resolve, reject) => {\n try {\n const response = await this.delete(APIEndpoint.Reservations, {}, hotelId, { email }, id);\n\n this.storedReservations[id]?.reservations?.forEach((reservation: ReservationDTO) => {\n if (reservation.reservationNumber === id) {\n reservation.status = 'Cancelled';\n }\n });\n\n resolve(response);\n } catch (ex) {\n reject(ex);\n }\n });\n\n public findReservation = (id: string, email: string, hotelId: string): Promise<ReservationsDTO> =>\n new Promise(async (resolve, reject) => {\n /*\n resolve with locally cached data, so we don't have to re-query this again\n */\n if (this.storedReservations[id]) {\n return resolve(this.storedReservations[id]);\n }\n\n try {\n const response = await this.get(APIEndpoint.Reservations, { email }, id, hotelId);\n\n this.storedReservations[id] = response;\n\n resolve(response);\n } catch (ex) {\n reject(ex);\n }\n });\n\n public linkBookingToMember = async (hotelId: string, reservationId: string, reservationEmail: string): Promise<{ message: string; booking: IRoomstayMemberBooking }> =>\n new Promise(async (resolve, reject) => {\n try {\n const response = await this.post(\n APIEndpoint.Reservations,\n {\n reservationId,\n reservationEmail,\n },\n hotelId,\n {},\n 'link-booking'\n );\n\n resolve(response);\n } catch (ex) {\n reject(ex);\n }\n });\n}\n"]}
1
+ {"version":3,"file":"ReservationAPI.js","sourceRoot":"/","sources":["src/api/ReservationAPI.ts"],"names":[],"mappings":"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","sourcesContent":["import { IBookingPayment, IBookingQuoteRequest, IBookingQuoteResponse, IPencilReservationRequest, IPencilReservationResponse } from '@roomstay/core';\n\nimport BaseAPI, { APIEndpoint } from '@/api/BaseAPI';\nimport ReservationsDTO, { ReservationDTO } from '@/models/Api/ReservationsDTO';\nimport BasketAddonRow from '@/models/BasketAddonRow';\nimport BasketRow from '@/models/BasketRow';\nimport { IRoomstayMemberBooking } from '@/models/RoomstayMembers/IRoomstayMemberBooking';\nimport UserProfile from '@/models/UserProfile';\n\nexport enum EPaymentMethod {\n PLANPAY = 'Planpay',\n CARD = 'Card',\n}\n\nexport default class ReservationAPI extends BaseAPI {\n private storedReservations: { [ref: string]: any } = {};\n\n /**\n * Populates a booking quote request.\n */\n public buildQuoteRequest = (rows: BasketRow[], memberNumber?: string): IBookingQuoteRequest => {\n const quoteRows = rows.reduce<IBookingQuoteRequest['rows']>((acc, row) => {\n try {\n acc.push({\n rowId: row.getID(),\n roomCode: row.getRoom().code as string,\n rateCode: row.getRate()?.code as string,\n promoCode: row.getPromoCode(),\n adults: row.getAdults(),\n children: row.getChildren(),\n infants: row.getInfants(),\n checkIn: row.getStartDate().format('YYYY-MM-DD'),\n checkOut: row.getEndDate().format('YYYY-MM-DD'),\n memberNumber,\n totalDisplayedPrice: row.getTotalPrice(),\n });\n } catch (ex) {\n // Skip row if it throws\n // Fixed: The checkout step will hang indefinitely if any basket row is missing a selected room rate\n }\n return acc;\n }, []);\n\n return { rows: quoteRows };\n };\n\n /**\n * Populates a pencil reservation request based on a quote request.\n */\n public buildPencilRequest = (rows: BasketRow[], memberNumber?: string, pencilId?: string): IPencilReservationRequest => {\n const quoteRequest = this.buildQuoteRequest(rows, memberNumber);\n const pencilRequest: IPencilReservationRequest = {\n ...quoteRequest,\n pencilId: pencilId,\n };\n\n pencilRequest.rows = quoteRequest.rows.map((requestRow) => {\n const basketRow = rows.find((r) => r.getID() == requestRow.rowId);\n\n return {\n ...requestRow,\n pencilId: basketRow?.pencilId,\n };\n });\n\n return pencilRequest;\n };\n\n /**\n * Generates a unique query ID string based on basket row data.\n * This ID is used to detect changes and re-fetch deposit quotes during checkout.\n */\n public buildQuoteQueryID = (rows: BasketRow[], memberNumber?: string): string => {\n const quoteRequest: IBookingQuoteRequest = this.buildQuoteRequest(rows, memberNumber);\n return quoteRequest.rows\n .map((row) => {\n const sortedKeys = Object.keys(row).sort();\n return sortedKeys\n .map((key) => {\n const value = row[key as keyof typeof row];\n return `${key}-${value}`;\n })\n .join('-');\n })\n .join('-');\n };\n\n /**\n * Returns a quote for the given\n */\n public getPriceQuote = async (hotelId: string, rows: BasketRow[], memberNumber?: string): Promise<IBookingQuoteResponse> => {\n const quoteBody = this.buildQuoteRequest(rows, memberNumber);\n return this.post(APIEndpoint.Reservations, quoteBody, hotelId, {}, 'quote');\n };\n\n /**\n * Pencils a reservation for the given rooms. Returns the timeout, and quote if applicable.\n */\n public pencilReservation = async (hotelId: string, rows: BasketRow[], memberNumber?: string, pencilId?: string): Promise<IPencilReservationResponse> => {\n const quoteBody = this.buildPencilRequest(rows, memberNumber, pencilId);\n return this.post(APIEndpoint.Reservations, quoteBody, hotelId, {}, 'pencil');\n };\n\n /**\n *\n * @param basketRows\n * @param userProfiles\n * @param payment\n * @param addonRows\n * @param comments\n * @param hotelId\n * @param sessionId\n * @param specialReq\n * @returns\n */\n public bookNow = async (\n basketRows: BasketRow[],\n userProfiles: UserProfile[],\n payment: IBookingPayment,\n addonRows: BasketAddonRow[],\n comments: string,\n hotelId: string,\n sessionId: string,\n pencilId: string | undefined = undefined,\n specialReq: string | undefined = undefined,\n retryPayment = false,\n roomstayId: string | undefined = undefined,\n memberNumber: string | undefined = undefined\n ): Promise<ReservationsDTO> => {\n const rooms: any[] = [];\n\n basketRows.forEach((row) => {\n const room = {\n roomType: row.getRoom().code || '',\n ratePlan: row.getRate()?.code || '',\n promoCode: row.getPromoCode(),\n adults: row.getAdults(),\n children: row.getChildren(),\n infants: row.getInfants(),\n checkInDate: row.getStartDate().format('YYYY-MM-DD'),\n checkOutDate: row.getEndDate().format('YYYY-MM-DD'),\n\n quoteId: row.quoteDetails?.quoteId,\n rowId: row.getID(),\n memberNumber,\n pencilId: row.pencilId,\n };\n\n rooms.push(room);\n });\n\n const addons = addonRows.map((row) => {\n const addon = row.getAddon();\n const priceInfo = addon.availability[row.getSelectedDate()];\n\n const response: any = {\n code: addon.code,\n startDate: row.getSelectedDate(),\n };\n if (addon?.ratePlanCode) {\n response.ratePlanCode = row.getAddon().ratePlanCode;\n }\n if (row.getSelectedTime()) {\n response.startTime = row.getSelectedTime();\n }\n\n if (priceInfo.price) {\n response.quantity = row.getQuantity();\n }\n if (priceInfo.adultPrice) {\n response.adults = row.getAdultQuantity();\n }\n if (priceInfo.childPrice) {\n response.children = row.getChildQuantity();\n }\n\n if (addon.pricingType) {\n response.pricingType = addon.pricingType;\n }\n\n return response;\n });\n\n const getParams: any = {};\n\n if (retryPayment) {\n getParams.retryPayment = true;\n }\n\n return this.post(\n APIEndpoint.Reservations,\n {\n rooms: rooms,\n services: addons,\n specialRequest: specialReq,\n comments: comments,\n profiles: userProfiles,\n payment: payment,\n sessionId: sessionId,\n pencilId: pencilId,\n sourceUrl: window.location.href,\n roomstayId: roomstayId,\n },\n hotelId,\n getParams\n );\n };\n\n public commit = async (reservations: string[], itineraryId: string, hotelId: string, planpayCheckoutId?: string): Promise<ReservationsDTO> => {\n return this.post(\n APIEndpoint.Reservations,\n {\n itineraryId: itineraryId,\n reservationIds: reservations,\n planpayCheckoutId,\n },\n hotelId,\n {},\n 'commit'\n );\n };\n\n public rollback = async (reservations: string[], itineraryId: string, hotelId: string): Promise<boolean> => {\n await this.post(\n APIEndpoint.Reservations,\n {\n itineraryId: itineraryId,\n reservationIds: reservations,\n },\n hotelId,\n {},\n 'rollback'\n );\n\n return true;\n };\n\n public cancelReservation = (id: string, email: string, hotelId: string): Promise<boolean> =>\n new Promise(async (resolve, reject) => {\n try {\n const response = await this.delete(APIEndpoint.Reservations, {}, hotelId, { email }, id);\n\n this.storedReservations[id]?.reservations?.forEach((reservation: ReservationDTO) => {\n if (reservation.reservationNumber === id) {\n reservation.status = 'Cancelled';\n }\n });\n\n resolve(response);\n } catch (ex) {\n reject(ex);\n }\n });\n\n public findReservation = (id: string, email: string, hotelId: string): Promise<ReservationsDTO> =>\n new Promise(async (resolve, reject) => {\n /*\n resolve with locally cached data, so we don't have to re-query this again\n */\n if (this.storedReservations[id]) {\n return resolve(this.storedReservations[id]);\n }\n\n try {\n const response = await this.get(APIEndpoint.Reservations, { email }, id, hotelId);\n\n this.storedReservations[id] = response;\n\n resolve(response);\n } catch (ex) {\n reject(ex);\n }\n });\n\n public linkBookingToMember = async (hotelId: string, reservationId: string, reservationEmail: string): Promise<{ message: string; booking: IRoomstayMemberBooking }> =>\n new Promise(async (resolve, reject) => {\n try {\n const response = await this.post(\n APIEndpoint.Reservations,\n {\n reservationId,\n reservationEmail,\n },\n hotelId,\n {},\n 'link-booking'\n );\n\n resolve(response);\n } catch (ex) {\n reject(ex);\n }\n });\n}\n"]}
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
1
  type ForgotPasswordFormProps = {
3
2
  onPasswordReset?: () => void;
4
3
  onCancelled?: () => void;
5
4
  onDone?: () => void;
6
5
  onNotVerified?: () => void;
7
6
  };
8
- export declare const ForgotPasswordForm: (props: ForgotPasswordFormProps) => React.JSX.Element;
7
+ export declare const ForgotPasswordForm: (props: ForgotPasswordFormProps) => JSX.Element;
9
8
  export {};
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  type SignUpFormProps = {
3
2
  onForgotPassword?: () => void;
4
3
  onSignIn?: () => void;
@@ -11,5 +10,5 @@ type SignUpFormProps = {
11
10
  hideTitle?: boolean;
12
11
  reduceMargins?: boolean;
13
12
  };
14
- export declare const SignUpForm: (props: SignUpFormProps) => React.JSX.Element;
13
+ export declare const SignUpForm: (props: SignUpFormProps) => JSX.Element;
15
14
  export {};
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  type VerifyEmailFormProps = {
3
2
  onForgotPassword?: () => void;
4
3
  onSignIn?: () => void;
5
4
  onDone?: () => void;
6
5
  };
7
- export declare const VerifyEmailForm: (props: VerifyEmailFormProps) => React.JSX.Element;
6
+ export declare const VerifyEmailForm: (props: VerifyEmailFormProps) => JSX.Element;
8
7
  export {};
@@ -1,7 +1,6 @@
1
- import React from 'react';
2
1
  type AgedBetweenLabelProps = {
3
2
  min?: number;
4
3
  max?: number;
5
4
  };
6
- export declare const AgedBetweenLabel: ({ min, max }: AgedBetweenLabelProps) => React.JSX.Element | null;
5
+ export declare const AgedBetweenLabel: ({ min, max }: AgedBetweenLabelProps) => JSX.Element | null;
7
6
  export {};
@@ -1,4 +1,4 @@
1
- import React, { PropsWithChildren, ReactNode } from 'react';
1
+ import { PropsWithChildren, ReactNode } from 'react';
2
2
  import { IconType } from './Icon/Icon';
3
3
  export declare enum AlertType {
4
4
  Alert = "--alert",
@@ -26,4 +26,4 @@ export interface AlertProps extends PropsWithChildren<any> {
26
26
  iconClassName?: string;
27
27
  [x: string]: ReactNode;
28
28
  }
29
- export default function Alert(props: AlertProps): React.JSX.Element;
29
+ export default function Alert(props: AlertProps): JSX.Element;
@@ -25,4 +25,4 @@ export interface BEButtonProps extends PropsWithChildren<any> {
25
25
  onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
26
26
  [x: string]: React.ReactNode;
27
27
  }
28
- export default function BEButton(props: BEButtonProps): React.JSX.Element;
28
+ export default function BEButton(props: BEButtonProps): JSX.Element;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  interface BackButtonProps {
3
2
  onClick?: () => void;
4
3
  }
5
- export default function BackButton(props: BackButtonProps): React.JSX.Element;
4
+ export default function BackButton(props: BackButtonProps): JSX.Element;
6
5
  export {};
@@ -22,7 +22,6 @@ export declare const StateSectionsDefault: BookingWizardContextType['stateSectio
22
22
  export interface BookingWizardProps extends BookingWizardContentProps {
23
23
  layout?: BookingWizardLayout;
24
24
  theme?: BookingWizardTheme;
25
- useMobileButtonLayout?: boolean;
26
25
  wrapperClassname?: string;
27
26
  contentClassname?: string;
28
27
  properties: TBookingWizardProperties;
@@ -65,17 +65,11 @@ exports.StateSectionsDefault = {
65
65
  [EBookingWizardSection.Promo]: { opening: false, isFirst: false, hidden: false, inactive: false },
66
66
  };
67
67
  const BookingWizard = (props) => {
68
- const { layout: propLayout = 'horizontal', theme = EBookingWizardTheme.Default, useMobileButtonLayout = false, onSubmit, wrapperClassname, contentClassname: contentClassnameProps, selectedProperty, properties, defaultColors, maxAdults, disableChild, showInfants, disableRoom, hideGuestSelect, hidePromocode, hideProperty, defaultValues, overlayDirection = EBookingWizardOverlayDirection.Downward, } = props;
68
+ const { layout = 'horizontal', theme = EBookingWizardTheme.Default, onSubmit, wrapperClassname, contentClassname: contentClassnameProps, selectedProperty, properties, defaultColors, maxAdults, disableChild, showInfants, disableRoom, hideGuestSelect, hidePromocode, hideProperty, defaultValues, overlayDirection = EBookingWizardOverlayDirection.Downward, } = props;
69
69
  const [isOpen, setIsOpen] = react_1.default.useState(false);
70
70
  const { isMobile } = (0, WindowSize_1.useWindowSize)();
71
71
  const { t } = (0, react_i18next_1.useTranslation)();
72
72
  const [ref, bounds] = (0, react_use_measure_1.default)({ debounce: 300 });
73
- const layout = (0, react_1.useMemo)(() => {
74
- if (isMobile && useMobileButtonLayout) {
75
- return 'button';
76
- }
77
- return propLayout;
78
- }, [isMobile, useMobileButtonLayout, propLayout]);
79
73
  const [compOverlayType, setCompOverlayType] = (0, react_1.useState)('popup');
80
74
  const [overlayOffset, setOverlayOffset] = (0, react_1.useState)();
81
75
  const [dateSelectorOverlayOffset, setDateSelectorOverlayOffset] = (0, react_1.useState)();
@@ -1 +1 @@
1
- {"version":3,"file":"BookingWizard.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizard.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4DAAoC;AACpC,+CAA4D;AAC5D,iDAA+C;AAC/C,0EAA2C;AAE3C,6EAAqD;AACrD,kGAA0H;AAC1H,kGAMiE;AACjE,uEAAgE;AAChE,sFAAsF;AACtF,mDAAmD;AAGnD,4DAAyD;AACzD,mEAA2C;AAE3C,4FAAiD;AAEjD,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,0CAAmB,CAAA;IACnB,4CAAqB,CAAA;IACrB,wCAAiB,CAAA;AACrB,CAAC,EAJW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAI9B;AAED,IAAY,8BAGX;AAHD,WAAY,8BAA8B;IACtC,mDAAiB,CAAA;IACjB,uDAAqB,CAAA;AACzB,CAAC,EAHW,8BAA8B,GAA9B,sCAA8B,KAA9B,sCAA8B,QAGzC;AAED,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC7B,8CAAqB,CAAA;IACrB,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,wCAAe,CAAA;AACnB,CAAC,EALW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAKhC;AAEY,QAAA,oBAAoB,GAA8C;IAC3E,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;IACpG,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;IAChG,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;IACjG,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;CACpG,CAAC;AAkBF,MAAM,aAAa,GAAiC,CAAC,KAAK,EAAE,EAAE;IAC1D,MAAM,EACF,MAAM,EAAE,UAAU,GAAG,YAAY,EACjC,KAAK,GAAG,mBAAmB,CAAC,OAAO,EACnC,qBAAqB,GAAG,KAAK,EAC7B,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAAE,qBAAqB,EACvC,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,SAAS,EACT,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,YAAY,EACZ,aAAa,EACb,gBAAgB,GAAG,8BAA8B,CAAC,QAAQ,GAC7D,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,0BAAa,GAAE,CAAC;IACrC,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAA,2BAAU,EAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACxB,IAAI,QAAQ,IAAI,qBAAqB,EAAE;YACnC,OAAO,QAA+B,CAAC;SAC1C;QACD,OAAO,UAAU,CAAC;IACtB,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAC;IAElD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,EAA2B,OAAO,CAAC,CAAC;IAC1F,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,GAAoB,CAAC;IACvE,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAAG,IAAA,gBAAQ,GAAoB,CAAC;IAC/F,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,GAAa,CAAC;IAEtE,MAAM,gBAAgB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAChC,OAAO,MAAM,CAAC,KAAK,IAAI,oBAAU,CAAC,MAAM,CAAC;IAC7C,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,CAAC,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC7E,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzB,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACrC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SAC/B;aAAM;YACH,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1B,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,kBAAkB,CAAC,cAAc,CAAC,CAAC;SACtC;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEzC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,CAAC,QAAQ,EAAE;YACX,mBAAmB,CAAC,gBAAgB,KAAK,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;SACpH;aAAM;YACH,mBAAmB,CAAC,gBAAgB,KAAK,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACxG;IACL,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,aAAa,GAAG,KAAK,KAAK,mBAAmB,CAAC,MAAM,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAA,oBAAU,EACtB,mCAAM,CAAC,SAAS,EAChB;QACI,CAAC,mCAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,KAAK,mBAAmB,CAAC,QAAQ;QACpE,CAAC,mCAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,KAAK,mBAAmB,CAAC,OAAO;QAClE,CAAC,mCAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,aAAa;QACzC,CAAC,mCAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,MAAM,KAAK,sBAAsB;QAChE,CAAC,mCAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,gBAAgB;KACrD,EACD,gBAAgB,CACnB,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAA,oBAAU,EAAC,qBAAqB,EAAE,EAAE,CAAC,mCAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAEnH,MAAM,mBAAmB,GAAG,aAAa,IAAI,gBAAgB,CAAC;IAC9D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAA+B,IAAI,CAAC,CAAC;IACvF,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,IAAA,gBAAQ,EAA0B,EAAE,CAAC,CAAC;IACxF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAA4C,4BAAoB,CAAC,CAAC;IAEpH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,aAAa,GAAG,aAAa,IAAI,MAAM,KAAK,sBAAsB,IAAI,mBAAmB,CAAC;QAChG,MAAM,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC;QACxC,MAAM,aAAa,GAAG,CAAC,CAAC,eAAe,CAAC;QAExC,MAAM,KAAK,GAA8C;YACrD,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE;gBAC9B,MAAM,EAAE,gBAAgB;gBACxB,OAAO,EAAE,CAAC,gBAAgB;gBAC1B,OAAO,EAAE,qBAAqB,CAAC,QAAQ,KAAK,aAAa;gBACzD,QAAQ,EAAE,gBAAgB,IAAI,CAAC,mBAAmB,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,qBAAqB,CAAC,QAAQ,CAAC;aACpI;YACD,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;gBAC1B,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,gBAAgB;gBACzB,OAAO,EAAE,qBAAqB,CAAC,IAAI,KAAK,aAAa;gBACrD,QAAQ,EAAE,CAAC,mBAAmB,IAAI,gBAAgB,IAAI,aAAa,KAAK,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,aAAa,KAAK,qBAAqB,CAAC,IAAI,CAAC;aACzJ;YACD,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE;gBAC3B,MAAM,EAAE,aAAa;gBACrB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qBAAqB,CAAC,KAAK,KAAK,aAAa;gBACtD,QAAQ,EAAE,aAAa,IAAI,CAAC,mBAAmB,IAAI,aAAa,KAAK,qBAAqB,CAAC,KAAK,CAAC;aACpG;YACD,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE;gBAC3B,MAAM,EAAE,aAAa;gBACrB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qBAAqB,CAAC,KAAK,KAAK,aAAa;gBACtD,QAAQ,EAAE,aAAa,IAAI,CAAC,mBAAmB,IAAI,aAAa,KAAK,qBAAqB,CAAC,KAAK,CAAC;aACpG;SACJ,CAAC;QAEF,2DAA2D;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aAChC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAA4B,CAAC,CAAC;QAClD,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9B,6GAA6G;QAC7G,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,WAAW,EAAE;YACb,MAAM,QAAQ,GAA4B,CAAC,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACjK,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;oBACxB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC/B,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAChC,MAAM;iBACT;aACJ;SACJ;QAED,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE9G,MAAM,eAAe,GAAG,CAAC,cAAqC,EAAE,SAAiB,EAAE,EAAE;;QACjF,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,MAAA,iBAAiB,CAAC,YAAY,GAAG,SAAS,CAAC,mCAAI,IAAI,CAAC;QAC1E,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,OAA8B,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACtF,MAAM,aAAa,GAAG,CAAC,OAA8B,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvF,MAAM,oBAAoB,GAA6B;QACnD,MAAM;QACN,KAAK;QACL,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,OAAO;QAClB,QAAQ;QACR,gBAAgB;QAEhB,QAAQ;QAER,OAAO,EAAE;YACL,MAAM,EAAE,aAAa;YACrB,SAAS,EAAE,gBAAgB;YAC3B,kBAAkB,EAAE,gBAAgB;YACpC,UAAU,EAAE,yBAAyB;SACxC;QACD,aAAa;QACb,mBAAmB;QACnB,aAAa;QACb,aAAa;QACb,aAAa;QACb,aAAa;KAChB,CAAC;IAEF,IAAI,MAAM,KAAK,QAAQ,EAAE;QACrB,OAAO,CACH,uCAAK,SAAS,EAAE,OAAO;YACnB,8BAAC,kBAAQ,IAAC,SAAS,EAAE,mCAAM,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IACjE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CACrB;YAEX,8BAAC,qBAAW,IAAC,SAAS,EAAE,mCAAM,CAAC,SAAS,EAAE,IAAI,EAAE,6BAAe,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,QAAC,eAAe;gBAClJ;oBACI,uCAAK,SAAS,EAAE,mCAAM,CAAC,KAAK;wBACxB,4CAAO,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAQ;wBAC7C,8BAAC,cAAI,IAAC,SAAS,EAAE,mCAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAI,CACrG;oBACN,8BAAC,2CAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,oBAAoB;wBACtD,uCAAK,SAAS,EAAE,OAAO;4BACnB,8BAAC,2CAAoB,IACjB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,gBAAgB,EAC3B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,GAC5B,CACA,CACsB,CAC9B,CACI,CACZ,CACT,CAAC;KACL;IAED,OAAO,CACH,uCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO;QAC7B,8BAAC,2CAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,oBAAoB;YACtD,8BAAC,2CAAoB,oBAAK,KAAK,IAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,IAAI,CACxH,CAC9B,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC","sourcesContent":["import { Placement } from '@popperjs/core';\nimport classNames from 'classnames';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport useMeasure from 'react-use-measure';\n\nimport BEButton from '@/components/generic/BEButton';\nimport { BookingWizardContent, BookingWizardContentProps } from '@/components/generic/BookingWizard/BookingWizardContent';\nimport {\n BookingWizardContext,\n BookingWizardContextType,\n BookingWizardLayout,\n BookingWizardOverlayType,\n BookingWizardTheme,\n} from '@/components/generic/BookingWizard/BookingWizardContext';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport SimpleModal, { SimpleModalSize } from '@/components/generic/modal/SimpleModal';\nimport { useWindowSize } from '@/hooks/WindowSize';\nimport { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nimport { TBookingWizardProperties } from '@/models/BookingWizard/BookingWizardTypes';\nimport { Translation } from '@/translations/Translation';\nimport ScreenSize from '@/util/ScreenSize';\n\nimport styles from './BookingWizard.module.scss';\n\nexport enum EBookingWizardTheme {\n Default = 'default',\n Specific = 'specific',\n Images = 'images',\n}\n\nexport enum EBookingWizardOverlayDirection {\n Upward = 'upward',\n Downward = 'downward',\n}\n\nexport enum EBookingWizardSection {\n Property = 'property',\n Date = 'date',\n Guest = 'guest',\n Promo = 'promo',\n}\n\nexport const StateSectionsDefault: BookingWizardContextType['stateSections'] = {\n [EBookingWizardSection.Property]: { opening: false, isFirst: false, hidden: false, inactive: false },\n [EBookingWizardSection.Date]: { opening: false, isFirst: false, hidden: false, inactive: false },\n [EBookingWizardSection.Guest]: { opening: false, isFirst: false, hidden: false, inactive: false },\n [EBookingWizardSection.Promo]: { opening: false, isFirst: false, hidden: false, inactive: false },\n};\n\nexport interface BookingWizardProps extends BookingWizardContentProps {\n layout?: BookingWizardLayout;\n theme?: BookingWizardTheme;\n useMobileButtonLayout?: boolean;\n\n wrapperClassname?: string;\n contentClassname?: string;\n\n properties: TBookingWizardProperties;\n selectedProperty: BookingWizardProperty;\n defaultColors: BookingWizardProperty['colors'];\n onSubmit: BookingWizardContextType['onSubmit'];\n\n overlayDirection?: EBookingWizardOverlayDirection;\n}\n\nconst BookingWizard: React.FC<BookingWizardProps> = (props) => {\n const {\n layout: propLayout = 'horizontal',\n theme = EBookingWizardTheme.Default,\n useMobileButtonLayout = false,\n onSubmit,\n wrapperClassname,\n contentClassname: contentClassnameProps,\n selectedProperty,\n properties,\n defaultColors,\n maxAdults,\n disableChild,\n showInfants,\n disableRoom,\n hideGuestSelect,\n hidePromocode,\n hideProperty,\n defaultValues,\n overlayDirection = EBookingWizardOverlayDirection.Downward,\n } = props;\n const [isOpen, setIsOpen] = React.useState(false);\n\n const { isMobile } = useWindowSize();\n const { t } = useTranslation();\n const [ref, bounds] = useMeasure({ debounce: 300 });\n\n const layout = useMemo(() => {\n if (isMobile && useMobileButtonLayout) {\n return 'button' as BookingWizardLayout;\n }\n return propLayout;\n }, [isMobile, useMobileButtonLayout, propLayout]);\n\n const [compOverlayType, setCompOverlayType] = useState<BookingWizardOverlayType>('popup');\n const [overlayOffset, setOverlayOffset] = useState<[number, number]>();\n const [dateSelectorOverlayOffset, setDateSelectorOverlayOffset] = useState<[number, number]>();\n const [overlayPlacement, setOverlayPlacement] = useState<Placement>();\n\n const isSmallContainer = useMemo(() => {\n if (!bounds.width) return false;\n return bounds.width <= ScreenSize.Medium;\n }, [bounds]);\n\n useEffect(() => {\n if ((layout === 'horizontal' || layout === 'horizontal-condensed') && !isMobile) {\n setOverlayOffset([0, 6]);\n setDateSelectorOverlayOffset([0, 6]);\n setCompOverlayType('popup');\n } else {\n setOverlayOffset([0, 10]);\n setDateSelectorOverlayOffset([0, -8]);\n setCompOverlayType('bottom-sheet');\n }\n }, [layout, isMobile, isSmallContainer]);\n\n useEffect(() => {\n if (!isMobile) {\n setOverlayPlacement(overlayDirection === EBookingWizardOverlayDirection.Downward ? 'bottom-start' : 'top-start');\n } else {\n setOverlayPlacement(overlayDirection === EBookingWizardOverlayDirection.Downward ? 'bottom' : 'top');\n }\n }, [isMobile]);\n\n const isImagesTheme = theme === EBookingWizardTheme.Images;\n const classes = classNames(\n styles.container,\n {\n [styles['--theme-specific']]: theme === EBookingWizardTheme.Specific,\n [styles['--theme-default']]: theme === EBookingWizardTheme.Default,\n [styles['--theme-images']]: isImagesTheme,\n [styles['--theme-condensed']]: layout === 'horizontal-condensed',\n [styles['--in-small-container']]: isSmallContainer,\n },\n wrapperClassname\n );\n\n const contentClassname = classNames(contentClassnameProps, { [styles['--in-small-container']]: isSmallContainer });\n\n const isImagesThemeMobile = isImagesTheme && isSmallContainer;\n const [activeSection, setActiveSection] = useState<EBookingWizardSection | null>(null);\n const [availableSections, setAvailableSections] = useState<EBookingWizardSection[]>([]);\n const [stateSections, setStateSections] = useState<BookingWizardContextType['stateSections']>(StateSectionsDefault);\n\n useEffect(() => {\n const isPromoHidden = hidePromocode || layout === 'horizontal-condensed' || isImagesThemeMobile;\n const isPropertyHidden = !!hideProperty;\n const isGuestHidden = !!hideGuestSelect;\n\n const state: BookingWizardContextType['stateSections'] = {\n [EBookingWizardSection.Property]: {\n hidden: isPropertyHidden,\n isFirst: !isPropertyHidden,\n opening: EBookingWizardSection.Property === activeSection,\n inactive: isPropertyHidden || (isImagesThemeMobile && activeSection !== null && activeSection !== EBookingWizardSection.Property),\n },\n [EBookingWizardSection.Date]: {\n hidden: false,\n isFirst: isPropertyHidden,\n opening: EBookingWizardSection.Date === activeSection,\n inactive: (isImagesThemeMobile && isPropertyHidden && activeSection === null) || (isImagesThemeMobile && activeSection !== EBookingWizardSection.Date),\n },\n [EBookingWizardSection.Guest]: {\n hidden: isGuestHidden,\n isFirst: false,\n opening: EBookingWizardSection.Guest === activeSection,\n inactive: isGuestHidden || (isImagesThemeMobile && activeSection !== EBookingWizardSection.Guest),\n },\n [EBookingWizardSection.Promo]: {\n hidden: isPromoHidden,\n isFirst: false,\n opening: EBookingWizardSection.Promo === activeSection,\n inactive: isPromoHidden || (isImagesThemeMobile && activeSection !== EBookingWizardSection.Promo),\n },\n };\n\n // Extract available (i.e., not hidden) sections from state\n const enabled = Object.entries(state)\n .filter(([, value]) => !value.hidden)\n .map(([key]) => key as EBookingWizardSection);\n setAvailableSections(enabled);\n\n // If all inactive are true, then find the first section with hidden === false and set its inactive to false.\n const allInactive = Object.values(state).every((s) => s.inactive);\n if (allInactive) {\n const sections: EBookingWizardSection[] = [EBookingWizardSection.Property, EBookingWizardSection.Date, EBookingWizardSection.Guest, EBookingWizardSection.Promo];\n for (const section of sections) {\n if (!state[section].hidden) {\n state[section].opening = false;\n state[section].inactive = false;\n break;\n }\n }\n }\n\n setStateSections(state);\n }, [layout, hideProperty, hideGuestSelect, hidePromocode, activeSection, isImagesTheme, isImagesThemeMobile]);\n\n const navigateSection = (currentSection: EBookingWizardSection, direction: 1 | -1) => {\n if (!currentSection) return;\n const currentIndex = availableSections.indexOf(currentSection);\n const targetSection = availableSections[currentIndex + direction] ?? null;\n setActiveSection(targetSection);\n };\n\n const onNextHandler = (section: EBookingWizardSection) => navigateSection(section, 1);\n const onPrevHandler = (section: EBookingWizardSection) => navigateSection(section, -1);\n\n const bookingWizardContext: BookingWizardContextType = {\n layout,\n theme,\n type: compOverlayType,\n className: classes,\n isMobile,\n isSmallContainer,\n\n onSubmit,\n\n overlay: {\n offset: overlayOffset,\n placement: overlayPlacement,\n fallbackPlacements: overlayPlacement,\n dateOffset: dateSelectorOverlayOffset,\n },\n isImagesTheme,\n isImagesThemeMobile,\n activeSection,\n stateSections,\n onNextHandler,\n onPrevHandler,\n };\n\n if (layout === 'button') {\n return (\n <div className={classes}>\n <BEButton className={styles.bookNowBtn} onClick={() => setIsOpen(true)}>\n {t(Translation.Misc.BookNow)}\n </BEButton>\n\n <SimpleModal className={styles.container} size={SimpleModalSize.ExtraSmall} open={isOpen} onClose={() => setIsOpen(false)} alignCenter overflowVisible>\n <div>\n <div className={styles.title}>\n <span>{t(Translation.Misc.BookAHotel)}</span>\n <Icon className={styles.closeBtn} icon={IconType.Close} size=\"24px\" onClick={() => setIsOpen(false)} />\n </div>\n <BookingWizardContext.Provider value={bookingWizardContext}>\n <div className={classes}>\n <BookingWizardContent\n properties={properties}\n selectedProperty={selectedProperty}\n defaultColors={defaultColors}\n classname={contentClassname}\n maxAdults={maxAdults}\n disableChild={disableChild}\n showInfants={showInfants}\n disableRoom={disableRoom}\n defaultValues={defaultValues}\n hideGuestSelect={hideGuestSelect}\n hidePromocode={hidePromocode}\n hideProperty={hideProperty}\n />\n </div>\n </BookingWizardContext.Provider>\n </div>\n </SimpleModal>\n </div>\n );\n }\n\n return (\n <div ref={ref} className={classes}>\n <BookingWizardContext.Provider value={bookingWizardContext}>\n <BookingWizardContent {...props} classname={contentClassname} disableChild={disableChild} disableRoom={disableRoom} defaultValues={defaultValues} />\n </BookingWizardContext.Provider>\n </div>\n );\n};\n\nexport default BookingWizard;\n"]}
1
+ {"version":3,"file":"BookingWizard.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizard.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Placement } from '@popperjs/core';\nimport classNames from 'classnames';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport useMeasure from 'react-use-measure';\n\nimport BEButton from '@/components/generic/BEButton';\nimport { BookingWizardContent, BookingWizardContentProps } from '@/components/generic/BookingWizard/BookingWizardContent';\nimport {\n BookingWizardContext,\n BookingWizardContextType,\n BookingWizardLayout,\n BookingWizardOverlayType,\n BookingWizardTheme,\n} from '@/components/generic/BookingWizard/BookingWizardContext';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport SimpleModal, { SimpleModalSize } from '@/components/generic/modal/SimpleModal';\nimport { useWindowSize } from '@/hooks/WindowSize';\nimport { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nimport { TBookingWizardProperties } from '@/models/BookingWizard/BookingWizardTypes';\nimport { Translation } from '@/translations/Translation';\nimport ScreenSize from '@/util/ScreenSize';\n\nimport styles from './BookingWizard.module.scss';\n\nexport enum EBookingWizardTheme {\n Default = 'default',\n Specific = 'specific',\n Images = 'images',\n}\n\nexport enum EBookingWizardOverlayDirection {\n Upward = 'upward',\n Downward = 'downward',\n}\n\nexport enum EBookingWizardSection {\n Property = 'property',\n Date = 'date',\n Guest = 'guest',\n Promo = 'promo',\n}\n\nexport const StateSectionsDefault: BookingWizardContextType['stateSections'] = {\n [EBookingWizardSection.Property]: { opening: false, isFirst: false, hidden: false, inactive: false },\n [EBookingWizardSection.Date]: { opening: false, isFirst: false, hidden: false, inactive: false },\n [EBookingWizardSection.Guest]: { opening: false, isFirst: false, hidden: false, inactive: false },\n [EBookingWizardSection.Promo]: { opening: false, isFirst: false, hidden: false, inactive: false },\n};\n\nexport interface BookingWizardProps extends BookingWizardContentProps {\n layout?: BookingWizardLayout;\n theme?: BookingWizardTheme;\n\n wrapperClassname?: string;\n contentClassname?: string;\n\n properties: TBookingWizardProperties;\n selectedProperty: BookingWizardProperty;\n defaultColors: BookingWizardProperty['colors'];\n onSubmit: BookingWizardContextType['onSubmit'];\n\n overlayDirection?: EBookingWizardOverlayDirection;\n}\n\nconst BookingWizard: React.FC<BookingWizardProps> = (props) => {\n const {\n layout = 'horizontal',\n theme = EBookingWizardTheme.Default,\n onSubmit,\n wrapperClassname,\n contentClassname: contentClassnameProps,\n selectedProperty,\n properties,\n defaultColors,\n maxAdults,\n disableChild,\n showInfants,\n disableRoom,\n hideGuestSelect,\n hidePromocode,\n hideProperty,\n defaultValues,\n overlayDirection = EBookingWizardOverlayDirection.Downward,\n } = props;\n const [isOpen, setIsOpen] = React.useState(false);\n\n const { isMobile } = useWindowSize();\n const { t } = useTranslation();\n const [ref, bounds] = useMeasure({ debounce: 300 });\n\n const [compOverlayType, setCompOverlayType] = useState<BookingWizardOverlayType>('popup');\n const [overlayOffset, setOverlayOffset] = useState<[number, number]>();\n const [dateSelectorOverlayOffset, setDateSelectorOverlayOffset] = useState<[number, number]>();\n const [overlayPlacement, setOverlayPlacement] = useState<Placement>();\n\n const isSmallContainer = useMemo(() => {\n if (!bounds.width) return false;\n return bounds.width <= ScreenSize.Medium;\n }, [bounds]);\n\n useEffect(() => {\n if ((layout === 'horizontal' || layout === 'horizontal-condensed') && !isMobile) {\n setOverlayOffset([0, 6]);\n setDateSelectorOverlayOffset([0, 6]);\n setCompOverlayType('popup');\n } else {\n setOverlayOffset([0, 10]);\n setDateSelectorOverlayOffset([0, -8]);\n setCompOverlayType('bottom-sheet');\n }\n }, [layout, isMobile, isSmallContainer]);\n\n useEffect(() => {\n if (!isMobile) {\n setOverlayPlacement(overlayDirection === EBookingWizardOverlayDirection.Downward ? 'bottom-start' : 'top-start');\n } else {\n setOverlayPlacement(overlayDirection === EBookingWizardOverlayDirection.Downward ? 'bottom' : 'top');\n }\n }, [isMobile]);\n\n const isImagesTheme = theme === EBookingWizardTheme.Images;\n const classes = classNames(\n styles.container,\n {\n [styles['--theme-specific']]: theme === EBookingWizardTheme.Specific,\n [styles['--theme-default']]: theme === EBookingWizardTheme.Default,\n [styles['--theme-images']]: isImagesTheme,\n [styles['--theme-condensed']]: layout === 'horizontal-condensed',\n [styles['--in-small-container']]: isSmallContainer,\n },\n wrapperClassname\n );\n\n const contentClassname = classNames(contentClassnameProps, { [styles['--in-small-container']]: isSmallContainer });\n\n const isImagesThemeMobile = isImagesTheme && isSmallContainer;\n const [activeSection, setActiveSection] = useState<EBookingWizardSection | null>(null);\n const [availableSections, setAvailableSections] = useState<EBookingWizardSection[]>([]);\n const [stateSections, setStateSections] = useState<BookingWizardContextType['stateSections']>(StateSectionsDefault);\n\n useEffect(() => {\n const isPromoHidden = hidePromocode || layout === 'horizontal-condensed' || isImagesThemeMobile;\n const isPropertyHidden = !!hideProperty;\n const isGuestHidden = !!hideGuestSelect;\n\n const state: BookingWizardContextType['stateSections'] = {\n [EBookingWizardSection.Property]: {\n hidden: isPropertyHidden,\n isFirst: !isPropertyHidden,\n opening: EBookingWizardSection.Property === activeSection,\n inactive: isPropertyHidden || (isImagesThemeMobile && activeSection !== null && activeSection !== EBookingWizardSection.Property),\n },\n [EBookingWizardSection.Date]: {\n hidden: false,\n isFirst: isPropertyHidden,\n opening: EBookingWizardSection.Date === activeSection,\n inactive: (isImagesThemeMobile && isPropertyHidden && activeSection === null) || (isImagesThemeMobile && activeSection !== EBookingWizardSection.Date),\n },\n [EBookingWizardSection.Guest]: {\n hidden: isGuestHidden,\n isFirst: false,\n opening: EBookingWizardSection.Guest === activeSection,\n inactive: isGuestHidden || (isImagesThemeMobile && activeSection !== EBookingWizardSection.Guest),\n },\n [EBookingWizardSection.Promo]: {\n hidden: isPromoHidden,\n isFirst: false,\n opening: EBookingWizardSection.Promo === activeSection,\n inactive: isPromoHidden || (isImagesThemeMobile && activeSection !== EBookingWizardSection.Promo),\n },\n };\n\n // Extract available (i.e., not hidden) sections from state\n const enabled = Object.entries(state)\n .filter(([, value]) => !value.hidden)\n .map(([key]) => key as EBookingWizardSection);\n setAvailableSections(enabled);\n\n // If all inactive are true, then find the first section with hidden === false and set its inactive to false.\n const allInactive = Object.values(state).every((s) => s.inactive);\n if (allInactive) {\n const sections: EBookingWizardSection[] = [EBookingWizardSection.Property, EBookingWizardSection.Date, EBookingWizardSection.Guest, EBookingWizardSection.Promo];\n for (const section of sections) {\n if (!state[section].hidden) {\n state[section].opening = false;\n state[section].inactive = false;\n break;\n }\n }\n }\n\n setStateSections(state);\n }, [layout, hideProperty, hideGuestSelect, hidePromocode, activeSection, isImagesTheme, isImagesThemeMobile]);\n\n const navigateSection = (currentSection: EBookingWizardSection, direction: 1 | -1) => {\n if (!currentSection) return;\n const currentIndex = availableSections.indexOf(currentSection);\n const targetSection = availableSections[currentIndex + direction] ?? null;\n setActiveSection(targetSection);\n };\n\n const onNextHandler = (section: EBookingWizardSection) => navigateSection(section, 1);\n const onPrevHandler = (section: EBookingWizardSection) => navigateSection(section, -1);\n\n const bookingWizardContext: BookingWizardContextType = {\n layout,\n theme,\n type: compOverlayType,\n className: classes,\n isMobile,\n isSmallContainer,\n\n onSubmit,\n\n overlay: {\n offset: overlayOffset,\n placement: overlayPlacement,\n fallbackPlacements: overlayPlacement,\n dateOffset: dateSelectorOverlayOffset,\n },\n isImagesTheme,\n isImagesThemeMobile,\n activeSection,\n stateSections,\n onNextHandler,\n onPrevHandler,\n };\n\n if (layout === 'button') {\n return (\n <div className={classes}>\n <BEButton className={styles.bookNowBtn} onClick={() => setIsOpen(true)}>\n {t(Translation.Misc.BookNow)}\n </BEButton>\n\n <SimpleModal className={styles.container} size={SimpleModalSize.ExtraSmall} open={isOpen} onClose={() => setIsOpen(false)} alignCenter overflowVisible>\n <div>\n <div className={styles.title}>\n <span>{t(Translation.Misc.BookAHotel)}</span>\n <Icon className={styles.closeBtn} icon={IconType.Close} size=\"24px\" onClick={() => setIsOpen(false)} />\n </div>\n <BookingWizardContext.Provider value={bookingWizardContext}>\n <div className={classes}>\n <BookingWizardContent\n properties={properties}\n selectedProperty={selectedProperty}\n defaultColors={defaultColors}\n classname={contentClassname}\n maxAdults={maxAdults}\n disableChild={disableChild}\n showInfants={showInfants}\n disableRoom={disableRoom}\n defaultValues={defaultValues}\n hideGuestSelect={hideGuestSelect}\n hidePromocode={hidePromocode}\n hideProperty={hideProperty}\n />\n </div>\n </BookingWizardContext.Provider>\n </div>\n </SimpleModal>\n </div>\n );\n }\n\n return (\n <div ref={ref} className={classes}>\n <BookingWizardContext.Provider value={bookingWizardContext}>\n <BookingWizardContent {...props} classname={contentClassname} disableChild={disableChild} disableRoom={disableRoom} defaultValues={defaultValues} />\n </BookingWizardContext.Provider>\n </div>\n );\n};\n\nexport default BookingWizard;\n"]}
@@ -9,9 +9,9 @@ interface BWBottomSheetFooterProps {
9
9
  nextLabel?: string;
10
10
  disabledNext?: boolean;
11
11
  }
12
- export declare const BWBottomSheetFooter: ({ onPrev, onNext, hidePrev, preLabel, nextLabel, disabledNext }: BWBottomSheetFooterProps) => React.JSX.Element | null;
12
+ export declare const BWBottomSheetFooter: ({ onPrev, onNext, hidePrev, preLabel, nextLabel, disabledNext }: BWBottomSheetFooterProps) => JSX.Element | null;
13
13
  export declare const BWBottomSheetHeader: ({ title, onClose }: {
14
14
  title: ReactNode;
15
15
  onClose: () => void;
16
- }) => React.JSX.Element;
16
+ }) => JSX.Element;
17
17
  export default BookingWizardBottomSheet;
@@ -23,7 +23,7 @@ export interface BookingWizardContentProps {
23
23
  dateFormat?: string;
24
24
  }
25
25
  export declare const BookingWizardContent: React.FC<BookingWizardContentProps>;
26
- export declare const BWPromoCodeSection: ({ inactive, hidden, setPromoCode, promoCode, onChange, valid, hideTooltip, t, isImagesTheme, divider, withLabel, }: BWPromoCodeSectionProps) => React.JSX.Element | null;
26
+ export declare const BWPromoCodeSection: ({ inactive, hidden, setPromoCode, promoCode, onChange, valid, hideTooltip, t, isImagesTheme, divider, withLabel, }: BWPromoCodeSectionProps) => JSX.Element | null;
27
27
  type BWIconButtonProps = {
28
28
  show: boolean;
29
29
  onClick?: React.MouseEventHandler<HTMLDivElement>;
@@ -34,8 +34,8 @@ type BWIconButtonProps = {
34
34
  name: string;
35
35
  className: string;
36
36
  };
37
- export declare const BWClearButton: (props: Omit<BWIconButtonProps, 'icon' | 'name' | 'className'>) => React.JSX.Element;
38
- export declare const BWSearchButton: (props: Omit<BWIconButtonProps, 'icon' | 'name' | 'className' | 'onClick'>) => React.JSX.Element;
37
+ export declare const BWClearButton: (props: Omit<BWIconButtonProps, 'icon' | 'name' | 'className'>) => JSX.Element;
38
+ export declare const BWSearchButton: (props: Omit<BWIconButtonProps, 'icon' | 'name' | 'className' | 'onClick'>) => JSX.Element;
39
39
  interface BWPromoCodeSectionProps {
40
40
  inactive: boolean;
41
41
  hidden: boolean;
@@ -16,5 +16,5 @@ interface BookingWizardHotelSelectorProps {
16
16
  focused: boolean;
17
17
  };
18
18
  }
19
- export declare const BookingWizardHotelSelector: (props: BookingWizardHotelSelectorProps) => React.JSX.Element;
19
+ export declare const BookingWizardHotelSelector: (props: BookingWizardHotelSelectorProps) => JSX.Element;
20
20
  export {};
@@ -1,4 +1,4 @@
1
- import React, { ReactNode } from 'react';
1
+ import { ReactNode } from 'react';
2
2
  import { IconType } from '../../Icon/Icon';
3
3
  import { Color } from '../../../../util/Color';
4
4
  type IconNavCardProps = {
@@ -12,5 +12,5 @@ type IconNavCardProps = {
12
12
  color?: Color;
13
13
  };
14
14
  };
15
- export declare const IconNavCard: (props: IconNavCardProps) => React.JSX.Element | null;
15
+ export declare const IconNavCard: (props: IconNavCardProps) => JSX.Element | null;
16
16
  export {};
@@ -1,8 +1,7 @@
1
1
  import dayjs from 'dayjs';
2
- import React from 'react';
3
2
  interface CountdownProps {
4
3
  endTimeDate: dayjs.Dayjs;
5
4
  onEnd?: () => void;
6
5
  }
7
- export default function Countdown(props: CountdownProps): React.JSX.Element;
6
+ export default function Countdown(props: CountdownProps): JSX.Element;
8
7
  export {};
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
1
  import { UseCurrencyProps } from '../../hooks/Currency';
3
2
  export default function Currency(props: UseCurrencyProps & {
4
3
  forceHideDecimals?: boolean;
5
- }): React.JSX.Element;
4
+ }): JSX.Element;
@@ -1,5 +1,4 @@
1
1
  import dayjs from 'dayjs';
2
- import React from 'react';
3
2
  import { ShowYearOnCalendarProps } from '../../../models/Api/HotelOverrideDTO';
4
3
  import { EBookingWizardTheme } from '../BookingWizard/BookingWizard';
5
4
  export interface DatePickerProps extends ShowYearOnCalendarProps {
@@ -19,4 +18,4 @@ export interface DatePickerProps extends ShowYearOnCalendarProps {
19
18
  theme?: EBookingWizardTheme;
20
19
  className?: string;
21
20
  }
22
- export default function DateRangePicker(props: DatePickerProps): React.JSX.Element;
21
+ export default function DateRangePicker(props: DatePickerProps): JSX.Element;
@@ -1,5 +1,4 @@
1
1
  import * as dayjs from 'dayjs';
2
- import React from 'react';
3
2
  import { Color } from '../../../util/Color';
4
3
  interface DatePickerDayProps {
5
4
  text: any;
@@ -18,5 +17,5 @@ export declare enum DatePickerDayStatus {
18
17
  Loading = "--loading",
19
18
  Selected = "--selected"
20
19
  }
21
- export default function DateRangePickerDay(props: DatePickerDayProps): React.JSX.Element;
20
+ export default function DateRangePickerDay(props: DatePickerDayProps): JSX.Element;
22
21
  export {};
@@ -1,7 +1,6 @@
1
1
  import * as dayjs from 'dayjs';
2
- import React from 'react';
3
2
  interface DatePickerDaysProps {
4
3
  showingMonth: dayjs.Dayjs;
5
4
  }
6
- export default function DateRangePickerDays(props: DatePickerDaysProps): React.JSX.Element;
5
+ export default function DateRangePickerDays(props: DatePickerDaysProps): JSX.Element;
7
6
  export {};
@@ -1,9 +1,8 @@
1
1
  import * as dayjs from 'dayjs';
2
- import React from 'react';
3
2
  import { ShowYearOnCalendarProps } from '../../../models/Api/HotelOverrideDTO';
4
3
  interface DatePickerMonthProps extends ShowYearOnCalendarProps {
5
4
  showingMonth: dayjs.Dayjs;
6
5
  small?: boolean;
7
6
  }
8
- export default function DateRangePickerMonth(props: DatePickerMonthProps): React.JSX.Element;
7
+ export default function DateRangePickerMonth(props: DatePickerMonthProps): JSX.Element;
9
8
  export {};
@@ -1,7 +1,6 @@
1
- import React from 'react';
2
1
  interface DistanceProps {
3
2
  distance: number | string;
4
3
  unit?: string;
5
4
  }
6
- export default function Distance({ distance, unit }: DistanceProps): React.JSX.Element;
5
+ export default function Distance({ distance, unit }: DistanceProps): JSX.Element;
7
6
  export {};
@@ -11,4 +11,4 @@ export interface HeadlineProps extends PropsWithChildren<any> {
11
11
  className?: string;
12
12
  [x: string]: React.ReactNode;
13
13
  }
14
- export default function Headline(props: HeadlineProps): React.JSX.Element;
14
+ export default function Headline(props: HeadlineProps): JSX.Element;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  export declare const HtmlContentViewer: ({ content }: {
3
2
  content: string;
4
- }) => React.JSX.Element;
3
+ }) => JSX.Element;
@@ -1,8 +1,8 @@
1
- import React, { ReactNode } from 'react';
1
+ import { ReactNode } from 'react';
2
2
  import { InputGroupDimensions } from './InputGroup.types';
3
3
  export interface InputGroupProps {
4
4
  children: ReactNode | ReactNode[];
5
5
  dimensions?: InputGroupDimensions;
6
6
  noMargin?: boolean;
7
7
  }
8
- export default function InputGroup(props: InputGroupProps): React.JSX.Element;
8
+ export default function InputGroup(props: InputGroupProps): JSX.Element;
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  export interface LineBreakProps {
3
2
  darker?: boolean;
4
3
  noMargins?: boolean;
5
4
  smallMargins?: boolean;
6
5
  fullBleed?: boolean;
7
6
  }
8
- export default function LineBreak(props: LineBreakProps): React.JSX.Element;
7
+ export default function LineBreak(props: LineBreakProps): JSX.Element;
@@ -9,5 +9,5 @@ interface NotificationProps {
9
9
  data: NotificationType;
10
10
  onRemove?: (id: number) => void;
11
11
  }
12
- export default function Notification(props: NotificationProps): React.JSX.Element;
12
+ export default function Notification(props: NotificationProps): JSX.Element;
13
13
  export {};
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { TextType } from './Text';
3
2
  export interface NumberIncrementProps {
4
3
  number?: number;
@@ -8,4 +7,4 @@ export interface NumberIncrementProps {
8
7
  textSize?: TextType;
9
8
  hideTooltips?: boolean;
10
9
  }
11
- export default function NumberIncrement(props: NumberIncrementProps): React.JSX.Element;
10
+ export default function NumberIncrement(props: NumberIncrementProps): JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { Placement, PositioningStrategy } from '@popperjs/core';
2
- import React, { LegacyRef, ReactNode } from 'react';
2
+ import { LegacyRef, ReactNode } from 'react';
3
3
  export type OverlayProps = {
4
4
  children: ReactNode | ReactNode[];
5
5
  open: boolean;
@@ -18,4 +18,4 @@ export type OverlayProps = {
18
18
  preventScroll?: boolean;
19
19
  isAboveNav?: boolean;
20
20
  };
21
- export declare const Overlay: (props: OverlayProps) => React.JSX.Element;
21
+ export declare const Overlay: (props: OverlayProps) => JSX.Element;
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
1
  import { IPageTitle } from '../../../models/Api/HotelOverrideDTO';
3
2
  export declare const PageTitle: ({ step }: {
4
3
  step: keyof IPageTitle;
5
- }) => React.JSX.Element | null;
4
+ }) => JSX.Element | null;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import { IRoomstayMemberCardFormInput } from '../../../models/RoomstayMembers/IRoomstayMemberCard';
3
2
  export interface PaymentCardProps {
4
3
  card: IRoomstayMemberCardFormInput;
5
4
  }
6
- export declare const PaymentCard: ({ card }: PaymentCardProps) => React.JSX.Element;
5
+ export declare const PaymentCard: ({ card }: PaymentCardProps) => JSX.Element;
@@ -22,4 +22,4 @@ export interface PillProps extends PropsWithChildren<any> {
22
22
  className?: string;
23
23
  [x: string]: React.ReactNode;
24
24
  }
25
- export default function Pill(props: PillProps): React.JSX.Element;
25
+ export default function Pill(props: PillProps): JSX.Element;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  type StringScreenSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
3
2
  export interface PlaceholderProps {
4
3
  type: 'text' | 'circle' | 'block';
@@ -10,5 +9,5 @@ export interface PlaceholderProps {
10
9
  rounded?: 'md' | 'lg';
11
10
  noMarg?: boolean;
12
11
  }
13
- export default function Placeholder(props: PlaceholderProps): React.JSX.Element;
12
+ export default function Placeholder(props: PlaceholderProps): JSX.Element;
14
13
  export {};
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  interface PromoCodeInputProps {
3
2
  value: string;
4
3
  onChange: (code: string) => void;
@@ -8,5 +7,5 @@ interface PromoCodeInputProps {
8
7
  variant?: 'outlined' | 'text';
9
8
  hideValidText?: boolean;
10
9
  }
11
- export default function PromoCodeInput(props: PromoCodeInputProps): React.JSX.Element;
10
+ export default function PromoCodeInput(props: PromoCodeInputProps): JSX.Element;
12
11
  export {};
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
1
  import BasketRow from '../../models/BasketRow';
3
2
  export interface RecentSearchesCardProps {
4
3
  basketRow: BasketRow;
5
4
  onViewRatesClicked: () => void;
6
5
  onRemove: () => void;
7
6
  }
8
- declare const RecentSearchesCard: ({ basketRow, onRemove, onViewRatesClicked }: RecentSearchesCardProps) => React.JSX.Element;
7
+ declare const RecentSearchesCard: ({ basketRow, onRemove, onViewRatesClicked }: RecentSearchesCardProps) => JSX.Element;
9
8
  export default RecentSearchesCard;
@@ -1,2 +1 @@
1
- import React from 'react';
2
- export declare const RoomstayMark: () => React.JSX.Element;
1
+ export declare const RoomstayMark: () => JSX.Element;