@roomstay/frontend 2.9.1-2 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/177.bundle.js +1 -1
- package/dist/288.bundle.js +1 -1
- package/dist/326.bundle.js +2 -0
- package/dist/446.bundle.js +1 -1
- package/dist/537.bundle.js +1 -1
- package/dist/596.bundle.js +1 -1
- package/dist/625.bundle.js +1 -1
- package/dist/686.bundle.js +1 -0
- package/dist/836.bundle.js +1 -1
- package/dist/main.bundle.js +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js +0 -6
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js.map +1 -1
- package/dist/src/components/generic/Portal/Portal.js +1 -5
- package/dist/src/components/generic/Portal/Portal.js.map +1 -1
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.d.ts +2 -2
- package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
- package/dist/src/components/members/SignInModal/EmailAndFullnameMemberModal.d.ts +0 -4
- package/dist/src/components/members/SignInModal/EmailAndFullnameMemberModal.js +30 -105
- package/dist/src/components/members/SignInModal/EmailAndFullnameMemberModal.js.map +1 -1
- package/dist/src/components/members/SignInModal/ExternalMemberModal.d.ts +3 -9
- package/dist/src/components/members/SignInModal/ExternalMemberModal.js +6 -45
- package/dist/src/components/members/SignInModal/ExternalMemberModal.js.map +1 -1
- package/dist/src/components/steps/date/BEPeoplePickerBlock.js +1 -3
- package/dist/src/components/steps/date/BEPeoplePickerBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +0 -2
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +1 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +18 -4
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +1 -0
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +1 -0
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +0 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
- package/dist/src/contexts/HotelOverridesContext.js +4 -0
- package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
- package/dist/src/contexts/index.d.ts +0 -2
- package/dist/src/contexts/index.js +0 -2
- package/dist/src/contexts/index.js.map +1 -1
- package/dist/src/engines/BaseEngine.d.ts +0 -13
- package/dist/src/engines/BaseEngine.js +0 -32
- package/dist/src/engines/BaseEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js +0 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +1 -3
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js +0 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +10 -12
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js +0 -1
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -1
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +9 -11
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js +0 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +2 -4
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
- package/dist/src/handlers/membership/SalesforceMemberHandler.js +1 -1
- package/dist/src/handlers/membership/SalesforceMemberHandler.js.map +1 -1
- package/dist/src/hooks/BodyClickHook.d.ts +2 -2
- package/dist/src/hooks/BodyClickHook.js +3 -7
- package/dist/src/hooks/BodyClickHook.js.map +1 -1
- package/dist/src/models/Api/HotelDTO.d.ts +2 -0
- package/dist/src/models/Api/HotelDTO.js.map +1 -1
- package/dist/src/models/Api/HotelOverrideDTO.d.ts +1 -0
- package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
- package/dist/src/models/Client/Hotel/Hotel.d.ts +2 -0
- package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservationResults.js +1 -1
- package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRow.js +9 -10
- package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfo.js +6 -7
- package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +7 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
- package/dist/src/providers/RoomstayThemeEngine.js +2 -7
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
- package/dist/src/providers/storage/SessionProvider.js.map +1 -1
- package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +1 -1
- package/dist/src/translations/Translation.d.ts +0 -3
- package/dist/src/translations/Translation.js +0 -3
- package/dist/src/translations/Translation.js.map +1 -1
- package/dist/src/translations/languages/en-gb.js +0 -3
- package/dist/src/translations/languages/en-gb.js.map +1 -1
- package/dist/src/util/Analytics/Analytics.js +0 -1
- package/dist/src/util/Analytics/Analytics.js.map +1 -1
- package/dist/test.bundle.js +1 -1
- package/dist/vendors.bundle.js +1 -1
- package/package.json +2 -2
- package/dist/219.bundle.js +0 -2
- package/dist/291.bundle.js +0 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/ShadowDomBottomSheet.d.ts +0 -22
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/ShadowDomBottomSheet.js +0 -131
- package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/ShadowDomBottomSheet.js.map +0 -1
- package/dist/src/contexts/ShadowDomContext/ShadowDomContext.d.ts +0 -10
- package/dist/src/contexts/ShadowDomContext/ShadowDomContext.js +0 -12
- package/dist/src/contexts/ShadowDomContext/ShadowDomContext.js.map +0 -1
- package/dist/src/contexts/ShadowDomContext/ShadowDomContextProvider.d.ts +0 -8
- package/dist/src/contexts/ShadowDomContext/ShadowDomContextProvider.js +0 -13
- package/dist/src/contexts/ShadowDomContext/ShadowDomContextProvider.js.map +0 -1
- package/dist/src/providers/ShadowDomManager.d.ts +0 -21
- package/dist/src/providers/ShadowDomManager.js +0 -55
- package/dist/src/providers/ShadowDomManager.js.map +0 -1
- package/dist/src/providers/StyleInjector.d.ts +0 -42
- package/dist/src/providers/StyleInjector.js +0 -118
- package/dist/src/providers/StyleInjector.js.map +0 -1
- /package/dist/{219.bundle.js.LICENSE.txt → 326.bundle.js.LICENSE.txt} +0 -0
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import dayjs from 'dayjs';
|
|
2
|
-
import { ShadowDomContextType } from '../contexts/ShadowDomContext/ShadowDomContext';
|
|
3
2
|
import { RoomstaySession } from '../models/RoomstaySession';
|
|
4
|
-
import { ShadowDomManager } from '../providers/ShadowDomManager';
|
|
5
3
|
import LocalStorageProvider from '../providers/storage/LocalStorageProvider';
|
|
6
4
|
import SessionProvider from '../providers/storage/SessionProvider';
|
|
7
5
|
export interface BookingEngineOnBooking {
|
|
@@ -23,7 +21,6 @@ export interface BaseEngineConfig {
|
|
|
23
21
|
checkIn?: string;
|
|
24
22
|
checkout?: string;
|
|
25
23
|
};
|
|
26
|
-
shadowRoot?: boolean;
|
|
27
24
|
}
|
|
28
25
|
export declare enum BookingEngineSource {
|
|
29
26
|
Inline = "inline",
|
|
@@ -38,7 +35,6 @@ export declare abstract class BaseEngine<C extends BaseEngineConfig> {
|
|
|
38
35
|
protected sessionProvider: SessionProvider;
|
|
39
36
|
protected initialSession: RoomstaySession;
|
|
40
37
|
protected storageProvider: LocalStorageProvider;
|
|
41
|
-
protected shadowDomManager: ShadowDomManager | null;
|
|
42
38
|
protected engineConfig: C;
|
|
43
39
|
constructor(bookingContainer: HTMLElement, config?: C);
|
|
44
40
|
readonly start: () => Promise<void>;
|
|
@@ -48,14 +44,5 @@ export declare abstract class BaseEngine<C extends BaseEngineConfig> {
|
|
|
48
44
|
setConfig(config: C): void;
|
|
49
45
|
getConfig(): C;
|
|
50
46
|
getSource(): BookingEngineSource;
|
|
51
|
-
/**
|
|
52
|
-
* Initialize Shadow DOM if configured. Call at the start of render() in subclasses.
|
|
53
|
-
* Sets up the shadow root and reassigns RoomstayThemeEngine.EngineContainer.
|
|
54
|
-
*
|
|
55
|
-
* Can also be activated via `?shadowRoot=true` URL parameter for staging/QA testing.
|
|
56
|
-
*/
|
|
57
|
-
protected initializeShadowDom(): void;
|
|
58
|
-
/** Returns the ShadowDomContextType value for the React context provider. */
|
|
59
|
-
getShadowDomContextValue(): ShadowDomContextType;
|
|
60
47
|
protected abstract render(): Promise<void>;
|
|
61
48
|
}
|
|
@@ -14,7 +14,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.BaseEngine = exports.BookingEngineSource = void 0;
|
|
16
16
|
const RoomstayThemeEngine_1 = __importDefault(require("../providers/RoomstayThemeEngine"));
|
|
17
|
-
const ShadowDomManager_1 = require("../providers/ShadowDomManager");
|
|
18
17
|
const LocalStorageProvider_1 = __importDefault(require("../providers/storage/LocalStorageProvider"));
|
|
19
18
|
const SessionProvider_1 = __importDefault(require("../providers/storage/SessionProvider"));
|
|
20
19
|
var BookingEngineSource;
|
|
@@ -27,7 +26,6 @@ var BookingEngineSource;
|
|
|
27
26
|
})(BookingEngineSource || (exports.BookingEngineSource = BookingEngineSource = {}));
|
|
28
27
|
class BaseEngine {
|
|
29
28
|
constructor(bookingContainer, config) {
|
|
30
|
-
this.shadowDomManager = null;
|
|
31
29
|
this.start = () => __awaiter(this, void 0, void 0, function* () {
|
|
32
30
|
const queryParams = new URLSearchParams(window.location.hash.replace(/^#\/.+\//, ''));
|
|
33
31
|
let sessionId = null;
|
|
@@ -77,36 +75,6 @@ class BaseEngine {
|
|
|
77
75
|
getSource() {
|
|
78
76
|
return this.source;
|
|
79
77
|
}
|
|
80
|
-
/**
|
|
81
|
-
* Initialize Shadow DOM if configured. Call at the start of render() in subclasses.
|
|
82
|
-
* Sets up the shadow root and reassigns RoomstayThemeEngine.EngineContainer.
|
|
83
|
-
*
|
|
84
|
-
* Can also be activated via `?shadowRoot=true` URL parameter for staging/QA testing.
|
|
85
|
-
*/
|
|
86
|
-
initializeShadowDom() {
|
|
87
|
-
var _a;
|
|
88
|
-
const urlOverride = new URLSearchParams(window.location.search).get('shadowRoot') === 'true';
|
|
89
|
-
const shouldEnable = ((_a = this.engineConfig) === null || _a === void 0 ? void 0 : _a.shadowRoot) || urlOverride;
|
|
90
|
-
if (shouldEnable && !this.shadowDomManager) {
|
|
91
|
-
this.shadowDomManager = new ShadowDomManager_1.ShadowDomManager(this.bookingContainer);
|
|
92
|
-
RoomstayThemeEngine_1.default.EngineContainer = this.shadowDomManager.container;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/** Returns the ShadowDomContextType value for the React context provider. */
|
|
96
|
-
getShadowDomContextValue() {
|
|
97
|
-
if (this.shadowDomManager) {
|
|
98
|
-
return {
|
|
99
|
-
isShadowDom: true,
|
|
100
|
-
shadowRoot: this.shadowDomManager.root,
|
|
101
|
-
portalTarget: this.shadowDomManager.container,
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
return {
|
|
105
|
-
isShadowDom: false,
|
|
106
|
-
shadowRoot: null,
|
|
107
|
-
portalTarget: document.body,
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
78
|
}
|
|
111
79
|
exports.BaseEngine = BaseEngine;
|
|
112
80
|
//# sourceMappingURL=BaseEngine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEngine.js","sourceRoot":"/","sources":["src/engines/BaseEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"BaseEngine.js","sourceRoot":"/","sources":["src/engines/BaseEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,0FAAkE;AAClE,oGAA4E;AAC5E,0FAAkE;AAsBlE,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC3B,wCAAiB,CAAA;IACjB,yDAAkC,CAAA;IAClC,4CAAqB,CAAA;IACrB,uDAAgC,CAAA;IAChC,oCAAa,CAAA;AACjB,CAAC,EANW,mBAAmB,mCAAnB,mBAAmB,QAM9B;AAED,MAAsB,UAAU;IAS5B,YAAY,gBAA6B,EAAE,MAAU;QAarC,UAAK,GAAG,GAAS,EAAE;YAC/B,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;YACtF,IAAI,SAAS,GAAQ,IAAI,CAAC;YAC1B,IAAI,WAAW,EAAE,CAAC;gBACd,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC;YACL,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,yBAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAS,EAAE;gBACpE,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;YAClE,CAAC,CAAA,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,GAAG,IAAI,8BAAoB,EAAE,CAAC;YAElD,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC,EAAE,CAAC,CAAC,CAAC;QACV,CAAC,CAAA,CAAC;QA/BE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAElE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,MAAW,CAAC,CAAC;QAChC,CAAC;QAED,2BAA2B;QAC3B,6BAAmB,CAAC,eAAe,GAAG,gBAAgB,CAAC;QACvD,6BAAmB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAuBM,iBAAiB;QACpB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC/B,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAEM,SAAS,CAAC,MAAS;QACtB,kCAAkC;QAClC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC/B,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CAGJ;AA1ED,gCA0EC","sourcesContent":["import dayjs from 'dayjs';\n\nimport { RoomstaySession } from '@/models/RoomstaySession';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport LocalStorageProvider from '@/providers/storage/LocalStorageProvider';\nimport SessionProvider from '@/providers/storage/SessionProvider';\n\nexport interface BookingEngineOnBooking {\n id: string;\n checkIn: dayjs.Dayjs;\n checkout: dayjs.Dayjs;\n promoCode?: string;\n guests: {\n adults: number;\n children: number;\n infants: number;\n room: number;\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface BaseEngineConfig {\n disableChild?: boolean;\n maxAdults?: number;\n defaultValues?: Partial<Omit<BookingEngineOnBooking, 'id' | 'checkIn' | 'checkout'>> & { checkIn?: string; checkout?: string };\n}\n\nexport enum BookingEngineSource {\n Inline = 'inline',\n RecentSearches = 'recent-searches',\n Fullpage = 'fullpage',\n BookingWizard = 'booking-wizard',\n Auth = 'auth',\n}\n\nexport abstract class BaseEngine<C extends BaseEngineConfig> {\n protected source!: BookingEngineSource;\n protected readonly bookingContainer: HTMLElement;\n protected sessionProvider!: SessionProvider;\n protected initialSession!: RoomstaySession;\n protected storageProvider!: LocalStorageProvider;\n\n protected engineConfig!: C;\n\n constructor(bookingContainer: HTMLElement, config?: C) {\n this.bookingContainer = bookingContainer;\n this.bookingContainer.classList.add('roomstay-booking-container');\n\n if (this.engineConfig) {\n this.setConfig(config as C);\n }\n\n // TODO: Update these calls\n RoomstayThemeEngine.EngineContainer = bookingContainer;\n RoomstayThemeEngine.init();\n }\n\n public readonly start = async () => {\n const queryParams = new URLSearchParams(window.location.hash.replace(/^#\\/.+\\//, ''));\n let sessionId: any = null;\n if (queryParams) {\n if (queryParams.has('session')) {\n sessionId = queryParams.get('session');\n }\n }\n\n this.sessionProvider = new SessionProvider();\n this.sessionProvider.initialize(sessionId, this.source).then(async () => {\n this.initialSession = await this.sessionProvider.getSession();\n });\n\n this.storageProvider = new LocalStorageProvider();\n\n setTimeout(() => {\n this.render();\n }, 1);\n };\n\n public getInitialSession(): RoomstaySession | null {\n if (this.initialSession) {\n return this.initialSession;\n }\n\n console.error('Tried Loading session without engine initializing first.');\n return null;\n }\n\n public getSessionProvider() {\n return this.sessionProvider;\n }\n\n public getStorageProvider() {\n return this.storageProvider;\n }\n\n public setConfig(config: C) {\n // TODO: add hook updates in here.\n this.engineConfig = config;\n }\n\n public getConfig() {\n return this.engineConfig;\n }\n\n public getSource(): BookingEngineSource {\n return this.source;\n }\n\n protected abstract render(): Promise<void>;\n}\n"]}
|
|
@@ -25,7 +25,6 @@ class BookingWizardEngine extends BaseEngine_1.BaseEngine {
|
|
|
25
25
|
}
|
|
26
26
|
render() {
|
|
27
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
this.initializeShadowDom();
|
|
29
28
|
(0, BookingWizardEngineElement_1.renderBookingWizard)(RoomstayThemeEngine_1.default.createElementOrReuseExisting('div', 'booking-wizard'), this);
|
|
30
29
|
});
|
|
31
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingWizardEngine.js","sourceRoot":"/","sources":["src/engines/BookingWizardEngine/BookingWizardEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,qDAAyF;AACzF,yGAA+F;AAK/F,0FAAkE;AA4ClE,MAAa,mBAAoB,SAAQ,uBAAqC;IAC1E,YAAmB,gBAA6B,EAAE,MAAkC;QAChF,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,gCAAmB,CAAC,aAAa,CAAC;QAEhD,4CAA4C;QAC5C,6BAAmB,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC1E,CAAC;IAEe,MAAM;;YAClB,
|
|
1
|
+
{"version":3,"file":"BookingWizardEngine.js","sourceRoot":"/","sources":["src/engines/BookingWizardEngine/BookingWizardEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,qDAAyF;AACzF,yGAA+F;AAK/F,0FAAkE;AA4ClE,MAAa,mBAAoB,SAAQ,uBAAqC;IAC1E,YAAmB,gBAA6B,EAAE,MAAkC;QAChF,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,gCAAmB,CAAC,aAAa,CAAC;QAEhD,4CAA4C;QAC5C,6BAAmB,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC1E,CAAC;IAEe,MAAM;;YAClB,IAAA,gDAAmB,EAAC,6BAAmB,CAAC,4BAA4B,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC;QACzG,CAAC;KAAA;CACJ;AAZD,kDAYC","sourcesContent":["import { ReactNode } from 'react';\n\nimport { EBookingWizardOverlayDirection, EBookingWizardTheme } from '@/components/generic/BookingWizard/BookingWizard';\nimport type { BookingWizardContextType } from '@/components/generic/BookingWizard/BookingWizardContext';\nimport { BookingWizardGuestSelectorProps } from '@/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector';\nimport { BaseEngine, BaseEngineConfig, BookingEngineSource } from '@/engines/BaseEngine';\nimport { renderBookingWizard } from '@/engines/BookingWizardEngine/BookingWizardEngineElement';\nimport { ShowPromoCodeAlertProps, ShowYearOnCalendarProps } from '@/models/Api/HotelOverrideDTO';\nimport type { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nimport type { TBookingWizardProperties } from '@/models/BookingWizard/BookingWizardTypes';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\n\nexport interface BookingWizardEngineConfig extends BaseEngineConfig, ShowYearOnCalendarProps, ShowPromoCodeAlertProps, Pick<Hotel, 'startsWeekOnDay'> {\n widgetType: 'property' | 'group';\n theme: EBookingWizardTheme;\n layout: 'horizontal' | 'vertical' | 'button';\n useMobileButtonLayout?: boolean;\n\n properties: TBookingWizardProperties;\n selectedProperty?: BookingWizardProperty;\n defaultColors: BookingWizardProperty['colors'];\n\n wrapperClassname?: string;\n contentClassname?: string;\n maxOccupancy?: number;\n disableChild?: boolean;\n showInfants?: boolean;\n disableRoom?: boolean;\n hideGuestSelect?: boolean;\n hidePromocode?: boolean;\n hideProperty?: boolean;\n dateFormat?: string;\n\n hideTooltips?: boolean;\n overlayDirection?: EBookingWizardOverlayDirection;\n\n onSubmit?: BookingWizardContextType['onSubmit'];\n\n // New option for new theme\n notes?: {\n date?: ReactNode; // Show at bottom left corner of Date Selector popup\n guest?: ReactNode; // Show at bottom of Guest Selector popup\n };\n guestAgeConfig?: Pick<BookingWizardGuestSelectorProps, 'minAdultAge' | 'maxAdultAge' | 'ageRange'>;\n\n // Enable property search and optionally provide a custom search filter function.\n searchConfig?: {\n companyId: number;\n searchFilter?: (properties: TBookingWizardProperties, query?: string) => TBookingWizardProperties;\n sortCompareFn?: <T>(a: T, b: T) => number;\n combineAddress?: (address: BookingWizardProperty['address']) => string;\n };\n}\n\nexport class BookingWizardEngine extends BaseEngine<BookingWizardEngineConfig> {\n public constructor(bookingContainer: HTMLElement, config?: BookingWizardEngineConfig) {\n super(bookingContainer, config);\n this.source = BookingEngineSource.BookingWizard;\n\n // TODO: Make this a more permanent solution\n RoomstayThemeEngine.EngineContainer.classList.add('--transparent-bg');\n }\n\n protected async render() {\n renderBookingWizard(RoomstayThemeEngine.createElementOrReuseExisting('div', 'booking-wizard'), this);\n }\n}\n"]}
|
|
@@ -9,7 +9,6 @@ const contexts_1 = require("../../contexts/index.js");
|
|
|
9
9
|
const react_1 = __importDefault(require("react"));
|
|
10
10
|
const react_dom_1 = require("react-dom");
|
|
11
11
|
const BookingWizard_1 = __importDefault(require("../../components/generic/BookingWizard/BookingWizard"));
|
|
12
|
-
const ShadowDomContextProvider_1 = require("../../contexts/ShadowDomContext/ShadowDomContextProvider");
|
|
13
12
|
function BookingWizardEngineElement({ engine }) {
|
|
14
13
|
const engineConfig = engine.getConfig();
|
|
15
14
|
const bwProps = {
|
|
@@ -40,8 +39,7 @@ function BookingWizardEngineElement({ engine }) {
|
|
|
40
39
|
react_1.default.createElement(BookingWizard_1.default, Object.assign({}, bwProps))));
|
|
41
40
|
}
|
|
42
41
|
const renderBookingWizard = (container, engine) => {
|
|
43
|
-
(0, react_dom_1.render)(react_1.default.createElement(
|
|
44
|
-
react_1.default.createElement(BookingWizardEngineElement, { engine: engine })), container);
|
|
42
|
+
(0, react_dom_1.render)(react_1.default.createElement(BookingWizardEngineElement, { engine: engine }), container);
|
|
45
43
|
};
|
|
46
44
|
exports.renderBookingWizard = renderBookingWizard;
|
|
47
45
|
//# sourceMappingURL=BookingWizardEngineElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingWizardEngineElement.js","sourceRoot":"/","sources":["src/engines/BookingWizardEngine/BookingWizardEngineElement.tsx"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"BookingWizardEngineElement.js","sourceRoot":"/","sources":["src/engines/BookingWizardEngine/BookingWizardEngineElement.tsx"],"names":[],"mappings":";;;;;;AAYA,6CAkCC;AA9CD,iDAAiE;AACjE,kDAA0B;AAC1B,yCAAmC;AAEnC,qGAA0H;AAQ1H,SAAwB,0BAA0B,CAAC,EAAE,MAAM,EAAmC;IAC1F,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAExC,MAAM,OAAO,GAAuB;QAChC,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,KAAK,EAAE,YAAY,CAAC,KAA4B;QAChD,qBAAqB,EAAE,YAAY,CAAC,qBAAqB;QACzD,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;QAC/C,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;QAC/C,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;QAC/C,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,YAAY,EAAE,YAAY,CAAC,YAAY;QACvC,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,eAAe,EAAE,YAAY,CAAC,eAAe;QAC7C,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,YAAY,EAAE,YAAY,CAAC,YAAY;QACvC,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;QAC/C,eAAe,EAAE,YAAY,CAAC,eAAe;KAC1B,CAAC;IAExB,8EAA8E;IAC9E,8CAA8C;IAE9C,OAAO,CACH,8BAAC,sCAA2B,IAAC,MAAM,EAAE,MAAM;QACvC,8BAAC,uBAAa,oBAAK,OAAO,EAAI,CACJ,CACjC,CAAC;AACN,CAAC;AAEM,MAAM,mBAAmB,GAAG,CAAC,SAAkB,EAAE,MAA2B,EAAE,EAAE;IACnF,IAAA,kBAAM,EAAC,8BAAC,0BAA0B,IAAC,MAAM,EAAE,MAAM,GAAI,EAAE,SAAS,CAAC,CAAC;AACtE,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B","sourcesContent":["import { BookingEngineContextWrapper } from '@frontend/contexts';\nimport React from 'react';\nimport { render } from 'react-dom';\n\nimport BookingWizard, { BookingWizardProps, EBookingWizardTheme } from '@/components/generic/BookingWizard/BookingWizard';\n\nimport { BookingWizardEngine } from './BookingWizardEngine';\n\nexport interface BookingWizardEngineElementProps {\n engine: BookingWizardEngine;\n}\n\nexport default function BookingWizardEngineElement({ engine }: BookingWizardEngineElementProps) {\n const engineConfig = engine.getConfig();\n\n const bwProps: BookingWizardProps = {\n layout: engineConfig.layout,\n theme: engineConfig.theme as EBookingWizardTheme,\n useMobileButtonLayout: engineConfig.useMobileButtonLayout,\n properties: engineConfig.properties,\n selectedProperty: engineConfig.selectedProperty,\n defaultColors: engineConfig.defaultColors,\n wrapperClassname: engineConfig.wrapperClassname,\n contentClassname: engineConfig.contentClassname,\n maxAdults: engineConfig.maxAdults,\n disableChild: engineConfig.disableChild,\n showInfants: engineConfig.showInfants,\n disableRoom: engineConfig.disableRoom,\n defaultValues: engineConfig.defaultValues,\n hideGuestSelect: engineConfig.hideGuestSelect,\n hidePromocode: engineConfig.hidePromocode,\n hideProperty: engineConfig.hideProperty,\n dateFormat: engineConfig.dateFormat,\n onSubmit: engineConfig.onSubmit,\n overlayDirection: engineConfig.overlayDirection,\n startsWeekOnDay: engineConfig.startsWeekOnDay,\n } as BookingWizardProps;\n\n // TODO: This will be updated to be configurable (border sizing, padding, etc)\n // const widgetType = engineConfig.widgetType;\n\n return (\n <BookingEngineContextWrapper engine={engine}>\n <BookingWizard {...bwProps} />\n </BookingEngineContextWrapper>\n );\n}\n\nexport const renderBookingWizard = (container: Element, engine: BookingWizardEngine) => {\n render(<BookingWizardEngineElement engine={engine} />, container);\n};\n"]}
|
|
@@ -27,7 +27,6 @@ class InlineRoomMiniEngine extends BaseEngine_1.BaseEngine {
|
|
|
27
27
|
}
|
|
28
28
|
render() {
|
|
29
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
this.initializeShadowDom();
|
|
31
30
|
(0, InlineRoomMiniEngineElement_1.renderInlineRoomMiniEngineElement)(RoomstayThemeEngine_1.default.createElementOrReuseExisting('div', 'inline-mini-engine'), this);
|
|
32
31
|
});
|
|
33
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineRoomMiniEngine.js","sourceRoot":"/","sources":["src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,qDAAyF;AACzF,4GAA+G;AAE/G,0FAAkE;AAYlE,MAAa,oBAAqB,SAAQ,uBAAsC;IAG5E,YAAY,gBAA6B,EAAE,QAAgB,EAAE,MAAmC;QAC5F,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,gCAAmB,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEe,MAAM;;YAClB,
|
|
1
|
+
{"version":3,"file":"InlineRoomMiniEngine.js","sourceRoot":"/","sources":["src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,qDAAyF;AACzF,4GAA+G;AAE/G,0FAAkE;AAYlE,MAAa,oBAAqB,SAAQ,uBAAsC;IAG5E,YAAY,gBAA6B,EAAE,QAAgB,EAAE,MAAmC;QAC5F,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,gCAAmB,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEe,MAAM;;YAClB,IAAA,+DAAiC,EAAC,6BAAmB,CAAC,4BAA4B,CAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3H,CAAC;KAAA;CACJ;AAhBD,oDAgBC","sourcesContent":["import { ReactNode } from 'react';\n\nimport { BaseEngine, BaseEngineConfig, BookingEngineSource } from '@/engines/BaseEngine';\nimport { renderInlineRoomMiniEngineElement } from '@/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement';\nimport { ConfigCompany } from '@/models/Client/Hotel/Company';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\n\nexport interface InlineRoomMiniEngineConfig extends BaseEngineConfig {\n company: ConfigCompany;\n layout?: 'default' | 'card'; // Added layout, Default: default\n policy?: ReactNode;\n priceDescription?: ReactNode;\n\n showInfants?: boolean;\n maxInfants?: number;\n}\n\nexport class InlineRoomMiniEngine extends BaseEngine<InlineRoomMiniEngineConfig> {\n private roomCode: string;\n\n constructor(bookingContainer: HTMLElement, roomCode: string, config?: InlineRoomMiniEngineConfig) {\n super(bookingContainer, config);\n this.source = BookingEngineSource.Inline;\n this.roomCode = roomCode;\n }\n\n public getRoomCode(): string {\n return this.roomCode;\n }\n\n protected async render() {\n renderInlineRoomMiniEngineElement(RoomstayThemeEngine.createElementOrReuseExisting('div', 'inline-mini-engine'), this);\n }\n}\n"]}
|
|
@@ -74,7 +74,6 @@ const Text_1 = __importStar(require("../../components/generic/Text"));
|
|
|
74
74
|
const Tooltip_1 = __importDefault(require("../../components/generic/Tooltip/Tooltip"));
|
|
75
75
|
const RatesNotFoundBlock_1 = __importDefault(require("../../components/steps/room/RatesNotFoundBlock"));
|
|
76
76
|
const RoomRates_1 = __importDefault(require("../../components/steps/room/roomDetails/roomRates/RoomRates"));
|
|
77
|
-
const ShadowDomContextProvider_1 = require("../../contexts/ShadowDomContext/ShadowDomContextProvider");
|
|
78
77
|
const RoomListSearchEvent_1 = require("../../events/actions/RoomListSearchEvent");
|
|
79
78
|
const useSignedInMember_1 = require("../../hooks/useSignedInMember");
|
|
80
79
|
const BasketRow_1 = __importStar(require("../../models/BasketRow"));
|
|
@@ -434,17 +433,16 @@ function InlineRoomMiniEngineElement(props) {
|
|
|
434
433
|
}, [isCompact, isLoading, rooms, basketContext.currentBasketRows, isPromoModalOpen, hotel, standardRates]);
|
|
435
434
|
}
|
|
436
435
|
const renderInlineRoomMiniEngineElement = (container, engine) => {
|
|
437
|
-
(0, react_dom_1.render)(react_1.default.createElement(
|
|
438
|
-
react_1.default.createElement(
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
react_1.default.createElement(
|
|
444
|
-
react_1.default.createElement(
|
|
445
|
-
react_1.default.createElement(contexts_1.
|
|
446
|
-
react_1.default.createElement(
|
|
447
|
-
react_1.default.createElement(InlineRoomMiniEngineElement, { engine: engine })))))))), container);
|
|
436
|
+
(0, react_dom_1.render)(react_1.default.createElement(contexts_1.BookingEngineContextWrapper, { engine: engine },
|
|
437
|
+
react_1.default.createElement(react_router_dom_1.HashRouter, { future: {
|
|
438
|
+
v7_startTransition: false,
|
|
439
|
+
v7_relativeSplatPath: false,
|
|
440
|
+
} },
|
|
441
|
+
react_1.default.createElement(NotificationContext_1.NotificationContextWrapper, null,
|
|
442
|
+
react_1.default.createElement(ErrorContext_1.ErrorContextWrapper, null,
|
|
443
|
+
react_1.default.createElement(contexts_1.CompanyContextWrapper, { configCompany: engine.getConfig().company },
|
|
444
|
+
react_1.default.createElement(contexts_1.BasketContextWrapper, null,
|
|
445
|
+
react_1.default.createElement(InlineRoomMiniEngineElement, { engine: engine }))))))), container);
|
|
448
446
|
};
|
|
449
447
|
exports.renderInlineRoomMiniEngineElement = renderInlineRoomMiniEngineElement;
|
|
450
448
|
const GuestSelectorCustom = ({ maxAdults, maxChildren, maxInfants = 10, defaultValue, onChange, disableChild, showInfants, disableRoom, applyButton, promoCodeConfig, row, }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineRoomMiniEngineElement.js","sourceRoot":"/","sources":["src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, BasketContextWrapper, BookingEngineContext, BookingEngineContextWrapper, CompanyContext, CompanyContextWrapper } from '@frontend/contexts';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport classNames from 'classnames';\nimport { ErrorContextWrapper } from 'contexts/ErrorContext';\nimport { NotificationContextWrapper } from 'contexts/NotificationContext';\nimport dayjs from 'dayjs';\nimport React, { useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { render } from 'react-dom';\nimport { useTranslation } from 'react-i18next';\nimport { HashRouter } from 'react-router-dom';\nimport useMeasure from 'react-use-measure';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport API from '@/api/BookingAPI';\nimport BEButton from '@/components/generic/BEButton';\nimport { BookingWizardOnBooking } from '@/components/generic/BookingWizard/BookingWizardContext';\nimport { BookNowPayLaterInfoBlock } from '@/components/generic/BookNowPayLaterInfoBlock';\nimport FloatingDatePicker from '@/components/generic/date/FloatingDatePicker';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\nimport NumberIncrement from '@/components/generic/NumberIncrement';\nimport { Overlay } from '@/components/generic/Overlay/Overlay';\nimport PromoCodeInput from '@/components/generic/PromoCodeInput';\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport Text, { TextType } from '@/components/generic/Text';\nimport Tooltip from '@/components/generic/Tooltip/Tooltip';\nimport RatesNotFoundBlock from '@/components/steps/room/RatesNotFoundBlock';\nimport RoomRates from '@/components/steps/room/roomDetails/roomRates/RoomRates';\nimport { ShadowDomContextProvider } from '@/contexts/ShadowDomContext/ShadowDomContextProvider';\nimport type { InlineRoomMiniEngine } from '@/engines/InlineRoomMiniEngine/InlineRoomMiniEngine';\nimport { RoomListSearchEvent } from '@/events/actions/RoomListSearchEvent';\nimport { useSignedInMember } from '@/hooks/useSignedInMember';\nimport BasketRow, { EPromoCodeStatus } from '@/models/BasketRow';\nimport { Room } from '@/models/Room/Room';\nimport { RoomRate } from '@/models/Room/RoomRate';\nimport { RoomListSearch } from '@/models/RoomListSearch';\nimport { SearchParameters } from '@/models/SearchParameters';\nimport StepConfirmation from '@/pages/steps/StepConfirmation/StepConfirmation';\nimport FeaturedPromoFeature from '@/providers/feature/FeaturedPromoFeature';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { Color } from '@/util/Color';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nimport StringHelper from '@/util/StringHelper';\n\nimport styles from './InlineRoomMiniEngine.module.scss';\n\nexport interface InlineRoomMiniEngineElementProps {\n engine: InlineRoomMiniEngine;\n}\n\nexport default function InlineRoomMiniEngineElement(props: InlineRoomMiniEngineElementProps) {\n const { layout = 'default', policy, priceDescription, showInfants = false, maxInfants } = props.engine.getConfig();\n const isCardLayout = layout === 'card';\n\n const { hotel } = useCurrentHotel();\n\n const { memberNumber } = useSignedInMember();\n\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n\n const row = basketContext.currentBasketRows[0];\n const [isLoading, setLoading] = useState(true);\n const [rooms, setRooms] = useState<Room[]>([]);\n\n const [isPromoModalOpen, setIsPromoModalOpen] = useState(false);\n\n const [featuredRates, setFeaturedRates] = useState<RoomRate[]>([]);\n const [standardRates, setStandardRates] = useState<RoomRate[]>([]);\n\n const [promoCode, setPromoCode] = useState(row?.getPromoCode());\n\n const { t } = useTranslation();\n\n const [ref, bounds] = useMeasure();\n const thisElement = React.useRef<HTMLDivElement | null>(null);\n\n const { raise } = useEvent();\n\n const promoCodeTooltip = row?.getPromoCodeTooltip(t, Translation) || '';\n\n const didInitialEagerFetchRef = useRef(false);\n\n useEffect(() => {\n if (!row) {\n basketContext.addBasketRow(new BasketRow());\n return;\n }\n\n // Filters availability results by the provided room code.\n row.setEnableRoomCodeFilter(true);\n row.setRoomCode(props.engine.getRoomCode());\n }, [row, props.engine]);\n\n useEffect(() => {\n if (!row?.getStartDate() || !row?.getEndDate()) {\n return;\n }\n\n fetchAvailability();\n }, [\n row?.getStartDate()?.format('YYYY-MM-DD'),\n row?.getEndDate()?.format('YYYY-MM-DD'),\n row?.getAdults(),\n row?.getChildren(),\n row?.getPromoCode(),\n memberNumber,\n hotel?.hotelID,\n props.engine.getRoomCode(),\n ]);\n\n useEffect(() => {\n if (!(rooms && rooms.length > 0)) return;\n\n const room = rooms[0];\n\n let nonPromoRates: RoomRate[] = [];\n const toSetFeaturedRate: RoomRate[] = [];\n\n if (FeaturedPromoFeature.isActive()) {\n for (const currentRate of room.getRates()) {\n if (currentRate.promoCode?.toLowerCase() === basketContext.selectedBasketRow?.getPromoCode()?.toLowerCase()) {\n toSetFeaturedRate.unshift(currentRate);\n } else {\n nonPromoRates.push(currentRate);\n }\n }\n\n if (toSetFeaturedRate.length > 0) {\n setFeaturedRates(toSetFeaturedRate);\n }\n } else {\n nonPromoRates = room.getRates();\n }\n\n try {\n const search: SearchParameters = {\n checkInTime: row?.getStartDate()?.format('YYYY-M-D'),\n checkOutTime: row?.getEndDate()?.format('YYYY-M-D'),\n numAdults: row?.getAdults(),\n numChildren: row?.getChildren(),\n numRooms: 1,\n promoCode: promoCode,\n roomCode: props.engine.getRoomCode(),\n };\n if (showInfants) {\n search.numInfants = row?.getInfants();\n }\n\n const eventRooms: RoomListSearch[] =\n rooms?.map((room) => {\n const { name, code } = room;\n\n const foundRoom: RoomListSearch = {\n name: name as string,\n code: code as string,\n lowestPrice: room.getLowestPrice(),\n highestPrice: room.getHighestPrice(),\n currency: ccx.currentCurrency,\n\n rates:\n room.getRates()?.map((rate) => {\n const { name, code } = rate;\n return {\n name,\n code,\n\n price: {\n averagePrice: rate.getAveragePrice(),\n totalPrice: rate.getTotalPrice(),\n currency: ccx.currentCurrency,\n },\n };\n }) ?? [],\n };\n\n return foundRoom;\n }) ?? [];\n\n const event = new RoomListSearchEvent(search, eventRooms);\n raise(event);\n } catch (ex) {\n console.warn(ex);\n }\n\n setStandardRates(nonPromoRates);\n }, [rooms]);\n\n useEffect(() => {\n if (hotel?.colors) {\n // Do this manually as Guide Step manages this for Fullpage.\n RoomstayThemeEngine.changeTheme(hotel.colors);\n }\n }, [hotel, hotel?.colors]);\n\n const updatePeopleValues = ({ adults, children, infants }: { adults?: number; children?: number; infants?: number; promoCode?: string }) => {\n if (adults && adults !== row.getAdults()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setAdults(adults);\n }\n\n if ((children || children === 0) && children !== row.getChildren()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setChildren(children);\n }\n\n if ((infants || infants === 0) && infants !== row.getInfants()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setInfants(infants);\n }\n\n basketContext.updateBasketRow(row);\n };\n\n const updateDateValues = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs) => {\n if (startDate && endDate) {\n row.setStartDate(startDate);\n row.setEndDate(endDate);\n\n basketContext.updateBasketRow(row, false);\n }\n };\n\n if (!row?.getArrivalDate() && !row?.getDepartureDate()) {\n row?.setStartDate(dayjs().add(7, 'day'));\n row?.setEndDate(dayjs().add(8, 'day'));\n }\n\n const isCompact = bounds.width < 1000 ? '--compact' : '';\n\n const fetchAvailability = async () => {\n // Only eager search on the initial load\n const eager = !didInitialEagerFetchRef.current;\n didInitialEagerFetchRef.current = true;\n\n try {\n setLoading(true);\n\n const allRooms = await API.Availability.fetchAvailabilityData(row, hotel?.hotelID as string, memberNumber, false, eager);\n\n if (allRooms) {\n setRooms(allRooms.filter((room) => room.isAvailable() && room.code === props.engine.getRoomCode()));\n }\n } finally {\n setLoading(false);\n }\n };\n const getButtonLabelHandler = () => {\n return t(Translation.Misc.BookNow);\n };\n\n const updateNumberOfAdultsOnChange = (value: string) => {\n updatePeopleValues({ adults: +value });\n };\n const updateNumberOfChildrenOnChange = (value: string) => {\n updatePeopleValues({ children: +value });\n };\n const updateNumberOfInfantsOnChange = (value: string) => {\n updatePeopleValues({ infants: +value });\n };\n\n const defaultGuestValue: BookingWizardOnBooking['guests'] = {\n adults: row?.getAdults() ?? 1,\n children: row?.getChildren() ?? 0,\n infants: 0,\n room: 1,\n };\n\n const updatePromoCode = (code: string) => {\n DataLayer.instance.sendInteraction('Promo Code updated', InteractionType.FORM_FIELD, InteractionStep.ROOMS);\n\n if (row) {\n row.setPromoCode(code);\n basketContext.updateBasketRow(row);\n\n if (code) {\n setIsPromoModalOpen(false);\n }\n }\n };\n\n const onAddToBasketOverrideHandler = (rate: RoomRate) => {\n row.setRate(rate);\n basketContext.updateBasketRow(row);\n DataLayer.instance.sendRoomRateAddToCart(rate, row.getNumberOfDays(), row.getStartDate(), row.getEndDate(), row.getPreUpsellRoomRate());\n\n const session = props.engine.getSessionProvider();\n session\n .updateSessionAsync({\n step: StepConfirmation.getName(), // TODO:\n })\n .then(() => {\n // TODO: Remove this URL coupling (can we get the hotel's checkout URL from Hotel in database instead?)\n // Allow override via window.RoomstayCheckoutUrlOverride (e.g., '/checkout/?park=ParkName')\n const checkoutUrl = (window as any).RoomstayCheckoutUrlOverride ?? hotel?.checkoutUrl ?? '/checkout/';\n\n window.open(`${checkoutUrl}#${StepConfirmation.getStepUrl()}?session=${session.getCurrentSessionID()}`, '_self');\n });\n };\n const openPromoModalOnClick = () => {\n setIsPromoModalOpen(true);\n };\n const setPromoCodeOnClose = () => {\n setPromoCode(row?.getPromoCode());\n setIsPromoModalOpen(false);\n };\n const cancelPromoPopupOnClick = () => {\n DataLayer.instance.sendInteraction('Cancel Promo Popup', InteractionType.BUTTON, InteractionStep.ROOMS);\n setIsPromoModalOpen(false);\n };\n\n const changePromoCode = (val: any) => {\n updatePromoCode(val);\n };\n\n const maxOccupancy = hotel?.maxOccupancy ?? 1;\n\n const DatePickerSelector = () => {\n const inner = () => {\n if (isCardLayout) {\n return (\n <div className={classNames('u-cursor-pointer', styles['rs-inline-filter-item-dates-inner'])}>\n <div className={classNames(styles['card'])}>\n <div className={styles['image']}>\n <Icon icon={IconType.Calendar} />\n </div>\n <div className={styles['content']}>\n <Text className={styles['title']} type={TextType.Body}>\n {t(Translation.Misc.CheckIn)}\n </Text>\n <Text className={styles['sub-title']} type={TextType.Body} color={Color.Navy}>\n {row?.getArrivalDate() ? row.getArrivalDate() : t(Translation.Misc.CheckInPlaceHolder)}\n </Text>\n </div>\n </div>\n <div className={classNames(styles['card'])}>\n <div className={styles['image']}>\n <Icon icon={IconType.Calendar} />\n </div>\n <div className={styles['content']}>\n <Text className={styles['title']} type={TextType.Body}>\n {t(Translation.Misc.CheckOut)}\n </Text>\n <Text className={styles['sub-title']}>{row?.getDepartureDate() ? row.getDepartureDate() : t(Translation.Misc.CheckOutPlaceHolder)}</Text>\n </div>\n </div>\n </div>\n );\n } else {\n return (\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer\">\n <Text color={row?.getArrivalDate() ? Color.Accent : Color.Graphite} className=\"u-mw-75 u-align-center\" bold={!!row?.getArrivalDate()}>\n <span>{row?.getArrivalDate() ? row.getArrivalDate() : 'Arrival Date'}</span>\n </Text>\n <Icon icon={IconType.ArrowRight2} />\n <Text color={row?.getDepartureDate() ? Color.Accent : Color.Graphite} className=\"u-marg-right u-mw-75 u-align-center\" bold={!!row?.getDepartureDate()}>\n <span>{row?.getDepartureDate() ? row.getDepartureDate() : 'Departure Date'}</span>\n </Text>\n </div>\n );\n }\n };\n\n return (\n <FloatingDatePicker\n startDate={row?.getStartDate()}\n selectedDateChanged={updateDateValues}\n className={classNames('rs-inline-filter-item-dates', {\n 'u-w-100@xl- room-builder-progress--value u-marg-left--none ': !isCardLayout,\n [styles['rs-inline-filter-item-dates']]: isCardLayout,\n })}\n roomCode={props.engine.getRoomCode()}\n >\n <Tooltip title={t(Translation.Step.Date.SelectArrivalAndDepartureDatesByClickingHere)} wrapperClasses=\"u-w-100@xl-\">\n {inner()}\n </Tooltip>\n </FloatingDatePicker>\n );\n };\n\n const renderGuestSelector = () => {\n if (isCardLayout) {\n const numChildren = row?.getChildren?.() || 0;\n const maxAdults = maxOccupancy - numChildren;\n const maxChildren = maxOccupancy + 1 - (row?.getAdults?.() || 0);\n\n return (\n <GuestSelectorCustom\n maxAdults={maxAdults}\n maxChildren={maxChildren}\n maxInfants={maxInfants}\n onChange={(newValue) => {\n updatePeopleValues({\n adults: +newValue.adults,\n children: +newValue.children,\n });\n }}\n disableChild={false}\n showInfants={showInfants}\n disableRoom\n applyButton={false}\n defaultValue={defaultGuestValue}\n promoCodeConfig={{\n promoCode: basketContext.selectedBasketRow?.getPromoCode(),\n setPromoCode,\n onChange: changePromoCode,\n valid: basketContext.selectedBasketRow?.getPromoCodeStatus() !== 'new' ? basketContext.selectedBasketRow?.getPromoCodeStatus() === 'valid' : undefined,\n }}\n row={row}\n />\n );\n } else {\n const maxInfantsNum = !!maxInfants ? maxInfants + 1 : maxOccupancy + 1 - (row?.getAdults() ? row.getAdults() : 0);\n return (\n <>\n <Tooltip title={t(Translation.Step.Date.UpdateAdults)} wrapperClasses=\"u-w-100@xl- rs-inline-filter-item-adult\">\n <div className=\"room-builder-progress--value --mw-l u-flex justify-content-center \">\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxOccupancy - (row?.getChildren() ? row.getChildren() : 0))].map((v: any, value: number) => {\n value += 1;\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Adult, t),\n value: value.toString(),\n };\n })}\n value={row?.getAdults()?.toString()}\n onChange={updateNumberOfAdultsOnChange}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </Tooltip>\n <Tooltip title={t(Translation.Step.Date.UpdateChildren)} wrapperClasses=\"u-w-100@xl- rs-inline-filter-item-children\">\n <div className=\"room-builder-progress--value --mw-l u-flex justify-content-center\">\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxOccupancy + 1 - (row?.getAdults() ? row.getAdults() : 0))].map((v: any, value: number) => {\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Child, t),\n value: value.toString(),\n };\n })}\n value={row?.getChildren()?.toString()}\n onChange={updateNumberOfChildrenOnChange}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </Tooltip>\n {showInfants ? (\n <Tooltip title={t(Translation.Step.Date.UpdateInfants)} wrapperClasses=\"u-w-100@xl- rs-inline-filter-item-infants\">\n <div className=\"room-builder-progress--value --mw-l u-flex justify-content-center\">\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxInfantsNum)].map((v: any, value: number) => {\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Infant, t),\n value: value.toString(),\n };\n })}\n value={row?.getInfants()?.toString()}\n onChange={updateNumberOfInfantsOnChange}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </Tooltip>\n ) : (\n <></>\n )}\n </>\n );\n }\n };\n return useMemo(\n () => (\n <>\n <div\n className={classNames(`room-builder-progress ${isCompact} rs-inline-container`, {\n [styles['rs-inline-container']]: isCardLayout,\n [styles['rs-inline-container--card-layout']]: isCardLayout,\n })}\n >\n <div\n className={classNames('rs-inline-filter-container', {\n 'u-flex w-100 flex-wrap room-builder-progress--item --current': !isCardLayout,\n [styles['rs-inline-filter-container']]: isCardLayout,\n })}\n ref={ref}\n >\n <div\n className={classNames('rs-inline-filter-inner', {\n 'u-flex u-flex-align-center flex-wrap flex-row u-w-100@xl-': !isCardLayout,\n [styles['rs-inline-filter-inner']]: isCardLayout,\n })}\n >\n <DatePickerSelector />\n {renderGuestSelector()}\n\n <Tooltip\n title={promoCodeTooltip}\n wrapperClasses={classNames('u-w-100@xl- rs-inline-filter-item-promo', {\n [styles['rs-inline-filter-item-promo']]: isCardLayout,\n })}\n >\n <div className=\"room-builder-progress--value u-cursor-pointer\" ref={thisElement} onClick={openPromoModalOnClick}>\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl-\">\n <Text className=\"u-pad-right--light\" type={TextType.Body} color={row?.getPromoCode() ? row?.getPromoCodeColour() : Color.Navy}>\n {row?.getPromoCode() ? row?.getPromoCode() : 'Promo Code'}\n </Text>\n <Icon icon={IconType.Dropdown} color={Color.DarkGrey} />\n </div>\n </div>\n </Tooltip>\n <Overlay open={isPromoModalOpen} container={RoomstayThemeEngine.EngineContainer} followElement={thisElement.current} onClose={setPromoCodeOnClose}>\n <div className=\"u-pad--heavy\">\n <div>\n <PromoCodeInput\n value={basketContext.selectedBasketRow?.getPromoCode()}\n onChange={changePromoCode}\n valid={\n basketContext.selectedBasketRow?.getPromoCodeStatus() !== EPromoCodeStatus.New\n ? basketContext.selectedBasketRow?.getPromoCodeStatus() === EPromoCodeStatus.Valid\n : undefined\n }\n row={basketContext.selectedBasketRow}\n />\n </div>\n\n <div className=\"u-flex justify-content-end align-items-center u-marg-top\">\n <BEButton isText size=\"small\" onClick={cancelPromoPopupOnClick}>\n {t(Translation.Misc.Cancel)}\n </BEButton>\n </div>\n </div>\n </Overlay>\n </div>\n <div\n className={classNames(`u-flex flex-xl-nowrap flex-row rs-inline-filter-button`, {\n 'w-100': isCompact,\n [styles['rs-inline-filter-button']]: isCardLayout,\n })}\n >\n <BEButton filled primary isLoading={isLoading} wide={isCompact !== ''} onClick={() => fetchAvailability()}>\n {t(Translation.Misc.CheckRates)}\n </BEButton>\n </div>\n </div>\n <div\n className={classNames('u-border-rounded rs-inline-content', {\n [styles['rs-inline-content']]: isCardLayout,\n })}\n >\n {!isLoading ? (\n <AutoAutoHeight open={!isLoading}>\n <>\n <BookNowPayLaterInfoBlock />\n {rooms.length > 0 ? (\n <RoomRates\n classNames={classNames('rs-inline-content-list', {\n [styles['rs-inline-content-list']]: isCardLayout,\n })}\n featuredRates={featuredRates}\n rates={standardRates}\n roomCode={rooms[0].code as string}\n getButtonLabel={getButtonLabelHandler}\n onAddToBasketOverride={onAddToBasketOverrideHandler}\n isCardLayout={isCardLayout}\n policy={policy}\n priceDescription={priceDescription}\n />\n ) : (\n <RatesNotFoundBlock />\n )}\n </>\n </AutoAutoHeight>\n ) : (\n <LargeLoader />\n )}\n </div>\n </div>\n </>\n ),\n [isCompact, isLoading, rooms, basketContext.currentBasketRows, isPromoModalOpen, hotel, standardRates]\n );\n}\n\nexport const renderInlineRoomMiniEngineElement = (container: Element, engine: InlineRoomMiniEngine) => {\n render(\n <ShadowDomContextProvider value={engine.getShadowDomContextValue()}>\n <BookingEngineContextWrapper engine={engine}>\n <HashRouter\n future={{\n v7_startTransition: false,\n v7_relativeSplatPath: false,\n }}\n >\n <NotificationContextWrapper>\n <ErrorContextWrapper>\n <CompanyContextWrapper configCompany={engine.getConfig().company}>\n <BasketContextWrapper>\n <InlineRoomMiniEngineElement engine={engine} />\n </BasketContextWrapper>\n </CompanyContextWrapper>\n </ErrorContextWrapper>\n </NotificationContextWrapper>\n </HashRouter>\n </BookingEngineContextWrapper>\n </ShadowDomContextProvider>,\n container\n );\n};\n\nexport const GuestSelectorCustom = ({\n maxAdults,\n maxChildren,\n maxInfants = 10,\n defaultValue,\n onChange,\n disableChild,\n showInfants,\n disableRoom,\n applyButton,\n promoCodeConfig,\n row,\n}: {\n maxAdults?: number;\n maxChildren?: number;\n maxInfants?: number;\n defaultValue?: { adults?: number; children?: number; infants?: number; room?: number };\n onChange?: (params: { adults: number; children: number; infants: number; room: number }) => void;\n disableChild?: boolean;\n showInfants?: boolean;\n disableRoom?: boolean;\n applyButton?: boolean;\n promoCodeConfig?: {\n promoCode: string;\n setPromoCode: React.Dispatch<React.SetStateAction<string>>;\n onChange: (val: any) => void;\n valid?: boolean;\n };\n row: BasketRow;\n}) => {\n const { t } = useTranslation();\n const ref = React.useRef(null);\n const targetRef = useRef(null);\n\n const [adults, setAdults] = useState(defaultValue?.adults ?? 1);\n const [children, setChildren] = useState(defaultValue?.children ?? 0);\n const [infants, setInfants] = useState(defaultValue?.infants ?? 0);\n const [room, setRoom] = useState(defaultValue?.room ?? 1);\n const [open, setOpen] = useState(false);\n\n const prevOpenRef = useRef(open);\n\n useEffect(() => {\n const wasOpen = prevOpenRef.current;\n prevOpenRef.current = open;\n\n if (wasOpen && !open) {\n // onChange is only called when the modal is closed\n onChange?.({ adults, children, infants, room });\n }\n }, [open, adults, children, infants, room, onChange]);\n\n const onChangeAdults = (newValue: number) => {\n setAdults(newValue);\n };\n const onChangeChildren = (newValue: number) => {\n setChildren(newValue);\n };\n const onChangeInfants = (newValue: number) => {\n setInfants(newValue);\n };\n\n const onChangeRoom = (newValue: number) => {\n setRoom(newValue);\n };\n\n const inner = () => {\n return (\n <div className={styles['popper--box']}>\n <div className={styles['popper--content']} ref={ref}>\n <div className={styles['row-wrapper']}>\n <div className={styles.row}>\n <Text className={styles['title']} type={TextType.Small}>\n {StringHelper.plural(adults, 'Adult', t)}\n </Text>\n <NumberIncrement number={adults} min={1} max={maxAdults} onChange={(value: number) => onChangeAdults(value)} textSize={TextType.Small} />\n </div>\n </div>\n {disableChild ? null : (\n <div className={styles['row-wrapper']}>\n <div className={styles.divider} />\n <div className={styles.row}>\n <Text className={styles['title']} type={TextType.Small}>\n {StringHelper.plural(children, 'Child', t)}\n </Text>\n <NumberIncrement number={children} min={0} max={maxChildren} onChange={(value: number) => onChangeChildren(value)} textSize={TextType.Small} />\n </div>\n </div>\n )}\n {showInfants ? (\n <div className={styles['row-wrapper']}>\n <div className={styles.divider} />\n <div className={styles.row}>\n <Text className={styles['title']} type={TextType.Small}>\n {StringHelper.plural(infants, 'Infant', t)}\n </Text>\n <NumberIncrement number={infants} min={0} onChange={(value: number) => onChangeInfants(value)} textSize={TextType.Small} />\n </div>\n\n <div className={styles.divider} />\n </div>\n ) : null}\n {disableRoom ? null : (\n <div className={styles['row-wrapper']}>\n <div className={styles.divider} />\n <div className={styles.row}>\n <Text className={styles['title']} type={TextType.Small}>\n {StringHelper.plural(room, 'Room', t)}\n </Text>\n <NumberIncrement number={room} min={1} max={10} onChange={(value: number) => onChangeRoom(value)} textSize={TextType.Small} />\n </div>\n </div>\n )}\n {promoCodeConfig ? (\n <div className={styles['row-wrapper']}>\n <div className={styles.divider} />\n <div className={classNames(styles.row)}>\n <Text className={styles['title']} type={TextType.Small}>\n {t(Translation.Misc.Promocode)}\n </Text>\n <PromoCodeInput\n className={styles.promo}\n value={promoCodeConfig.promoCode}\n onChange={promoCodeConfig.onChange}\n valid={promoCodeConfig.valid}\n row={row}\n />\n </div>\n </div>\n ) : null}\n </div>\n </div>\n );\n };\n\n const content = () => {\n return (\n <Overlay\n offset={[0, 6]}\n usePortal={false}\n followElement={targetRef.current}\n placement=\"top-start\"\n strategy=\"absolute\"\n open={open}\n onClose={() => setOpen?.(false)}\n className={styles.popper}\n hideStyles\n >\n {inner()}\n </Overlay>\n );\n };\n\n const getValueAsText = () => {\n const parts = [StringHelper.pluralWithCount(adults, 'Adult', t)];\n\n if (children > 0) {\n parts.push(StringHelper.pluralWithCount(children, 'Child', t));\n }\n\n if (infants > 0) {\n parts.push(StringHelper.pluralWithCount(infants, 'Infant', t));\n }\n\n return parts.join(' - ');\n };\n\n return (\n <div ref={targetRef} className={classNames('u-cursor-pointer', 'rs-inline-filter-item-guest', styles['rs-inline-filter-item-guest'])}>\n <div className={classNames(styles['card'])} onClick={() => setOpen?.(!open)}>\n <div className={styles['image']}>\n <Icon icon={IconType.People} />\n </div>\n <div className={styles['content']}>\n <Text className={styles['title']} type={TextType.Body}>\n {t(Translation.Misc.Guests)}\n </Text>\n <Text className={styles['sub-title']} type={TextType.Body} color={Color.Navy}>\n {getValueAsText()}\n </Text>\n </div>\n\n <Icon icon={IconType.Dropdown} />\n </div>\n {content()}\n </div>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"InlineRoomMiniEngineElement.js","sourceRoot":"/","sources":["src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, BasketContextWrapper, BookingEngineContext, BookingEngineContextWrapper, CompanyContext, CompanyContextWrapper } from '@frontend/contexts';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport classNames from 'classnames';\nimport { ErrorContextWrapper } from 'contexts/ErrorContext';\nimport { NotificationContextWrapper } from 'contexts/NotificationContext';\nimport dayjs from 'dayjs';\nimport React, { useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { render } from 'react-dom';\nimport { useTranslation } from 'react-i18next';\nimport { HashRouter } from 'react-router-dom';\nimport useMeasure from 'react-use-measure';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport API from '@/api/BookingAPI';\nimport BEButton from '@/components/generic/BEButton';\nimport { BookingWizardOnBooking } from '@/components/generic/BookingWizard/BookingWizardContext';\nimport { BookNowPayLaterInfoBlock } from '@/components/generic/BookNowPayLaterInfoBlock';\nimport FloatingDatePicker from '@/components/generic/date/FloatingDatePicker';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\nimport NumberIncrement from '@/components/generic/NumberIncrement';\nimport { Overlay } from '@/components/generic/Overlay/Overlay';\nimport PromoCodeInput from '@/components/generic/PromoCodeInput';\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport Text, { TextType } from '@/components/generic/Text';\nimport Tooltip from '@/components/generic/Tooltip/Tooltip';\nimport RatesNotFoundBlock from '@/components/steps/room/RatesNotFoundBlock';\nimport RoomRates from '@/components/steps/room/roomDetails/roomRates/RoomRates';\nimport type { InlineRoomMiniEngine } from '@/engines/InlineRoomMiniEngine/InlineRoomMiniEngine';\nimport { RoomListSearchEvent } from '@/events/actions/RoomListSearchEvent';\nimport { useSignedInMember } from '@/hooks/useSignedInMember';\nimport BasketRow, { EPromoCodeStatus } from '@/models/BasketRow';\nimport { Room } from '@/models/Room/Room';\nimport { RoomRate } from '@/models/Room/RoomRate';\nimport { RoomListSearch } from '@/models/RoomListSearch';\nimport { SearchParameters } from '@/models/SearchParameters';\nimport StepConfirmation from '@/pages/steps/StepConfirmation/StepConfirmation';\nimport FeaturedPromoFeature from '@/providers/feature/FeaturedPromoFeature';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { Color } from '@/util/Color';\nimport DataLayer, { InteractionStep, InteractionType } from '@/util/DataLayer';\nimport StringHelper from '@/util/StringHelper';\n\nimport styles from './InlineRoomMiniEngine.module.scss';\n\nexport interface InlineRoomMiniEngineElementProps {\n engine: InlineRoomMiniEngine;\n}\n\nexport default function InlineRoomMiniEngineElement(props: InlineRoomMiniEngineElementProps) {\n const { layout = 'default', policy, priceDescription, showInfants = false, maxInfants } = props.engine.getConfig();\n const isCardLayout = layout === 'card';\n\n const { hotel } = useCurrentHotel();\n\n const { memberNumber } = useSignedInMember();\n\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n\n const row = basketContext.currentBasketRows[0];\n const [isLoading, setLoading] = useState(true);\n const [rooms, setRooms] = useState<Room[]>([]);\n\n const [isPromoModalOpen, setIsPromoModalOpen] = useState(false);\n\n const [featuredRates, setFeaturedRates] = useState<RoomRate[]>([]);\n const [standardRates, setStandardRates] = useState<RoomRate[]>([]);\n\n const [promoCode, setPromoCode] = useState(row?.getPromoCode());\n\n const { t } = useTranslation();\n\n const [ref, bounds] = useMeasure();\n const thisElement = React.useRef<HTMLDivElement | null>(null);\n\n const { raise } = useEvent();\n\n const promoCodeTooltip = row?.getPromoCodeTooltip(t, Translation) || '';\n\n const didInitialEagerFetchRef = useRef(false);\n\n useEffect(() => {\n if (!row) {\n basketContext.addBasketRow(new BasketRow());\n return;\n }\n\n // Filters availability results by the provided room code.\n row.setEnableRoomCodeFilter(true);\n row.setRoomCode(props.engine.getRoomCode());\n }, [row, props.engine]);\n\n useEffect(() => {\n if (!row?.getStartDate() || !row?.getEndDate()) {\n return;\n }\n\n fetchAvailability();\n }, [\n row?.getStartDate()?.format('YYYY-MM-DD'),\n row?.getEndDate()?.format('YYYY-MM-DD'),\n row?.getAdults(),\n row?.getChildren(),\n row?.getPromoCode(),\n memberNumber,\n hotel?.hotelID,\n props.engine.getRoomCode(),\n ]);\n\n useEffect(() => {\n if (!(rooms && rooms.length > 0)) return;\n\n const room = rooms[0];\n\n let nonPromoRates: RoomRate[] = [];\n const toSetFeaturedRate: RoomRate[] = [];\n\n if (FeaturedPromoFeature.isActive()) {\n for (const currentRate of room.getRates()) {\n if (currentRate.promoCode?.toLowerCase() === basketContext.selectedBasketRow?.getPromoCode()?.toLowerCase()) {\n toSetFeaturedRate.unshift(currentRate);\n } else {\n nonPromoRates.push(currentRate);\n }\n }\n\n if (toSetFeaturedRate.length > 0) {\n setFeaturedRates(toSetFeaturedRate);\n }\n } else {\n nonPromoRates = room.getRates();\n }\n\n try {\n const search: SearchParameters = {\n checkInTime: row?.getStartDate()?.format('YYYY-M-D'),\n checkOutTime: row?.getEndDate()?.format('YYYY-M-D'),\n numAdults: row?.getAdults(),\n numChildren: row?.getChildren(),\n numRooms: 1,\n promoCode: promoCode,\n roomCode: props.engine.getRoomCode(),\n };\n if (showInfants) {\n search.numInfants = row?.getInfants();\n }\n\n const eventRooms: RoomListSearch[] =\n rooms?.map((room) => {\n const { name, code } = room;\n\n const foundRoom: RoomListSearch = {\n name: name as string,\n code: code as string,\n lowestPrice: room.getLowestPrice(),\n highestPrice: room.getHighestPrice(),\n currency: ccx.currentCurrency,\n\n rates:\n room.getRates()?.map((rate) => {\n const { name, code } = rate;\n return {\n name,\n code,\n\n price: {\n averagePrice: rate.getAveragePrice(),\n totalPrice: rate.getTotalPrice(),\n currency: ccx.currentCurrency,\n },\n };\n }) ?? [],\n };\n\n return foundRoom;\n }) ?? [];\n\n const event = new RoomListSearchEvent(search, eventRooms);\n raise(event);\n } catch (ex) {\n console.warn(ex);\n }\n\n setStandardRates(nonPromoRates);\n }, [rooms]);\n\n useEffect(() => {\n if (hotel?.colors) {\n // Do this manually as Guide Step manages this for Fullpage.\n RoomstayThemeEngine.changeTheme(hotel.colors);\n }\n }, [hotel, hotel?.colors]);\n\n const updatePeopleValues = ({ adults, children, infants }: { adults?: number; children?: number; infants?: number; promoCode?: string }) => {\n if (adults && adults !== row.getAdults()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setAdults(adults);\n }\n\n if ((children || children === 0) && children !== row.getChildren()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setChildren(children);\n }\n\n if ((infants || infants === 0) && infants !== row.getInfants()) {\n DataLayer.instance.sendInteraction('Guests', InteractionType.NUMBER_INPUT, InteractionStep.ROOMS);\n row.setInfants(infants);\n }\n\n basketContext.updateBasketRow(row);\n };\n\n const updateDateValues = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs) => {\n if (startDate && endDate) {\n row.setStartDate(startDate);\n row.setEndDate(endDate);\n\n basketContext.updateBasketRow(row, false);\n }\n };\n\n if (!row?.getArrivalDate() && !row?.getDepartureDate()) {\n row?.setStartDate(dayjs().add(7, 'day'));\n row?.setEndDate(dayjs().add(8, 'day'));\n }\n\n const isCompact = bounds.width < 1000 ? '--compact' : '';\n\n const fetchAvailability = async () => {\n // Only eager search on the initial load\n const eager = !didInitialEagerFetchRef.current;\n didInitialEagerFetchRef.current = true;\n\n try {\n setLoading(true);\n\n const allRooms = await API.Availability.fetchAvailabilityData(row, hotel?.hotelID as string, memberNumber, false, eager);\n\n if (allRooms) {\n setRooms(allRooms.filter((room) => room.isAvailable() && room.code === props.engine.getRoomCode()));\n }\n } finally {\n setLoading(false);\n }\n };\n const getButtonLabelHandler = () => {\n return t(Translation.Misc.BookNow);\n };\n\n const updateNumberOfAdultsOnChange = (value: string) => {\n updatePeopleValues({ adults: +value });\n };\n const updateNumberOfChildrenOnChange = (value: string) => {\n updatePeopleValues({ children: +value });\n };\n const updateNumberOfInfantsOnChange = (value: string) => {\n updatePeopleValues({ infants: +value });\n };\n\n const defaultGuestValue: BookingWizardOnBooking['guests'] = {\n adults: row?.getAdults() ?? 1,\n children: row?.getChildren() ?? 0,\n infants: 0,\n room: 1,\n };\n\n const updatePromoCode = (code: string) => {\n DataLayer.instance.sendInteraction('Promo Code updated', InteractionType.FORM_FIELD, InteractionStep.ROOMS);\n\n if (row) {\n row.setPromoCode(code);\n basketContext.updateBasketRow(row);\n\n if (code) {\n setIsPromoModalOpen(false);\n }\n }\n };\n\n const onAddToBasketOverrideHandler = (rate: RoomRate) => {\n row.setRate(rate);\n basketContext.updateBasketRow(row);\n DataLayer.instance.sendRoomRateAddToCart(rate, row.getNumberOfDays(), row.getStartDate(), row.getEndDate(), row.getPreUpsellRoomRate());\n\n const session = props.engine.getSessionProvider();\n session\n .updateSessionAsync({\n step: StepConfirmation.getName(), // TODO:\n })\n .then(() => {\n // TODO: Remove this URL coupling (can we get the hotel's checkout URL from Hotel in database instead?)\n // Allow override via window.RoomstayCheckoutUrlOverride (e.g., '/checkout/?park=ParkName')\n const checkoutUrl = (window as any).RoomstayCheckoutUrlOverride ?? hotel?.checkoutUrl ?? '/checkout/';\n\n window.open(`${checkoutUrl}#${StepConfirmation.getStepUrl()}?session=${session.getCurrentSessionID()}`, '_self');\n });\n };\n const openPromoModalOnClick = () => {\n setIsPromoModalOpen(true);\n };\n const setPromoCodeOnClose = () => {\n setPromoCode(row?.getPromoCode());\n setIsPromoModalOpen(false);\n };\n const cancelPromoPopupOnClick = () => {\n DataLayer.instance.sendInteraction('Cancel Promo Popup', InteractionType.BUTTON, InteractionStep.ROOMS);\n setIsPromoModalOpen(false);\n };\n\n const changePromoCode = (val: any) => {\n updatePromoCode(val);\n };\n\n const maxOccupancy = hotel?.maxOccupancy ?? 1;\n\n const DatePickerSelector = () => {\n const inner = () => {\n if (isCardLayout) {\n return (\n <div className={classNames('u-cursor-pointer', styles['rs-inline-filter-item-dates-inner'])}>\n <div className={classNames(styles['card'])}>\n <div className={styles['image']}>\n <Icon icon={IconType.Calendar} />\n </div>\n <div className={styles['content']}>\n <Text className={styles['title']} type={TextType.Body}>\n {t(Translation.Misc.CheckIn)}\n </Text>\n <Text className={styles['sub-title']} type={TextType.Body} color={Color.Navy}>\n {row?.getArrivalDate() ? row.getArrivalDate() : t(Translation.Misc.CheckInPlaceHolder)}\n </Text>\n </div>\n </div>\n <div className={classNames(styles['card'])}>\n <div className={styles['image']}>\n <Icon icon={IconType.Calendar} />\n </div>\n <div className={styles['content']}>\n <Text className={styles['title']} type={TextType.Body}>\n {t(Translation.Misc.CheckOut)}\n </Text>\n <Text className={styles['sub-title']}>{row?.getDepartureDate() ? row.getDepartureDate() : t(Translation.Misc.CheckOutPlaceHolder)}</Text>\n </div>\n </div>\n </div>\n );\n } else {\n return (\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer\">\n <Text color={row?.getArrivalDate() ? Color.Accent : Color.Graphite} className=\"u-mw-75 u-align-center\" bold={!!row?.getArrivalDate()}>\n <span>{row?.getArrivalDate() ? row.getArrivalDate() : 'Arrival Date'}</span>\n </Text>\n <Icon icon={IconType.ArrowRight2} />\n <Text color={row?.getDepartureDate() ? Color.Accent : Color.Graphite} className=\"u-marg-right u-mw-75 u-align-center\" bold={!!row?.getDepartureDate()}>\n <span>{row?.getDepartureDate() ? row.getDepartureDate() : 'Departure Date'}</span>\n </Text>\n </div>\n );\n }\n };\n\n return (\n <FloatingDatePicker\n startDate={row?.getStartDate()}\n selectedDateChanged={updateDateValues}\n className={classNames('rs-inline-filter-item-dates', {\n 'u-w-100@xl- room-builder-progress--value u-marg-left--none ': !isCardLayout,\n [styles['rs-inline-filter-item-dates']]: isCardLayout,\n })}\n roomCode={props.engine.getRoomCode()}\n >\n <Tooltip title={t(Translation.Step.Date.SelectArrivalAndDepartureDatesByClickingHere)} wrapperClasses=\"u-w-100@xl-\">\n {inner()}\n </Tooltip>\n </FloatingDatePicker>\n );\n };\n\n const renderGuestSelector = () => {\n if (isCardLayout) {\n const numChildren = row?.getChildren?.() || 0;\n const maxAdults = maxOccupancy - numChildren;\n const maxChildren = maxOccupancy + 1 - (row?.getAdults?.() || 0);\n\n return (\n <GuestSelectorCustom\n maxAdults={maxAdults}\n maxChildren={maxChildren}\n maxInfants={maxInfants}\n onChange={(newValue) => {\n updatePeopleValues({\n adults: +newValue.adults,\n children: +newValue.children,\n });\n }}\n disableChild={false}\n showInfants={showInfants}\n disableRoom\n applyButton={false}\n defaultValue={defaultGuestValue}\n promoCodeConfig={{\n promoCode: basketContext.selectedBasketRow?.getPromoCode(),\n setPromoCode,\n onChange: changePromoCode,\n valid: basketContext.selectedBasketRow?.getPromoCodeStatus() !== 'new' ? basketContext.selectedBasketRow?.getPromoCodeStatus() === 'valid' : undefined,\n }}\n row={row}\n />\n );\n } else {\n const maxInfantsNum = !!maxInfants ? maxInfants + 1 : maxOccupancy + 1 - (row?.getAdults() ? row.getAdults() : 0);\n return (\n <>\n <Tooltip title={t(Translation.Step.Date.UpdateAdults)} wrapperClasses=\"u-w-100@xl- rs-inline-filter-item-adult\">\n <div className=\"room-builder-progress--value --mw-l u-flex justify-content-center \">\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxOccupancy - (row?.getChildren() ? row.getChildren() : 0))].map((v: any, value: number) => {\n value += 1;\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Adult, t),\n value: value.toString(),\n };\n })}\n value={row?.getAdults()?.toString()}\n onChange={updateNumberOfAdultsOnChange}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </Tooltip>\n <Tooltip title={t(Translation.Step.Date.UpdateChildren)} wrapperClasses=\"u-w-100@xl- rs-inline-filter-item-children\">\n <div className=\"room-builder-progress--value --mw-l u-flex justify-content-center\">\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxOccupancy + 1 - (row?.getAdults() ? row.getAdults() : 0))].map((v: any, value: number) => {\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Child, t),\n value: value.toString(),\n };\n })}\n value={row?.getChildren()?.toString()}\n onChange={updateNumberOfChildrenOnChange}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </Tooltip>\n {showInfants ? (\n <Tooltip title={t(Translation.Step.Date.UpdateInfants)} wrapperClasses=\"u-w-100@xl- rs-inline-filter-item-infants\">\n <div className=\"room-builder-progress--value --mw-l u-flex justify-content-center\">\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={[...Array(maxInfantsNum)].map((v: any, value: number) => {\n return {\n text: StringHelper.pluralWithDictAndCount(value, Translation.Step.Date.Infant, t),\n value: value.toString(),\n };\n })}\n value={row?.getInfants()?.toString()}\n onChange={updateNumberOfInfantsOnChange}\n keyName=\"value\"\n labelName=\"text\"\n />\n </div>\n </Tooltip>\n ) : (\n <></>\n )}\n </>\n );\n }\n };\n return useMemo(\n () => (\n <>\n <div\n className={classNames(`room-builder-progress ${isCompact} rs-inline-container`, {\n [styles['rs-inline-container']]: isCardLayout,\n [styles['rs-inline-container--card-layout']]: isCardLayout,\n })}\n >\n <div\n className={classNames('rs-inline-filter-container', {\n 'u-flex w-100 flex-wrap room-builder-progress--item --current': !isCardLayout,\n [styles['rs-inline-filter-container']]: isCardLayout,\n })}\n ref={ref}\n >\n <div\n className={classNames('rs-inline-filter-inner', {\n 'u-flex u-flex-align-center flex-wrap flex-row u-w-100@xl-': !isCardLayout,\n [styles['rs-inline-filter-inner']]: isCardLayout,\n })}\n >\n <DatePickerSelector />\n {renderGuestSelector()}\n\n <Tooltip\n title={promoCodeTooltip}\n wrapperClasses={classNames('u-w-100@xl- rs-inline-filter-item-promo', {\n [styles['rs-inline-filter-item-promo']]: isCardLayout,\n })}\n >\n <div className=\"room-builder-progress--value u-cursor-pointer\" ref={thisElement} onClick={openPromoModalOnClick}>\n <div className=\"u-flex align-items-center justify-content-center u-w-100@xl-\">\n <Text className=\"u-pad-right--light\" type={TextType.Body} color={row?.getPromoCode() ? row?.getPromoCodeColour() : Color.Navy}>\n {row?.getPromoCode() ? row?.getPromoCode() : 'Promo Code'}\n </Text>\n <Icon icon={IconType.Dropdown} color={Color.DarkGrey} />\n </div>\n </div>\n </Tooltip>\n <Overlay open={isPromoModalOpen} container={RoomstayThemeEngine.EngineContainer} followElement={thisElement.current} onClose={setPromoCodeOnClose}>\n <div className=\"u-pad--heavy\">\n <div>\n <PromoCodeInput\n value={basketContext.selectedBasketRow?.getPromoCode()}\n onChange={changePromoCode}\n valid={\n basketContext.selectedBasketRow?.getPromoCodeStatus() !== EPromoCodeStatus.New\n ? basketContext.selectedBasketRow?.getPromoCodeStatus() === EPromoCodeStatus.Valid\n : undefined\n }\n row={basketContext.selectedBasketRow}\n />\n </div>\n\n <div className=\"u-flex justify-content-end align-items-center u-marg-top\">\n <BEButton isText size=\"small\" onClick={cancelPromoPopupOnClick}>\n {t(Translation.Misc.Cancel)}\n </BEButton>\n </div>\n </div>\n </Overlay>\n </div>\n <div\n className={classNames(`u-flex flex-xl-nowrap flex-row rs-inline-filter-button`, {\n 'w-100': isCompact,\n [styles['rs-inline-filter-button']]: isCardLayout,\n })}\n >\n <BEButton filled primary isLoading={isLoading} wide={isCompact !== ''} onClick={() => fetchAvailability()}>\n {t(Translation.Misc.CheckRates)}\n </BEButton>\n </div>\n </div>\n <div\n className={classNames('u-border-rounded rs-inline-content', {\n [styles['rs-inline-content']]: isCardLayout,\n })}\n >\n {!isLoading ? (\n <AutoAutoHeight open={!isLoading}>\n <>\n <BookNowPayLaterInfoBlock />\n {rooms.length > 0 ? (\n <RoomRates\n classNames={classNames('rs-inline-content-list', {\n [styles['rs-inline-content-list']]: isCardLayout,\n })}\n featuredRates={featuredRates}\n rates={standardRates}\n roomCode={rooms[0].code as string}\n getButtonLabel={getButtonLabelHandler}\n onAddToBasketOverride={onAddToBasketOverrideHandler}\n isCardLayout={isCardLayout}\n policy={policy}\n priceDescription={priceDescription}\n />\n ) : (\n <RatesNotFoundBlock />\n )}\n </>\n </AutoAutoHeight>\n ) : (\n <LargeLoader />\n )}\n </div>\n </div>\n </>\n ),\n [isCompact, isLoading, rooms, basketContext.currentBasketRows, isPromoModalOpen, hotel, standardRates]\n );\n}\n\nexport const renderInlineRoomMiniEngineElement = (container: Element, engine: InlineRoomMiniEngine) => {\n render(\n <BookingEngineContextWrapper engine={engine}>\n <HashRouter\n future={{\n v7_startTransition: false,\n v7_relativeSplatPath: false,\n }}\n >\n <NotificationContextWrapper>\n <ErrorContextWrapper>\n <CompanyContextWrapper configCompany={engine.getConfig().company}>\n <BasketContextWrapper>\n <InlineRoomMiniEngineElement engine={engine} />\n </BasketContextWrapper>\n </CompanyContextWrapper>\n </ErrorContextWrapper>\n </NotificationContextWrapper>\n </HashRouter>\n </BookingEngineContextWrapper>,\n container\n );\n};\n\nexport const GuestSelectorCustom = ({\n maxAdults,\n maxChildren,\n maxInfants = 10,\n defaultValue,\n onChange,\n disableChild,\n showInfants,\n disableRoom,\n applyButton,\n promoCodeConfig,\n row,\n}: {\n maxAdults?: number;\n maxChildren?: number;\n maxInfants?: number;\n defaultValue?: { adults?: number; children?: number; infants?: number; room?: number };\n onChange?: (params: { adults: number; children: number; infants: number; room: number }) => void;\n disableChild?: boolean;\n showInfants?: boolean;\n disableRoom?: boolean;\n applyButton?: boolean;\n promoCodeConfig?: {\n promoCode: string;\n setPromoCode: React.Dispatch<React.SetStateAction<string>>;\n onChange: (val: any) => void;\n valid?: boolean;\n };\n row: BasketRow;\n}) => {\n const { t } = useTranslation();\n const ref = React.useRef(null);\n const targetRef = useRef(null);\n\n const [adults, setAdults] = useState(defaultValue?.adults ?? 1);\n const [children, setChildren] = useState(defaultValue?.children ?? 0);\n const [infants, setInfants] = useState(defaultValue?.infants ?? 0);\n const [room, setRoom] = useState(defaultValue?.room ?? 1);\n const [open, setOpen] = useState(false);\n\n const prevOpenRef = useRef(open);\n\n useEffect(() => {\n const wasOpen = prevOpenRef.current;\n prevOpenRef.current = open;\n\n if (wasOpen && !open) {\n // onChange is only called when the modal is closed\n onChange?.({ adults, children, infants, room });\n }\n }, [open, adults, children, infants, room, onChange]);\n\n const onChangeAdults = (newValue: number) => {\n setAdults(newValue);\n };\n const onChangeChildren = (newValue: number) => {\n setChildren(newValue);\n };\n const onChangeInfants = (newValue: number) => {\n setInfants(newValue);\n };\n\n const onChangeRoom = (newValue: number) => {\n setRoom(newValue);\n };\n\n const inner = () => {\n return (\n <div className={styles['popper--box']}>\n <div className={styles['popper--content']} ref={ref}>\n <div className={styles['row-wrapper']}>\n <div className={styles.row}>\n <Text className={styles['title']} type={TextType.Small}>\n {StringHelper.plural(adults, 'Adult', t)}\n </Text>\n <NumberIncrement number={adults} min={1} max={maxAdults} onChange={(value: number) => onChangeAdults(value)} textSize={TextType.Small} />\n </div>\n </div>\n {disableChild ? null : (\n <div className={styles['row-wrapper']}>\n <div className={styles.divider} />\n <div className={styles.row}>\n <Text className={styles['title']} type={TextType.Small}>\n {StringHelper.plural(children, 'Child', t)}\n </Text>\n <NumberIncrement number={children} min={0} max={maxChildren} onChange={(value: number) => onChangeChildren(value)} textSize={TextType.Small} />\n </div>\n </div>\n )}\n {showInfants ? (\n <div className={styles['row-wrapper']}>\n <div className={styles.divider} />\n <div className={styles.row}>\n <Text className={styles['title']} type={TextType.Small}>\n {StringHelper.plural(infants, 'Infant', t)}\n </Text>\n <NumberIncrement number={infants} min={0} onChange={(value: number) => onChangeInfants(value)} textSize={TextType.Small} />\n </div>\n\n <div className={styles.divider} />\n </div>\n ) : null}\n {disableRoom ? null : (\n <div className={styles['row-wrapper']}>\n <div className={styles.divider} />\n <div className={styles.row}>\n <Text className={styles['title']} type={TextType.Small}>\n {StringHelper.plural(room, 'Room', t)}\n </Text>\n <NumberIncrement number={room} min={1} max={10} onChange={(value: number) => onChangeRoom(value)} textSize={TextType.Small} />\n </div>\n </div>\n )}\n {promoCodeConfig ? (\n <div className={styles['row-wrapper']}>\n <div className={styles.divider} />\n <div className={classNames(styles.row)}>\n <Text className={styles['title']} type={TextType.Small}>\n {t(Translation.Misc.Promocode)}\n </Text>\n <PromoCodeInput\n className={styles.promo}\n value={promoCodeConfig.promoCode}\n onChange={promoCodeConfig.onChange}\n valid={promoCodeConfig.valid}\n row={row}\n />\n </div>\n </div>\n ) : null}\n </div>\n </div>\n );\n };\n\n const content = () => {\n return (\n <Overlay\n offset={[0, 6]}\n usePortal={false}\n followElement={targetRef.current}\n placement=\"top-start\"\n strategy=\"absolute\"\n open={open}\n onClose={() => setOpen?.(false)}\n className={styles.popper}\n hideStyles\n >\n {inner()}\n </Overlay>\n );\n };\n\n const getValueAsText = () => {\n const parts = [StringHelper.pluralWithCount(adults, 'Adult', t)];\n\n if (children > 0) {\n parts.push(StringHelper.pluralWithCount(children, 'Child', t));\n }\n\n if (infants > 0) {\n parts.push(StringHelper.pluralWithCount(infants, 'Infant', t));\n }\n\n return parts.join(' - ');\n };\n\n return (\n <div ref={targetRef} className={classNames('u-cursor-pointer', 'rs-inline-filter-item-guest', styles['rs-inline-filter-item-guest'])}>\n <div className={classNames(styles['card'])} onClick={() => setOpen?.(!open)}>\n <div className={styles['image']}>\n <Icon icon={IconType.People} />\n </div>\n <div className={styles['content']}>\n <Text className={styles['title']} type={TextType.Body}>\n {t(Translation.Misc.Guests)}\n </Text>\n <Text className={styles['sub-title']} type={TextType.Body} color={Color.Navy}>\n {getValueAsText()}\n </Text>\n </div>\n\n <Icon icon={IconType.Dropdown} />\n </div>\n {content()}\n </div>\n );\n};\n"]}
|
|
@@ -31,7 +31,6 @@ class MemberPortalWidget extends BaseEngine_1.BaseEngine {
|
|
|
31
31
|
}
|
|
32
32
|
render() {
|
|
33
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
this.initializeShadowDom();
|
|
35
34
|
(0, MemberPortalWidgetElement_1.renderMemberPortalWidget)(RoomstayThemeEngine_1.default.createElementOrReuseExisting('div', 'member-portal-widget'), this);
|
|
36
35
|
});
|
|
37
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemberPortalWidget.js","sourceRoot":"/","sources":["src/engines/MemberPortalWidget/MemberPortalWidget.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAIA,qDAAyF;AAIzF,0FAAkE;AAElE,2EAAuE;AA0BvE,MAAa,kBAAmB,SAAQ,uBAAoC;IACxE,YAAmB,gBAA6B,EAAE,MAAiC;QAC/E,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,gCAAmB,CAAC,IAAI,CAAC;QAEvC,4CAA4C;QAC5C,6BAAmB,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC1E,CAAC;IAEM,SAAS,CAAC,MAAgC;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACtG,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAEe,MAAM;;YAClB,
|
|
1
|
+
{"version":3,"file":"MemberPortalWidget.js","sourceRoot":"/","sources":["src/engines/MemberPortalWidget/MemberPortalWidget.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAIA,qDAAyF;AAIzF,0FAAkE;AAElE,2EAAuE;AA0BvE,MAAa,kBAAmB,SAAQ,uBAAoC;IACxE,YAAmB,gBAA6B,EAAE,MAAiC;QAC/E,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,gCAAmB,CAAC,IAAI,CAAC;QAEvC,4CAA4C;QAC5C,6BAAmB,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC1E,CAAC;IAEM,SAAS,CAAC,MAAgC;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACtG,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAEe,MAAM;;YAClB,IAAA,oDAAwB,EAAC,6BAAmB,CAAC,4BAA4B,CAAC,KAAK,EAAE,sBAAsB,CAAC,EAAE,IAAI,CAAC,CAAC;QACpH,CAAC;KAAA;;AAnBL,gDAsBC;AAD0B,sCAAmB,GAAG,cAAc,CAAC","sourcesContent":["import { Placement } from '@popperjs/core';\nimport { IHotelColorScheme, IRoomstayMember } from '@roomstay/core';\n\nimport { MenuItemType } from '@/components/generic/modal/SigninModal/AuthenticatedUserModal';\nimport { BaseEngine, BaseEngineConfig, BookingEngineSource } from '@/engines/BaseEngine';\nimport { ConfigCompany } from '@/models/Client/Hotel/Company';\nimport { ConfigHotel, Hotel } from '@/models/Client/Hotel/Hotel';\nimport { Language } from '@/providers/LanguageProvider';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\n\nimport { renderMemberPortalWidget } from './MemberPortalWidgetElement';\n\nexport interface GroupWidgetConfig {\n name?: string;\n logo?: string;\n logoLink?: string;\n checkoutUrl?: string;\n colors?: IHotelColorScheme;\n defaultLanguage?: Language;\n privacyPolicyUrl?: string;\n hotels: ConfigHotel[];\n}\n\nexport interface MemberPortalWidgetConfig extends BaseEngineConfig {\n company: Pick<ConfigCompany, 'colors' | 'companyShort' | 'companyId'>;\n hotel?: Hotel;\n groupWidgetConfig?: GroupWidgetConfig;\n authMenuItem?: MenuItemType[];\n buttonClass?: string;\n overlayPlacement?: Placement;\n fallbackPlacements?: Placement;\n onSignedIn?: (user: IRoomstayMember) => void;\n onSignedOut?: () => void;\n renderInput?: (member?: IRoomstayMember | null, isLoading?: boolean) => JSX.Element | string;\n}\n\nexport class MemberPortalWidget extends BaseEngine<MemberPortalWidgetConfig> {\n public constructor(bookingContainer: HTMLElement, config?: MemberPortalWidgetConfig) {\n super(bookingContainer, config);\n this.source = BookingEngineSource.Auth;\n\n // TODO: Make this a more permanent solution\n RoomstayThemeEngine.EngineContainer.classList.add('--transparent-bg');\n }\n\n public setConfig(config: MemberPortalWidgetConfig): void {\n if (!config.hotel && !config.groupWidgetConfig) {\n throw new Error('MemberPortalWidget requires either a hotel or groupWidgetConfig to be provided');\n }\n\n super.setConfig(config);\n }\n\n protected async render() {\n renderMemberPortalWidget(RoomstayThemeEngine.createElementOrReuseExisting('div', 'member-portal-widget'), this);\n }\n\n public static readonly MEMBER_PORTAL_PARAM = 'memberPortal';\n}\n"]}
|