@roomstay/frontend 2.6.77-0 → 2.6.77

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 (353) 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/HotelAPI.d.ts +0 -2
  24. package/dist/src/api/HotelAPI.js +0 -7
  25. package/dist/src/api/HotelAPI.js.map +1 -1
  26. package/dist/src/api/ReservationAPI.js +9 -12
  27. package/dist/src/api/ReservationAPI.js.map +1 -1
  28. package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +1 -2
  29. package/dist/src/components/User/Forms/SignUpForm.d.ts +1 -2
  30. package/dist/src/components/User/Forms/VerifyEmailForm.d.ts +1 -2
  31. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.d.ts +1 -2
  32. package/dist/src/components/generic/Alert.d.ts +2 -2
  33. package/dist/src/components/generic/BEButton.d.ts +1 -1
  34. package/dist/src/components/generic/BackButton.d.ts +1 -2
  35. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +0 -1
  36. package/dist/src/components/generic/BookingWizard/BookingWizard.js +1 -7
  37. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  38. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +2 -2
  39. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js +1 -0
  40. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js.map +1 -1
  41. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +5 -14
  42. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +10 -24
  43. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  44. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +1 -1
  45. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  46. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +2 -10
  47. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +22 -187
  48. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  49. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +2 -2
  50. package/dist/src/components/generic/Countdown.d.ts +1 -2
  51. package/dist/src/components/generic/Currency.d.ts +1 -2
  52. package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +1 -2
  53. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +1 -2
  54. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +1 -2
  55. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +1 -2
  56. package/dist/src/components/generic/Distance.d.ts +1 -2
  57. package/dist/src/components/generic/Headline.d.ts +1 -1
  58. package/dist/src/components/generic/HtmlContentViewer.d.ts +1 -2
  59. package/dist/src/components/generic/InputGroup/InputGroup.d.ts +2 -2
  60. package/dist/src/components/generic/LineBreak.d.ts +1 -2
  61. package/dist/src/components/generic/Notification.d.ts +1 -1
  62. package/dist/src/components/generic/NumberIncrement.d.ts +1 -2
  63. package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -2
  64. package/dist/src/components/generic/PageTitle/index.d.ts +1 -2
  65. package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +1 -2
  66. package/dist/src/components/generic/Pill.d.ts +1 -1
  67. package/dist/src/components/generic/Placeholder.d.ts +1 -2
  68. package/dist/src/components/generic/PromoCodeInput.d.ts +1 -2
  69. package/dist/src/components/generic/RecentSearchesCard.d.ts +1 -2
  70. package/dist/src/components/generic/RoomstayMark.d.ts +1 -2
  71. package/dist/src/components/generic/Select/Select.d.ts +1 -2
  72. package/dist/src/components/generic/Select/Select.js +2 -2
  73. package/dist/src/components/generic/Select/Select.js.map +1 -1
  74. package/dist/src/components/generic/Slider/Slider.d.ts +1 -1
  75. package/dist/src/components/generic/Tabs/TabRouteContainer.d.ts +2 -2
  76. package/dist/src/components/generic/Tooltip/Tooltip.d.ts +2 -2
  77. package/dist/src/components/generic/badging/SSLSecureBadge.d.ts +1 -2
  78. package/dist/src/components/generic/buttons/NextStepButton.d.ts +1 -2
  79. package/dist/src/components/generic/date/DatePicker.d.ts +1 -2
  80. package/dist/src/components/generic/date/DatePickerDay.d.ts +1 -2
  81. package/dist/src/components/generic/date/DatePickerDays.d.ts +1 -2
  82. package/dist/src/components/generic/date/DatePickerMonth.d.ts +1 -2
  83. package/dist/src/components/generic/date/DatePickerWeek.d.ts +1 -2
  84. package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
  85. package/dist/src/components/generic/date/WeekViewSkeleton.d.ts +1 -2
  86. package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
  87. package/dist/src/components/generic/loader/LargeLoader.d.ts +1 -2
  88. package/dist/src/components/generic/loader/OverlayLoader.d.ts +1 -2
  89. package/dist/src/components/generic/loader/SmallSpinner.d.ts +1 -2
  90. package/dist/src/components/generic/map/HotelLocationMap.d.ts +1 -2
  91. package/dist/src/components/generic/modal/ConfirmationModal.d.ts +1 -2
  92. package/dist/src/components/generic/modal/ErrorModal.d.ts +1 -1
  93. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +1 -2
  94. package/dist/src/components/generic/modal/SimpleModal.d.ts +1 -1
  95. package/dist/src/components/generic/modal/TabbedModal.d.ts +1 -1
  96. package/dist/src/components/generic/radio/RadioFields.d.ts +1 -2
  97. package/dist/src/components/graphics/TravelerNotfound.d.ts +1 -2
  98. package/dist/src/components/iconComponents/BookNowPayLaterIcon.d.ts +1 -2
  99. package/dist/src/components/members/InlineSignUpSection.d.ts +1 -2
  100. package/dist/src/components/members/SignInModal/ExternalMemberModal.d.ts +1 -2
  101. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.d.ts +1 -2
  102. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.d.ts +1 -2
  103. package/dist/src/components/members/SignInModal/MemberSignInModal.d.ts +1 -2
  104. package/dist/src/components/navigation/Header.d.ts +1 -2
  105. package/dist/src/components/navigation/StepSelector.d.ts +1 -2
  106. package/dist/src/components/navigation/StepSelectorModal.d.ts +1 -2
  107. package/dist/src/components/pages/Account/Card/MemberCardItem.d.ts +1 -2
  108. package/dist/src/components/pages/PageColorComponent.d.ts +1 -2
  109. package/dist/src/components/reservation/ReservationItem.d.ts +1 -2
  110. package/dist/src/components/steps/DaysSelectedInformer.d.ts +1 -2
  111. package/dist/src/components/steps/MinimumNightStayPill.d.ts +1 -2
  112. package/dist/src/components/steps/addons/AddonCard.d.ts +1 -2
  113. package/dist/src/components/steps/addons/AddonList.d.ts +1 -2
  114. package/dist/src/components/steps/addons/AddonsNotFoundBlock.d.ts +1 -2
  115. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +1 -2
  116. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.d.ts +1 -2
  117. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.d.ts +1 -2
  118. package/dist/src/components/steps/confirmation/AccountDetails.d.ts +1 -2
  119. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.d.ts +1 -2
  120. package/dist/src/components/steps/confirmation/PaymentInformation.d.ts +1 -2
  121. package/dist/src/components/steps/confirmation/PlanpayLabel.d.ts +1 -2
  122. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.d.ts +1 -2
  123. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +10 -11
  124. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  125. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +1 -2
  126. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +1 -2
  127. package/dist/src/components/steps/confirmation/StepConfirmationForm.d.ts +1 -2
  128. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +4 -11
  129. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  130. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.d.ts +1 -2
  131. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +1 -2
  132. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.d.ts +1 -2
  133. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.d.ts +1 -2
  134. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.d.ts +1 -2
  135. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +1 -2
  136. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +1 -2
  137. package/dist/src/components/steps/date/OccupancyWarningBlock.d.ts +1 -2
  138. package/dist/src/components/steps/date/PeoplePicker.d.ts +1 -2
  139. package/dist/src/components/steps/date/PeoplePickerRow.d.ts +1 -2
  140. package/dist/src/components/steps/date/StepDatePricePerRoom.d.ts +1 -2
  141. package/dist/src/components/steps/date/StepOneDateRange.d.ts +1 -2
  142. package/dist/src/components/steps/date/StepOneDateRangePicker.d.ts +1 -2
  143. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.d.ts +1 -2
  144. package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +1 -2
  145. package/dist/src/components/steps/date/StepOneStatusPeople.d.ts +1 -2
  146. package/dist/src/components/steps/hotel/HotelCard.d.ts +1 -2
  147. package/dist/src/components/steps/hotel/HotelCardList.d.ts +1 -2
  148. package/dist/src/components/steps/hotel/HotelCardModal.d.ts +1 -2
  149. package/dist/src/components/steps/hotel/HotelInfoPerksRow.d.ts +1 -2
  150. package/dist/src/components/steps/hotel/HotelSearchParameters.d.ts +1 -2
  151. package/dist/src/components/steps/hotel/NoHotelsAvailable.d.ts +1 -2
  152. package/dist/src/components/steps/room/AvailableUpgradesModal.js +5 -0
  153. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  154. package/dist/src/components/steps/room/ImageGallerySlider.d.ts +1 -2
  155. package/dist/src/components/steps/room/InactivityWindow.d.ts +1 -2
  156. package/dist/src/components/steps/room/LargeRoomCard.d.ts +1 -2
  157. package/dist/src/components/steps/room/NoRoomsFoundBlock.d.ts +1 -2
  158. package/dist/src/components/steps/room/RatesNotFoundBlock.d.ts +1 -2
  159. package/dist/src/components/steps/room/RoomList.d.ts +1 -2
  160. package/dist/src/components/steps/room/RoomModal.d.ts +1 -2
  161. package/dist/src/components/steps/room/RoomModalPerkRow.d.ts +1 -2
  162. package/dist/src/components/steps/room/StepRoomAlertBlocks.d.ts +1 -2
  163. package/dist/src/components/steps/room/StepRoomBestRateAlert.d.ts +1 -2
  164. package/dist/src/components/steps/room/StepRoomErrorForm.d.ts +1 -2
  165. package/dist/src/components/steps/room/StepRoomHotelDetails.d.ts +1 -2
  166. package/dist/src/components/steps/room/StepRoomSortBy.d.ts +1 -2
  167. package/dist/src/components/steps/room/StepRoomSummaryAndButton.d.ts +1 -2
  168. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.d.ts +1 -2
  169. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.d.ts +1 -2
  170. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.d.ts +1 -2
  171. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.d.ts +1 -2
  172. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.d.ts +1 -2
  173. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.d.ts +1 -2
  174. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.d.ts +1 -2
  175. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +1 -2
  176. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +1 -2
  177. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.d.ts +1 -2
  178. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.d.ts +1 -2
  179. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +1 -2
  180. package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +1 -2
  181. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +1 -2
  182. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +1 -2
  183. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.d.ts +1 -2
  184. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +1 -2
  185. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.d.ts +1 -2
  186. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +2 -3
  187. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +26 -15
  188. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  189. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.d.ts +1 -2
  190. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +2 -3
  191. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +1 -2
  192. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.d.ts +1 -2
  193. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +1 -2
  194. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +1 -2
  195. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +1 -2
  196. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.d.ts +1 -2
  197. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.d.ts +1 -2
  198. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +1 -2
  199. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +1 -2
  200. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +1 -2
  201. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +1 -2
  202. package/dist/src/components/summary/BEMobileSummary.d.ts +1 -2
  203. package/dist/src/components/summary/BEMobileSummaryModal.d.ts +1 -2
  204. package/dist/src/components/summary/BESummary.d.ts +1 -2
  205. package/dist/src/components/summary/BESummaryAddonRow.d.ts +1 -2
  206. package/dist/src/components/summary/BESummaryPerkBlock.d.ts +1 -2
  207. package/dist/src/components/summary/BESummaryPrivacyPolicy.d.ts +1 -2
  208. package/dist/src/components/summary/BESummaryRoomRow.d.ts +1 -2
  209. package/dist/src/components/summary/BESummaryRoomRow.js +1 -1
  210. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  211. package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +1 -2
  212. package/dist/src/contexts/BasketContext/BasketContextWrapper.d.ts +1 -1
  213. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +11 -63
  214. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  215. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.d.ts +1 -1
  216. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.d.ts +2 -2
  217. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +0 -1
  218. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  219. package/dist/src/contexts/ConfirmationFormContext.d.ts +1 -1
  220. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +2 -3
  221. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  222. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.d.ts +1 -2
  223. package/dist/src/contexts/ErrorContext.d.ts +1 -1
  224. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.d.ts +1 -2
  225. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.d.ts +1 -2
  226. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +1 -2
  227. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +2 -10
  228. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  229. package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
  230. package/dist/src/contexts/ModalContext.d.ts +1 -1
  231. package/dist/src/contexts/NotificationContext.d.ts +1 -1
  232. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +0 -7
  233. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  234. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +1 -2
  235. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +0 -1
  236. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  237. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +1 -2
  238. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +2 -2
  239. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +0 -3
  240. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  241. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +1 -2
  242. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +1 -2
  243. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +0 -1
  244. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  245. package/dist/src/hooks/useNextStepAction.d.ts +1 -2
  246. package/dist/src/icons/Check.d.ts +1 -2
  247. package/dist/src/index.d.ts +0 -1
  248. package/dist/src/index.js +2 -4
  249. package/dist/src/index.js.map +1 -1
  250. package/dist/src/models/Api/HotelDTO.d.ts +0 -1
  251. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  252. package/dist/src/models/BasketRow.d.ts +1 -2
  253. package/dist/src/models/BasketRow.js +2 -32
  254. package/dist/src/models/BasketRow.js.map +1 -1
  255. package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +0 -13
  256. package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -1
  257. package/dist/src/models/Client/Hotel/Hotel.d.ts +0 -1
  258. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  259. package/dist/src/models/Room/RoomRate.d.ts +3 -0
  260. package/dist/src/models/Room/RoomRate.js +6 -1
  261. package/dist/src/models/Room/RoomRate.js.map +1 -1
  262. package/dist/src/models/RoomstaySession.d.ts +0 -1
  263. package/dist/src/models/RoomstaySession.js.map +1 -1
  264. package/dist/src/pages/account/AccountHome/AccountHomePage.d.ts +1 -2
  265. package/dist/src/pages/account/AccountOutlet.d.ts +1 -1
  266. package/dist/src/pages/account/AccountRouter.d.ts +1 -2
  267. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.d.ts +1 -2
  268. package/dist/src/pages/account/Details/AccountDetailsCardsPage.d.ts +1 -2
  269. package/dist/src/pages/account/Details/AccountDetailsProfilePage.d.ts +1 -2
  270. package/dist/src/pages/account/Help/AccountHelpPage.d.ts +1 -2
  271. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.d.ts +1 -2
  272. package/dist/src/pages/account/Reservations/AccountReservationsPage.d.ts +1 -2
  273. package/dist/src/pages/findReservation/FindReservation.d.ts +1 -2
  274. package/dist/src/pages/findReservation/FindReservationResults.d.ts +1 -2
  275. package/dist/src/pages/findReservation/ReservationRow.d.ts +1 -2
  276. package/dist/src/pages/findReservation/ReservationRowModal.d.ts +1 -2
  277. package/dist/src/pages/hotel/HotelInfo.d.ts +1 -2
  278. package/dist/src/pages/hotel/HotelInfoPlaceholder.d.ts +1 -2
  279. package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +1 -2
  280. package/dist/src/pages/steps/StepAddon/StepAddonComponent.d.ts +1 -2
  281. package/dist/src/pages/steps/StepAddon/StepAddonLoader.d.ts +1 -2
  282. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.d.ts +1 -2
  283. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.d.ts +1 -2
  284. package/dist/src/pages/steps/StepDate/StepDate.d.ts +1 -2
  285. package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +1 -2
  286. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.d.ts +1 -2
  287. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.d.ts +1 -2
  288. package/dist/src/pages/steps/StepGuide.d.ts +1 -1
  289. package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +1 -2
  290. package/dist/src/pages/steps/StepHotel/StepHotelComponent.d.ts +1 -2
  291. package/dist/src/pages/steps/StepHotel/StepHotelLoader.d.ts +1 -2
  292. package/dist/src/pages/steps/StepRoom/StepRoomComponent.d.ts +1 -2
  293. package/dist/src/pages/steps/StepRoom/StepRoomLoader.d.ts +1 -2
  294. package/dist/src/pages/steps/StepThanks/StepThanksComponent.d.ts +1 -2
  295. package/dist/src/providers/DIProvider.d.ts +1 -2
  296. package/dist/src/providers/FeatureProvider.js +0 -2
  297. package/dist/src/providers/FeatureProvider.js.map +1 -1
  298. package/dist/src/providers/feature/Feature.d.ts +0 -2
  299. package/dist/src/providers/feature/Feature.js +0 -4
  300. package/dist/src/providers/feature/Feature.js.map +1 -1
  301. package/dist/src/providers/storage/SessionProvider.js +0 -2
  302. package/dist/src/providers/storage/SessionProvider.js.map +1 -1
  303. package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +1 -2
  304. package/dist/src/stories/BookingWizard.stories.d.ts +1 -1
  305. package/dist/src/stories/ConfirmationModal.stories.d.ts +1 -2
  306. package/dist/src/stories/DateRangePicker.stories.d.ts +4 -5
  307. package/dist/src/stories/ErrorModal.stories.d.ts +1 -2
  308. package/dist/src/stories/EventCarousel.stories.d.ts +2 -2
  309. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +2 -2
  310. package/dist/src/stories/IconNavCard.stories.d.ts +2 -2
  311. package/dist/src/stories/NumberIncrement.stories.d.ts +1 -2
  312. package/dist/src/stories/PaymentCard.stories.d.ts +2 -3
  313. package/dist/src/stories/RadioButtonGroup.stories.d.ts +3 -3
  314. package/dist/src/stories/Select.stories.d.ts +3 -3
  315. package/dist/src/stories/SimpleModal.stories.d.ts +1 -2
  316. package/dist/src/stories/Slider.stories.d.ts +2 -3
  317. package/dist/src/stories/TabbedModal.stories.d.ts +1 -2
  318. package/dist/src/stories/Tabs.stories.d.ts +1 -1
  319. package/dist/src/translations/Translation.d.ts +1 -6
  320. package/dist/src/translations/Translation.js +1 -6
  321. package/dist/src/translations/Translation.js.map +1 -1
  322. package/dist/src/translations/languages/en-gb.js +1 -6
  323. package/dist/src/translations/languages/en-gb.js.map +1 -1
  324. package/dist/src/util/TotalCalculator.js.map +1 -1
  325. package/dist/test.bundle.js +1 -1
  326. package/dist/tests/offline/entry/config/hotelSpecDefault.d.ts +1 -2
  327. package/dist/vendors.bundle.js +1 -1
  328. package/dist/vendors.bundle.js.LICENSE.txt +6 -6
  329. package/package.json +2 -2
  330. package/dist/153.bundle.js +0 -1
  331. package/dist/176.bundle.js +0 -1
  332. package/dist/273.bundle.js +0 -1
  333. package/dist/292.bundle.js +0 -1
  334. package/dist/316.bundle.js +0 -1
  335. package/dist/349.bundle.js +0 -2
  336. package/dist/352.bundle.js +0 -1
  337. package/dist/41.bundle.js +0 -1
  338. package/dist/479.bundle.js +0 -1
  339. package/dist/534.bundle.js +0 -1
  340. package/dist/557.bundle.js +0 -1
  341. package/dist/620.bundle.js +0 -1
  342. package/dist/696.bundle.js +0 -1
  343. package/dist/734.bundle.js +0 -1
  344. package/dist/83.bundle.js +0 -1
  345. package/dist/910.bundle.js +0 -1
  346. package/dist/922.bundle.js +0 -1
  347. package/dist/99.bundle.js +0 -1
  348. package/dist/src/components/steps/confirmation/StepConfirmationImportantInformation.d.ts +0 -7
  349. package/dist/src/components/steps/confirmation/StepConfirmationImportantInformation.js +0 -54
  350. package/dist/src/components/steps/confirmation/StepConfirmationImportantInformation.js.map +0 -1
  351. package/dist/src/providers/feature/ConfirmationImportantInformationFeature.d.ts +0 -10
  352. package/dist/src/providers/feature/ConfirmationImportantInformationFeature.js +0 -13
  353. package/dist/src/providers/feature/ConfirmationImportantInformationFeature.js.map +0 -1
@@ -22,15 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
35
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
27
  };
@@ -41,7 +32,6 @@ const classnames_1 = __importDefault(require("classnames"));
41
32
  const react_1 = __importStar(require("react"));
42
33
  const react_i18next_1 = require("react-i18next");
43
34
  const AutoAutoHeight_1 = __importDefault(require("../../../../animations/AutoAutoHeight"));
44
- const BookingAPI_1 = __importDefault(require("../../../../api/BookingAPI"));
45
35
  const Text_1 = __importStar(require("../../Text"));
46
36
  const Translation_1 = require("../../../../translations/Translation");
47
37
  const Color_1 = require("../../../../util/Color");
@@ -49,7 +39,6 @@ const Select_1 = require("../../Select/Select");
49
39
  const BookingWizard_1 = require("../BookingWizard");
50
40
  const BookingWizard_module_scss_1 = __importDefault(require("../BookingWizard.module.scss"));
51
41
  const BookingWizardBottomSheet_1 = __importStar(require("../BookingWizardBottomSheet/BookingWizardBottomSheet"));
52
- const BookingWizardContent_1 = require("../BookingWizardContent");
53
42
  const BookingWizardContext_1 = require("../BookingWizardContext");
54
43
  const BookingWizardHotelSelector_module_scss_1 = __importDefault(require("./BookingWizardHotelSelector.module.scss"));
55
44
  const BookingWizardHotelSelector = (props) => {
@@ -57,127 +46,17 @@ const BookingWizardHotelSelector = (props) => {
57
46
  const { t } = (0, react_i18next_1.useTranslation)();
58
47
  const [open, setOpen] = (0, react_1.useState)(false);
59
48
  const [isOnlyProperty, setIsOnlyProperty] = (0, react_1.useState)(false);
60
- const [finalProperties, setFinalProperties] = (0, react_1.useState)({});
61
- const { selectedProperty, properties, contentClassName, followElement, searchConfig } = props;
62
- const unGrouped = t(Translation_1.Translation.Misc.Ungrouped);
49
+ const { selectedProperty, properties, contentClassName, followElement } = props;
63
50
  (0, react_1.useEffect)(() => {
64
51
  if (stateSections && stateSections[BookingWizard_1.EBookingWizardSection.Property]) {
65
52
  setOpen(stateSections[BookingWizard_1.EBookingWizardSection.Property].opening);
66
53
  }
67
54
  }, [stateSections]);
68
- function getBookingWizardRegions(properties) {
69
- return Array.from(new Set(properties.map((p) => p.bookingWizardRegion)));
70
- }
71
- const combineAddress = (address) => {
72
- if (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.combineAddress) {
73
- return searchConfig.combineAddress(address);
74
- }
75
- const format = (vals) => vals.filter((v) => v && v !== '0').join(', ');
76
- return [format([address === null || address === void 0 ? void 0 : address.line1, address === null || address === void 0 ? void 0 : address.city]), format([address === null || address === void 0 ? void 0 : address.postalCode, address === null || address === void 0 ? void 0 : address.state])].filter(Boolean).join(', ');
77
- };
78
- const fetchPropertyData = () => __awaiter(void 0, void 0, void 0, function* () {
79
- if (!(searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.companyId)) {
80
- setFinalProperties(properties);
81
- return;
82
- }
83
- const fetchedData = yield BookingAPI_1.default.Hotel.fetchBookingWizardData(searchConfig.companyId);
84
- const regions = getBookingWizardRegions(fetchedData);
85
- let tmpFinalProperties = {};
86
- if (regions.length > 1) {
87
- // Build lookup for client properties
88
- const clientMap = Object.fromEntries(Object.values(properties)
89
- .flat()
90
- .map((p) => [p.id, p]));
91
- // Group by API-provided regions
92
- for (const region of regions) {
93
- const matches = fetchedData
94
- .filter((fp) => fp.bookingWizardRegion === region)
95
- .map((fp) => {
96
- var _a;
97
- const clientProp = clientMap[fp.id];
98
- if (!clientProp)
99
- return null;
100
- return Object.assign(Object.assign({}, clientProp), { name: fp.name, address: fp.address, card: {
101
- image: ((_a = clientProp.card) === null || _a === void 0 ? void 0 : _a.image) || fp.logo,
102
- text: combineAddress(fp.address),
103
- } });
104
- })
105
- .filter(Boolean);
106
- if (matches.length > 0) {
107
- tmpFinalProperties[region || unGrouped] = matches;
108
- }
109
- }
110
- }
111
- else {
112
- const fetchedDataMap = Object.fromEntries(fetchedData.map((p) => [p.id, p]));
113
- // Fallback: enrich clientProperties with address
114
- for (const [region, hotels] of Object.entries(properties)) {
115
- tmpFinalProperties[region] = hotels.map((hotel) => {
116
- var _a, _b, _c;
117
- return (Object.assign(Object.assign({}, hotel), { address: (_a = fetchedDataMap[hotel.id]) === null || _a === void 0 ? void 0 : _a.address, card: {
118
- image: (_b = hotel.card) === null || _b === void 0 ? void 0 : _b.image,
119
- text: combineAddress((_c = fetchedDataMap[hotel.id]) === null || _c === void 0 ? void 0 : _c.address),
120
- } }));
121
- });
122
- }
123
- }
124
- if (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.sortCompareFn) {
125
- // Use custom comparator
126
- tmpFinalProperties = Object.fromEntries(Object.entries(tmpFinalProperties)
127
- .sort(([a], [b]) => searchConfig.sortCompareFn(a, b)) // Sort regions
128
- .map(([region, props]) => [region, props.sort((p1, p2) => searchConfig.sortCompareFn(p1, p2))]) // Sort properties
129
- );
130
- }
131
- else {
132
- // Default: Sort regions alphabetically, move unGrouped to the end,
133
- // and also sort properties by name inside each region
134
- tmpFinalProperties = Object.fromEntries(Object.entries(tmpFinalProperties)
135
- .sort(([a], [b]) => {
136
- if (a === unGrouped)
137
- return 1;
138
- if (b === unGrouped)
139
- return -1;
140
- return a.localeCompare(b);
141
- })
142
- .map(([region, props]) => [region, props.sort((p1, p2) => p1.name.localeCompare(p2.name))]));
143
- }
144
- setFinalProperties(tmpFinalProperties);
145
- });
146
- (0, react_1.useEffect)(() => {
147
- fetchPropertyData();
148
- }, [searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.companyId]);
149
- const searchFilter = (bwProperties, searchQuery) => {
150
- var _a, _b;
151
- if (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.searchFilter) {
152
- // Use custom search
153
- return searchConfig.searchFilter(bwProperties, searchQuery);
154
- }
155
- // Default search
156
- const query = ((_a = searchQuery === null || searchQuery === void 0 ? void 0 : searchQuery.trim()) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '';
157
- if (!query || (query && selectedProperty && query === ((_b = selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.name) === null || _b === void 0 ? void 0 : _b.toLowerCase()))) {
158
- return bwProperties;
159
- }
160
- const filtered = {};
161
- for (const [region, hotels] of Object.entries(bwProperties)) {
162
- const matches = hotels.filter((hotel) => {
163
- if (!hotel)
164
- return false;
165
- const { city = '', state = '' } = (hotel === null || hotel === void 0 ? void 0 : hotel.address) || {};
166
- const keywords = [hotel.name, region, city, state].filter(Boolean).map((kw) => kw.toLowerCase());
167
- return keywords.some((kw) => kw.includes(query));
168
- });
169
- if (matches.length > 0) {
170
- filtered[region] = matches;
171
- }
172
- }
173
- return filtered;
174
- };
175
55
  const optionedProperties = (0, react_1.useMemo)(() => {
176
56
  let isOnly = false;
177
57
  const options = [];
178
- const filteredProperties = searchFilter(finalProperties, searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.searchQuery);
179
58
  // Here we group each key as a new TOption Group to order hotels better.
180
- const propertyKeys = Object.keys(filteredProperties);
59
+ const propertyKeys = Object.keys(properties);
181
60
  if (propertyKeys.length > 1) {
182
61
  propertyKeys.forEach((propertyKey) => {
183
62
  var _a;
@@ -187,38 +66,30 @@ const BookingWizardHotelSelector = (props) => {
187
66
  options: [],
188
67
  colors: {},
189
68
  };
190
- for (const property of filteredProperties[propertyKey]) {
69
+ for (const property of properties[propertyKey]) {
191
70
  (_a = option.options) === null || _a === void 0 ? void 0 : _a.push(property);
192
71
  }
193
72
  options.push(option);
194
73
  });
195
74
  }
196
75
  else if (propertyKeys.length === 1) {
197
- filteredProperties[propertyKeys[0]].forEach((option) => {
76
+ properties[propertyKeys[0]].forEach((option) => {
198
77
  options.push(option);
199
78
  });
200
- if (filteredProperties[propertyKeys[0]].length == 1 && filteredProperties[propertyKeys[0]][0].id === (selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.id)) {
79
+ if (properties[propertyKeys[0]].length == 1 && properties[propertyKeys[0]][0].id === (selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.id)) {
201
80
  isOnly = true;
202
81
  }
203
82
  }
204
83
  setIsOnlyProperty(isOnly);
205
84
  return options;
206
- }, [properties, searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.searchQuery, finalProperties]);
85
+ }, [properties]);
207
86
  const onPropertyClick = (property) => {
208
87
  var _a;
209
88
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, property);
210
- searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.setSearchQuery((property === null || property === void 0 ? void 0 : property.name) || '');
211
89
  if (!isImagesThemeMobile) {
212
90
  setOpen(false);
213
91
  }
214
92
  };
215
- const onClearAllHandler = (event) => {
216
- var _a;
217
- (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props);
218
- searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.setSearchQuery('');
219
- event === null || event === void 0 ? void 0 : event.preventDefault();
220
- event === null || event === void 0 ? void 0 : event.stopPropagation();
221
- };
222
93
  const getOption = (key) => {
223
94
  const indexes = Object.keys(properties);
224
95
  for (const index of indexes) {
@@ -230,17 +101,16 @@ const BookingWizardHotelSelector = (props) => {
230
101
  }
231
102
  };
232
103
  const renderOptions = () => {
233
- const filteredProperties = searchFilter(finalProperties, searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.searchQuery);
234
- const indexes = Object.keys(filteredProperties);
104
+ const indexes = Object.keys(properties);
235
105
  if (indexes.length > 1) {
236
- return indexes.map((indexName) => renderGroup(indexName, filteredProperties[indexName]));
106
+ return indexes.map((indexName) => renderGroup(indexName, properties[indexName]));
237
107
  }
238
108
  else if (indexes.length === 1) {
239
- return filteredProperties[indexes[0]].map((property) => renderOption(property));
109
+ return properties[indexes[0]].map((property) => renderOption(property));
240
110
  }
241
111
  };
242
112
  const renderGroup = (name, options) => {
243
- return (react_1.default.createElement("div", { key: name },
113
+ return (react_1.default.createElement(react_1.default.Fragment, null,
244
114
  react_1.default.createElement("div", { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default['container--suggest-list-hotel'], BookingWizardHotelSelector_module_scss_1.default['--group-title']) },
245
115
  react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.DarkGrey }, name)),
246
116
  options.map((option) => renderOption(option))));
@@ -264,7 +134,7 @@ const BookingWizardHotelSelector = (props) => {
264
134
  const onOpenDrawer = () => {
265
135
  setOpen(true);
266
136
  };
267
- if (isOnlyProperty && !searchConfig) {
137
+ if (isOnlyProperty) {
268
138
  return react_1.default.createElement(Text_1.default, null, selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.name);
269
139
  }
270
140
  if (type === 'inline') {
@@ -276,40 +146,24 @@ const BookingWizardHotelSelector = (props) => {
276
146
  const ItemDisplay = () => {
277
147
  return (react_1.default.createElement("div", { className: (0, classnames_1.default)({
278
148
  [BookingWizardHotelSelector_module_scss_1.default['--mini']]: !isImagesThemeMobile && layout === 'horizontal-condensed',
279
- [BookingWizardHotelSelector_module_scss_1.default['item-display']]: isImagesThemeMobile || !!searchConfig,
280
- [BookingWizardHotelSelector_module_scss_1.default['--searchable']]: !!searchConfig,
149
+ [BookingWizardHotelSelector_module_scss_1.default['item-display']]: isImagesThemeMobile,
281
150
  }), onClick: onOpenDrawer },
282
- react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default.optionLabel, {
283
- [BookingWizardHotelSelector_module_scss_1.default.placeholder]: !(selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.name),
284
- [BookingWizardHotelSelector_module_scss_1.default['text-ellipsis-with-icon']]: !!searchConfig,
285
- }), bold: true }, (selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.name) || t(Translation_1.Translation.Misc.PleaseSelectHotelMobile)),
286
- isImagesThemeMobile && !searchConfig ? react_1.default.createElement(ui_1.Icon, { icon: ui_1.IconType.Dropdown }) : null,
287
- searchConfig && react_1.default.createElement(BookingWizardContent_1.BWClearButton, { show: !!searchConfig.searchQuery, onClick: onClearAllHandler, hasLabel: true, hasSearchInput: true }),
288
- searchConfig && react_1.default.createElement(BookingWizardContent_1.BWSearchButton, { show: !searchConfig.searchQuery, hasLabel: true, hasSearchInput: true })));
151
+ react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default.optionLabel, { [BookingWizardHotelSelector_module_scss_1.default.placeholder]: !(selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.name) }), bold: true }, (selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.name) || t(Translation_1.Translation.Misc.PleaseSelectHotelMobile)),
152
+ isImagesThemeMobile ? react_1.default.createElement(ui_1.Icon, { icon: ui_1.IconType.Dropdown }) : null));
289
153
  };
290
- return (react_1.default.createElement("div", { className: (0, classnames_1.default)({
291
- [BookingWizardHotelSelector_module_scss_1.default['container-searchable']]: !!searchConfig,
292
- }) },
154
+ return (react_1.default.createElement(react_1.default.Fragment, null,
293
155
  react_1.default.createElement(ItemDisplay, null),
294
- react_1.default.createElement(BookingWizardBottomSheet_1.default, Object.assign({ className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default.container, BookingWizardHotelSelector_module_scss_1.default['--bottom-sheet'], {
156
+ react_1.default.createElement(BookingWizardBottomSheet_1.default, { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default.container, BookingWizardHotelSelector_module_scss_1.default['--bottom-sheet'], {
295
157
  [BookingWizardHotelSelector_module_scss_1.default['custom-overlay-images-theme']]: isImagesTheme,
296
158
  }), open: open, onDismiss: () => {
297
159
  if (!isImagesThemeMobile) {
298
160
  setOpen(false);
299
161
  }
300
- }, header: react_1.default.createElement(react_1.default.Fragment, null,
301
- react_1.default.createElement(BookingWizardBottomSheet_1.BWBottomSheetHeader, { title: t(Translation_1.Translation.Misc.ChooseHotelMobile), onClose: () => setOpen(false) }),
302
- searchConfig && (react_1.default.createElement("div", { className: BookingWizardHotelSelector_module_scss_1.default.header },
303
- react_1.default.createElement(SelectorSearchBox, { option: selectedProperty, searchConfig: searchConfig, onClearAllHandler: onClearAllHandler })))), footer: react_1.default.createElement(BookingWizardBottomSheet_1.BWBottomSheetFooter, { hidePrev: stateSections[BookingWizard_1.EBookingWizardSection.Property].isFirst, onNext: () => onNextHandler(BookingWizard_1.EBookingWizardSection.Property), disabledNext: !selectedProperty }) }, (searchConfig
304
- ? {
305
- snapPoints: () => [window.innerHeight],
306
- defaultSnap: ({ maxHeight }) => maxHeight,
307
- }
308
- : {})),
309
- react_1.default.createElement("div", { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default.content, contentClassName) }, renderOptions() || react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default['input-no-options']) }, t(Translation_1.Translation.Misc.EmptySearchHotel))))));
162
+ }, header: react_1.default.createElement(BookingWizardBottomSheet_1.BWBottomSheetHeader, { title: t(Translation_1.Translation.Misc.ChooseHotelMobile), onClose: () => setOpen(false) }), footer: react_1.default.createElement(BookingWizardBottomSheet_1.BWBottomSheetFooter, { hidePrev: stateSections[BookingWizard_1.EBookingWizardSection.Property].isFirst, onNext: () => onNextHandler(BookingWizard_1.EBookingWizardSection.Property), disabledNext: !selectedProperty }) },
163
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default.content, contentClassName) }, renderOptions()))));
310
164
  }
311
165
  return (react_1.default.createElement("div", { className: (0, classnames_1.default)({ [BookingWizardHotelSelector_module_scss_1.default['--mini']]: layout === 'horizontal-condensed' }) },
312
- react_1.default.createElement(Select_1.Select, { target: followElement, offset: overlay === null || overlay === void 0 ? void 0 : overlay.offset, options: optionedProperties, value: selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.id, onChange: (value) => onPropertyClick(getOption(value)), keyName: "id", labelName: "name", hideExpandIcon: layout === 'horizontal-condensed' || !!searchConfig, disableNative: true, overlay: {
166
+ react_1.default.createElement(Select_1.Select, { target: followElement, offset: overlay === null || overlay === void 0 ? void 0 : overlay.offset, options: optionedProperties, value: selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.id, onChange: (value) => onPropertyClick(getOption(value)), keyName: "id", labelName: "name", hideExpandIcon: layout === 'horizontal-condensed', disableNative: true, overlay: {
313
167
  containerClassName: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default['custom-overlay'], {
314
168
  [BookingWizardHotelSelector_module_scss_1.default['small-container']]: isSmallContainer,
315
169
  [BookingWizardHotelSelector_module_scss_1.default['custom-overlay-images-theme']]: isImagesTheme,
@@ -323,28 +177,9 @@ const BookingWizardHotelSelector = (props) => {
323
177
  if (property)
324
178
  return renderOption(property);
325
179
  return null;
326
- }, renderLabel: (option) => react_1.default.createElement(SelectorSearchBox, { option: option, searchConfig: searchConfig, onClearAllHandler: onClearAllHandler }), renderNoOptions: (targetRef) => {
327
- var _a;
328
- const width = (_a = targetRef.current) === null || _a === void 0 ? void 0 : _a.clientWidth;
329
- return (react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default['input-no-options']), style: {
330
- width: width,
331
- } }, t(Translation_1.Translation.Misc.EmptySearchHotel)));
332
- }, open: searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.focused })));
180
+ }, renderLabel: (option) => {
181
+ return (react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default.optionLabel, BookingWizard_module_scss_1.default['value']), bold: true }, (option === null || option === void 0 ? void 0 : option.name) || (react_1.default.createElement("span", { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default['hotel-dropdown-label'], BookingWizard_module_scss_1.default['value']) }, t(Translation_1.Translation.Misc.PleaseSelectHotel)))));
182
+ } })));
333
183
  };
334
184
  exports.BookingWizardHotelSelector = BookingWizardHotelSelector;
335
- const SelectorSearchBox = ({ option, searchConfig, onClearAllHandler, }) => {
336
- const { t } = (0, react_i18next_1.useTranslation)();
337
- (0, react_1.useEffect)(() => {
338
- if ((searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.searchQuery.trim()) === '') {
339
- onClearAllHandler();
340
- }
341
- }, [searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.searchQuery]);
342
- if (!searchConfig) {
343
- return (react_1.default.createElement(Text_1.default, { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default.optionLabel, BookingWizard_module_scss_1.default['value']), bold: true }, (option === null || option === void 0 ? void 0 : option.name) || react_1.default.createElement("span", { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default['hotel-dropdown-label'], BookingWizard_module_scss_1.default['value']) }, t(Translation_1.Translation.Misc.PleaseSelectHotel))));
344
- }
345
- return (react_1.default.createElement(react_1.default.Fragment, null,
346
- react_1.default.createElement("input", { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default['input-search'], BookingWizard_module_scss_1.default['text-ellipsis-with-icon'], BookingWizard_module_scss_1.default['value']), type: "text", value: searchConfig.searchQuery || (option === null || option === void 0 ? void 0 : option.name) || '', placeholder: t(Translation_1.Translation.Misc.PleaseSelectHotel), onChange: (e) => searchConfig.setSearchQuery(e.target.value), autoComplete: "off" }),
347
- searchConfig && react_1.default.createElement(BookingWizardContent_1.BWClearButton, { show: !!searchConfig.searchQuery, onClick: onClearAllHandler, hasLabel: true, hasSearchInput: true }),
348
- searchConfig && react_1.default.createElement(BookingWizardContent_1.BWSearchButton, { show: !searchConfig.searchQuery, hasLabel: true, hasSearchInput: true })));
349
- };
350
185
  //# sourceMappingURL=BookingWizardHotelSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BookingWizardHotelSelector.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import { IHotelColorScheme } from '@roomstay/core';\nimport { Icon, IconType } from '@roomstay/ui';\nimport classNames from 'classnames';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport API from '@/api/BookingAPI';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { BookingWizardEngineConfig } from '@/engines/BookingWizardEngine/BookingWizardEngine';\nimport { BookingWizardProperty, IBookingWizardSearchProperty } from '@/models/BookingWizard/BookingWizardProperty';\nimport { TBookingWizardProperties } from '@/models/BookingWizard/BookingWizardTypes';\nimport { Translation } from '@/translations/Translation';\nimport { Color } from '@/util/Color';\n\nimport { Select } from '../../Select/Select';\nimport { EBookingWizardSection } from '../BookingWizard';\nimport bookingWizardStyles from '../BookingWizard.module.scss';\nimport BookingWizardBottomSheet, { BWBottomSheetFooter, BWBottomSheetHeader } from '../BookingWizardBottomSheet/BookingWizardBottomSheet';\nimport { BWClearButton, BWSearchButton } from '../BookingWizardContent';\nimport { useBookingWizard } from '../BookingWizardContext';\nimport styles from './BookingWizardHotelSelector.module.scss';\n\ninterface BookingWizardHotelSelectorProps {\n disabled?: boolean;\n searchable?: boolean;\n\n selectedProperty?: BookingWizardProperty;\n properties: TBookingWizardProperties;\n\n contentClassName?: string;\n followElement?: HTMLElement | null;\n\n onChange?: (hotel?: BookingWizardProperty) => void;\n\n // Search box properties\n searchConfig?: BookingWizardEngineConfig['searchConfig'] & {\n searchQuery: string;\n setSearchQuery: React.Dispatch<React.SetStateAction<string>>;\n focused: boolean;\n };\n}\n\ninterface TOptionedProperties extends BookingWizardProperty {\n options?: BookingWizardProperty[];\n}\n\nexport const BookingWizardHotelSelector = (props: BookingWizardHotelSelectorProps) => {\n const { overlay, type, layout, isSmallContainer, stateSections, isImagesTheme, isImagesThemeMobile, onNextHandler } = useBookingWizard();\n const { t } = useTranslation();\n const [open, setOpen] = useState(false);\n const [isOnlyProperty, setIsOnlyProperty] = useState(false);\n const [finalProperties, setFinalProperties] = useState<TBookingWizardProperties>({});\n const { selectedProperty, properties, contentClassName, followElement, searchConfig } = props;\n const unGrouped = t(Translation.Misc.Ungrouped);\n\n useEffect(() => {\n if (stateSections && stateSections[EBookingWizardSection.Property]) {\n setOpen(stateSections[EBookingWizardSection.Property].opening);\n }\n }, [stateSections]);\n\n function getBookingWizardRegions(properties: IBookingWizardSearchProperty[]): string[] {\n return Array.from(new Set(properties.map((p) => p.bookingWizardRegion)));\n }\n\n const combineAddress = (address: BookingWizardProperty['address']): string => {\n if (searchConfig?.combineAddress) {\n return searchConfig.combineAddress(address);\n }\n const format = (vals: (string | undefined)[]) => vals.filter((v) => v && v !== '0').join(', ');\n return [format([address?.line1, address?.city]), format([address?.postalCode, address?.state])].filter(Boolean).join(', ');\n };\n\n const fetchPropertyData = async () => {\n if (!searchConfig?.companyId) {\n setFinalProperties(properties);\n return;\n }\n\n const fetchedData = await API.Hotel.fetchBookingWizardData(searchConfig.companyId);\n const regions = getBookingWizardRegions(fetchedData);\n let tmpFinalProperties: TBookingWizardProperties = {};\n\n if (regions.length > 1) {\n // Build lookup for client properties\n const clientMap: {\n [k: string]: BookingWizardProperty;\n } = Object.fromEntries(\n Object.values(properties)\n .flat()\n .map((p) => [p.id, p])\n );\n // Group by API-provided regions\n for (const region of regions) {\n const matches = fetchedData\n .filter((fp) => fp.bookingWizardRegion === region)\n .map((fp) => {\n const clientProp = clientMap[fp.id];\n if (!clientProp) return null;\n\n return {\n ...clientProp,\n name: fp.name, // merge name\n address: fp.address, // merge address\n card: {\n image: clientProp.card?.image || fp.logo,\n text: combineAddress(fp.address),\n },\n };\n })\n .filter(Boolean);\n if (matches.length > 0) {\n tmpFinalProperties[region || unGrouped] = matches as BookingWizardProperty[];\n }\n }\n } else {\n const fetchedDataMap: {\n [k: string]: IBookingWizardSearchProperty;\n } = Object.fromEntries(fetchedData.map((p) => [p.id, p]));\n // Fallback: enrich clientProperties with address\n for (const [region, hotels] of Object.entries(properties)) {\n tmpFinalProperties[region] = hotels.map((hotel) => ({\n ...hotel,\n address: fetchedDataMap[hotel.id]?.address, // attach if found\n card: {\n image: hotel.card?.image,\n text: combineAddress(fetchedDataMap[hotel.id]?.address),\n },\n })) as BookingWizardProperty[];\n }\n }\n\n if (searchConfig?.sortCompareFn) {\n // Use custom comparator\n tmpFinalProperties = Object.fromEntries(\n Object.entries(tmpFinalProperties)\n .sort(([a], [b]) => searchConfig.sortCompareFn!(a, b)) // Sort regions\n .map(([region, props]) => [region, props.sort((p1, p2) => searchConfig.sortCompareFn!(p1, p2))]) // Sort properties\n );\n } else {\n // Default: Sort regions alphabetically, move unGrouped to the end,\n // and also sort properties by name inside each region\n tmpFinalProperties = Object.fromEntries(\n Object.entries(tmpFinalProperties)\n .sort(([a], [b]) => {\n if (a === unGrouped) return 1;\n if (b === unGrouped) return -1;\n return a.localeCompare(b);\n })\n .map(([region, props]) => [region, props.sort((p1, p2) => p1.name.localeCompare(p2.name))])\n );\n }\n setFinalProperties(tmpFinalProperties);\n };\n\n useEffect(() => {\n fetchPropertyData();\n }, [searchConfig?.companyId]);\n\n const searchFilter = (bwProperties: TBookingWizardProperties, searchQuery?: string): TBookingWizardProperties => {\n if (searchConfig?.searchFilter) {\n // Use custom search\n return searchConfig.searchFilter(bwProperties, searchQuery);\n }\n // Default search\n const query = searchQuery?.trim()?.toLowerCase() || '';\n\n if (!query || (query && selectedProperty && query === selectedProperty?.name?.toLowerCase())) {\n return bwProperties;\n }\n\n const filtered: TBookingWizardProperties = {};\n\n for (const [region, hotels] of Object.entries(bwProperties)) {\n const matches = hotels.filter((hotel) => {\n if (!hotel) return false;\n\n const { city = '', state = '' } = hotel?.address || {};\n const keywords = [hotel.name, region, city, state].filter(Boolean).map((kw) => kw.toLowerCase());\n\n return keywords.some((kw) => kw.includes(query));\n });\n\n if (matches.length > 0) {\n filtered[region] = matches;\n }\n }\n return filtered;\n };\n\n const optionedProperties = useMemo(() => {\n let isOnly = false;\n\n const options: TOptionedProperties[] = [];\n const filteredProperties = searchFilter(finalProperties, searchConfig?.searchQuery);\n\n // Here we group each key as a new TOption Group to order hotels better.\n const propertyKeys = Object.keys(filteredProperties);\n if (propertyKeys.length > 1) {\n propertyKeys.forEach((propertyKey: string) => {\n const option: TOptionedProperties = {\n name: propertyKey,\n id: '',\n options: [],\n colors: {} as IHotelColorScheme,\n };\n\n for (const property of filteredProperties[propertyKey]) {\n option.options?.push(property);\n }\n\n options.push(option);\n });\n } else if (propertyKeys.length === 1) {\n filteredProperties[propertyKeys[0]].forEach((option) => {\n options.push(option);\n });\n\n if (filteredProperties[propertyKeys[0]].length == 1 && filteredProperties[propertyKeys[0]][0].id === selectedProperty?.id) {\n isOnly = true;\n }\n }\n\n setIsOnlyProperty(isOnly);\n\n return options;\n }, [properties, searchConfig?.searchQuery, finalProperties]);\n\n const onPropertyClick = (property?: BookingWizardProperty): void => {\n props.onChange?.(property);\n searchConfig?.setSearchQuery(property?.name || '');\n\n if (!isImagesThemeMobile) {\n setOpen(false);\n }\n };\n\n const onClearAllHandler = (event?: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n props.onChange?.();\n searchConfig?.setSearchQuery('');\n event?.preventDefault();\n event?.stopPropagation();\n };\n\n const getOption = (key: BookingWizardProperty['id']): BookingWizardProperty | undefined => {\n const indexes = Object.keys(properties);\n\n for (const index of indexes) {\n for (const property of properties[index]) {\n if (key === property.id) {\n return property;\n }\n }\n }\n };\n\n const renderOptions = (): any => {\n const filteredProperties = searchFilter(finalProperties, searchConfig?.searchQuery);\n\n const indexes = Object.keys(filteredProperties);\n\n if (indexes.length > 1) {\n return indexes.map((indexName) => renderGroup(indexName, filteredProperties[indexName]));\n } else if (indexes.length === 1) {\n return filteredProperties[indexes[0]].map((property) => renderOption(property));\n }\n };\n\n const renderGroup = (name: string, options: BookingWizardProperty[]) => {\n return (\n <div key={name}>\n <div className={classNames(styles['container--suggest-list-hotel'], styles['--group-title'])}>\n <Text type={TextType.Small} color={Color.DarkGrey}>\n {name}\n </Text>\n </div>\n {options.map((option) => renderOption(option))}\n </div>\n );\n };\n\n const renderOption = (property: BookingWizardProperty) => {\n if (isImagesTheme) {\n return (\n <div\n key={property.id}\n className={classNames(styles['card'], { [styles['--selected']]: selectedProperty?.id === property.id })}\n onClick={() => onPropertyClick(property)}\n >\n <div className={styles['card-img']}>\n <img src={property?.card?.image} />\n </div>\n <div className={styles['card-body']}>\n <div className={styles['card-title']}>{property.name}</div>\n <div className={styles['card-sub-title']}>{property?.card?.text}</div>\n </div>\n </div>\n );\n } else {\n return (\n <div\n key={property.id}\n className={classNames(styles['container--suggest-list-hotel'], { [styles['--selected']]: selectedProperty?.id === property.id })}\n onClick={() => onPropertyClick(property)}\n >\n <div className={styles['container--suggest-list-hotel-name']}>{property.name}</div>\n <div className={styles.check}></div>\n </div>\n );\n }\n };\n\n const onOpenDrawer = () => {\n setOpen(true);\n };\n\n if (isOnlyProperty && !searchConfig) {\n return <Text>{selectedProperty?.name}</Text>;\n }\n\n if (type === 'inline') {\n return (\n <div className={styles['inline-container']}>\n <AutoAutoHeight open={open}>\n <div className={styles['inline-box']}>{renderOptions()}</div>\n </AutoAutoHeight>\n </div>\n );\n }\n\n if (type === 'bottom-sheet') {\n const ItemDisplay = () => {\n return (\n <div\n className={classNames({\n [styles['--mini']]: !isImagesThemeMobile && layout === 'horizontal-condensed',\n [styles['item-display']]: isImagesThemeMobile || !!searchConfig,\n [styles['--searchable']]: !!searchConfig,\n })}\n onClick={onOpenDrawer}\n >\n <Text\n className={classNames(styles.optionLabel, {\n [styles.placeholder]: !selectedProperty?.name,\n [styles['text-ellipsis-with-icon']]: !!searchConfig,\n })}\n bold\n >\n {selectedProperty?.name || t(Translation.Misc.PleaseSelectHotelMobile)}\n </Text>\n {isImagesThemeMobile && !searchConfig ? <Icon icon={IconType.Dropdown} /> : null}\n {searchConfig && <BWClearButton show={!!searchConfig.searchQuery} onClick={onClearAllHandler} hasLabel hasSearchInput />}\n {searchConfig && <BWSearchButton show={!searchConfig.searchQuery} hasLabel hasSearchInput />}\n </div>\n );\n };\n return (\n <div\n className={classNames({\n [styles['container-searchable']]: !!searchConfig,\n })}\n >\n <ItemDisplay />\n <BookingWizardBottomSheet\n className={classNames(styles.container, styles['--bottom-sheet'], {\n [styles['custom-overlay-images-theme']]: isImagesTheme,\n })}\n open={open}\n onDismiss={() => {\n if (!isImagesThemeMobile) {\n setOpen(false);\n }\n }}\n header={\n <>\n <BWBottomSheetHeader title={t(Translation.Misc.ChooseHotelMobile)} onClose={() => setOpen(false)} />\n {searchConfig && (\n <div className={styles.header}>\n <SelectorSearchBox option={selectedProperty} searchConfig={searchConfig} onClearAllHandler={onClearAllHandler} />\n </div>\n )}\n </>\n }\n footer={\n <BWBottomSheetFooter\n hidePrev={stateSections[EBookingWizardSection.Property].isFirst}\n onNext={() => onNextHandler(EBookingWizardSection.Property)}\n disabledNext={!selectedProperty}\n />\n }\n {...(searchConfig\n ? {\n snapPoints: () => [window.innerHeight],\n defaultSnap: ({ maxHeight }: { maxHeight: number }) => maxHeight,\n }\n : {})}\n >\n <div className={classNames(styles.content, contentClassName)}>\n {renderOptions() || <Text className={classNames(styles['input-no-options'])}>{t(Translation.Misc.EmptySearchHotel)}</Text>}\n </div>\n </BookingWizardBottomSheet>\n </div>\n );\n }\n\n return (\n <div className={classNames({ [styles['--mini']]: layout === 'horizontal-condensed' })}>\n <Select<BookingWizardProperty, 'id'>\n target={followElement}\n offset={overlay?.offset}\n options={optionedProperties}\n value={selectedProperty?.id}\n onChange={(value) => onPropertyClick(getOption(value) as BookingWizardProperty)}\n keyName=\"id\"\n labelName=\"name\"\n hideExpandIcon={layout === 'horizontal-condensed' || !!searchConfig}\n disableNative\n overlay={{\n containerClassName: classNames(styles['custom-overlay'], {\n [styles['small-container']]: isSmallContainer,\n [styles['custom-overlay-images-theme']]: isImagesTheme,\n }),\n strategy: 'absolute',\n usePortal: false,\n placement: overlay?.placement || 'bottom',\n fallbackPlacements: overlay?.fallbackPlacements || 'bottom',\n hideStyles: true,\n }}\n renderOption={(property) => {\n if (property) return renderOption(property);\n return null;\n }}\n renderLabel={(option) => <SelectorSearchBox option={option} searchConfig={searchConfig} onClearAllHandler={onClearAllHandler} />}\n renderNoOptions={(targetRef: React.RefObject<HTMLSpanElement>) => {\n const width = targetRef.current?.clientWidth;\n return (\n <Text\n className={classNames(styles['input-no-options'])}\n style={{\n width: width,\n }}\n >\n {t(Translation.Misc.EmptySearchHotel)}\n </Text>\n );\n }}\n open={searchConfig?.focused}\n />\n </div>\n );\n};\n\nconst SelectorSearchBox = ({\n option,\n searchConfig,\n onClearAllHandler,\n}: {\n option?: BookingWizardProperty | null;\n onClearAllHandler: (event?: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n} & Pick<BookingWizardHotelSelectorProps, 'searchConfig'>) => {\n const { t } = useTranslation();\n useEffect(() => {\n if (searchConfig?.searchQuery.trim() === '') {\n onClearAllHandler();\n }\n }, [searchConfig?.searchQuery]);\n\n if (!searchConfig) {\n return (\n <Text className={classNames(styles.optionLabel, bookingWizardStyles['value'])} bold>\n {option?.name || <span className={classNames(styles['hotel-dropdown-label'], bookingWizardStyles['value'])}>{t(Translation.Misc.PleaseSelectHotel)}</span>}\n </Text>\n );\n }\n\n return (\n <>\n <input\n className={classNames(styles['input-search'], bookingWizardStyles['text-ellipsis-with-icon'], bookingWizardStyles['value'])}\n type=\"text\"\n value={searchConfig.searchQuery || option?.name || ''}\n placeholder={t(Translation.Misc.PleaseSelectHotel)}\n onChange={(e) => searchConfig.setSearchQuery(e.target.value)}\n autoComplete=\"off\"\n />\n {searchConfig && <BWClearButton show={!!searchConfig.searchQuery} onClick={onClearAllHandler} hasLabel hasSearchInput />}\n {searchConfig && <BWSearchButton show={!searchConfig.searchQuery} hasLabel hasSearchInput />}\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"BookingWizardHotelSelector.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import { IHotelColorScheme } from '@roomstay/core';\nimport { Icon, IconType } from '@roomstay/ui';\nimport classNames from 'classnames';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nimport { TBookingWizardProperties } from '@/models/BookingWizard/BookingWizardTypes';\nimport { Translation } from '@/translations/Translation';\nimport { Color } from '@/util/Color';\n\nimport { Select } from '../../Select/Select';\nimport { EBookingWizardSection } from '../BookingWizard';\nimport bookingWizardStyles from '../BookingWizard.module.scss';\nimport BookingWizardBottomSheet, { BWBottomSheetFooter, BWBottomSheetHeader } from '../BookingWizardBottomSheet/BookingWizardBottomSheet';\nimport { useBookingWizard } from '../BookingWizardContext';\nimport styles from './BookingWizardHotelSelector.module.scss';\ninterface BookingWizardHotelSelectorProps {\n disabled?: boolean;\n\n selectedProperty?: BookingWizardProperty;\n properties: TBookingWizardProperties;\n\n contentClassName?: string;\n followElement?: HTMLElement | null;\n\n onChange?: (hotel: BookingWizardProperty | null) => void;\n}\n\ninterface TOptionedProperties extends BookingWizardProperty {\n options?: BookingWizardProperty[];\n}\n\nexport const BookingWizardHotelSelector = (props: BookingWizardHotelSelectorProps) => {\n const { overlay, type, layout, isSmallContainer, stateSections, isImagesTheme, isImagesThemeMobile, onNextHandler } = useBookingWizard();\n const { t } = useTranslation();\n const [open, setOpen] = useState(false);\n const [isOnlyProperty, setIsOnlyProperty] = useState(false);\n\n const { selectedProperty, properties, contentClassName, followElement } = props;\n\n useEffect(() => {\n if (stateSections && stateSections[EBookingWizardSection.Property]) {\n setOpen(stateSections[EBookingWizardSection.Property].opening);\n }\n }, [stateSections]);\n\n const optionedProperties = useMemo(() => {\n let isOnly = false;\n\n const options: TOptionedProperties[] = [];\n\n // Here we group each key as a new TOption Group to order hotels better.\n const propertyKeys = Object.keys(properties);\n if (propertyKeys.length > 1) {\n propertyKeys.forEach((propertyKey: string) => {\n const option: TOptionedProperties = {\n name: propertyKey,\n id: '',\n options: [],\n colors: {} as IHotelColorScheme,\n };\n\n for (const property of properties[propertyKey]) {\n option.options?.push(property);\n }\n\n options.push(option);\n });\n } else if (propertyKeys.length === 1) {\n properties[propertyKeys[0]].forEach((option) => {\n options.push(option);\n });\n\n if (properties[propertyKeys[0]].length == 1 && properties[propertyKeys[0]][0].id === selectedProperty?.id) {\n isOnly = true;\n }\n }\n\n setIsOnlyProperty(isOnly);\n\n return options;\n }, [properties]);\n\n const onPropertyClick = (property: BookingWizardProperty): void => {\n props.onChange?.(property);\n\n if (!isImagesThemeMobile) {\n setOpen(false);\n }\n };\n\n const getOption = (key: BookingWizardProperty['id']): BookingWizardProperty | undefined => {\n const indexes = Object.keys(properties);\n\n for (const index of indexes) {\n for (const property of properties[index]) {\n if (key === property.id) {\n return property;\n }\n }\n }\n };\n\n const renderOptions = (): any => {\n const indexes = Object.keys(properties);\n\n if (indexes.length > 1) {\n return indexes.map((indexName) => renderGroup(indexName, properties[indexName]));\n } else if (indexes.length === 1) {\n return properties[indexes[0]].map((property) => renderOption(property));\n }\n };\n\n const renderGroup = (name: string, options: BookingWizardProperty[]) => {\n return (\n <>\n <div className={classNames(styles['container--suggest-list-hotel'], styles['--group-title'])}>\n <Text type={TextType.Small} color={Color.DarkGrey}>\n {name}\n </Text>\n </div>\n {options.map((option) => renderOption(option))}\n </>\n );\n };\n\n const renderOption = (property: BookingWizardProperty) => {\n if (isImagesTheme) {\n return (\n <div\n key={property.id}\n className={classNames(styles['card'], { [styles['--selected']]: selectedProperty?.id === property.id })}\n onClick={() => onPropertyClick(property)}\n >\n <div className={styles['card-img']}>\n <img src={property?.card?.image} />\n </div>\n <div className={styles['card-body']}>\n <div className={styles['card-title']}>{property.name}</div>\n <div className={styles['card-sub-title']}>{property?.card?.text}</div>\n </div>\n </div>\n );\n } else {\n return (\n <div\n key={property.id}\n className={classNames(styles['container--suggest-list-hotel'], { [styles['--selected']]: selectedProperty?.id === property.id })}\n onClick={() => onPropertyClick(property)}\n >\n <div className={styles['container--suggest-list-hotel-name']}>{property.name}</div>\n <div className={styles.check}></div>\n </div>\n );\n }\n };\n\n const onOpenDrawer = () => {\n setOpen(true);\n };\n\n if (isOnlyProperty) {\n return <Text>{selectedProperty?.name}</Text>;\n }\n\n if (type === 'inline') {\n return (\n <div className={styles['inline-container']}>\n <AutoAutoHeight open={open}>\n <div className={styles['inline-box']}>{renderOptions()}</div>\n </AutoAutoHeight>\n </div>\n );\n }\n\n if (type === 'bottom-sheet') {\n const ItemDisplay = () => {\n return (\n <div\n className={classNames({\n [styles['--mini']]: !isImagesThemeMobile && layout === 'horizontal-condensed',\n [styles['item-display']]: isImagesThemeMobile,\n })}\n onClick={onOpenDrawer}\n >\n <Text className={classNames(styles.optionLabel, { [styles.placeholder]: !selectedProperty?.name })} bold>\n {selectedProperty?.name || t(Translation.Misc.PleaseSelectHotelMobile)}\n </Text>\n {isImagesThemeMobile ? <Icon icon={IconType.Dropdown} /> : null}\n </div>\n );\n };\n return (\n <>\n <ItemDisplay />\n <BookingWizardBottomSheet\n className={classNames(styles.container, styles['--bottom-sheet'], {\n [styles['custom-overlay-images-theme']]: isImagesTheme,\n })}\n open={open}\n onDismiss={() => {\n if (!isImagesThemeMobile) {\n setOpen(false);\n }\n }}\n header={<BWBottomSheetHeader title={t(Translation.Misc.ChooseHotelMobile)} onClose={() => setOpen(false)} />}\n footer={\n <BWBottomSheetFooter\n hidePrev={stateSections[EBookingWizardSection.Property].isFirst}\n onNext={() => onNextHandler(EBookingWizardSection.Property)}\n disabledNext={!selectedProperty}\n />\n }\n >\n <div className={classNames(styles.content, contentClassName)}>{renderOptions()}</div>\n </BookingWizardBottomSheet>\n </>\n );\n }\n\n return (\n <div className={classNames({ [styles['--mini']]: layout === 'horizontal-condensed' })}>\n <Select<BookingWizardProperty, 'id'>\n target={followElement}\n offset={overlay?.offset}\n options={optionedProperties}\n value={selectedProperty?.id}\n onChange={(value) => onPropertyClick(getOption(value) as BookingWizardProperty)}\n keyName=\"id\"\n labelName=\"name\"\n hideExpandIcon={layout === 'horizontal-condensed'}\n disableNative\n overlay={{\n containerClassName: classNames(styles['custom-overlay'], {\n [styles['small-container']]: isSmallContainer,\n [styles['custom-overlay-images-theme']]: isImagesTheme,\n }),\n strategy: 'absolute',\n usePortal: false,\n placement: overlay?.placement || 'bottom',\n fallbackPlacements: overlay?.fallbackPlacements || 'bottom',\n hideStyles: true,\n }}\n renderOption={(property) => {\n if (property) return renderOption(property);\n return null;\n }}\n renderLabel={(option) => {\n return (\n <Text className={classNames(styles.optionLabel, bookingWizardStyles['value'])} bold>\n {option?.name || (\n <span className={classNames(styles['hotel-dropdown-label'], bookingWizardStyles['value'])}>{t(Translation.Misc.PleaseSelectHotel)}</span>\n )}\n </Text>\n );\n }}\n />\n </div>\n );\n};\n"]}
@@ -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;