@roomstay/frontend 2.6.58 → 2.6.60

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 (69) hide show
  1. package/dist/449.bundle.js +1 -1
  2. package/dist/903.bundle.js +1 -1
  3. package/dist/main.bundle.js +1 -1
  4. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +1 -1
  5. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  6. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +9 -1
  7. package/dist/src/components/generic/BookingWizard/BookingWizard.js +86 -1
  8. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  9. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +14 -1
  10. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js +27 -0
  11. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js.map +1 -1
  12. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +19 -0
  13. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +116 -30
  14. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  15. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +12 -1
  16. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
  17. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +6 -2
  18. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +96 -29
  19. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  20. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +18 -3
  21. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +118 -27
  22. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  23. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +53 -18
  24. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  25. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js +5 -2
  26. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js.map +1 -1
  27. package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +6 -0
  28. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +8 -7
  29. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
  30. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.d.ts +2 -0
  31. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +11 -2
  32. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
  33. package/dist/src/components/steps/hotel/HotelCard.js +22 -5
  34. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  35. package/dist/src/components/steps/room/ImageGallerySlider.js +5 -3
  36. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  37. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +7 -1
  38. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
  39. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +3 -1
  40. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +47 -21
  41. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  42. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +3 -1
  43. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +7 -6
  44. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  45. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +9 -2
  46. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  47. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.d.ts +4 -0
  48. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js.map +1 -1
  49. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +28 -0
  50. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +202 -41
  51. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  52. package/dist/src/index.d.ts +1 -0
  53. package/dist/src/index.js +5 -2
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +4 -0
  56. package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -1
  57. package/dist/src/pages/findReservation/FindReservation.js +15 -4
  58. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  59. package/dist/src/pages/hotel/HotelInfo.js +1 -1
  60. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  61. package/dist/src/translations/Translation.d.ts +7 -1
  62. package/dist/src/translations/Translation.js +7 -1
  63. package/dist/src/translations/Translation.js.map +1 -1
  64. package/dist/src/translations/languages/en-gb.js +7 -1
  65. package/dist/src/translations/languages/en-gb.js.map +1 -1
  66. package/dist/test.bundle.js +1 -1
  67. package/dist/tests/offline/entry/config/hotelSpecDefault.js +1 -1
  68. package/dist/tests/offline/entry/config/hotelSpecDefault.js.map +1 -1
  69. package/package.json +1 -1
@@ -6,6 +6,7 @@ export { default as AutoAutoHeight } from './animations/AutoAutoHeight';
6
6
  export * from './components/generic/Alert';
7
7
  export { default as Alert } from './components/generic/Alert';
8
8
  export { default as BEButton } from './components/generic/BEButton';
9
+ export { EBookingWizardOverlayDirection, EBookingWizardTheme } from './components/generic/BookingWizard/BookingWizard';
9
10
  export { default as Checkbox } from './components/generic/Checkbox/Checkbox';
10
11
  export { default as Currency } from './components/generic/Currency';
11
12
  export { default as Headline } from './components/generic/Headline';
package/dist/src/index.js CHANGED
@@ -17,8 +17,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.registerReplacement = exports.ShowIATANumberOnCheckoutFeature = exports.RoomUpsellFeature = exports.RoomRateReadMoreVersionFeature = exports.PlanPayPricePreviewFeature = exports.MemberPortalFeature = exports.InlineAddonStepFeature = exports.GuestTitleFieldFeature = exports.FullPageEngineSmallSpacingFeature = exports.FeaturedPromoFeature = exports.E164PhoneNumberFieldFeature = exports.DerbysoftClickTrackingFeature = exports.DatePickerTypeFeature = exports.ConfirmationVerifyFeature = exports.SessionProvider = exports.LocalStorageProvider = exports.RoomSort = exports.RatePillProvider = exports.FeatureProvider = exports.CurrencyProvider = exports.SmallSpinner = exports.StepNoRoomBestRateAlert = exports.RoomModalPerkRow = exports.BE_ROOM_MODAL_PERK_ROW = exports.RatesNotFoundBlock = exports.BE_RATES_NOT_FOUND_BLOCK = exports.NoRoomsFoundBlock = exports.BE_NO_ROOMS_FOUND_BLOCK = exports.HotelInfoPerksRow = exports.BE_HOTEL_INFO_PERK_ROW = exports.OccupancyWarningBlock = exports.BE_OCCUPANCY_WARNING_BLOCK = exports.StepConfirmationCountrySelector = exports.BE_NO_ADDONS_FOUND_BLOCK = exports.AddonsNotFoundBlock = exports.TextBox = exports.TextArea = exports.RadioFields = exports.LineBreak = exports.InputGroup = exports.Icon = exports.Headline = exports.Currency = exports.Checkbox = exports.BEButton = exports.Alert = exports.AutoAutoHeight = exports.Link = exports.useTranslation = exports.react = void 0;
21
- exports.Version = exports.events = exports.RoomstayEventManager = exports.StepManager = exports.StepThanks = exports.StepRoom = exports.StepHotel = exports.StepGroupedRoom = exports.StepDate = exports.StepConfirmation = exports.StepAddon = exports.HotelDataSource = exports.API = exports.useFormContext = exports.DataLayer = exports.RoomstayThemeEngine = exports.withDI = void 0;
20
+ exports.RoomUpsellFeature = exports.RoomRateReadMoreVersionFeature = exports.PlanPayPricePreviewFeature = exports.MemberPortalFeature = exports.InlineAddonStepFeature = exports.GuestTitleFieldFeature = exports.FullPageEngineSmallSpacingFeature = exports.FeaturedPromoFeature = exports.E164PhoneNumberFieldFeature = exports.DerbysoftClickTrackingFeature = exports.DatePickerTypeFeature = exports.ConfirmationVerifyFeature = exports.SessionProvider = exports.LocalStorageProvider = exports.RoomSort = exports.RatePillProvider = exports.FeatureProvider = exports.CurrencyProvider = exports.SmallSpinner = exports.StepNoRoomBestRateAlert = exports.RoomModalPerkRow = exports.BE_ROOM_MODAL_PERK_ROW = exports.RatesNotFoundBlock = exports.BE_RATES_NOT_FOUND_BLOCK = exports.NoRoomsFoundBlock = exports.BE_NO_ROOMS_FOUND_BLOCK = exports.HotelInfoPerksRow = exports.BE_HOTEL_INFO_PERK_ROW = exports.OccupancyWarningBlock = exports.BE_OCCUPANCY_WARNING_BLOCK = exports.StepConfirmationCountrySelector = exports.BE_NO_ADDONS_FOUND_BLOCK = exports.AddonsNotFoundBlock = exports.TextBox = exports.TextArea = exports.RadioFields = exports.LineBreak = exports.InputGroup = exports.Icon = exports.Headline = exports.Currency = exports.Checkbox = exports.EBookingWizardTheme = exports.EBookingWizardOverlayDirection = exports.BEButton = exports.Alert = exports.AutoAutoHeight = exports.Link = exports.useTranslation = exports.react = void 0;
21
+ exports.Version = exports.events = exports.RoomstayEventManager = exports.StepManager = exports.StepThanks = exports.StepRoom = exports.StepHotel = exports.StepGroupedRoom = exports.StepDate = exports.StepConfirmation = exports.StepAddon = exports.HotelDataSource = exports.API = exports.useFormContext = exports.DataLayer = exports.RoomstayThemeEngine = exports.withDI = exports.registerReplacement = exports.ShowIATANumberOnCheckoutFeature = void 0;
22
22
  // TODO: Look into resolving this.
23
23
  const react_1 = __importDefault(require("react"));
24
24
  const StepConfirmation_1 = __importDefault(require("./pages/steps/StepConfirmation/StepConfirmation"));
@@ -40,6 +40,9 @@ var Alert_1 = require("./components/generic/Alert");
40
40
  Object.defineProperty(exports, "Alert", { enumerable: true, get: function () { return __importDefault(Alert_1).default; } });
41
41
  var BEButton_1 = require("./components/generic/BEButton");
42
42
  Object.defineProperty(exports, "BEButton", { enumerable: true, get: function () { return __importDefault(BEButton_1).default; } });
43
+ var BookingWizard_1 = require("./components/generic/BookingWizard/BookingWizard");
44
+ Object.defineProperty(exports, "EBookingWizardOverlayDirection", { enumerable: true, get: function () { return BookingWizard_1.EBookingWizardOverlayDirection; } });
45
+ Object.defineProperty(exports, "EBookingWizardTheme", { enumerable: true, get: function () { return BookingWizard_1.EBookingWizardTheme; } });
43
46
  var Checkbox_1 = require("./components/generic/Checkbox/Checkbox");
44
47
  Object.defineProperty(exports, "Checkbox", { enumerable: true, get: function () { return __importDefault(Checkbox_1).default; } });
45
48
  var Currency_1 = require("./components/generic/Currency");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO: Look into resolving this.\nimport ReactRaw from 'react';\n\nimport StepConfirmation from '@/pages/steps/StepConfirmation/StepConfirmation';\nimport StepDate from '@/pages/steps/StepDate/StepDate';\nimport StepRoom from '@/pages/steps/StepRoom/StepRoom';\nimport StepThanks from '@/pages/steps/StepThanks/StepThanks';\nimport StepManager from '@/util/StepManager';\n\nimport RoomstayEventManager from './events/RoomstayEventManager';\n\nexport const react = ReactRaw;\n\nexport { useTranslation } from 'react-i18next';\nexport { Link } from 'react-router-dom';\n\n// Components\nexport { default as AutoAutoHeight } from '@/animations/AutoAutoHeight';\nexport * from '@/components/generic/Alert';\nexport { default as Alert } from '@/components/generic/Alert';\nexport { default as BEButton } from '@/components/generic/BEButton';\nexport { default as Checkbox } from '@/components/generic/Checkbox/Checkbox';\nexport { default as Currency } from '@/components/generic/Currency';\nexport { default as Headline } from '@/components/generic/Headline';\nexport { default as Icon } from '@/components/generic/Icon/Icon';\nexport * from '@/components/generic/Icon/Icon';\nexport { default as InputGroup } from '@/components/generic/InputGroup/InputGroup';\nexport { default as LineBreak } from '@/components/generic/LineBreak';\nexport { default as RadioFields } from '@/components/generic/radio/RadioFields';\nexport * from '@/components/generic/Select/index';\nexport * from '@/components/generic/Text';\nexport { default as TextArea } from '@/components/generic/TextArea';\nexport { default as TextBox } from '@/components/generic/TextBox';\nexport { default as AddonsNotFoundBlock, BE_NO_ADDONS_FOUND_BLOCK } from '@/components/steps/addons/AddonsNotFoundBlock';\nexport * from '@/components/steps/confirmation/StepConfirmationCommentsComponent';\nexport { default as StepConfirmationCountrySelector } from '@/components/steps/confirmation/StepConfirmationCountrySelector';\nexport { BE_OCCUPANCY_WARNING_BLOCK, default as OccupancyWarningBlock } from '@/components/steps/date/OccupancyWarningBlock';\nexport type { HotelInfoPerkRowProps } from '@/components/steps/hotel/HotelInfoPerksRow';\nexport { BE_HOTEL_INFO_PERK_ROW } from '@/components/steps/hotel/HotelInfoPerksRow';\nexport { default as HotelInfoPerksRow } from '@/components/steps/hotel/HotelInfoPerksRow';\nexport { BE_NO_ROOMS_FOUND_BLOCK } from '@/components/steps/room/NoRoomsFoundBlock';\nexport { default as NoRoomsFoundBlock } from '@/components/steps/room/NoRoomsFoundBlock';\nexport { BE_RATES_NOT_FOUND_BLOCK, default as RatesNotFoundBlock } from '@/components/steps/room/RatesNotFoundBlock';\nexport type { RoomModalPerkRowProps } from '@/components/steps/room/RoomModalPerkRow';\nexport { BE_ROOM_MODAL_PERK_ROW } from '@/components/steps/room/RoomModalPerkRow';\nexport { default as RoomModalPerkRow } from '@/components/steps/room/RoomModalPerkRow';\nexport * from '@/components/steps/room/StepRoomBestRateAlert';\nexport { default as StepNoRoomBestRateAlert } from '@/components/steps/room/StepRoomBestRateAlert';\nexport * from '@/components/summary/BESummary';\nexport * from '@/components/summary/BESummaryPerkBlock';\nexport * from '@/engines/BookingWizardEngine/BookingWizardEngine';\nexport * from '@/engines/CustomEngine/CustomEngine';\nexport * from '@/engines/FullPageBookingEngine/FullPageBookingEngine';\nexport * from '@/engines/InlineRoomMiniEngine/InlineRoomMiniEngine';\nexport * from '@/engines/MemberPortalWidget/MemberPortalWidget';\nexport * from '@/engines/RecentSearchesEngine/RecentSearchesEngine';\n\n// Loaders\nexport { default as SmallSpinner } from '@/components/generic/loader/SmallSpinner';\n\n// Providers\nexport * from '@/providers/CurrencyProvider';\nexport { default as CurrencyProvider } from '@/providers/CurrencyProvider';\nexport { default as FeatureProvider } from '@/providers/FeatureProvider';\nexport * from '@/providers/LanguageProvider';\nexport * from '@/providers/PromotionProvider';\nexport { default as RatePillProvider } from '@/providers/RatePillProvider';\nexport { RoomSort } from '@/providers/RoomSortProvider';\nexport { default as LocalStorageProvider } from '@/providers/storage/LocalStorageProvider';\nexport { default as SessionProvider } from '@/providers/storage/SessionProvider';\n\n// Features\n\nexport { default as ConfirmationVerifyFeature } from '@/providers/feature/ConfirmationVerifyFeature';\nexport { default as DatePickerTypeFeature } from '@/providers/feature/DatePickerTypeFeature';\nexport { default as DerbysoftClickTrackingFeature } from '@/providers/feature/DerbysoftClickTrackingFeature';\nexport { default as E164PhoneNumberFieldFeature } from '@/providers/feature/E164PhoneNumberFieldFeature';\nexport { default as FeaturedPromoFeature } from '@/providers/feature/FeaturedPromoFeature';\nexport { default as FullPageEngineSmallSpacingFeature } from '@/providers/feature/FullPageEngineSmallSpacingFeature';\nexport { default as GuestTitleFieldFeature } from '@/providers/feature/GuestTitleFieldFeature';\nexport { default as InlineAddonStepFeature } from '@/providers/feature/InlineAddonStepFeature';\nexport { default as MemberPortalFeature } from '@/providers/feature/MemberPortalFeature';\nexport { default as PlanPayPricePreviewFeature } from '@/providers/feature/PlanPayPricePreviewFeature';\nexport { default as RoomRateReadMoreVersionFeature } from '@/providers/feature/RoomRateReadMoreVersionFeature';\nexport { default as RoomUpsellFeature } from '@/providers/feature/RoomUpsellFeature';\nexport { default as ShowIATANumberOnCheckoutFeature } from '@/providers/feature/ShowIATANumberOnCheckoutFeature';\n\n// Contexts\nexport { registerReplacement, withDI } from '@/providers/DIProvider';\nexport * from '@/providers/RoomstayThemeEngine';\nexport { default as RoomstayThemeEngine } from '@/providers/RoomstayThemeEngine';\nexport * from '@/util/Analytics/Analytics';\nexport * from '@/util/Analytics/GoogleAnalytics4';\nexport * from '@/util/Analytics/UniversalAnalytics';\nexport { default as DataLayer } from '@/util/DataLayer';\nexport * from '@/util/DataLayer';\nexport * from '@/util/DefaultValueManager';\nexport * from '@/util/RouteManager';\nexport * from '@frontend/contexts';\nexport { useFormContext } from 'react-hook-form';\n\n// Models\nexport { default as API } from '@/api/BookingAPI';\nexport * from '@/models/Api/HotelDTO';\nexport * from '@/models/Api/HotelOverrideDTO';\nexport type { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nexport * from '@/models/Client/Hotel/Company';\nexport * from '@/models/Client/Hotel/DistanceUnitType.types';\nexport * from '@/models/Client/Hotel/Hotel';\nexport { HotelDataSource } from '@/models/Client/Hotel/HotelDataSource.types';\nexport * from '@/models/Client/Hotel/HotelPerk';\nexport * from '@/models/Client/Hotel/WeekdayStartsOn.types';\n\n// Steps\nexport { default as StepAddon } from '@/pages/steps/StepAddon/StepAddon';\nexport { default as StepConfirmation } from '@/pages/steps/StepConfirmation/StepConfirmation';\nexport { default as StepDate } from '@/pages/steps/StepDate/StepDate';\nexport { default as StepGroupedRoom } from '@/pages/steps/StepGroupedRoom/StepGroupedRoom';\nexport { default as StepHotel } from '@/pages/steps/StepHotel/StepHotel';\nexport { default as StepRoom } from '@/pages/steps/StepRoom/StepRoom';\nexport { default as StepThanks } from '@/pages/steps/StepThanks/StepThanks';\nexport * from '@/translations/Translation';\nexport { default as StepManager } from '@/util/StepManager';\n\n// Util\n\nexport type { default as ColorProfile } from '@/models/Client/Hotel/ColorProfile';\nexport * from '@/util/Color';\nexport * from '@/util/Debounce';\n\n// Hooks\n\nexport * from '@/events/index';\nexport * from '@/hooks/CurrentHotelHook';\nexport * from '@/hooks/EventHook';\n\n/** @deprecated use `roomstay.events` instead */\nexport { default as RoomstayEventManager } from '@/events/RoomstayEventManager';\n\nexport const events = {\n on: RoomstayEventManager.addEvent,\n raise: RoomstayEventManager.raise,\n};\n\nexport * from './config';\n\ndeclare const RS_VERSION: string;\nexport const Version = RS_VERSION;\n\nStepManager.currentSteps = {\n 0: StepDate,\n 10: StepRoom,\n 20: StepConfirmation,\n 30: StepThanks,\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO: Look into resolving this.\nimport ReactRaw from 'react';\n\nimport StepConfirmation from '@/pages/steps/StepConfirmation/StepConfirmation';\nimport StepDate from '@/pages/steps/StepDate/StepDate';\nimport StepRoom from '@/pages/steps/StepRoom/StepRoom';\nimport StepThanks from '@/pages/steps/StepThanks/StepThanks';\nimport StepManager from '@/util/StepManager';\n\nimport RoomstayEventManager from './events/RoomstayEventManager';\n\nexport const react = ReactRaw;\n\nexport { useTranslation } from 'react-i18next';\nexport { Link } from 'react-router-dom';\n\n// Components\nexport { default as AutoAutoHeight } from '@/animations/AutoAutoHeight';\nexport * from '@/components/generic/Alert';\nexport { default as Alert } from '@/components/generic/Alert';\nexport { default as BEButton } from '@/components/generic/BEButton';\nexport { EBookingWizardOverlayDirection, EBookingWizardTheme } from '@/components/generic/BookingWizard/BookingWizard';\nexport { default as Checkbox } from '@/components/generic/Checkbox/Checkbox';\nexport { default as Currency } from '@/components/generic/Currency';\nexport { default as Headline } from '@/components/generic/Headline';\nexport { default as Icon } from '@/components/generic/Icon/Icon';\nexport * from '@/components/generic/Icon/Icon';\nexport { default as InputGroup } from '@/components/generic/InputGroup/InputGroup';\nexport { default as LineBreak } from '@/components/generic/LineBreak';\nexport { default as RadioFields } from '@/components/generic/radio/RadioFields';\nexport * from '@/components/generic/Select/index';\nexport * from '@/components/generic/Text';\nexport { default as TextArea } from '@/components/generic/TextArea';\nexport { default as TextBox } from '@/components/generic/TextBox';\nexport { default as AddonsNotFoundBlock, BE_NO_ADDONS_FOUND_BLOCK } from '@/components/steps/addons/AddonsNotFoundBlock';\nexport * from '@/components/steps/confirmation/StepConfirmationCommentsComponent';\nexport { default as StepConfirmationCountrySelector } from '@/components/steps/confirmation/StepConfirmationCountrySelector';\nexport { BE_OCCUPANCY_WARNING_BLOCK, default as OccupancyWarningBlock } from '@/components/steps/date/OccupancyWarningBlock';\nexport type { HotelInfoPerkRowProps } from '@/components/steps/hotel/HotelInfoPerksRow';\nexport { BE_HOTEL_INFO_PERK_ROW } from '@/components/steps/hotel/HotelInfoPerksRow';\nexport { default as HotelInfoPerksRow } from '@/components/steps/hotel/HotelInfoPerksRow';\nexport { BE_NO_ROOMS_FOUND_BLOCK } from '@/components/steps/room/NoRoomsFoundBlock';\nexport { default as NoRoomsFoundBlock } from '@/components/steps/room/NoRoomsFoundBlock';\nexport { BE_RATES_NOT_FOUND_BLOCK, default as RatesNotFoundBlock } from '@/components/steps/room/RatesNotFoundBlock';\nexport type { RoomModalPerkRowProps } from '@/components/steps/room/RoomModalPerkRow';\nexport { BE_ROOM_MODAL_PERK_ROW } from '@/components/steps/room/RoomModalPerkRow';\nexport { default as RoomModalPerkRow } from '@/components/steps/room/RoomModalPerkRow';\nexport * from '@/components/steps/room/StepRoomBestRateAlert';\nexport { default as StepNoRoomBestRateAlert } from '@/components/steps/room/StepRoomBestRateAlert';\nexport * from '@/components/summary/BESummary';\nexport * from '@/components/summary/BESummaryPerkBlock';\nexport * from '@/engines/BookingWizardEngine/BookingWizardEngine';\nexport * from '@/engines/CustomEngine/CustomEngine';\nexport * from '@/engines/FullPageBookingEngine/FullPageBookingEngine';\nexport * from '@/engines/InlineRoomMiniEngine/InlineRoomMiniEngine';\nexport * from '@/engines/MemberPortalWidget/MemberPortalWidget';\nexport * from '@/engines/RecentSearchesEngine/RecentSearchesEngine';\n\n// Loaders\nexport { default as SmallSpinner } from '@/components/generic/loader/SmallSpinner';\n\n// Providers\nexport * from '@/providers/CurrencyProvider';\nexport { default as CurrencyProvider } from '@/providers/CurrencyProvider';\nexport { default as FeatureProvider } from '@/providers/FeatureProvider';\nexport * from '@/providers/LanguageProvider';\nexport * from '@/providers/PromotionProvider';\nexport { default as RatePillProvider } from '@/providers/RatePillProvider';\nexport { RoomSort } from '@/providers/RoomSortProvider';\nexport { default as LocalStorageProvider } from '@/providers/storage/LocalStorageProvider';\nexport { default as SessionProvider } from '@/providers/storage/SessionProvider';\n\n// Features\n\nexport { default as ConfirmationVerifyFeature } from '@/providers/feature/ConfirmationVerifyFeature';\nexport { default as DatePickerTypeFeature } from '@/providers/feature/DatePickerTypeFeature';\nexport { default as DerbysoftClickTrackingFeature } from '@/providers/feature/DerbysoftClickTrackingFeature';\nexport { default as E164PhoneNumberFieldFeature } from '@/providers/feature/E164PhoneNumberFieldFeature';\nexport { default as FeaturedPromoFeature } from '@/providers/feature/FeaturedPromoFeature';\nexport { default as FullPageEngineSmallSpacingFeature } from '@/providers/feature/FullPageEngineSmallSpacingFeature';\nexport { default as GuestTitleFieldFeature } from '@/providers/feature/GuestTitleFieldFeature';\nexport { default as InlineAddonStepFeature } from '@/providers/feature/InlineAddonStepFeature';\nexport { default as MemberPortalFeature } from '@/providers/feature/MemberPortalFeature';\nexport { default as PlanPayPricePreviewFeature } from '@/providers/feature/PlanPayPricePreviewFeature';\nexport { default as RoomRateReadMoreVersionFeature } from '@/providers/feature/RoomRateReadMoreVersionFeature';\nexport { default as RoomUpsellFeature } from '@/providers/feature/RoomUpsellFeature';\nexport { default as ShowIATANumberOnCheckoutFeature } from '@/providers/feature/ShowIATANumberOnCheckoutFeature';\n\n// Contexts\nexport { registerReplacement, withDI } from '@/providers/DIProvider';\nexport * from '@/providers/RoomstayThemeEngine';\nexport { default as RoomstayThemeEngine } from '@/providers/RoomstayThemeEngine';\nexport * from '@/util/Analytics/Analytics';\nexport * from '@/util/Analytics/GoogleAnalytics4';\nexport * from '@/util/Analytics/UniversalAnalytics';\nexport { default as DataLayer } from '@/util/DataLayer';\nexport * from '@/util/DataLayer';\nexport * from '@/util/DefaultValueManager';\nexport * from '@/util/RouteManager';\nexport * from '@frontend/contexts';\nexport { useFormContext } from 'react-hook-form';\n\n// Models\nexport { default as API } from '@/api/BookingAPI';\nexport * from '@/models/Api/HotelDTO';\nexport * from '@/models/Api/HotelOverrideDTO';\nexport type { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nexport * from '@/models/Client/Hotel/Company';\nexport * from '@/models/Client/Hotel/DistanceUnitType.types';\nexport * from '@/models/Client/Hotel/Hotel';\nexport { HotelDataSource } from '@/models/Client/Hotel/HotelDataSource.types';\nexport * from '@/models/Client/Hotel/HotelPerk';\nexport * from '@/models/Client/Hotel/WeekdayStartsOn.types';\n\n// Steps\nexport { default as StepAddon } from '@/pages/steps/StepAddon/StepAddon';\nexport { default as StepConfirmation } from '@/pages/steps/StepConfirmation/StepConfirmation';\nexport { default as StepDate } from '@/pages/steps/StepDate/StepDate';\nexport { default as StepGroupedRoom } from '@/pages/steps/StepGroupedRoom/StepGroupedRoom';\nexport { default as StepHotel } from '@/pages/steps/StepHotel/StepHotel';\nexport { default as StepRoom } from '@/pages/steps/StepRoom/StepRoom';\nexport { default as StepThanks } from '@/pages/steps/StepThanks/StepThanks';\nexport * from '@/translations/Translation';\nexport { default as StepManager } from '@/util/StepManager';\n\n// Util\n\nexport type { default as ColorProfile } from '@/models/Client/Hotel/ColorProfile';\nexport * from '@/util/Color';\nexport * from '@/util/Debounce';\n\n// Hooks\n\nexport * from '@/events/index';\nexport * from '@/hooks/CurrentHotelHook';\nexport * from '@/hooks/EventHook';\n\n/** @deprecated use `roomstay.events` instead */\nexport { default as RoomstayEventManager } from '@/events/RoomstayEventManager';\n\nexport const events = {\n on: RoomstayEventManager.addEvent,\n raise: RoomstayEventManager.raise,\n};\n\nexport * from './config';\n\ndeclare const RS_VERSION: string;\nexport const Version = RS_VERSION;\n\nStepManager.currentSteps = {\n 0: StepDate,\n 10: StepRoom,\n 20: StepConfirmation,\n 30: StepThanks,\n};\n"]}
@@ -4,4 +4,8 @@ export interface BookingWizardProperty extends ShowYearOnCalendarProps {
4
4
  id: string;
5
5
  name: string;
6
6
  colors?: Omit<IHotelColorScheme, 'navbar'>;
7
+ card?: {
8
+ image: string;
9
+ text: string;
10
+ };
7
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BookingWizardProperty.js","sourceRoot":"/","sources":["src/models/BookingWizard/BookingWizardProperty.ts"],"names":[],"mappings":"","sourcesContent":["import { IHotelColorScheme } from '@roomstay/core';\n\nimport { ShowYearOnCalendarProps } from '@/models/Api/HotelOverrideDTO';\n\nexport interface BookingWizardProperty extends ShowYearOnCalendarProps {\n id: string;\n name: string;\n colors?: Omit<IHotelColorScheme, 'navbar'>;\n}\n"]}
1
+ {"version":3,"file":"BookingWizardProperty.js","sourceRoot":"/","sources":["src/models/BookingWizard/BookingWizardProperty.ts"],"names":[],"mappings":"","sourcesContent":["import { IHotelColorScheme } from '@roomstay/core';\n\nimport { ShowYearOnCalendarProps } from '@/models/Api/HotelOverrideDTO';\n\nexport interface BookingWizardProperty extends ShowYearOnCalendarProps {\n id: string;\n name: string;\n colors?: Omit<IHotelColorScheme, 'navbar'>;\n card?: {\n image: string;\n text: string;\n };\n}\n"]}
@@ -145,8 +145,16 @@ function FindReservation() {
145
145
  };
146
146
  const { raise } = (0, hooks_1.useEvent)();
147
147
  (0, react_1.useEffect)(() => {
148
+ if (!(hotel === null || hotel === void 0 ? void 0 : hotel.hotelID) || !(hotel === null || hotel === void 0 ? void 0 : hotel.heroImage) || !(RoomstayThemeEngine_1.default === null || RoomstayThemeEngine_1.default === void 0 ? void 0 : RoomstayThemeEngine_1.default.EngineContainer))
149
+ return;
150
+ const backgroundId = 'rs-background-find-reservation';
151
+ const existingBg = document.getElementById(backgroundId);
152
+ if (existingBg) {
153
+ RoomstayThemeEngine_1.default.EngineContainer.removeChild(existingBg);
154
+ }
148
155
  const background = document.createElement('div');
149
- background.classList.add('dbe-background');
156
+ background.id = backgroundId;
157
+ background.classList.add('dbe-background', 'rs-background-find-reservation', `rs-background-${hotel === null || hotel === void 0 ? void 0 : hotel.hotelID}`);
150
158
  background.style.backgroundImage = `url('${(hotel === null || hotel === void 0 ? void 0 : hotel.heroImage) && ImageProvider_1.default.resizeImage(hotel === null || hotel === void 0 ? void 0 : hotel.heroImage, ImageProvider_1.ImageSize.Original)}')`;
151
159
  RoomstayThemeEngine_1.default.EngineContainer.classList.add('--transparent-bg');
152
160
  RoomstayThemeEngine_1.default.EngineContainer.appendChild(background);
@@ -154,19 +162,22 @@ function FindReservation() {
154
162
  raise(event);
155
163
  return () => {
156
164
  try {
157
- RoomstayThemeEngine_1.default.EngineContainer.removeChild(background);
165
+ const bg = document.getElementById(backgroundId);
166
+ if (bg) {
167
+ RoomstayThemeEngine_1.default.EngineContainer.removeChild(bg);
168
+ }
158
169
  RoomstayThemeEngine_1.default.EngineContainer.classList.remove('--transparent-bg');
159
170
  }
160
171
  catch (ex) {
161
172
  console.log('Unable to remove bg');
162
173
  }
163
174
  };
164
- }, []);
175
+ }, [hotel === null || hotel === void 0 ? void 0 : hotel.hotelID, hotel === null || hotel === void 0 ? void 0 : hotel.heroImage]);
165
176
  (0, react_1.useEffect)(() => {
166
177
  if (hotel === null || hotel === void 0 ? void 0 : hotel.forwardFindReservationToSynxis) {
167
178
  window.open(`https://be.synxis.com/signin?hotel=` + hotel.hotelID);
168
179
  }
169
- }, [hotel]);
180
+ }, [hotel === null || hotel === void 0 ? void 0 : hotel.hotelID, hotel === null || hotel === void 0 ? void 0 : hotel.forwardFindReservationToSynxis]);
170
181
  const onBack = () => __awaiter(this, void 0, void 0, function* () {
171
182
  navigate(StepManager_1.default.getFirstStep().getStepUrl());
172
183
  });
@@ -1 +1 @@
1
- {"version":3,"file":"FindReservation.js","sourceRoot":"/","sources":["src/pages/findReservation/FindReservation.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FindReservationViewEvent } from '@frontend/events';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport React, { Suspense, useEffect, useRef, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport FadeAnimation from '@/animations/Fade';\nimport API from '@/api/BookingAPI';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport BEButton from '@/components/generic/BEButton';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport SmallSpinner from '@/components/generic/loader/SmallSpinner';\nimport { EViewingScreen } from '@/components/generic/modal/SigninModal/UnauthenticatedUserModal';\nimport { PageTitle } from '@/components/generic/PageTitle';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextBox from '@/components/generic/TextBox';\nimport { CognitoLoginState, useAuthentication } from '@/contexts';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport ImageProvider, { ImageSize } from '@/providers/ImageProvider';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { Color } from '@/util/Color';\nimport StepManager from '@/util/StepManager';\nimport { EMAIL_REGEX } from '@/util/Validation';\n\nconst SignInForm = React.lazy(() =>\n import('@/components/User/Forms/SignInForm').then(({ SignInForm }) => ({\n default: SignInForm,\n }))\n);\nconst SignUpForm = React.lazy(() =>\n import('@/components/User/Forms/SignUpForm').then(({ SignUpForm }) => ({\n default: SignUpForm,\n }))\n);\nconst ForgotPasswordForm = React.lazy(() =>\n import('@/components/User/Forms/ForgotPasswordForm').then(({ ForgotPasswordForm }) => ({\n default: ForgotPasswordForm,\n }))\n);\n\nexport enum EFindReservationPath {\n FindReservation = 'find-reservation',\n Login = 'login',\n Register = 'register',\n Forgot = 'forgot',\n}\n\nconst pathToScreenMapping: { [path in EFindReservationPath]: EViewingScreen } = {\n [EFindReservationPath.FindReservation]: EViewingScreen.Default,\n [EFindReservationPath.Login]: EViewingScreen.SignIn,\n [EFindReservationPath.Register]: EViewingScreen.SignUp,\n [EFindReservationPath.Forgot]: EViewingScreen.ForgotPassword,\n};\n\nexport default function FindReservation() {\n const { hotel } = useCurrentHotel();\n\n const { t } = useTranslation();\n\n const { cognitoLoginState } = useAuthentication();\n\n const { register, formState, handleSubmit, getValues } = useForm({\n mode: 'onChange',\n });\n\n const errors = formState.errors;\n\n const getValidationClass = (name: string) => {\n if (errors && formState.touchedFields[name]) {\n if (errors[name]) {\n return 'error';\n } else {\n return 'success';\n }\n }\n };\n\n const firstTime = useRef<boolean>(true);\n const nextViewingScreen = useRef<EViewingScreen | null>(null);\n\n const [isLoading, setIsLoading] = useState(false);\n const [apiErrorMessages, setApiErrorMessages] = useState('');\n\n const navigate = useNavigate();\n const location = useLocation();\n\n const path = location.pathname.replace('/', '') as EFindReservationPath;\n\n const [viewingScreen, setViewingScreen] = useState<EViewingScreen | null>(pathToScreenMapping[path]);\n\n useEffect(() => {\n if (cognitoLoginState === CognitoLoginState.Success) {\n navigate(`/${EFindReservationPath.FindReservation}`);\n firstTime.current = false;\n setViewingScreen(EViewingScreen.Default);\n nextViewingScreen.current = EViewingScreen.Default;\n } else {\n if (firstTime.current) {\n firstTime.current = false;\n setViewingScreen(pathToScreenMapping[path]);\n } else {\n if (cognitoLoginState !== CognitoLoginState.ForgotPassword) setViewingScreen(null);\n nextViewingScreen.current = pathToScreenMapping[path];\n }\n }\n }, [path, cognitoLoginState]);\n\n const onSubmit = () => {\n setIsLoading(true);\n setApiErrorMessages('');\n\n API.Reservation.findReservation(getValues('Ref'), getValues('Email'), hotel?.hotelID as string)\n .then((data) => {\n navigate(`/find-reservation/${getValues('Ref')}/${getValues('Email')}`);\n })\n .catch(({ Message }) => {\n console.log(Message);\n setApiErrorMessages(Message);\n setIsLoading(false);\n });\n };\n\n const { raise } = useEvent();\n\n useEffect(() => {\n const background = document.createElement('div');\n background.classList.add('dbe-background');\n background.style.backgroundImage = `url('${hotel?.heroImage && ImageProvider.resizeImage(hotel?.heroImage, ImageSize.Original)}')`;\n\n RoomstayThemeEngine.EngineContainer.classList.add('--transparent-bg');\n RoomstayThemeEngine.EngineContainer.appendChild(background);\n\n const event = new FindReservationViewEvent();\n raise(event);\n\n return () => {\n try {\n RoomstayThemeEngine.EngineContainer.removeChild(background);\n RoomstayThemeEngine.EngineContainer.classList.remove('--transparent-bg');\n } catch (ex) {\n console.log('Unable to remove bg');\n }\n };\n }, []);\n\n useEffect(() => {\n if (hotel?.forwardFindReservationToSynxis) {\n window.open(`https://be.synxis.com/signin?hotel=` + hotel.hotelID);\n }\n }, [hotel]);\n\n const onBack = async () => {\n navigate(StepManager.getFirstStep().getStepUrl());\n };\n\n const handleSubmitOnClick = () => {\n handleSubmit(onSubmit)();\n };\n\n const onSignInClicked = () => {\n navigate(`/${EFindReservationPath.Login}`);\n };\n\n const onBackToItineraryClicked = () => {\n navigate(`/${EFindReservationPath.FindReservation}`);\n };\n\n const onSignUpClicked = () => {\n navigate(`/${EFindReservationPath.Register}`);\n };\n\n const onForgotPasswordClicked = () => {\n navigate(`/${EFindReservationPath.Forgot}`);\n };\n\n const onExit = () => {\n setViewingScreen(nextViewingScreen.current);\n };\n\n const gotoReservationPage = () => {\n navigate(`/account/reservations`);\n };\n\n const defaultContents = (\n <form onSubmit={handleSubmit(onSubmit)}>\n <div className=\"u-marg-bottom--heavy\">\n <Headline size=\"extra-large\">{t(Translation.FindReservation.FindYourReservation)}</Headline>\n </div>\n <AutoAutoHeight open={!!apiErrorMessages}>\n <div className=\"u-flex\">\n <Alert type={AlertType.Danger} icon={IconType.Error}>\n <Text type={TextType.Small}>{apiErrorMessages}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy}>\n <strong>{t(Translation.FindReservation.Confirmation)}</strong>\n </Text>\n </div>\n <TextBox\n placeholder=\"51244AB23101\"\n required\n validationStatus={getValidationClass('Ref')}\n {...register('Ref', {\n required: true,\n })}\n />\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy}>\n <strong>{t(Translation.FindReservation.EmailAddress)}</strong>\n </Text>\n </div>\n <TextBox\n placeholder=\"example@mail.com\"\n required\n validationStatus={getValidationClass('Email')}\n {...register('Email', {\n required: true,\n pattern: {\n value: EMAIL_REGEX,\n message: t(Translation.FindReservation.InvalidEmailAddress),\n },\n })}\n />\n </div>\n <div className=\"u-flex justify-content-end w-100\">\n <BEButton primary filled mobileWidth isLoading={isLoading} icon={IconType.ArrowRight} iconPosition=\"right\" onClick={handleSubmitOnClick}>\n {t(Translation.FindReservation.FindReservation)}\n </BEButton>\n <button type=\"submit\" className=\"u-none\">\n {t(Translation.Misc.Submit)}\n </button>\n </div>\n {MemberPortalFeature.isActive() && cognitoLoginState === CognitoLoginState.Success && (\n <div className=\"u-align-right u-flex u-flex-flex-end u-flex-gap--light u-marg-top--light\">\n <Text type={TextType.Small}>{t(Translation.Navigation.SignIn.Or)}</Text>\n <BEButton isText primary size=\"small\" onClick={gotoReservationPage} icon={IconType.ArrowRight} iconPosition=\"right\">\n {t(Translation.FindReservation.GoToYourReservations)}\n </BEButton>\n </div>\n )}\n <LineBreak />\n {MemberPortalFeature.isActive() && cognitoLoginState !== CognitoLoginState.Success && (\n <div className=\"u-marg-bottom--heavy\">\n <BEButton isText primary size=\"small\" onClick={onSignInClicked}>\n Or sign in for more\n </BEButton>\n </div>\n )}\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.FindReservation.Question)}</strong>\n </Text>\n </div>\n <Text type={TextType.Small}>{t(Translation.FindReservation.Answer1)}</Text>\n <Text type={TextType.Small}>{t(Translation.FindReservation.Answer2)}</Text>\n <LineBreak />\n <BEButton textColor={Color.Accent} primary={false} filled={false} mobileWidth size=\"small\" icon={IconType.ArrowLeft2} iconPosition=\"left\" onClick={onBack} isText>\n {t(Translation.FindReservation.Back)}\n </BEButton>\n </form>\n );\n\n const signInForm = (\n <>\n <SignInForm\n onForgotPassword={onForgotPasswordClicked}\n onDone={() => {\n gotoReservationPage();\n }}\n />\n <LineBreak />\n <div className=\"u-marg-bottom--heavy\">\n <BEButton isText primary size=\"small\" onClick={onBackToItineraryClicked}>\n {t(Translation.FindReservation.OrUseConfirmationItineraryNumber)}\n </BEButton>\n </div>\n <Text type={TextType.Small} bold className=\"u-marg-bottom--light\">\n {t(Translation.FindReservation.NoOnlineAccount)}\n </Text>\n <Text type={TextType.Small}>\n <Trans i18nKey={Translation.FindReservation.SignUpToSaveTime} components={[<BEButton key={0} isText size=\"small\" primary onClick={onSignUpClicked} />]}></Trans>\n </Text>\n </>\n );\n\n const signUpForm = (\n <>\n <SignUpForm\n onDone={() => {\n gotoReservationPage();\n }}\n />\n <LineBreak />\n <Text type={TextType.Small} bold className=\"u-marg-bottom--light\">\n {t(Translation.Step.Confirmation.AlreadyHaveAccount)}\n </Text>\n <Text type={TextType.Small}>\n <Trans i18nKey={Translation.FindReservation.SignInToLogin} components={[<BEButton key={0} isText size=\"small\" primary onClick={onSignInClicked} />]} />\n </Text>\n </>\n );\n\n const forgotPasswordForm = (\n <>\n <ForgotPasswordForm\n onCancelled={onSignInClicked}\n onDone={() => {\n gotoReservationPage();\n }}\n />\n <LineBreak />\n <Text type={TextType.Small} bold className=\"u-marg-bottom--light\">\n {t(Translation.FindReservation.NoOnlineAccount)}\n </Text>\n <Text type={TextType.Small}>\n <Trans i18nKey={Translation.FindReservation.SignUpToSaveTime} components={[<BEButton key={0} isText size=\"small\" primary onClick={onSignUpClicked} />]} />\n </Text>\n </>\n );\n\n return (\n <div className=\"u-pad-left u-pad-right\">\n <PageTitle step=\"FindReservation\" />\n <div className=\"container u-marg-top--heavy u-pad-bottom--massive\">\n <div className=\"row u-pad-bottom--massive\">\n <div className=\"col-md-6 col-xl-4 u-fill-white u-pad--heavy u-shadow-accent-large u-border-rounded\">\n <AutoAutoHeight open startOpen>\n <FadeAnimation open={viewingScreen === 'Default'} onExitCompletely={onExit}>\n {defaultContents}\n </FadeAnimation>\n <Suspense fallback={SmallSpinner}>\n <FadeAnimation open={viewingScreen === 'SignIn'} onExitCompletely={onExit}>\n {signInForm}\n </FadeAnimation>\n <FadeAnimation open={viewingScreen === 'SignUp'} onExitCompletely={onExit}>\n {signUpForm}\n </FadeAnimation>\n <FadeAnimation open={viewingScreen === 'ForgotPassword'} onExitCompletely={onExit}>\n {forgotPasswordForm}\n </FadeAnimation>\n </Suspense>\n </AutoAutoHeight>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"FindReservation.js","sourceRoot":"/","sources":["src/pages/findReservation/FindReservation.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FindReservationViewEvent } from '@frontend/events';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport React, { Suspense, useEffect, useRef, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport FadeAnimation from '@/animations/Fade';\nimport API from '@/api/BookingAPI';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport BEButton from '@/components/generic/BEButton';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport SmallSpinner from '@/components/generic/loader/SmallSpinner';\nimport { EViewingScreen } from '@/components/generic/modal/SigninModal/UnauthenticatedUserModal';\nimport { PageTitle } from '@/components/generic/PageTitle';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextBox from '@/components/generic/TextBox';\nimport { CognitoLoginState, useAuthentication } from '@/contexts';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport ImageProvider, { ImageSize } from '@/providers/ImageProvider';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { Color } from '@/util/Color';\nimport StepManager from '@/util/StepManager';\nimport { EMAIL_REGEX } from '@/util/Validation';\n\nconst SignInForm = React.lazy(() =>\n import('@/components/User/Forms/SignInForm').then(({ SignInForm }) => ({\n default: SignInForm,\n }))\n);\nconst SignUpForm = React.lazy(() =>\n import('@/components/User/Forms/SignUpForm').then(({ SignUpForm }) => ({\n default: SignUpForm,\n }))\n);\nconst ForgotPasswordForm = React.lazy(() =>\n import('@/components/User/Forms/ForgotPasswordForm').then(({ ForgotPasswordForm }) => ({\n default: ForgotPasswordForm,\n }))\n);\n\nexport enum EFindReservationPath {\n FindReservation = 'find-reservation',\n Login = 'login',\n Register = 'register',\n Forgot = 'forgot',\n}\n\nconst pathToScreenMapping: { [path in EFindReservationPath]: EViewingScreen } = {\n [EFindReservationPath.FindReservation]: EViewingScreen.Default,\n [EFindReservationPath.Login]: EViewingScreen.SignIn,\n [EFindReservationPath.Register]: EViewingScreen.SignUp,\n [EFindReservationPath.Forgot]: EViewingScreen.ForgotPassword,\n};\n\nexport default function FindReservation() {\n const { hotel } = useCurrentHotel();\n\n const { t } = useTranslation();\n\n const { cognitoLoginState } = useAuthentication();\n\n const { register, formState, handleSubmit, getValues } = useForm({\n mode: 'onChange',\n });\n\n const errors = formState.errors;\n\n const getValidationClass = (name: string) => {\n if (errors && formState.touchedFields[name]) {\n if (errors[name]) {\n return 'error';\n } else {\n return 'success';\n }\n }\n };\n\n const firstTime = useRef<boolean>(true);\n const nextViewingScreen = useRef<EViewingScreen | null>(null);\n\n const [isLoading, setIsLoading] = useState(false);\n const [apiErrorMessages, setApiErrorMessages] = useState('');\n\n const navigate = useNavigate();\n const location = useLocation();\n\n const path = location.pathname.replace('/', '') as EFindReservationPath;\n\n const [viewingScreen, setViewingScreen] = useState<EViewingScreen | null>(pathToScreenMapping[path]);\n\n useEffect(() => {\n if (cognitoLoginState === CognitoLoginState.Success) {\n navigate(`/${EFindReservationPath.FindReservation}`);\n firstTime.current = false;\n setViewingScreen(EViewingScreen.Default);\n nextViewingScreen.current = EViewingScreen.Default;\n } else {\n if (firstTime.current) {\n firstTime.current = false;\n setViewingScreen(pathToScreenMapping[path]);\n } else {\n if (cognitoLoginState !== CognitoLoginState.ForgotPassword) setViewingScreen(null);\n nextViewingScreen.current = pathToScreenMapping[path];\n }\n }\n }, [path, cognitoLoginState]);\n\n const onSubmit = () => {\n setIsLoading(true);\n setApiErrorMessages('');\n\n API.Reservation.findReservation(getValues('Ref'), getValues('Email'), hotel?.hotelID as string)\n .then((data) => {\n navigate(`/find-reservation/${getValues('Ref')}/${getValues('Email')}`);\n })\n .catch(({ Message }) => {\n console.log(Message);\n setApiErrorMessages(Message);\n setIsLoading(false);\n });\n };\n\n const { raise } = useEvent();\n\n useEffect(() => {\n if (!hotel?.hotelID || !hotel?.heroImage || !RoomstayThemeEngine?.EngineContainer) return;\n\n const backgroundId = 'rs-background-find-reservation';\n const existingBg = document.getElementById(backgroundId);\n if (existingBg) {\n RoomstayThemeEngine.EngineContainer.removeChild(existingBg);\n }\n const background = document.createElement('div');\n background.id = backgroundId;\n background.classList.add('dbe-background', 'rs-background-find-reservation', `rs-background-${hotel?.hotelID}`);\n background.style.backgroundImage = `url('${hotel?.heroImage && ImageProvider.resizeImage(hotel?.heroImage, ImageSize.Original)}')`;\n\n RoomstayThemeEngine.EngineContainer.classList.add('--transparent-bg');\n RoomstayThemeEngine.EngineContainer.appendChild(background);\n\n const event = new FindReservationViewEvent();\n raise(event);\n\n return () => {\n try {\n const bg = document.getElementById(backgroundId);\n if (bg) {\n RoomstayThemeEngine.EngineContainer.removeChild(bg);\n }\n RoomstayThemeEngine.EngineContainer.classList.remove('--transparent-bg');\n } catch (ex) {\n console.log('Unable to remove bg');\n }\n };\n }, [hotel?.hotelID, hotel?.heroImage]);\n\n useEffect(() => {\n if (hotel?.forwardFindReservationToSynxis) {\n window.open(`https://be.synxis.com/signin?hotel=` + hotel.hotelID);\n }\n }, [hotel?.hotelID, hotel?.forwardFindReservationToSynxis]);\n\n const onBack = async () => {\n navigate(StepManager.getFirstStep().getStepUrl());\n };\n\n const handleSubmitOnClick = () => {\n handleSubmit(onSubmit)();\n };\n\n const onSignInClicked = () => {\n navigate(`/${EFindReservationPath.Login}`);\n };\n\n const onBackToItineraryClicked = () => {\n navigate(`/${EFindReservationPath.FindReservation}`);\n };\n\n const onSignUpClicked = () => {\n navigate(`/${EFindReservationPath.Register}`);\n };\n\n const onForgotPasswordClicked = () => {\n navigate(`/${EFindReservationPath.Forgot}`);\n };\n\n const onExit = () => {\n setViewingScreen(nextViewingScreen.current);\n };\n\n const gotoReservationPage = () => {\n navigate(`/account/reservations`);\n };\n\n const defaultContents = (\n <form onSubmit={handleSubmit(onSubmit)}>\n <div className=\"u-marg-bottom--heavy\">\n <Headline size=\"extra-large\">{t(Translation.FindReservation.FindYourReservation)}</Headline>\n </div>\n <AutoAutoHeight open={!!apiErrorMessages}>\n <div className=\"u-flex\">\n <Alert type={AlertType.Danger} icon={IconType.Error}>\n <Text type={TextType.Small}>{apiErrorMessages}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy}>\n <strong>{t(Translation.FindReservation.Confirmation)}</strong>\n </Text>\n </div>\n <TextBox\n placeholder=\"51244AB23101\"\n required\n validationStatus={getValidationClass('Ref')}\n {...register('Ref', {\n required: true,\n })}\n />\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy}>\n <strong>{t(Translation.FindReservation.EmailAddress)}</strong>\n </Text>\n </div>\n <TextBox\n placeholder=\"example@mail.com\"\n required\n validationStatus={getValidationClass('Email')}\n {...register('Email', {\n required: true,\n pattern: {\n value: EMAIL_REGEX,\n message: t(Translation.FindReservation.InvalidEmailAddress),\n },\n })}\n />\n </div>\n <div className=\"u-flex justify-content-end w-100\">\n <BEButton primary filled mobileWidth isLoading={isLoading} icon={IconType.ArrowRight} iconPosition=\"right\" onClick={handleSubmitOnClick}>\n {t(Translation.FindReservation.FindReservation)}\n </BEButton>\n <button type=\"submit\" className=\"u-none\">\n {t(Translation.Misc.Submit)}\n </button>\n </div>\n {MemberPortalFeature.isActive() && cognitoLoginState === CognitoLoginState.Success && (\n <div className=\"u-align-right u-flex u-flex-flex-end u-flex-gap--light u-marg-top--light\">\n <Text type={TextType.Small}>{t(Translation.Navigation.SignIn.Or)}</Text>\n <BEButton isText primary size=\"small\" onClick={gotoReservationPage} icon={IconType.ArrowRight} iconPosition=\"right\">\n {t(Translation.FindReservation.GoToYourReservations)}\n </BEButton>\n </div>\n )}\n <LineBreak />\n {MemberPortalFeature.isActive() && cognitoLoginState !== CognitoLoginState.Success && (\n <div className=\"u-marg-bottom--heavy\">\n <BEButton isText primary size=\"small\" onClick={onSignInClicked}>\n Or sign in for more\n </BEButton>\n </div>\n )}\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.FindReservation.Question)}</strong>\n </Text>\n </div>\n <Text type={TextType.Small}>{t(Translation.FindReservation.Answer1)}</Text>\n <Text type={TextType.Small}>{t(Translation.FindReservation.Answer2)}</Text>\n <LineBreak />\n <BEButton textColor={Color.Accent} primary={false} filled={false} mobileWidth size=\"small\" icon={IconType.ArrowLeft2} iconPosition=\"left\" onClick={onBack} isText>\n {t(Translation.FindReservation.Back)}\n </BEButton>\n </form>\n );\n\n const signInForm = (\n <>\n <SignInForm\n onForgotPassword={onForgotPasswordClicked}\n onDone={() => {\n gotoReservationPage();\n }}\n />\n <LineBreak />\n <div className=\"u-marg-bottom--heavy\">\n <BEButton isText primary size=\"small\" onClick={onBackToItineraryClicked}>\n {t(Translation.FindReservation.OrUseConfirmationItineraryNumber)}\n </BEButton>\n </div>\n <Text type={TextType.Small} bold className=\"u-marg-bottom--light\">\n {t(Translation.FindReservation.NoOnlineAccount)}\n </Text>\n <Text type={TextType.Small}>\n <Trans i18nKey={Translation.FindReservation.SignUpToSaveTime} components={[<BEButton key={0} isText size=\"small\" primary onClick={onSignUpClicked} />]}></Trans>\n </Text>\n </>\n );\n\n const signUpForm = (\n <>\n <SignUpForm\n onDone={() => {\n gotoReservationPage();\n }}\n />\n <LineBreak />\n <Text type={TextType.Small} bold className=\"u-marg-bottom--light\">\n {t(Translation.Step.Confirmation.AlreadyHaveAccount)}\n </Text>\n <Text type={TextType.Small}>\n <Trans i18nKey={Translation.FindReservation.SignInToLogin} components={[<BEButton key={0} isText size=\"small\" primary onClick={onSignInClicked} />]} />\n </Text>\n </>\n );\n\n const forgotPasswordForm = (\n <>\n <ForgotPasswordForm\n onCancelled={onSignInClicked}\n onDone={() => {\n gotoReservationPage();\n }}\n />\n <LineBreak />\n <Text type={TextType.Small} bold className=\"u-marg-bottom--light\">\n {t(Translation.FindReservation.NoOnlineAccount)}\n </Text>\n <Text type={TextType.Small}>\n <Trans i18nKey={Translation.FindReservation.SignUpToSaveTime} components={[<BEButton key={0} isText size=\"small\" primary onClick={onSignUpClicked} />]} />\n </Text>\n </>\n );\n\n return (\n <div className=\"u-pad-left u-pad-right\">\n <PageTitle step=\"FindReservation\" />\n <div className=\"container u-marg-top--heavy u-pad-bottom--massive\">\n <div className=\"row u-pad-bottom--massive\">\n <div className=\"col-md-6 col-xl-4 u-fill-white u-pad--heavy u-shadow-accent-large u-border-rounded\">\n <AutoAutoHeight open startOpen>\n <FadeAnimation open={viewingScreen === 'Default'} onExitCompletely={onExit}>\n {defaultContents}\n </FadeAnimation>\n <Suspense fallback={SmallSpinner}>\n <FadeAnimation open={viewingScreen === 'SignIn'} onExitCompletely={onExit}>\n {signInForm}\n </FadeAnimation>\n <FadeAnimation open={viewingScreen === 'SignUp'} onExitCompletely={onExit}>\n {signUpForm}\n </FadeAnimation>\n <FadeAnimation open={viewingScreen === 'ForgotPassword'} onExitCompletely={onExit}>\n {forgotPasswordForm}\n </FadeAnimation>\n </Suspense>\n </AutoAutoHeight>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -98,7 +98,7 @@ function HotelInfo() {
98
98
  const quoteImage = isMobile ? hotel === null || hotel === void 0 ? void 0 : hotel.quoteImageMobile : hotel === null || hotel === void 0 ? void 0 : hotel.quoteImageDesktop;
99
99
  return (react_1.default.createElement(react_1.default.Fragment, null,
100
100
  react_1.default.createElement(PageTitle_1.PageTitle, { step: "HotelInfo" }),
101
- react_1.default.createElement("div", { style: { backgroundImage: `url('${imageUrl && ImageProvider_1.default.resizeImage(imageUrl, ImageProvider_1.ImageSize.Original)}')` }, className: "c-masthead has-tint" },
101
+ react_1.default.createElement("div", { style: { backgroundImage: `url('${imageUrl && ImageProvider_1.default.resizeImage(imageUrl, ImageProvider_1.ImageSize.Original)}')` }, className: (0, classnames_1.default)('c-masthead has-tint', 'rs-background-hotel-info', `rs-background-${hotel === null || hotel === void 0 ? void 0 : hotel.hotelID}`) },
102
102
  react_1.default.createElement("div", { className: "container" },
103
103
  react_1.default.createElement("div", { className: "c-masthead__body u-fill-white u-pad--heavy u-shadow-accent" },
104
104
  react_1.default.createElement("h1", { className: "c-masthead__header" }, hotel === null || hotel === void 0 ? void 0 : hotel.name),
@@ -1 +1 @@
1
- {"version":3,"file":"HotelInfo.js","sourceRoot":"/","sources":["src/pages/hotel/HotelInfo.tsx"],"names":[],"mappings":"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","sourcesContent":["import { StepHotelInfoViewEvent } from '@frontend/events';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport classNames from 'classnames';\nimport FsLightbox from 'fslightbox-react';\nimport { useHistoryConsistentPush } from 'hooks/HistoryConsistentPush';\nimport React, { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport BEButton from '@/components/generic/BEButton';\nimport Headline from '@/components/generic/Headline';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport HotelLocationMap from '@/components/generic/map/HotelLocationMap';\nimport { PageTitle } from '@/components/generic/PageTitle';\nimport Text, { TextType } from '@/components/generic/Text';\nimport HotelInfoPerkRow from '@/components/steps/hotel/HotelInfoPerksRow';\nimport TransportDistanceFromHotelBlock from '@/components/summary/TransportDistanceFromHotelBlock';\nimport { BookingEngineContext } from '@/index';\nimport ImageProvider, { ImageSize } from '@/providers/ImageProvider';\nimport { Color } from '@/util/Color';\nimport ScreenSize from '@/util/ScreenSize';\nimport StepManager from '@/util/StepManager';\n\nexport default function HotelInfo() {\n const { hotel } = useCurrentHotel();\n const historyConsistentPush = useHistoryConsistentPush();\n const { t } = useTranslation();\n const context = useContext(BookingEngineContext);\n const isMobile = context.screenSize <= ScreenSize.Large;\n\n const imageUrl = hotel?.heroImage;\n\n const { line1, line2, postalCode, country } = hotel?.address ?? {};\n\n const [lightboxController, setLightboxController] = useState({ toggler: false, slide: 1 });\n const [images, setImages] = useState<string[]>([]);\n\n const openSlider = (slide: number) => {\n setLightboxController((controller) => ({ toggler: !controller.toggler, slide: slide + 1 }));\n };\n const openSliderOnClick = () => {\n openSlider(4);\n };\n\n const { raise } = useEvent();\n\n useEffect(() => {\n const event = new StepHotelInfoViewEvent();\n raise(event);\n }, []);\n\n useEffect(() => {\n const newImages: string[] = [];\n\n if (hotel?.images?.length) {\n newImages.push(...hotel.images);\n }\n\n if (hotel?.rooms) {\n for (const room of Object.values(hotel?.rooms)) {\n room.images?.forEach((image) => {\n newImages.push(image);\n });\n }\n }\n\n setImages(newImages);\n }, [hotel?.images, hotel?.rooms]);\n\n const onBookNowClick = () => {\n historyConsistentPush(StepManager.getFirstStep().getStepUrl());\n };\n\n const getImage = (index: number) => {\n const openSliderOnClickHandler = () => {\n openSlider(index);\n };\n\n const resizedUrl = ImageProvider.resizeImage(images[index], ImageSize.Small);\n\n return (\n <div\n style={{ backgroundImage: `url('${resizedUrl}')`, paddingTop: '75%' }}\n className=\"c-images u-block u-w-100 u-marg-bottom u-marg-bottom--heavy\"\n onClick={openSliderOnClickHandler}\n />\n );\n };\n\n const hotelServices = hotel?.hotelServices?.filter(({ name }) => !!name) || [];\n const quoteImage = isMobile ? hotel?.quoteImageMobile : hotel?.quoteImageDesktop;\n\n return (\n <>\n <PageTitle step=\"HotelInfo\" />\n <div style={{ backgroundImage: `url('${imageUrl && ImageProvider.resizeImage(imageUrl, ImageSize.Original)}')` }} className=\"c-masthead has-tint\">\n <div className=\"container\">\n <div className=\"c-masthead__body u-fill-white u-pad--heavy u-shadow-accent\">\n <h1 className=\"c-masthead__header\">{hotel?.name}</h1>\n <h2 className=\"c-masthead__sub-header\">\n {hotel?.countryPrefix ?? ''} {hotel?.address?.country}\n </h2>\n </div>\n </div>\n </div>\n <div className=\"u-fill-snow u-pad--heavy-med u-pad-top-bottom--heavy@m-\">\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-md-6 u-flex align-items-center\">\n <ul>\n <li className=\"u-flex u-marg-bottom--heavy\">\n <Icon icon={IconType.Map} size=\"1.3em\" color={Color.Accent} />\n <span className=\"u-flex__item u-marg-left\">\n {line1}\n <br />\n {line2} {postalCode}, {country}\n </span>\n </li>\n <li className=\"u-flex u-marg-bottom--heavy\">\n <Icon icon={IconType.Phone} size=\"1.3em\" color={Color.Accent} />\n <span className=\"u-flex__item u-marg-left\">{hotel?.phone}</span>\n </li>\n <li className=\"u-flex u-marg-bottom--heavy\">\n <Icon icon={IconType.Hotel2} size=\"1.3em\" color={Color.Accent} />\n <span className=\"u-flex__item u-marg-left\">\n <a href={hotel?.hotelUrl} style={{ color: 'var(--rs-color-accent-1)' }}>\n {hotel?.name}\n </a>\n </span>\n </li>\n <li className=\"u-flex\">\n <BEButton icon={IconType.ArrowRight} primary filled iconPosition=\"right\" onClick={onBookNowClick}>\n {t(Translation.Misc.BookNow)}\n </BEButton>\n </li>\n </ul>\n </div>\n <div className=\"col-md-6\">\n <div className=\"c-overlap\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy u-marg-top u-marg-top--heavy\" style={{ height: '240px' }}>\n <HotelLocationMap />\n </div>\n <div className=\"u-flex u-flex-column justify-content-center rs-hotelinfo-transport-distance u-w-100\">\n <TransportDistanceFromHotelBlock hotel={hotel} />\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div className=\"u-pad u-pad--heavy-plus u-pad-top-bottom--heavy@m-\">\n <div className=\"container rs-hotelinfo\">\n <div className=\"row\">\n <div className=\"col-lg-6\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Headline className=\"rs-hotelinfo-about\" bold>\n {t(Translation.Step.Hotel.About)}\n </Headline>\n </div>\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Text type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: hotel?.description?.replace('\\r\\n', '<br/><br/>') || '' }} />\n </Text>\n {!!hotel?.locationDescription && (\n <>\n <div className=\"u-marg-top\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Hotel.Location)}</strong>\n </Text>\n </div>\n <Text type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: hotel?.locationDescription?.replace('\\r\\n', '<br/><br/>') }} />\n </Text>\n </>\n )}\n </div>\n {!!hotel?.perks?.length && (\n <>\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Text type={TextType.Small}>\n <strong className=\"rs-hotelinfo-andyougetall\">{hotel.perkTitle || t(Translation.Step.Hotel.AndYouGetAll)}</strong>\n </Text>\n </div>\n <div className=\"row\">\n <HotelInfoPerkRow hotel={hotel} />\n </div>\n {hotel?.perksShowDisclaimer && (\n <div className=\"row u-marg-top--lighter\">\n <small className=\"col-12\">{t(Translation.Misc.PerksDisclaimer)}</small>\n </div>\n )}\n </>\n )}\n </div>\n {!!hotelServices.length && (\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline className=\"rs-hotelinfo-hotelamenities\" bold>\n {t(Translation.Step.Hotel.HotelAmenities)}\n </Headline>\n </div>\n <div className=\"row\">\n {hotelServices.map((hotelService, index) => {\n return (\n <div key={index} className=\"col-md-6\">\n <div className=\"u-flex u-marg-bottom\">\n <Icon icon={IconType.Check} color={Color.White} backgroundColor={Color.Accent} borderRadius=\"round\" noPadding size=\"16px\" />\n <span className=\"u-flex__item u-marg-left--light\">\n <Text type={TextType.Small}>{hotelService.name}</Text>\n </span>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n )}\n {!!hotel?.policies && (\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline className=\"rs-hotelinfo-policies\" bold>\n {t(Translation.Step.Hotel.Policies)}\n </Headline>\n </div>\n <Text type={TextType.Small}>\n <a href={hotel?.policies} target=\"_blank\" style={{ color: hotel?.colors.accent }} rel=\"noreferrer\">\n {hotel?.policies}\n </a>\n </Text>\n </div>\n )}\n\n {quoteImage && (\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <QuoteImage\n isMobile={isMobile}\n className={classNames('u-marg-bottom--heavy rs-hotelinfo-quote-images', {\n '--mobile': isMobile,\n '--desktop': !isMobile,\n })}\n src={quoteImage}\n ></QuoteImage>\n </div>\n )}\n </div>\n <div className=\"col-lg-6\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Headline className=\"rs-hotelinfo-gallery\" bold>\n {t(Translation.Step.Hotel.Gallery)}\n </Headline>\n </div>\n {images.length >= 1 && getImage(0)}\n <div className=\"row\">\n {[1, 2, 3].map((index) => {\n if (images.length > index) {\n return (\n <div key={index} className=\"col-6\">\n {getImage(index)}\n </div>\n );\n }\n })}\n {images.length > 5 && (\n <div className=\"col-6\">\n <div className=\"c-images c-images--more\" onClick={openSliderOnClick}>\n {getImage(4)}\n <span>+ {images.length - 5}</span>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n {!!images?.length && (\n <FsLightbox\n toggler={lightboxController.toggler}\n slide={lightboxController.slide}\n sources={images.map((image) => ImageProvider.resizeImage(image, ImageSize.Original))}\n type=\"image\"\n />\n )}\n </>\n );\n}\n\nconst QuoteImage = ({ src, className, isMobile }: { src: string; className?: string; isMobile: boolean }) => {\n const [aspectRatio, setAspectRatio] = useState<number | null>(null);\n const [imageHeight, setImageHeight] = useState<number | null>(null);\n\n useEffect(() => {\n if (!src) return;\n\n const img = new Image();\n img.src = src;\n img.onload = () => setAspectRatio(img.width > 0 ? img.height / img.width : 1); // Fallback aspect ratio\n img.onerror = () => {\n console.error('Failed to load image');\n setAspectRatio(1);\n };\n }, [src]);\n\n useEffect(() => {\n if (!isMobile || aspectRatio === null || typeof window === 'undefined') return;\n\n const updateHeight = () => setImageHeight(window.innerWidth * aspectRatio);\n updateHeight();\n\n window.addEventListener('resize', updateHeight);\n return () => window.removeEventListener('resize', updateHeight);\n }, [aspectRatio, isMobile]);\n\n return (\n <div className={className} style={{ width: '100%', textAlign: 'center' }}>\n {src && (\n <img\n src={src}\n alt=\"Quote\"\n style={{\n width: '100%',\n height: isMobile && imageHeight ? `${imageHeight}px` : 'auto',\n objectFit: 'contain', // Ensures full image is visible, no cropping\n display: 'block', // Prevents inline whitespace issue\n margin: '0 auto', // Centers the image in the div\n }}\n />\n )}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"HotelInfo.js","sourceRoot":"/","sources":["src/pages/hotel/HotelInfo.tsx"],"names":[],"mappings":"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","sourcesContent":["import { StepHotelInfoViewEvent } from '@frontend/events';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport classNames from 'classnames';\nimport FsLightbox from 'fslightbox-react';\nimport { useHistoryConsistentPush } from 'hooks/HistoryConsistentPush';\nimport React, { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport BEButton from '@/components/generic/BEButton';\nimport Headline from '@/components/generic/Headline';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport HotelLocationMap from '@/components/generic/map/HotelLocationMap';\nimport { PageTitle } from '@/components/generic/PageTitle';\nimport Text, { TextType } from '@/components/generic/Text';\nimport HotelInfoPerkRow from '@/components/steps/hotel/HotelInfoPerksRow';\nimport TransportDistanceFromHotelBlock from '@/components/summary/TransportDistanceFromHotelBlock';\nimport { BookingEngineContext } from '@/index';\nimport ImageProvider, { ImageSize } from '@/providers/ImageProvider';\nimport { Color } from '@/util/Color';\nimport ScreenSize from '@/util/ScreenSize';\nimport StepManager from '@/util/StepManager';\n\nexport default function HotelInfo() {\n const { hotel } = useCurrentHotel();\n const historyConsistentPush = useHistoryConsistentPush();\n const { t } = useTranslation();\n const context = useContext(BookingEngineContext);\n const isMobile = context.screenSize <= ScreenSize.Large;\n\n const imageUrl = hotel?.heroImage;\n\n const { line1, line2, postalCode, country } = hotel?.address ?? {};\n\n const [lightboxController, setLightboxController] = useState({ toggler: false, slide: 1 });\n const [images, setImages] = useState<string[]>([]);\n\n const openSlider = (slide: number) => {\n setLightboxController((controller) => ({ toggler: !controller.toggler, slide: slide + 1 }));\n };\n const openSliderOnClick = () => {\n openSlider(4);\n };\n\n const { raise } = useEvent();\n\n useEffect(() => {\n const event = new StepHotelInfoViewEvent();\n raise(event);\n }, []);\n\n useEffect(() => {\n const newImages: string[] = [];\n\n if (hotel?.images?.length) {\n newImages.push(...hotel.images);\n }\n\n if (hotel?.rooms) {\n for (const room of Object.values(hotel?.rooms)) {\n room.images?.forEach((image) => {\n newImages.push(image);\n });\n }\n }\n\n setImages(newImages);\n }, [hotel?.images, hotel?.rooms]);\n\n const onBookNowClick = () => {\n historyConsistentPush(StepManager.getFirstStep().getStepUrl());\n };\n\n const getImage = (index: number) => {\n const openSliderOnClickHandler = () => {\n openSlider(index);\n };\n\n const resizedUrl = ImageProvider.resizeImage(images[index], ImageSize.Small);\n\n return (\n <div\n style={{ backgroundImage: `url('${resizedUrl}')`, paddingTop: '75%' }}\n className=\"c-images u-block u-w-100 u-marg-bottom u-marg-bottom--heavy\"\n onClick={openSliderOnClickHandler}\n />\n );\n };\n\n const hotelServices = hotel?.hotelServices?.filter(({ name }) => !!name) || [];\n const quoteImage = isMobile ? hotel?.quoteImageMobile : hotel?.quoteImageDesktop;\n\n return (\n <>\n <PageTitle step=\"HotelInfo\" />\n <div\n style={{ backgroundImage: `url('${imageUrl && ImageProvider.resizeImage(imageUrl, ImageSize.Original)}')` }}\n className={classNames('c-masthead has-tint', 'rs-background-hotel-info', `rs-background-${hotel?.hotelID}`)}\n >\n <div className=\"container\">\n <div className=\"c-masthead__body u-fill-white u-pad--heavy u-shadow-accent\">\n <h1 className=\"c-masthead__header\">{hotel?.name}</h1>\n <h2 className=\"c-masthead__sub-header\">\n {hotel?.countryPrefix ?? ''} {hotel?.address?.country}\n </h2>\n </div>\n </div>\n </div>\n <div className=\"u-fill-snow u-pad--heavy-med u-pad-top-bottom--heavy@m-\">\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-md-6 u-flex align-items-center\">\n <ul>\n <li className=\"u-flex u-marg-bottom--heavy\">\n <Icon icon={IconType.Map} size=\"1.3em\" color={Color.Accent} />\n <span className=\"u-flex__item u-marg-left\">\n {line1}\n <br />\n {line2} {postalCode}, {country}\n </span>\n </li>\n <li className=\"u-flex u-marg-bottom--heavy\">\n <Icon icon={IconType.Phone} size=\"1.3em\" color={Color.Accent} />\n <span className=\"u-flex__item u-marg-left\">{hotel?.phone}</span>\n </li>\n <li className=\"u-flex u-marg-bottom--heavy\">\n <Icon icon={IconType.Hotel2} size=\"1.3em\" color={Color.Accent} />\n <span className=\"u-flex__item u-marg-left\">\n <a href={hotel?.hotelUrl} style={{ color: 'var(--rs-color-accent-1)' }}>\n {hotel?.name}\n </a>\n </span>\n </li>\n <li className=\"u-flex\">\n <BEButton icon={IconType.ArrowRight} primary filled iconPosition=\"right\" onClick={onBookNowClick}>\n {t(Translation.Misc.BookNow)}\n </BEButton>\n </li>\n </ul>\n </div>\n <div className=\"col-md-6\">\n <div className=\"c-overlap\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy u-marg-top u-marg-top--heavy\" style={{ height: '240px' }}>\n <HotelLocationMap />\n </div>\n <div className=\"u-flex u-flex-column justify-content-center rs-hotelinfo-transport-distance u-w-100\">\n <TransportDistanceFromHotelBlock hotel={hotel} />\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div className=\"u-pad u-pad--heavy-plus u-pad-top-bottom--heavy@m-\">\n <div className=\"container rs-hotelinfo\">\n <div className=\"row\">\n <div className=\"col-lg-6\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Headline className=\"rs-hotelinfo-about\" bold>\n {t(Translation.Step.Hotel.About)}\n </Headline>\n </div>\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Text type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: hotel?.description?.replace('\\r\\n', '<br/><br/>') || '' }} />\n </Text>\n {!!hotel?.locationDescription && (\n <>\n <div className=\"u-marg-top\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.Step.Hotel.Location)}</strong>\n </Text>\n </div>\n <Text type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: hotel?.locationDescription?.replace('\\r\\n', '<br/><br/>') }} />\n </Text>\n </>\n )}\n </div>\n {!!hotel?.perks?.length && (\n <>\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Text type={TextType.Small}>\n <strong className=\"rs-hotelinfo-andyougetall\">{hotel.perkTitle || t(Translation.Step.Hotel.AndYouGetAll)}</strong>\n </Text>\n </div>\n <div className=\"row\">\n <HotelInfoPerkRow hotel={hotel} />\n </div>\n {hotel?.perksShowDisclaimer && (\n <div className=\"row u-marg-top--lighter\">\n <small className=\"col-12\">{t(Translation.Misc.PerksDisclaimer)}</small>\n </div>\n )}\n </>\n )}\n </div>\n {!!hotelServices.length && (\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline className=\"rs-hotelinfo-hotelamenities\" bold>\n {t(Translation.Step.Hotel.HotelAmenities)}\n </Headline>\n </div>\n <div className=\"row\">\n {hotelServices.map((hotelService, index) => {\n return (\n <div key={index} className=\"col-md-6\">\n <div className=\"u-flex u-marg-bottom\">\n <Icon icon={IconType.Check} color={Color.White} backgroundColor={Color.Accent} borderRadius=\"round\" noPadding size=\"16px\" />\n <span className=\"u-flex__item u-marg-left--light\">\n <Text type={TextType.Small}>{hotelService.name}</Text>\n </span>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n )}\n {!!hotel?.policies && (\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline className=\"rs-hotelinfo-policies\" bold>\n {t(Translation.Step.Hotel.Policies)}\n </Headline>\n </div>\n <Text type={TextType.Small}>\n <a href={hotel?.policies} target=\"_blank\" style={{ color: hotel?.colors.accent }} rel=\"noreferrer\">\n {hotel?.policies}\n </a>\n </Text>\n </div>\n )}\n\n {quoteImage && (\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <QuoteImage\n isMobile={isMobile}\n className={classNames('u-marg-bottom--heavy rs-hotelinfo-quote-images', {\n '--mobile': isMobile,\n '--desktop': !isMobile,\n })}\n src={quoteImage}\n ></QuoteImage>\n </div>\n )}\n </div>\n <div className=\"col-lg-6\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Headline className=\"rs-hotelinfo-gallery\" bold>\n {t(Translation.Step.Hotel.Gallery)}\n </Headline>\n </div>\n {images.length >= 1 && getImage(0)}\n <div className=\"row\">\n {[1, 2, 3].map((index) => {\n if (images.length > index) {\n return (\n <div key={index} className=\"col-6\">\n {getImage(index)}\n </div>\n );\n }\n })}\n {images.length > 5 && (\n <div className=\"col-6\">\n <div className=\"c-images c-images--more\" onClick={openSliderOnClick}>\n {getImage(4)}\n <span>+ {images.length - 5}</span>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n {!!images?.length && (\n <FsLightbox\n toggler={lightboxController.toggler}\n slide={lightboxController.slide}\n sources={images.map((image) => ImageProvider.resizeImage(image, ImageSize.Original))}\n type=\"image\"\n />\n )}\n </>\n );\n}\n\nconst QuoteImage = ({ src, className, isMobile }: { src: string; className?: string; isMobile: boolean }) => {\n const [aspectRatio, setAspectRatio] = useState<number | null>(null);\n const [imageHeight, setImageHeight] = useState<number | null>(null);\n\n useEffect(() => {\n if (!src) return;\n\n const img = new Image();\n img.src = src;\n img.onload = () => setAspectRatio(img.width > 0 ? img.height / img.width : 1); // Fallback aspect ratio\n img.onerror = () => {\n console.error('Failed to load image');\n setAspectRatio(1);\n };\n }, [src]);\n\n useEffect(() => {\n if (!isMobile || aspectRatio === null || typeof window === 'undefined') return;\n\n const updateHeight = () => setImageHeight(window.innerWidth * aspectRatio);\n updateHeight();\n\n window.addEventListener('resize', updateHeight);\n return () => window.removeEventListener('resize', updateHeight);\n }, [aspectRatio, isMobile]);\n\n return (\n <div className={className} style={{ width: '100%', textAlign: 'center' }}>\n {src && (\n <img\n src={src}\n alt=\"Quote\"\n style={{\n width: '100%',\n height: isMobile && imageHeight ? `${imageHeight}px` : 'auto',\n objectFit: 'contain', // Ensures full image is visible, no cropping\n display: 'block', // Prevents inline whitespace issue\n margin: '0 auto', // Centers the image in the div\n }}\n />\n )}\n </div>\n );\n};\n"]}
@@ -82,6 +82,7 @@ export declare const Translation: {
82
82
  StepProgress: string;
83
83
  };
84
84
  Back: string;
85
+ Next: string;
85
86
  Menu: {
86
87
  YourReservations: string;
87
88
  ProfileInformation: string;
@@ -459,8 +460,9 @@ export declare const Translation: {
459
460
  Clear: string;
460
461
  ApplyChanges: string;
461
462
  CheckIn: string;
463
+ CheckInPlaceHolder: string;
462
464
  CheckOut: string;
463
- Who: string;
465
+ CheckOutPlaceHolder: string;
464
466
  Before: string;
465
467
  After: string;
466
468
  Summary: string;
@@ -529,8 +531,11 @@ export declare const Translation: {
529
531
  Loading: string;
530
532
  BookAHotel: string;
531
533
  ChooseHotel: string;
534
+ ChooseHotelMobile: string;
532
535
  PleaseSelectHotel: string;
536
+ PleaseSelectHotelMobile: string;
533
537
  Guests: string;
538
+ GuestsPlaceHolder: string;
534
539
  Promocode: string;
535
540
  Dates: string;
536
541
  Apply: string;
@@ -543,6 +548,7 @@ export declare const Translation: {
543
548
  To: string;
544
549
  ApplyNow: string;
545
550
  PerksDisclaimer: string;
551
+ LoadMoreDates: string;
546
552
  };
547
553
  FindReservation: {
548
554
  FindYourReservation: string;
@@ -85,6 +85,7 @@ exports.Translation = {
85
85
  StepProgress: 'Navigation.Steps.StepProgress',
86
86
  },
87
87
  Back: 'Navigation.Back',
88
+ Next: 'Navigation.Next',
88
89
  Menu: {
89
90
  YourReservations: 'Navigation.Menu.YourReservations',
90
91
  ProfileInformation: 'Navigation.Menu.ProfileInformation',
@@ -462,8 +463,9 @@ exports.Translation = {
462
463
  Clear: 'Misc.Clear',
463
464
  ApplyChanges: 'Misc.ApplyChanges',
464
465
  CheckIn: 'Misc.CheckIn',
466
+ CheckInPlaceHolder: 'Misc.CheckInPlaceHolder',
465
467
  CheckOut: 'Misc.CheckOut',
466
- Who: 'Misc.Who',
468
+ CheckOutPlaceHolder: 'Misc.CheckOutPlaceHolder',
467
469
  Before: 'Misc.Before',
468
470
  After: 'Misc.After',
469
471
  Summary: 'Misc.Summary',
@@ -532,8 +534,11 @@ exports.Translation = {
532
534
  Loading: 'Misc.Loading',
533
535
  BookAHotel: 'Misc.BookAHotel',
534
536
  ChooseHotel: 'Misc.ChooseHotel',
537
+ ChooseHotelMobile: 'Misc.ChooseHotelMobile',
535
538
  PleaseSelectHotel: 'Misc.PleaseSelectHotel',
539
+ PleaseSelectHotelMobile: 'Misc.PleaseSelectHotelMobile',
536
540
  Guests: 'Misc.Guests',
541
+ GuestsPlaceHolder: 'Misc.GuestsPlaceHolder',
537
542
  Promocode: 'Misc.Promocode',
538
543
  Dates: 'Misc.Dates',
539
544
  Apply: 'Misc.Apply',
@@ -546,6 +551,7 @@ exports.Translation = {
546
551
  To: 'Misc.To',
547
552
  ApplyNow: 'Misc.ApplyNow',
548
553
  PerksDisclaimer: 'Misc.PerksDisclaimer',
554
+ LoadMoreDates: 'Misc.LoadMoreDates',
549
555
  },
550
556
  FindReservation: {
551
557
  FindYourReservation: 'FindReservation.FindYourReservation',