@roomstay/frontend 1.3.0 → 1.4.1
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/201.bundle.js +1 -0
- package/dist/279.bundle.js +1 -0
- package/dist/370.bundle.js +1 -0
- package/dist/449.bundle.js +1 -0
- package/dist/625.bundle.js +1 -0
- package/dist/661.bundle.js +1 -0
- package/dist/7.bundle.js +1 -0
- package/dist/845.bundle.js +1 -0
- package/dist/873.bundle.js +1 -0
- package/dist/876.bundle.js +1 -0
- package/dist/972.bundle.js +1 -0
- package/dist/main.bundle.js +1 -0
- package/dist/src/api/AvailabilityAPI.js +90 -95
- package/dist/src/api/AvailabilityAPI.js.map +1 -1
- package/dist/src/api/BookingAPI.d.ts +2 -0
- package/dist/src/api/BookingAPI.js +2 -0
- package/dist/src/api/BookingAPI.js.map +1 -1
- package/dist/src/api/ErrorAPI.d.ts +9 -0
- package/dist/src/api/ErrorAPI.js +34 -0
- package/dist/src/api/ErrorAPI.js.map +1 -0
- package/dist/src/api/ExchangeRateAPI.d.ts +1 -0
- package/dist/src/api/ExchangeRateAPI.js +10 -2
- package/dist/src/api/ExchangeRateAPI.js.map +1 -1
- package/dist/src/components/generic/BackButton.d.ts +0 -1
- package/dist/src/components/generic/BookNowPayLaterInfoBlock.d.ts +0 -1
- package/dist/src/components/generic/Countdown.d.ts +0 -1
- package/dist/src/components/generic/Currency.d.ts +0 -1
- package/dist/src/components/generic/Distance.d.ts +0 -1
- package/dist/src/components/generic/Icon.d.ts +0 -1
- package/dist/src/components/generic/LineBreak.d.ts +0 -1
- package/dist/src/components/generic/NumberIncrement.d.ts +0 -1
- package/dist/src/components/generic/Placeholder.d.ts +0 -1
- package/dist/src/components/generic/PromoCodeInput.d.ts +0 -1
- package/dist/src/components/generic/RecentSearchesCard.d.ts +0 -1
- package/dist/src/components/generic/ScrollToTop.d.ts +1 -3
- package/dist/src/components/generic/Select.d.ts +0 -1
- package/dist/src/components/generic/badging/SSLSecureBadge.d.ts +0 -1
- package/dist/src/components/generic/buttons/NextStepButton.d.ts +0 -1
- package/dist/src/components/generic/date/DatePicker.d.ts +0 -1
- package/dist/src/components/generic/date/DatePickerDay.d.ts +0 -1
- package/dist/src/components/generic/date/DatePickerDays.d.ts +0 -1
- package/dist/src/components/generic/date/DatePickerMonth.d.ts +0 -1
- package/dist/src/components/generic/date/DatePickerWeek.d.ts +0 -1
- package/dist/src/components/generic/loader/LargeLoader.d.ts +0 -1
- package/dist/src/components/generic/loader/SmallSpinner.d.ts +0 -1
- package/dist/src/components/generic/map/HotelLocationMap.d.ts +0 -1
- package/dist/src/components/generic/modal/ConfirmationModal.d.ts +0 -1
- package/dist/src/components/generic/radio/RadioFields.d.ts +0 -1
- package/dist/src/components/iconComponents/BookNowPayLaterIcon.d.ts +0 -1
- package/dist/src/components/navigation/Header.d.ts +0 -1
- package/dist/src/components/navigation/StepSelector.d.ts +0 -1
- package/dist/src/components/navigation/StepSelectorModal.d.ts +0 -1
- package/dist/src/components/steps/DaysSelectedInformer.d.ts +0 -1
- package/dist/src/components/steps/MinimumNightStayPill.d.ts +0 -1
- package/dist/src/components/steps/addons/AddonCard.d.ts +0 -1
- package/dist/src/components/steps/addons/AddonList.d.ts +0 -1
- package/dist/src/components/steps/addons/AddonsNotFound.d.ts +0 -1
- package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +0 -1
- package/dist/src/components/steps/confirmation/AccountDetails.d.ts +0 -1
- package/dist/src/components/steps/confirmation/RoomContactDetails.d.ts +0 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +0 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +0 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.d.ts +0 -1
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +0 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.d.ts +0 -1
- package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.d.ts +0 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.d.ts +0 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +0 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +0 -1
- package/dist/src/components/steps/date/PeoplePicker.d.ts +0 -1
- package/dist/src/components/steps/date/PeoplePickerRow.d.ts +0 -1
- package/dist/src/components/steps/date/StepDatePricePerRoom.d.ts +0 -1
- package/dist/src/components/steps/date/StepOneDateRange.d.ts +0 -1
- package/dist/src/components/steps/date/StepOneDateRangePicker.d.ts +0 -1
- package/dist/src/components/steps/date/StepOneDateRangePickerLegend.d.ts +0 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +0 -1
- package/dist/src/components/steps/date/StepOneStatusPeople.d.ts +0 -1
- package/dist/src/components/steps/hotel/HotelCard.d.ts +0 -1
- package/dist/src/components/steps/hotel/HotelCardList.d.ts +0 -1
- package/dist/src/components/steps/hotel/HotelSearchParameters.d.ts +0 -1
- package/dist/src/components/steps/hotel/NoHotelsAvailable.d.ts +0 -1
- package/dist/src/components/steps/room/AvailableUpgradesModal.d.ts +0 -1
- package/dist/src/components/steps/room/ImageGallerySlider.d.ts +0 -1
- package/dist/src/components/steps/room/InactivityWindow.d.ts +0 -1
- package/dist/src/components/steps/room/LargeRoomCard.d.ts +0 -1
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.d.ts +0 -1
- package/dist/src/components/steps/room/{RoomNotFound.d.ts → NoRoomsFoundBlock.d.ts} +0 -1
- package/dist/src/components/steps/room/{RoomNotFound.js → NoRoomsFoundBlock.js} +2 -2
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -0
- package/dist/src/components/steps/room/RatesNotFound.d.ts +0 -1
- package/dist/src/components/steps/room/RoomList.d.ts +0 -1
- package/dist/src/components/steps/room/RoomList.js +17 -4
- package/dist/src/components/steps/room/RoomList.js.map +1 -1
- package/dist/src/components/steps/room/RoomListCrossSellBlock.d.ts +0 -1
- package/dist/src/components/steps/room/RoomModal.d.ts +0 -1
- package/dist/src/components/steps/room/StepRoomAlertBlocks.d.ts +0 -1
- package/dist/src/components/steps/room/StepRoomBestRateAlert.d.ts +0 -1
- package/dist/src/components/steps/room/StepRoomErrorForm.d.ts +1 -0
- package/dist/src/components/steps/room/StepRoomErrorForm.js +116 -0
- package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -0
- package/dist/src/components/steps/room/StepRoomHotelDetails.d.ts +0 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.d.ts +0 -1
- package/dist/src/components/steps/room/StepRoomSortBy.d.ts +0 -1
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.d.ts +0 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +0 -1
- package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +0 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.d.ts +0 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +3 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +0 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.d.ts +0 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +0 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +0 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +0 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +0 -1
- package/dist/src/components/summary/BEMobileSummary.d.ts +0 -1
- package/dist/src/components/summary/BEMobileSummaryModal.d.ts +0 -1
- package/dist/src/components/summary/BESummary.d.ts +0 -1
- package/dist/src/components/summary/BESummaryAddonRow.d.ts +0 -1
- package/dist/src/components/summary/BESummaryPerkBlock.d.ts +0 -1
- package/dist/src/components/summary/BESummaryPrivacyPolicy.d.ts +0 -1
- package/dist/src/components/summary/BESummaryRoomRow.d.ts +0 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +0 -1
- package/dist/src/engines/BaseEngine.d.ts +7 -1
- package/dist/src/engines/BaseEngine.js +10 -1
- package/dist/src/engines/BaseEngine.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
- package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +0 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +0 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -1
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +0 -1
- package/dist/src/icons/Check.d.ts +0 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.js +4 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservation.d.ts +0 -1
- package/dist/src/pages/findReservation/FindReservationResults.d.ts +0 -1
- package/dist/src/pages/findReservation/ReservationRow.d.ts +0 -1
- package/dist/src/pages/findReservation/ReservationRowModal.d.ts +0 -1
- package/dist/src/pages/hotel/HotelInfo.d.ts +0 -1
- package/dist/src/pages/hotel/HotelInfoPlaceholder.d.ts +0 -1
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.d.ts +0 -1
- package/dist/src/pages/steps/StepAddon/StepAddonLoader.d.ts +0 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.d.ts +0 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.d.ts +0 -1
- package/dist/src/pages/steps/StepDate/StepDate.d.ts +1 -2
- package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +1 -2
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.d.ts +0 -1
- package/dist/src/pages/steps/StepHotel/StepHotelLoader.d.ts +0 -1
- package/dist/src/pages/steps/StepRoom/StepRoomComponent.d.ts +0 -1
- package/dist/src/pages/steps/StepRoom/StepRoomLoader.d.ts +0 -1
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.d.ts +0 -1
- package/dist/src/providers/DIProvider.d.ts +0 -1
- package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +0 -1
- package/dist/src/translations/Translation.d.ts +12 -0
- package/dist/src/translations/Translation.js +12 -0
- package/dist/src/translations/Translation.js.map +1 -1
- package/dist/src/translations/languages/en-gb.js +12 -0
- package/dist/src/translations/languages/en-gb.js.map +1 -1
- package/dist/test.bundle.js +1 -0
- package/dist/tests/offline/RoomstayBestRateAlert.d.ts +0 -1
- package/dist/tests/offline/entry/ReactWrapper.d.ts +0 -1
- package/dist/tests/offline/entry/components/TestPicker.d.ts +0 -1
- package/dist/vendors.bundle.js +2 -0
- package/dist/vendors.bundle.js.LICENSE.txt +81 -0
- package/package.json +2 -2
- package/dist/src/components/steps/room/RoomNotFound.js.map +0 -1
|
@@ -21,10 +21,12 @@ const FeatureProvider_1 = require("../../../../../providers/FeatureProvider");
|
|
|
21
21
|
const contexts_2 = require("@frontend/contexts");
|
|
22
22
|
const hooks_1 = require("@frontend/hooks");
|
|
23
23
|
const RoomRatePills_1 = require("./RoomRatePills");
|
|
24
|
+
const BaseEngine_1 = require("engines/BaseEngine");
|
|
24
25
|
function RoomRateRow(props) {
|
|
25
26
|
var _a, _b, _c;
|
|
26
27
|
const ccx = react_1.useContext(contexts_2.CompanyContext);
|
|
27
28
|
const basketContext = react_1.useContext(contexts_1.BasketContext);
|
|
29
|
+
const { engine } = react_1.useContext(contexts_1.BookingEngineContext);
|
|
28
30
|
const [viewingModal, setViewingModal] = react_1.useState({ open: false, currentTab: RoomRateDetailsAndPriceBreakdownModal_1.RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails });
|
|
29
31
|
const { t } = react_i18next_1.useTranslation();
|
|
30
32
|
const { hotel } = hooks_1.useCurrentHotel();
|
|
@@ -45,7 +47,7 @@ function RoomRateRow(props) {
|
|
|
45
47
|
}
|
|
46
48
|
FeatureProvider_1.default.load('AvailableUpgradesFeature');
|
|
47
49
|
react_1.useEffect(() => {
|
|
48
|
-
if (isThisSelectedRow) {
|
|
50
|
+
if (isThisSelectedRow && (engine === null || engine === void 0 ? void 0 : engine.getSource()) !== BaseEngine_1.BookingEngineSource.Inline) {
|
|
49
51
|
setTimeout(() => {
|
|
50
52
|
var _a;
|
|
51
53
|
(_a = currentRow === null || currentRow === void 0 ? void 0 : currentRow.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomRateRow.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/RoomRateRow.tsx"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,mDAA0D;AAC1D,qDAAkD;AAClD,qEAA8D;AAC9D,2DAAoD;AACpD,yEAAsE;AACtE,iDAA+C;AAE/C,yCAAyC;AAEzC,mDAAoD;AACpD,mDAA0D;AAC1D,iDAAmD;AACnD,iCAAgE;AAChE,6DAA4F;AAC5F,oEAA6D;AAC7D,kEAAuF;AACvF,mGAA2I;AAC3I,mDAA4C;AAC5C,8EAAuE;AACvE,iDAAoD;AACpD,2CAAkD;AAClD,mDAA4C;AAW5C,SAAwB,WAAW,CAAC,KAAuB;;IACvD,MAAM,GAAG,GAAG,kBAAU,CAAC,yBAAc,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,kBAAU,CAAC,wBAAa,CAAC,CAAC;IAEhD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,gBAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,iFAAyC,CAAC,WAAW,EAAE,CAAC,CAAC;IAErI,MAAM,EAAE,CAAC,EAAE,GAAG,8BAAc,EAAE,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,uBAAe,EAAE,CAAC;IAEpC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,MAAM,WAAW,GAAG,aAAa,CAAC,iBAAiB,CAAC;IACpD,MAAM,wBAAwB,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,EAAE,CAAC;IAExD,MAAM,iBAAiB,GAAG,WAAW,IAAI,IAAI,CAAC,IAAI,YAAK,WAAW,CAAC,OAAO,EAAE,0CAAE,IAAI,CAAA,IAAI,OAAA,IAAI,CAAC,OAAO,EAAE,0CAAE,IAAI,aAAK,WAAW,CAAC,OAAO,EAAE,0CAAE,IAAI,CAAA,CAAC;IAE3I,MAAM,UAAU,GAAG,cAAM,CAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE;QACpC,WAAW,EAAE,CAAC,IAAI,CAAC,YAAY;QAC/B,UAAU,EAAE,IAAI,CAAC,YAAY;QAC7B,WAAW,EAAE,iBAAiB,IAAI,wBAAwB;QAC1D,YAAY,EAAE,KAAK,CAAC,WAAW;KAClC,CAAC,CAAC;IAEH,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;QACxC,QAAQ,GAAG,IAAI,CAAC;KACnB;IACD,yBAAe,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACjD,iBAAS,CAAC,GAAG,EAAE;QACX,IAAI,iBAAiB,EAAE;YACnB,UAAU,CAAC,GAAG,EAAE;;gBACZ,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,0CAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAChE,CAAC,EAAE,GAAG,CAAC,CAAC;SACX;QAED,IAAI,CAAC,QAAQ,EAAE;YACX,mBAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;SAClE;IACL,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,OAAO,GAAG,CAAC,GAA8C,EAAE,EAAE;QAC/D,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,KAAK,CAAC,cAAc,EAAE;QACtB,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAC;KACpF;SAAM;QACH,IAAI,wBAAwB,EAAE;YAC1B,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;SAC7I;aAAM;YACH,YAAY,GAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC5D;KACJ;IAED,MAAM,4BAA4B,GAAG,GAAG,EAAE;QACtC,mBAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,2BAAe,CAAC,IAAI,EAAE,2BAAe,CAAC,KAAK,CAAC,CAAC;QACvG,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,mBAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,mBAAmB,EAAE,2BAAe,CAAC,IAAI,EAAE,2BAAe,CAAC,KAAK,CAAC,CAAC;QACrG,OAAO,CAAC,iFAAyC,CAAC,WAAW,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,eAAe,CAAC,CAAC,GAAG,EAAE,EAAE;YACpB,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC;YACjB,yBAAY,GAAG,EAAG;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,mBAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,gBAAgB,EAAE,2BAAe,CAAC,IAAI,EAAE,2BAAe,CAAC,KAAK,CAAC,CAAC;QAClG,OAAO,CAAC,iFAAyC,CAAC,cAAc,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU;QACpC,6BAAK,SAAS,EAAC,KAAK;YAChB,6BAAK,SAAS,EAAC,UAAU;gBACrB,6BAAK,SAAS,EAAC,0BAA0B;oBACrC;wBACI,6BAAK,SAAS,EAAC,oBAAoB,IAC9B,QAAQ,CAAC,CAAC,CAAC,CACR,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,aAAK,CAAC,OAAO;4BAC3C,oCAAS,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAU,CAChE,CACV,CAAC,CAAC,CAAC,CACA,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,IAAI;4BACrB,oCAAS,IAAI,CAAC,IAAI,CAAU,CACzB,CACV,CACC;wBACN,6BAAK,SAAS,EAAC,6DAA6D;4BACxE,6BAAK,uBAAuB,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAI,CAC7H;wBACL,QAAQ,IAAI,CACT,6BAAK,SAAS,EAAC,QAAQ;4BACnB,8BAAM,OAAO,EAAE,4BAA4B;gCACvC,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,eAAQ,CAAC,OAAO,IAC7C,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC3C,CACJ,CACL,CACT;wBACD,oBAAC,uBAAa,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI,CACjC;oBACN,6BAAK,SAAS,EAAC,mDAAmD;wBAC9D,6BAAK,SAAS,EAAC,4BAA4B;4BACvC,oBAAC,kBAAQ,IAAC,IAAI,EAAE,eAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAC,OAAO,EAAC,YAAY,EAAC,OAAO,EAAC,OAAO,EAAE,kBAAkB,IAC3H,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3B,CACT;wBACN,oBAAC,kBAAQ,IACL,IAAI,EAAE,eAAQ,CAAC,WAAW,EAC1B,MAAM,EAAE,IAAI,EACZ,SAAS,EAAE,aAAK,CAAC,IAAI,EACrB,IAAI,EAAC,OAAO,EACZ,YAAY,EAAC,OAAO,EACpB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,QAAQ,IAEjB,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAC9C,CACT,CACJ,CACJ;YACN,6BAAK,SAAS,EAAC,6GAA6G;gBACxH,6BAAK,SAAS,EAAC,yDAAyD;oBACpE,oBAAC,+BAAqB,IAClB,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,EAC5D,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EACxC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,GACvC;oBACF,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,yBAAS,CAAC,KAAK,IACpE,IAAI,CAAC,YAAY,EAAE,KAAK,iCAAsB,CAAC,qBAAqB;wBACjE,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;wBACjD,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAC1C,CACL;gBACN,6BAAK,SAAS,EAAC,uBAAuB,IACjC,QAAQ,CAAC,CAAC,CAAC,CACR,oBAAC,kBAAQ,IAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,IACnF,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CACvC,CACd,CAAC,CAAC,CAAC,CACA,oBAAC,uBAAa,IAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE,QAAQ,EAAE,CAAC,iBAAiB,GAAI,CAC7I,CACC,CACJ,CACJ;QAEF,oBAAC,+CAAqC,IAClC,MAAM,EAAE,YAAY,CAAC,IAAI,EACzB,UAAU,EAAE,YAAY,CAAC,UAAU,EACnC,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAClD,OAAO,EAAE,kBAAkB,GAC7B,CAEJ,CACT,CAAC;AACN,CAAC;AAvKD,8BAuKC","sourcesContent":["import * as React from 'react';\nimport Text, { TextType } from '../../../../generic/Text';\nimport { Color } from '../../../../../util/Color';\nimport { TextAlign } from '../../../../../util/TextAlignment';\nimport BEButton from '../../../../generic/BEButton';\nimport { Translation } from '../../../../../translations/Translation';\nimport { useTranslation } from 'react-i18next';\n\nimport * as classNames from 'classnames';\n\nimport { IconType } from '../../../../generic/Icon';\nimport Pill, { PillType } from '../../../../generic/Pill';\nimport { BasketContext } from '@frontend/contexts';\nimport { useContext, useState, useEffect, useRef } from 'react';\nimport DataLayer, { InteractionStep, InteractionType } from '../../../../../util/DataLayer';\nimport RoomDetailsPriceBlock from '../RoomDetailsPriceBlock';\nimport { RoomRate, RoomRatePriceInclusion } from '../../../../../models/Room/RoomRate';\nimport RoomRateDetailsAndPriceBreakdownModal, { RoomRateDetailsAndPriceBreakdownModalTabs } from './RoomRateDetailsAndPriceBreakdownModal';\nimport BookNowButton from './BookNowButton';\nimport FeatureProvider from '../../../../../providers/FeatureProvider';\nimport { CompanyContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport RoomRatePills from './RoomRatePills';\n\nexport interface RoomRateRowProps {\n rate: RoomRate;\n\n getButtonLabel?: (isRoomSelectedAndEditing: boolean, isThisSelectedRow: boolean) => string;\n onAddToBasketOverride?: (rate: RoomRate) => void;\n\n isPromoRate?: boolean;\n}\n\nexport default function RoomRateRow(props: RoomRateRowProps) {\n const ccx = useContext(CompanyContext);\n const basketContext = useContext(BasketContext);\n\n const [viewingModal, setViewingModal] = useState({ open: false, currentTab: RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails });\n\n const { t } = useTranslation();\n const { hotel } = useCurrentHotel();\n\n const { rate } = props;\n const selectedRow = basketContext.selectedBasketRow;\n const isRoomSelectedAndEditing = selectedRow?.isValid();\n\n const isThisSelectedRow = selectedRow && rate.name === selectedRow.getRate()?.name && rate.getRoom()?.name === selectedRow.getRoom()?.name;\n\n const currentRow = useRef(null);\n\n const classes = classNames('room-info', {\n '--default': !rate.isMemberOnly,\n '--locked': rate.isMemberOnly,\n '--current': isThisSelectedRow && isRoomSelectedAndEditing,\n '--is-promo': props.isPromoRate,\n });\n\n let isLocked = false;\n\n if (rate.isMemberOnly && !ccx.signedInUser) {\n isLocked = true;\n }\n FeatureProvider.load('AvailableUpgradesFeature');\n useEffect(() => {\n if (isThisSelectedRow) {\n setTimeout(() => {\n currentRow?.current?.scrollIntoView({ behavior: 'smooth' });\n }, 250);\n }\n\n if (!isLocked) {\n DataLayer.instance.addRoomRateImpression(rate.getRoom(), rate);\n }\n }, [isThisSelectedRow]);\n\n const openTab = (tab: RoomRateDetailsAndPriceBreakdownModalTabs) => {\n setViewingModal({ open: true, currentTab: tab });\n };\n\n let bookNowLabel = '';\n if (props.getButtonLabel) {\n bookNowLabel = props.getButtonLabel(isRoomSelectedAndEditing, isThisSelectedRow);\n } else {\n if (isRoomSelectedAndEditing) {\n bookNowLabel = isThisSelectedRow ? t(Translation.Step.Room.RoomInfo.Selected) : (bookNowLabel = t(Translation.Step.Room.RoomInfo.Update));\n } else {\n bookNowLabel = t(Translation.Step.Room.RoomInfo.BookNow);\n }\n }\n\n const openMemberSignupModalOnClick = () => {\n DataLayer.instance.sendInteraction('Member Signup Modal', InteractionType.LINK, InteractionStep.ROOMS);\n ccx.openMemberSignupModal();\n };\n\n const rateDetailsOnClick = () => {\n DataLayer.instance.sendInteraction('More Rate Details', InteractionType.LINK, InteractionStep.ROOMS);\n openTab(RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails);\n };\n\n const updateModalOnClose = () => {\n setViewingModal((old) => {\n old.open = false;\n return { ...old };\n });\n };\n\n const openTabOnClick = () => {\n DataLayer.instance.sendInteraction('Rate Breakdown', InteractionType.LINK, InteractionStep.ROOMS);\n openTab(RoomRateDetailsAndPriceBreakdownModalTabs.PriceBreakdown);\n };\n\n return (\n <div className={classes} ref={currentRow}>\n <div className=\"row\">\n <div className=\"col-lg-8\">\n <div className=\"u-flex flex-column h-100\">\n <div>\n <div className=\"u-marg-bottom-half\">\n {isLocked ? (\n <Text type={TextType.Body} color={Color.Success}>\n <strong>{t(Translation.Step.Room.RoomInfo.MemberOnlyDeal)}</strong>\n </Text>\n ) : (\n <Text type={TextType.Body}>\n <strong>{rate.name}</strong>\n </Text>\n )}\n </div>\n <div className=\"u-marg-bottom u-h-ml-5 text-small u-clear-font-weight rdcaf\">\n <div dangerouslySetInnerHTML={{ __html: isLocked ? t(Translation.Step.Room.RoomInfo.DealForMemberOnly) : rate.description }} />\n </div>\n {isLocked && (\n <div className=\"u-marg\">\n <span onClick={openMemberSignupModalOnClick}>\n <Pill icon={IconType.Money} type={PillType.Success}>\n {t(Translation.Step.Room.RoomInfo.SignUpToSee)}\n </Pill>\n </span>\n </div>\n )}\n <RoomRatePills rate={props.rate} />\n </div>\n <div className=\"u-flex justify-content-start u-marg-top-bottom@l-\">\n <div className=\"u-marg-right u-inline-flex\">\n <BEButton icon={IconType.ArrowRight2} isText={true} primary={true} size=\"small\" iconPosition=\"right\" onClick={rateDetailsOnClick}>\n {t(Translation.Step.Room.ReadMore)}\n </BEButton>\n </div>\n <BEButton\n icon={IconType.ArrowRight2}\n isText={true}\n textColor={Color.Navy}\n size=\"small\"\n iconPosition=\"right\"\n onClick={openTabOnClick}\n disabled={isLocked}\n >\n {t(Translation.Step.Room.RoomInfo.ViewPriceBreakdown)}\n </BEButton>\n </div>\n </div>\n </div>\n <div className=\"col-lg-4 u-flex flex-column align-items-start align-items-md-start align-items-lg-end justify-content-start\">\n <div className=\"u-flex flex-column align-items-start align-items-lg-end\">\n <RoomDetailsPriceBlock\n isLocked={isLocked}\n averagePreDiscount={rate.getAveragePriceBeforeDiscount(true)}\n averagePrice={rate.getAveragePrice(true)}\n isMemberOnly={props.rate.isMemberOnly}\n />\n <Text type={TextType.Label} color={Color.DarkGrey} align={TextAlign.Right}>\n {rate.getPriceType() === RoomRatePriceInclusion.IncludingFeesAndTaxes\n ? t(Translation.Step.Room.RoomInfo.IncludesTaxes)\n : t(Translation.Step.Room.ExcludingTaxes)}\n </Text>\n </div>\n <div className=\"u-marg-top u-w-100@l-\">\n {isLocked ? (\n <BEButton filled={true} success={true} wide={true} onClick={openMemberSignupModalOnClick}>\n {t(Translation.Step.Room.RoomInfo.RevealPrice)}\n </BEButton>\n ) : (\n <BookNowButton rate={rate} buttonLabel={bookNowLabel} onAddToBasketOverride={props.onAddToBasketOverride} isFilled={!isThisSelectedRow} />\n )}\n </div>\n </div>\n </div>\n {\n <RoomRateDetailsAndPriceBreakdownModal\n isOpen={viewingModal.open}\n currentTab={viewingModal.currentTab}\n rate={props.rate}\n getButtonLabel={props.getButtonLabel}\n onAddToBasketOverride={props.onAddToBasketOverride}\n onClose={updateModalOnClose}\n />\n }\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RoomRateRow.js","sourceRoot":"/","sources":["src/components/steps/room/roomDetails/roomRates/RoomRateRow.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport Text, { TextType } from '../../../../generic/Text';\nimport { Color } from '../../../../../util/Color';\nimport { TextAlign } from '../../../../../util/TextAlignment';\nimport BEButton from '../../../../generic/BEButton';\nimport { Translation } from '../../../../../translations/Translation';\nimport { useTranslation } from 'react-i18next';\n\nimport * as classNames from 'classnames';\n\nimport { IconType } from '../../../../generic/Icon';\nimport Pill, { PillType } from '../../../../generic/Pill';\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport { useContext, useState, useEffect, useRef } from 'react';\nimport DataLayer, { InteractionStep, InteractionType } from '../../../../../util/DataLayer';\nimport RoomDetailsPriceBlock from '../RoomDetailsPriceBlock';\nimport { RoomRate, RoomRatePriceInclusion } from '../../../../../models/Room/RoomRate';\nimport RoomRateDetailsAndPriceBreakdownModal, { RoomRateDetailsAndPriceBreakdownModalTabs } from './RoomRateDetailsAndPriceBreakdownModal';\nimport BookNowButton from './BookNowButton';\nimport FeatureProvider from '../../../../../providers/FeatureProvider';\nimport { CompanyContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport RoomRatePills from './RoomRatePills';\nimport { BookingEngineSource } from 'engines/BaseEngine';\n\nexport interface RoomRateRowProps {\n rate: RoomRate;\n\n getButtonLabel?: (isRoomSelectedAndEditing: boolean, isThisSelectedRow: boolean) => string;\n onAddToBasketOverride?: (rate: RoomRate) => void;\n\n isPromoRate?: boolean;\n}\n\nexport default function RoomRateRow(props: RoomRateRowProps) {\n const ccx = useContext(CompanyContext);\n const basketContext = useContext(BasketContext);\n const { engine } = useContext(BookingEngineContext);\n\n const [viewingModal, setViewingModal] = useState({ open: false, currentTab: RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails });\n\n const { t } = useTranslation();\n const { hotel } = useCurrentHotel();\n\n const { rate } = props;\n const selectedRow = basketContext.selectedBasketRow;\n const isRoomSelectedAndEditing = selectedRow?.isValid();\n\n const isThisSelectedRow = selectedRow && rate.name === selectedRow.getRate()?.name && rate.getRoom()?.name === selectedRow.getRoom()?.name;\n\n const currentRow = useRef(null);\n\n const classes = classNames('room-info', {\n '--default': !rate.isMemberOnly,\n '--locked': rate.isMemberOnly,\n '--current': isThisSelectedRow && isRoomSelectedAndEditing,\n '--is-promo': props.isPromoRate,\n });\n\n let isLocked = false;\n\n if (rate.isMemberOnly && !ccx.signedInUser) {\n isLocked = true;\n }\n FeatureProvider.load('AvailableUpgradesFeature');\n useEffect(() => {\n if (isThisSelectedRow && engine?.getSource() !== BookingEngineSource.Inline) {\n setTimeout(() => {\n currentRow?.current?.scrollIntoView({ behavior: 'smooth' });\n }, 250);\n }\n\n if (!isLocked) {\n DataLayer.instance.addRoomRateImpression(rate.getRoom(), rate);\n }\n }, [isThisSelectedRow]);\n\n const openTab = (tab: RoomRateDetailsAndPriceBreakdownModalTabs) => {\n setViewingModal({ open: true, currentTab: tab });\n };\n\n let bookNowLabel = '';\n if (props.getButtonLabel) {\n bookNowLabel = props.getButtonLabel(isRoomSelectedAndEditing, isThisSelectedRow);\n } else {\n if (isRoomSelectedAndEditing) {\n bookNowLabel = isThisSelectedRow ? t(Translation.Step.Room.RoomInfo.Selected) : (bookNowLabel = t(Translation.Step.Room.RoomInfo.Update));\n } else {\n bookNowLabel = t(Translation.Step.Room.RoomInfo.BookNow);\n }\n }\n\n const openMemberSignupModalOnClick = () => {\n DataLayer.instance.sendInteraction('Member Signup Modal', InteractionType.LINK, InteractionStep.ROOMS);\n ccx.openMemberSignupModal();\n };\n\n const rateDetailsOnClick = () => {\n DataLayer.instance.sendInteraction('More Rate Details', InteractionType.LINK, InteractionStep.ROOMS);\n openTab(RoomRateDetailsAndPriceBreakdownModalTabs.RoomDetails);\n };\n\n const updateModalOnClose = () => {\n setViewingModal((old) => {\n old.open = false;\n return { ...old };\n });\n };\n\n const openTabOnClick = () => {\n DataLayer.instance.sendInteraction('Rate Breakdown', InteractionType.LINK, InteractionStep.ROOMS);\n openTab(RoomRateDetailsAndPriceBreakdownModalTabs.PriceBreakdown);\n };\n\n return (\n <div className={classes} ref={currentRow}>\n <div className=\"row\">\n <div className=\"col-lg-8\">\n <div className=\"u-flex flex-column h-100\">\n <div>\n <div className=\"u-marg-bottom-half\">\n {isLocked ? (\n <Text type={TextType.Body} color={Color.Success}>\n <strong>{t(Translation.Step.Room.RoomInfo.MemberOnlyDeal)}</strong>\n </Text>\n ) : (\n <Text type={TextType.Body}>\n <strong>{rate.name}</strong>\n </Text>\n )}\n </div>\n <div className=\"u-marg-bottom u-h-ml-5 text-small u-clear-font-weight rdcaf\">\n <div dangerouslySetInnerHTML={{ __html: isLocked ? t(Translation.Step.Room.RoomInfo.DealForMemberOnly) : rate.description }} />\n </div>\n {isLocked && (\n <div className=\"u-marg\">\n <span onClick={openMemberSignupModalOnClick}>\n <Pill icon={IconType.Money} type={PillType.Success}>\n {t(Translation.Step.Room.RoomInfo.SignUpToSee)}\n </Pill>\n </span>\n </div>\n )}\n <RoomRatePills rate={props.rate} />\n </div>\n <div className=\"u-flex justify-content-start u-marg-top-bottom@l-\">\n <div className=\"u-marg-right u-inline-flex\">\n <BEButton icon={IconType.ArrowRight2} isText={true} primary={true} size=\"small\" iconPosition=\"right\" onClick={rateDetailsOnClick}>\n {t(Translation.Step.Room.ReadMore)}\n </BEButton>\n </div>\n <BEButton\n icon={IconType.ArrowRight2}\n isText={true}\n textColor={Color.Navy}\n size=\"small\"\n iconPosition=\"right\"\n onClick={openTabOnClick}\n disabled={isLocked}\n >\n {t(Translation.Step.Room.RoomInfo.ViewPriceBreakdown)}\n </BEButton>\n </div>\n </div>\n </div>\n <div className=\"col-lg-4 u-flex flex-column align-items-start align-items-md-start align-items-lg-end justify-content-start\">\n <div className=\"u-flex flex-column align-items-start align-items-lg-end\">\n <RoomDetailsPriceBlock\n isLocked={isLocked}\n averagePreDiscount={rate.getAveragePriceBeforeDiscount(true)}\n averagePrice={rate.getAveragePrice(true)}\n isMemberOnly={props.rate.isMemberOnly}\n />\n <Text type={TextType.Label} color={Color.DarkGrey} align={TextAlign.Right}>\n {rate.getPriceType() === RoomRatePriceInclusion.IncludingFeesAndTaxes\n ? t(Translation.Step.Room.RoomInfo.IncludesTaxes)\n : t(Translation.Step.Room.ExcludingTaxes)}\n </Text>\n </div>\n <div className=\"u-marg-top u-w-100@l-\">\n {isLocked ? (\n <BEButton filled={true} success={true} wide={true} onClick={openMemberSignupModalOnClick}>\n {t(Translation.Step.Room.RoomInfo.RevealPrice)}\n </BEButton>\n ) : (\n <BookNowButton rate={rate} buttonLabel={bookNowLabel} onAddToBasketOverride={props.onAddToBasketOverride} isFilled={!isThisSelectedRow} />\n )}\n </div>\n </div>\n </div>\n {\n <RoomRateDetailsAndPriceBreakdownModal\n isOpen={viewingModal.open}\n currentTab={viewingModal.currentTab}\n rate={props.rate}\n getButtonLabel={props.getButtonLabel}\n onAddToBasketOverride={props.onAddToBasketOverride}\n onClose={updateModalOnClose}\n />\n }\n </div>\n );\n}\n"]}
|
|
@@ -4,8 +4,13 @@ import { ConfigCompany } from '../models/Client/Hotel/Company';
|
|
|
4
4
|
export interface BaseEngineConfig {
|
|
5
5
|
company: ConfigCompany;
|
|
6
6
|
}
|
|
7
|
+
export declare enum BookingEngineSource {
|
|
8
|
+
Inline = "inline",
|
|
9
|
+
RecentSearches = "recent-searches",
|
|
10
|
+
Fullpage = "fullpage"
|
|
11
|
+
}
|
|
7
12
|
export declare abstract class BaseEngine<C extends BaseEngineConfig> {
|
|
8
|
-
protected source:
|
|
13
|
+
protected source: BookingEngineSource;
|
|
9
14
|
protected readonly bookingContainer: HTMLElement;
|
|
10
15
|
protected sessionProvider: SessionProvider;
|
|
11
16
|
protected initialSession: RoomstaySession;
|
|
@@ -16,5 +21,6 @@ export declare abstract class BaseEngine<C extends BaseEngineConfig> {
|
|
|
16
21
|
getSessionProvider(): SessionProvider;
|
|
17
22
|
setConfig(config: C): void;
|
|
18
23
|
getConfig(): BaseEngineConfig;
|
|
24
|
+
getSource(): BookingEngineSource;
|
|
19
25
|
protected abstract render(): Promise<void>;
|
|
20
26
|
}
|
|
@@ -9,9 +9,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.BaseEngine = void 0;
|
|
12
|
+
exports.BaseEngine = exports.BookingEngineSource = void 0;
|
|
13
13
|
const RoomstayThemeEngine_1 = require("../providers/RoomstayThemeEngine");
|
|
14
14
|
const SessionProvider_1 = require("../providers/SessionProvider");
|
|
15
|
+
var BookingEngineSource;
|
|
16
|
+
(function (BookingEngineSource) {
|
|
17
|
+
BookingEngineSource["Inline"] = "inline";
|
|
18
|
+
BookingEngineSource["RecentSearches"] = "recent-searches";
|
|
19
|
+
BookingEngineSource["Fullpage"] = "fullpage";
|
|
20
|
+
})(BookingEngineSource = exports.BookingEngineSource || (exports.BookingEngineSource = {}));
|
|
15
21
|
class BaseEngine {
|
|
16
22
|
constructor(bookingContainer, config) {
|
|
17
23
|
this.start = () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -57,6 +63,9 @@ class BaseEngine {
|
|
|
57
63
|
getConfig() {
|
|
58
64
|
return this.engineConfig;
|
|
59
65
|
}
|
|
66
|
+
getSource() {
|
|
67
|
+
return this.source;
|
|
68
|
+
}
|
|
60
69
|
}
|
|
61
70
|
exports.BaseEngine = BaseEngine;
|
|
62
71
|
//# sourceMappingURL=BaseEngine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEngine.js","sourceRoot":"/","sources":["src/engines/BaseEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0EAAmE;AACnE,kEAA2D;AAQ3D,MAAsB,UAAU;IAQ5B,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;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;gBAC9D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACrC,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;QA9BE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAElE,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC1B;QAED,2BAA2B;QAC3B,6BAAmB,CAAC,eAAe,GAAG,gBAAgB,CAAC;QACvD,6BAAmB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAsBM,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;CAGJ;
|
|
1
|
+
{"version":3,"file":"BaseEngine.js","sourceRoot":"/","sources":["src/engines/BaseEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0EAAmE;AACnE,kEAA2D;AAQ3D,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,wCAAiB,CAAA;IACjB,yDAAkC,CAAA;IAClC,4CAAqB,CAAA;AACzB,CAAC,EAJW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAI9B;AACD,MAAsB,UAAU;IAQ5B,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;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;gBAC9D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACrC,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;QA9BE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAElE,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC1B;QAED,2BAA2B;QAC3B,6BAAmB,CAAC,eAAe,GAAG,gBAAgB,CAAC;QACvD,6BAAmB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAsBM,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;AApED,gCAoEC","sourcesContent":["import RoomstayThemeEngine from '../providers/RoomstayThemeEngine';\nimport SessionProvider from '../providers/SessionProvider';\nimport { RoomstaySession } from '../models/RoomstaySession';\nimport { ConfigCompany } from '../models/Client/Hotel/Company';\n\nexport interface BaseEngineConfig {\n company: ConfigCompany;\n}\n\nexport enum BookingEngineSource {\n Inline = 'inline',\n RecentSearches = 'recent-searches',\n Fullpage = 'fullpage',\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: BaseEngineConfig;\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);\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 console.log(this.initialSession);\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"]}
|
|
@@ -16,7 +16,7 @@ const FullPageBookingEngineElement_1 = require("./FullPageBookingEngineElement")
|
|
|
16
16
|
class FullPageBookingEngine extends BaseEngine_1.BaseEngine {
|
|
17
17
|
constructor(bookingContainer, config) {
|
|
18
18
|
super(bookingContainer, config);
|
|
19
|
-
this.source =
|
|
19
|
+
this.source = BaseEngine_1.BookingEngineSource.Fullpage;
|
|
20
20
|
}
|
|
21
21
|
render() {
|
|
22
22
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FullPageBookingEngine.js","sourceRoot":"/","sources":["src/engines/FullPageBookingEngine/FullPageBookingEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"FullPageBookingEngine.js","sourceRoot":"/","sources":["src/engines/FullPageBookingEngine/FullPageBookingEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAkF;AAClF,6EAAyF;AACzF,iFAAqE;AAErE,MAAa,qBAAsB,SAAQ,uBAA4B;IACnE,YAAmB,gBAA6B,EAAE,MAAyB;QACvE,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,gCAAmB,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAEe,MAAM;;YAClB,IAAI,6BAAmB,CAAC,SAAS,KAAK,mCAAa,CAAC,MAAM,EAAE;gBACxD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;aAClE;YAED,kDAAmB,CAAC,6BAAmB,CAAC,4BAA4B,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1G,CAAC;KAAA;CACJ;AAbD,sDAaC","sourcesContent":["import { BaseEngine, BaseEngineConfig, BookingEngineSource } from '../BaseEngine';\nimport RoomstayThemeEngine, { RoomstayTheme } from '../../providers/RoomstayThemeEngine';\nimport { renderBookingEngine } from './FullPageBookingEngineElement';\n\nexport class FullPageBookingEngine extends BaseEngine<BaseEngineConfig> {\n public constructor(bookingContainer: HTMLElement, config?: BaseEngineConfig) {\n super(bookingContainer, config);\n this.source = BookingEngineSource.Fullpage;\n }\n\n protected async render() {\n if (RoomstayThemeEngine.ThemeType === RoomstayTheme.Medium) {\n this.bookingContainer.classList.toggle('--theme-medium', true);\n }\n\n renderBookingEngine(RoomstayThemeEngine.createElementOrReuseExisting('div', 'fullpage-engine'), this);\n }\n}\n"]}
|
|
@@ -16,7 +16,7 @@ const RoomstayThemeEngine_1 = require("../../providers/RoomstayThemeEngine");
|
|
|
16
16
|
class InlineRoomMiniEngine extends BaseEngine_1.BaseEngine {
|
|
17
17
|
constructor(bookingContainer, roomCode, config) {
|
|
18
18
|
super(bookingContainer, config);
|
|
19
|
-
this.source =
|
|
19
|
+
this.source = BaseEngine_1.BookingEngineSource.Inline;
|
|
20
20
|
this.roomCode = roomCode;
|
|
21
21
|
}
|
|
22
22
|
getRoomCode() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineRoomMiniEngine.js","sourceRoot":"/","sources":["src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"InlineRoomMiniEngine.js","sourceRoot":"/","sources":["src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAkF;AAClF,+EAAkF;AAClF,6EAAsE;AAEtE,MAAa,oBAAqB,SAAQ,uBAA4B;IAGlE,YAAY,gBAA6B,EAAE,QAAgB,EAAE,MAAyB;QAClF,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,+DAAiC,CAAC,6BAAmB,CAAC,4BAA4B,CAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3H,CAAC;KAAA;CACJ;AAhBD,oDAgBC","sourcesContent":["import { BaseEngine, BaseEngineConfig, BookingEngineSource } from '../BaseEngine';\nimport { renderInlineRoomMiniEngineElement } from './InlineRoomMiniEngineElement';\nimport RoomstayThemeEngine from '../../providers/RoomstayThemeEngine';\n\nexport class InlineRoomMiniEngine extends BaseEngine<BaseEngineConfig> {\n private roomCode: string;\n\n constructor(bookingContainer: HTMLElement, roomCode: string, config?: BaseEngineConfig) {\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"]}
|
|
@@ -16,7 +16,7 @@ const BaseEngine_1 = require("../BaseEngine");
|
|
|
16
16
|
class RecentSearchesEngine extends BaseEngine_1.BaseEngine {
|
|
17
17
|
constructor(bookingContainer, config) {
|
|
18
18
|
super(bookingContainer, config);
|
|
19
|
-
this.source =
|
|
19
|
+
this.source = BaseEngine_1.BookingEngineSource.RecentSearches;
|
|
20
20
|
}
|
|
21
21
|
getRoomCode() {
|
|
22
22
|
return this.roomCode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecentSearchesEngine.js","sourceRoot":"/","sources":["src/engines/RecentSearchesEngine/RecentSearchesEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6EAAsE;AACtE,+EAAkF;AAClF,
|
|
1
|
+
{"version":3,"file":"RecentSearchesEngine.js","sourceRoot":"/","sources":["src/engines/RecentSearchesEngine/RecentSearchesEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6EAAsE;AACtE,+EAAkF;AAClF,8CAAkF;AAElF,MAAa,oBAAqB,SAAQ,uBAA4B;IAGlE,YAAY,gBAA6B,EAAE,MAAyB;QAChE,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAEhC,IAAI,CAAC,MAAM,GAAG,gCAAmB,CAAC,cAAc,CAAC;IACrD,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEe,MAAM;;YAClB,+DAAiC,CAAC,6BAAmB,CAAC,4BAA4B,CAAC,KAAK,EAAE,wBAAwB,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/H,CAAC;KAAA;CACJ;AAhBD,oDAgBC","sourcesContent":["import RoomstayThemeEngine from '../../providers/RoomstayThemeEngine';\nimport { renderRecentSearchesEngineElement } from './RecentSearchesEngineElement';\nimport { BaseEngine, BaseEngineConfig, BookingEngineSource } from '../BaseEngine';\n\nexport class RecentSearchesEngine extends BaseEngine<BaseEngineConfig> {\n private roomCode: string;\n\n constructor(bookingContainer: HTMLElement, config?: BaseEngineConfig) {\n super(bookingContainer, config);\n\n this.source = BookingEngineSource.RecentSearches;\n }\n\n public getRoomCode(): string {\n return this.roomCode;\n }\n\n protected async render() {\n renderRecentSearchesEngineElement(RoomstayThemeEngine.createElementOrReuseExisting('div', 'recent-searches-engine'), this);\n }\n}\n"]}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -20,8 +20,8 @@ export { default as Headline } from './components/generic/Headline';
|
|
|
20
20
|
export * from './components/generic/Alert';
|
|
21
21
|
export { default as Alert } from './components/generic/Alert';
|
|
22
22
|
export { default as BEButton } from './components/generic/BEButton';
|
|
23
|
-
export { BE_NO_ROOMS_FOUND_BLOCK } from './components/steps/room/
|
|
24
|
-
export { default as NoRoomsFoundBlock } from './components/steps/room/
|
|
23
|
+
export { BE_NO_ROOMS_FOUND_BLOCK } from './components/steps/room/NoRoomsFoundBlock';
|
|
24
|
+
export { default as NoRoomsFoundBlock } from './components/steps/room/NoRoomsFoundBlock';
|
|
25
25
|
export { default as StepConfirmationCountrySelector } from './components/steps/confirmation/StepConfirmationCountrySelector';
|
|
26
26
|
export * from './components/steps/confirmation/StepConfirmationCommentsComponent';
|
|
27
27
|
export * from './components/summary/BESummaryPerkBlock';
|
package/dist/src/index.js
CHANGED
|
@@ -55,10 +55,10 @@ var Alert_1 = require("./components/generic/Alert");
|
|
|
55
55
|
Object.defineProperty(exports, "Alert", { enumerable: true, get: function () { return Alert_1.default; } });
|
|
56
56
|
var BEButton_1 = require("./components/generic/BEButton");
|
|
57
57
|
Object.defineProperty(exports, "BEButton", { enumerable: true, get: function () { return BEButton_1.default; } });
|
|
58
|
-
var
|
|
59
|
-
Object.defineProperty(exports, "BE_NO_ROOMS_FOUND_BLOCK", { enumerable: true, get: function () { return
|
|
60
|
-
var
|
|
61
|
-
Object.defineProperty(exports, "NoRoomsFoundBlock", { enumerable: true, get: function () { return
|
|
58
|
+
var NoRoomsFoundBlock_1 = require("./components/steps/room/NoRoomsFoundBlock");
|
|
59
|
+
Object.defineProperty(exports, "BE_NO_ROOMS_FOUND_BLOCK", { enumerable: true, get: function () { return NoRoomsFoundBlock_1.BE_NO_ROOMS_FOUND_BLOCK; } });
|
|
60
|
+
var NoRoomsFoundBlock_2 = require("./components/steps/room/NoRoomsFoundBlock");
|
|
61
|
+
Object.defineProperty(exports, "NoRoomsFoundBlock", { enumerable: true, get: function () { return NoRoomsFoundBlock_2.default; } });
|
|
62
62
|
var StepConfirmationCountrySelector_1 = require("./components/steps/confirmation/StepConfirmationCountrySelector");
|
|
63
63
|
Object.defineProperty(exports, "StepConfirmationCountrySelector", { enumerable: true, get: function () { return StepConfirmationCountrySelector_1.default; } });
|
|
64
64
|
__exportStar(require("./components/steps/confirmation/StepConfirmationCommentsComponent"), exports);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"/","sources":["src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,sFAA+E;AAC/E,8DAAuD;AACvD,8DAAuD;AACvD,oEAA6D;AAC7D,oDAA6C;AAE7C,kCAAkC;AAClC,aAAa;AACb,kCAAkC;AAElC,aAAa;AACA,QAAA,KAAK,GAAG,QAAQ,CAAC;AAE9B,+CAA+C;AAAtC,+GAAA,cAAc,OAAA;AACvB,qDAAwC;AAA/B,wGAAA,IAAI,OAAA;AAEb,aAAa;AACb,wFAAsE;AACtE,sFAAoE;AACpE,sFAAoE;AACpE,sEAAoD;AAEpD,kDAA4D;AAAnD,4FAAA,OAAO,OAAQ;AACxB,4DAA0C;AAC1C,4DAA0C;AAE1C,wDAAkE;AAAzD,kGAAA,OAAO,OAAW;AAC3B,0DAAoE;AAA3D,oGAAA,OAAO,OAAY;AAC5B,yEAAmF;AAA1E,wGAAA,OAAO,OAAc;AAC9B,sEAAgF;AAAvE,0GAAA,OAAO,OAAe;AAC/B,0DAAoE;AAA3D,oGAAA,OAAO,OAAY;AAE5B,4DAAsE;AAA7D,sGAAA,OAAO,OAAa;AAC7B,8DAAwE;AAA/D,gHAAA,OAAO,OAAkB;AAClC,0DAAoE;AAA3D,oGAAA,OAAO,OAAY;AAE5B,6DAA2C;AAC3C,oDAA8D;AAArD,8FAAA,OAAO,OAAS;AACzB,0DAAoE;AAA3D,oGAAA,OAAO,OAAY;AAE5B
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"/","sources":["src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import StepConfirmation from './pages/steps/StepConfirmation/StepConfirmation';\nimport StepDate from './pages/steps/StepDate/StepDate';\nimport StepRoom from './pages/steps/StepRoom/StepRoom';\nimport StepThanks from './pages/steps/StepThanks/StepThanks';\nimport StepManager from './util/StepManager';\n\n// TODO: Look into resolving this.\n// @ts-ignore\nimport * as ReactRaw from 'react';\n\n// @ts-ignore\nexport const react = ReactRaw;\n\nexport { useTranslation } from 'react-i18next';\nexport { Link } from 'react-router-dom';\n\n// Components\nexport * from './engines/FullPageBookingEngine/FullPageBookingEngine';\nexport * from './engines/InlineRoomMiniEngine/InlineRoomMiniEngine';\nexport * from './engines/RecentSearchesEngine/RecentSearchesEngine';\nexport * from './engines/CustomEngine/CustomEngine';\n\nexport { default as Icon } from './components/generic/Icon';\nexport * from './components/generic/Icon';\nexport * from './components/generic/Text';\n\nexport { default as TextBox } from './components/generic/TextBox';\nexport { default as TextArea } from './components/generic/TextArea';\nexport { default as InputGroup } from './components/generic/InputGroup/InputGroup';\nexport { default as RadioFields } from './components/generic/radio/RadioFields';\nexport { default as Checkbox } from './components/generic/Checkbox';\n\nexport { default as LineBreak } from './components/generic/LineBreak';\nexport { default as AutoAutoHeight } from './animations/AutoAutoHeight';\nexport { default as Headline } from './components/generic/Headline';\n\nexport * from './components/generic/Alert';\nexport { default as Alert } from './components/generic/Alert';\nexport { default as BEButton } from './components/generic/BEButton';\n\nexport { BE_NO_ROOMS_FOUND_BLOCK } from './components/steps/room/NoRoomsFoundBlock';\nexport { default as NoRoomsFoundBlock } from './components/steps/room/NoRoomsFoundBlock';\n\nexport { default as StepConfirmationCountrySelector } from './components/steps/confirmation/StepConfirmationCountrySelector';\n\nexport * from './components/steps/confirmation/StepConfirmationCommentsComponent';\nexport * from './components/summary/BESummaryPerkBlock';\n\nexport * from './components/summary/BESummary';\n\nexport * from './components/steps/room/StepRoomBestRateAlert';\nexport { default as StepNoRoomBestRateAlert } from './components/steps/room/StepRoomBestRateAlert';\n\n// Loaders\nexport { default as SmallSpinner } from './components/generic/loader/SmallSpinner';\n\n// Providers\nexport * from './providers/LanguageProvider';\nexport * from './providers/CurrencyProvider';\nexport { default as CurrencyProvider } from './providers/CurrencyProvider';\nexport { default as FeatureProvider } from './providers/FeatureProvider';\nexport { default as RatePillProvider } from './providers/RatePillProvider';\n\n// Features\n\nexport { default as ConfirmationVerifyFeature } from './providers/feature/ConfirmationVerifyFeature';\nexport { default as DatePickerTypeFeature } from './providers/feature/DatePickerTypeFeature';\nexport { default as FeaturedPromoFeature } from './providers/feature/FeaturedPromoFeature';\nexport { default as InlineAddonStepFeature } from './providers/feature/InlineAddonStepFeature';\nexport { default as RoomUpsellFeature } from './providers/feature/RoomUpsellFeature';\nexport { default as ShowIATANumberOnCheckoutFeature } from './providers/feature/ShowIATANumberOnCheckoutFeature';\nexport { default as E164PhoneNumberFieldFeature } from './providers/feature/E164PhoneNumberFieldFeature';\n\n// Contexts\nexport * from '@frontend/contexts';\n\nexport { default as ConfirmationFormContext } from './contexts/ConfirmationFormContext';\n\nexport { default as SessionProvider } from './providers/SessionProvider';\nexport * from './providers/RoomstayThemeEngine';\nexport { default as RoomstayThemeEngine } from './providers/RoomstayThemeEngine';\nexport { registerReplacement, withDI } from './providers/DIProvider';\n\nexport { default as DataLayer } from './util/DataLayer';\nexport * from './util/DataLayer';\n\n// Models\nexport * from './models/Client/Hotel/Hotel';\nexport * from './models/Client/Hotel/HotelPerk';\n\nexport * from './models/Client/Hotel/DistanceUnitType.types';\nexport * from './models/Client/Hotel/WeekdayStartsOn.types';\n\nexport * from './models/Client/Hotel/Company';\n\nexport { default as API } from './api/BookingAPI';\n\n// Steps\nexport { default as StepManager } from './util/StepManager';\n\nexport { default as StepAddon } from './pages/steps/StepAddon/StepAddon';\nexport { default as StepDate } from './pages/steps/StepDate/StepDate';\nexport { default as StepConfirmation } from './pages/steps/StepConfirmation/StepConfirmation';\nexport { default as StepHotel } from './pages/steps/StepHotel/StepHotel';\nexport { default as StepRoom } from './pages/steps/StepRoom/StepRoom';\nexport { default as StepThanks } from './pages/steps/StepThanks/StepThanks';\n\nexport * from './translations/Translation';\n\n// Util\n\nexport * from './util/Color';\n\n// Hooks\n\nexport * from './hooks/CurrentHotelHook';\nexport * from './hooks/EventHook';\n\nexport { default as RoomstayEventManager } from './events/RoomstayEventManager';\nexport * from './events/index';\n\n//@ts-ignore\nexport const Version = RS_VERSION;\n\nStepManager.currentSteps = {\n 0: StepDate,\n 10: StepRoom,\n 20: StepConfirmation,\n 30: StepThanks,\n};\n"]}
|