@roomstay/frontend 2.4.4-1 → 2.4.4-2

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.
@@ -53,6 +53,13 @@ class BaseEngine {
53
53
  }
54
54
  // TODO: Update these calls
55
55
  RoomstayThemeEngine_1.default.EngineContainer = container;
56
+ // Move style to shadow dom
57
+ Array.from(document.getElementsByClassName('roomstay-booking-style')).forEach((styleEl) => {
58
+ if (styleEl === null || styleEl === void 0 ? void 0 : styleEl.shadowRoot) {
59
+ RoomstayThemeEngine_1.default.EngineContainer.appendChild(styleEl.shadowRoot);
60
+ styleEl.remove();
61
+ }
62
+ });
56
63
  RoomstayThemeEngine_1.default.init();
57
64
  }
58
65
  getInitialSession() {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEngine.js","sourceRoot":"/","sources":["src/engines/BaseEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,0FAAkE;AAClE,kFAA0D;AAK1D,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC3B,wCAAiB,CAAA;IACjB,yDAAkC,CAAA;IAClC,4CAAqB,CAAA;IACrB,uDAAgC,CAAA;IAChC,oCAAa,CAAA;AACjB,CAAC,EANW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAM9B;AAED,MAAsB,UAAU;IAQ5B,YAAY,gBAA6B,EAAE,MAAU;QAkBrC,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;gBACb,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBAC5B,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAC1C;aACJ;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,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC,EAAE,CAAC,CAAC,CAAC;QACV,CAAC,CAAA,CAAC;QAlCE,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC;YACzC,IAAI,EAAE,MAAM;SACf,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACtD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAElC,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,MAAW,CAAC,CAAC;SAC/B;QAED,2BAA2B;QAC3B,6BAAmB,CAAC,eAAe,GAAG,SAAS,CAAC;QAChD,6BAAmB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAqBM,iBAAiB;QACpB,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,OAAO,IAAI,CAAC,cAAc,CAAC;SAC9B;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,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;AAxED,gCAwEC","sourcesContent":["import { RoomstaySession } from '@/models/RoomstaySession';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport SessionProvider from '@/providers/SessionProvider';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface BaseEngineConfig {}\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\n protected engineConfig!: C;\n\n constructor(bookingContainer: HTMLElement, config?: C) {\n const shadow = bookingContainer.attachShadow({\n mode: 'open',\n });\n const container = document.createElement('div');\n container.classList.add('roomstay-booking-container');\n shadow.appendChild(container);\n this.bookingContainer = container;\n\n if (this.engineConfig) {\n this.setConfig(config as C);\n }\n\n // TODO: Update these calls\n RoomstayThemeEngine.EngineContainer = container;\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 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 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"]}
1
+ {"version":3,"file":"BaseEngine.js","sourceRoot":"/","sources":["src/engines/BaseEngine.ts"],"names":[],"mappings":"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","sourcesContent":["import { RoomstaySession } from '@/models/RoomstaySession';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport SessionProvider from '@/providers/SessionProvider';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface BaseEngineConfig {}\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\n protected engineConfig!: C;\n\n constructor(bookingContainer: HTMLElement, config?: C) {\n const shadow = bookingContainer.attachShadow({\n mode: 'open',\n });\n const container = document.createElement('div');\n container.classList.add('roomstay-booking-container');\n shadow.appendChild(container);\n this.bookingContainer = container;\n\n if (this.engineConfig) {\n this.setConfig(config as C);\n }\n\n // TODO: Update these calls\n RoomstayThemeEngine.EngineContainer = container;\n\n // Move style to shadow dom\n Array.from(document.getElementsByClassName('roomstay-booking-style')).forEach((styleEl) => {\n if (styleEl?.shadowRoot) {\n RoomstayThemeEngine.EngineContainer.appendChild(styleEl.shadowRoot);\n styleEl.remove();\n }\n });\n\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 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 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"]}
@@ -22,9 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
25
  Object.defineProperty(exports, "__esModule", { value: true });
29
26
  exports.renderBookingEngine = void 0;
30
27
  require("../../../assets/scss/_fonts.global.scss");
@@ -34,7 +31,6 @@ const react_1 = __importStar(require("react"));
34
31
  const client_1 = require("react-dom/client");
35
32
  const react_router_dom_1 = require("react-router-dom");
36
33
  const FullPageBookingEngineElementEvents_1 = require("./FullPageBookingEngineElementEvents");
37
- const RoomstayThemeEngine_1 = __importDefault(require("../../providers/RoomstayThemeEngine"));
38
34
  function FullPageBookingEngineElement({ engine }) {
39
35
  // TODO: Refactor this to trigger via useEvents hook
40
36
  FullPageBookingEngineElementEvents_1.FullPageBookingEngineElementEvents.reload = () => {
@@ -65,12 +61,6 @@ function FullPageBookingEngineElement({ engine }) {
65
61
  }
66
62
  exports.default = FullPageBookingEngineElement;
67
63
  const renderBookingEngine = (container, engine) => {
68
- Array.from(document.getElementsByClassName('roomstay-booking-style')).forEach((styleEl) => {
69
- if (styleEl === null || styleEl === void 0 ? void 0 : styleEl.shadowRoot) {
70
- RoomstayThemeEngine_1.default.EngineContainer.appendChild(styleEl.shadowRoot);
71
- styleEl.remove();
72
- }
73
- });
74
64
  const renderRoot = (0, client_1.createRoot)(container);
75
65
  renderRoot.render(react_1.default.createElement(FullPageBookingEngineElement, { engine: engine }));
76
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FullPageBookingEngineElement.js","sourceRoot":"/","sources":["src/engines/FullPageBookingEngine/FullPageBookingEngineElement.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAiD;AACjD,iDAA+C;AAE/C,iDAQ4B;AAC5B,+CAAkD;AAClD,6CAA8C;AAC9C,uDAA8C;AAG9C,2HAAwH;AACxH,0FAAkE;AAMlE,SAAwB,4BAA4B,CAAC,EAAE,MAAM,EAAqC;IAC9F,oDAAoD;IACpD,uEAAkC,CAAC,MAAM,GAAG,GAAG,EAAE;QAC7C,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,wEAAwE;IACxE,0CAA0C;IAC1C,YAAY;IACZ,4CAA4C;IAC5C,oBAAoB;IACpB,qDAAqD;IACrD,QAAQ;IACR,+BAA+B;IAC/B,UAAU;IAEV,oBAAoB;IACpB,eAAe;IACf,eAAe;IAEf,MAAM,CAAC,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAEvC,OAAO,CACH,8BAAC,gBAAQ,IAAC,QAAQ,EAAE,6DAAK;QACrB,8BAAC,6BAAU;YAMP,8BAAC,sCAA2B,IAAC,MAAM,EAAE,MAAM;gBACvC,8BAAC,qCAA0B;oBACvB,8BAAC,8BAAmB;wBAChB,8BAAC,gCAAqB,IAAC,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO;4BAC5D,8BAAC,uCAA4B;gCACzB,8BAAC,+BAAoB;oCACjB,8BAAC,uCAA4B,OAAG,CACb,CACI,CACX,CACN,CACG,CACH,CAErB,CACN,CACd,CAAC;AACN,CAAC;AA/CD,+CA+CC;AAEM,MAAM,mBAAmB,GAAG,CAAC,SAAkB,EAAE,MAA6B,EAAE,EAAE;IACrF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACtF,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAE;YACrB,6BAAmB,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACpE,OAAO,CAAC,MAAM,EAAE,CAAC;SACpB;IACL,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC;IACzC,UAAU,CAAC,MAAM,CAAC,8BAAC,4BAA4B,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAC;AACxE,CAAC,CAAC;AATW,QAAA,mBAAmB,uBAS9B","sourcesContent":["import '../../../assets/scss/_fonts.global.scss';\nimport '../../../assets/scss/main.engine.scss';\n\nimport {\n BasketContextWrapper,\n BookingEngineContextWrapper,\n CompanyContextWrapper,\n ErrorContextWrapper,\n FullPageEngineContextWrapper,\n HotelOverridesContextWrapper,\n NotificationContextWrapper,\n} from '@frontend/contexts';\nimport React, { Suspense, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { HashRouter } from 'react-router-dom';\n\nimport type { FullPageBookingEngine } from '@/engines/FullPageBookingEngine/FullPageBookingEngine';\nimport { FullPageBookingEngineElementEvents } from '@/engines/FullPageBookingEngine/FullPageBookingEngineElementEvents';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\n\nexport interface FullPageBookingEngineElementProps {\n engine: FullPageBookingEngine;\n}\n\nexport default function FullPageBookingEngineElement({ engine }: FullPageBookingEngineElementProps) {\n // TODO: Refactor this to trigger via useEvents hook\n FullPageBookingEngineElementEvents.reload = () => {\n setIncrementor((one) => one + 1);\n };\n\n // const [createdSession, createdSessionSet] = useState<boolean>(false);\n // const setup = useCallback(async () => {\n // try {\n // await API.Session.startSession();\n // } catch (e) {\n // console.error('failed to create session');\n // }\n // createdSessionSet(true);\n // }, []);\n\n // useEffect(() => {\n // setup();\n // }, [setup]);\n\n const [, setIncrementor] = useState(0);\n\n return (\n <Suspense fallback={<></>}>\n <HashRouter>\n {/* {!createdSession ? (\n <div className=\"engine-body\">\n <LargeLoader />\n </div>\n ) : ( */}\n <BookingEngineContextWrapper engine={engine}>\n <NotificationContextWrapper>\n <ErrorContextWrapper>\n <CompanyContextWrapper configCompany={engine.getConfig().company}>\n <HotelOverridesContextWrapper>\n <BasketContextWrapper>\n <FullPageEngineContextWrapper />\n </BasketContextWrapper>\n </HotelOverridesContextWrapper>\n </CompanyContextWrapper>\n </ErrorContextWrapper>\n </NotificationContextWrapper>\n </BookingEngineContextWrapper>\n {/* )} */}\n </HashRouter>\n </Suspense>\n );\n}\n\nexport const renderBookingEngine = (container: Element, engine: FullPageBookingEngine) => {\n Array.from(document.getElementsByClassName('roomstay-booking-style')).forEach((styleEl) => {\n if (styleEl?.shadowRoot) {\n RoomstayThemeEngine.EngineContainer.appendChild(styleEl.shadowRoot);\n styleEl.remove();\n }\n });\n const renderRoot = createRoot(container);\n renderRoot.render(<FullPageBookingEngineElement engine={engine} />);\n};\n"]}
1
+ {"version":3,"file":"FullPageBookingEngineElement.js","sourceRoot":"/","sources":["src/engines/FullPageBookingEngine/FullPageBookingEngineElement.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAiD;AACjD,iDAA+C;AAE/C,iDAQ4B;AAC5B,+CAAkD;AAClD,6CAA8C;AAC9C,uDAA8C;AAG9C,2HAAwH;AAOxH,SAAwB,4BAA4B,CAAC,EAAE,MAAM,EAAqC;IAC9F,oDAAoD;IACpD,uEAAkC,CAAC,MAAM,GAAG,GAAG,EAAE;QAC7C,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,wEAAwE;IACxE,0CAA0C;IAC1C,YAAY;IACZ,4CAA4C;IAC5C,oBAAoB;IACpB,qDAAqD;IACrD,QAAQ;IACR,+BAA+B;IAC/B,UAAU;IAEV,oBAAoB;IACpB,eAAe;IACf,eAAe;IAEf,MAAM,CAAC,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAEvC,OAAO,CACH,8BAAC,gBAAQ,IAAC,QAAQ,EAAE,6DAAK;QACrB,8BAAC,6BAAU;YAMP,8BAAC,sCAA2B,IAAC,MAAM,EAAE,MAAM;gBACvC,8BAAC,qCAA0B;oBACvB,8BAAC,8BAAmB;wBAChB,8BAAC,gCAAqB,IAAC,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO;4BAC5D,8BAAC,uCAA4B;gCACzB,8BAAC,+BAAoB;oCACjB,8BAAC,uCAA4B,OAAG,CACb,CACI,CACX,CACN,CACG,CACH,CAErB,CACN,CACd,CAAC;AACN,CAAC;AA/CD,+CA+CC;AAEM,MAAM,mBAAmB,GAAG,CAAC,SAAkB,EAAE,MAA6B,EAAE,EAAE;IACrF,MAAM,UAAU,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC;IACzC,UAAU,CAAC,MAAM,CAAC,8BAAC,4BAA4B,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAC;AACxE,CAAC,CAAC;AAHW,QAAA,mBAAmB,uBAG9B","sourcesContent":["import '../../../assets/scss/_fonts.global.scss';\nimport '../../../assets/scss/main.engine.scss';\n\nimport {\n BasketContextWrapper,\n BookingEngineContextWrapper,\n CompanyContextWrapper,\n ErrorContextWrapper,\n FullPageEngineContextWrapper,\n HotelOverridesContextWrapper,\n NotificationContextWrapper,\n} from '@frontend/contexts';\nimport React, { Suspense, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { HashRouter } from 'react-router-dom';\n\nimport type { FullPageBookingEngine } from '@/engines/FullPageBookingEngine/FullPageBookingEngine';\nimport { FullPageBookingEngineElementEvents } from '@/engines/FullPageBookingEngine/FullPageBookingEngineElementEvents';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\n\nexport interface FullPageBookingEngineElementProps {\n engine: FullPageBookingEngine;\n}\n\nexport default function FullPageBookingEngineElement({ engine }: FullPageBookingEngineElementProps) {\n // TODO: Refactor this to trigger via useEvents hook\n FullPageBookingEngineElementEvents.reload = () => {\n setIncrementor((one) => one + 1);\n };\n\n // const [createdSession, createdSessionSet] = useState<boolean>(false);\n // const setup = useCallback(async () => {\n // try {\n // await API.Session.startSession();\n // } catch (e) {\n // console.error('failed to create session');\n // }\n // createdSessionSet(true);\n // }, []);\n\n // useEffect(() => {\n // setup();\n // }, [setup]);\n\n const [, setIncrementor] = useState(0);\n\n return (\n <Suspense fallback={<></>}>\n <HashRouter>\n {/* {!createdSession ? (\n <div className=\"engine-body\">\n <LargeLoader />\n </div>\n ) : ( */}\n <BookingEngineContextWrapper engine={engine}>\n <NotificationContextWrapper>\n <ErrorContextWrapper>\n <CompanyContextWrapper configCompany={engine.getConfig().company}>\n <HotelOverridesContextWrapper>\n <BasketContextWrapper>\n <FullPageEngineContextWrapper />\n </BasketContextWrapper>\n </HotelOverridesContextWrapper>\n </CompanyContextWrapper>\n </ErrorContextWrapper>\n </NotificationContextWrapper>\n </BookingEngineContextWrapper>\n {/* )} */}\n </HashRouter>\n </Suspense>\n );\n}\n\nexport const renderBookingEngine = (container: Element, engine: FullPageBookingEngine) => {\n const renderRoot = createRoot(container);\n renderRoot.render(<FullPageBookingEngineElement engine={engine} />);\n};\n"]}