@roomstay/frontend 2.6.30 → 2.6.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/dist/166.bundle.js +1 -1
  2. package/dist/279.bundle.js +1 -1
  3. package/dist/370.bundle.js +1 -1
  4. package/dist/449.bundle.js +1 -1
  5. package/dist/586.bundle.js +1 -1
  6. package/dist/736.bundle.js +1 -1
  7. package/dist/873.bundle.js +1 -1
  8. package/dist/903.bundle.js +1 -1
  9. package/dist/927.bundle.js +1 -1
  10. package/dist/972.bundle.js +1 -1
  11. package/dist/978.bundle.js +1 -1
  12. package/dist/main.bundle.js +1 -1
  13. package/dist/src/api/AvailabilityAPI.d.ts +5 -4
  14. package/dist/src/api/AvailabilityAPI.js +23 -29
  15. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  16. package/dist/src/components/generic/InputGroup/InputGroup.js +1 -0
  17. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  18. package/dist/src/components/generic/InputGroup/InputGroup.types.d.ts +1 -1
  19. package/dist/src/components/generic/InputGroup/InputGroup.types.js.map +1 -1
  20. package/dist/src/components/generic/ScrollToTop.js +10 -1
  21. package/dist/src/components/generic/ScrollToTop.js.map +1 -1
  22. package/dist/src/components/generic/date/DatePicker.js +2 -1
  23. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  24. package/dist/src/components/generic/date/DatePickerDay.js +2 -1
  25. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  26. package/dist/src/components/members/SignInModal/EmailAndFullnameMemberModal.d.ts +4 -0
  27. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/EmailAndFullnameMemberModal.js +8 -4
  28. package/dist/src/components/members/SignInModal/EmailAndFullnameMemberModal.js.map +1 -0
  29. package/dist/src/components/members/SignInModal/EmailPasswordMemberModal.d.ts +4 -0
  30. package/dist/src/components/members/SignInModal/EmailPasswordMemberModal.js +29 -0
  31. package/dist/src/components/members/SignInModal/EmailPasswordMemberModal.js.map +1 -0
  32. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/ExternalMemberModal.d.ts +8 -3
  33. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/ExternalMemberModal.js +24 -23
  34. package/dist/src/components/members/SignInModal/ExternalMemberModal.js.map +1 -0
  35. package/dist/src/components/members/SignInModal/FamilyNameMemberModal.d.ts +4 -0
  36. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/FamilyNameMemberModal.js +6 -4
  37. package/dist/src/components/members/SignInModal/FamilyNameMemberModal.js.map +1 -0
  38. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/InternalMemberSignInModal.d.ts +1 -0
  39. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/InternalMemberSignInModal.js +31 -35
  40. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js.map +1 -0
  41. package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/InternalMemberSignInModal.types.d.ts +1 -1
  42. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.types.js.map +1 -0
  43. package/dist/src/components/members/SignInModal/MemberSignInModal.js +86 -0
  44. package/dist/src/components/members/SignInModal/MemberSignInModal.js.map +1 -0
  45. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  46. package/dist/src/components/steps/confirmation/RoomContactDetails.js +72 -4
  47. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  48. package/dist/src/components/steps/date/PeoplePicker.js +1 -0
  49. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  50. package/dist/src/components/steps/date/PeoplePickerRow.d.ts +1 -0
  51. package/dist/src/components/steps/date/PeoplePickerRow.js +14 -4
  52. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  53. package/dist/src/components/steps/date/StepDatePricePerRoom.js +2 -1
  54. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  55. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +1 -1
  56. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  57. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +13 -10
  58. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  59. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +5 -1
  60. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
  61. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +1 -0
  62. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +15 -5
  63. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  64. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +1 -1
  65. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  66. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  67. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +3 -1
  68. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  69. package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.d.ts +8 -1
  70. package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.js.map +1 -1
  71. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +5 -0
  72. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  73. package/dist/src/contexts/CompanyContext/CompanyContextType.type.d.ts +1 -0
  74. package/dist/src/contexts/CompanyContext/CompanyContextType.type.js.map +1 -1
  75. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +22 -19
  76. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  77. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +4 -2
  78. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  79. package/dist/src/contexts/HotelOverridesContext.js +12 -0
  80. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  81. package/dist/src/engines/BaseEngine.d.ts +4 -1
  82. package/dist/src/engines/BaseEngine.js +6 -1
  83. package/dist/src/engines/BaseEngine.js.map +1 -1
  84. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +1 -1
  85. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  86. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -1
  87. package/dist/src/hooks/useCalendarNightStay.js +4 -2
  88. package/dist/src/hooks/useCalendarNightStay.js.map +1 -1
  89. package/dist/src/hooks/useExternalMember.d.ts +1 -1
  90. package/dist/src/index.d.ts +2 -1
  91. package/dist/src/index.js +6 -4
  92. package/dist/src/index.js.map +1 -1
  93. package/dist/src/models/Api/HotelDTO.d.ts +1 -1
  94. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  95. package/dist/src/models/Api/HotelOverrideDTO.d.ts +16 -7
  96. package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
  97. package/dist/src/models/BasketRow.d.ts +12 -0
  98. package/dist/src/models/BasketRow.js +17 -0
  99. package/dist/src/models/BasketRow.js.map +1 -1
  100. package/dist/src/models/Client/Hotel/Hotel.d.ts +4 -1
  101. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  102. package/dist/src/models/Confirmation.d.ts +5 -0
  103. package/dist/src/models/Confirmation.js +5 -1
  104. package/dist/src/models/Confirmation.js.map +1 -1
  105. package/dist/src/models/LocalStorageModel.d.ts +7 -0
  106. package/dist/src/models/LocalStorageModel.js +3 -0
  107. package/dist/src/models/LocalStorageModel.js.map +1 -0
  108. package/dist/src/models/Promotion/IPromotion.type.d.ts +2 -0
  109. package/dist/src/models/Promotion/IPromotion.type.js.map +1 -1
  110. package/dist/src/models/Room/RoomRate.d.ts +2 -0
  111. package/dist/src/models/Room/RoomRate.js +3 -1
  112. package/dist/src/models/Room/RoomRate.js.map +1 -1
  113. package/dist/src/providers/RatePillProvider.d.ts +2 -0
  114. package/dist/src/providers/RatePillProvider.js +6 -1
  115. package/dist/src/providers/RatePillProvider.js.map +1 -1
  116. package/dist/src/providers/RoomstayThemeEngine.js +1 -1
  117. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  118. package/dist/src/providers/storage/LocalStorageProvider.d.ts +9 -14
  119. package/dist/src/providers/storage/LocalStorageProvider.js +19 -97
  120. package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -1
  121. package/dist/src/providers/{SessionProvider.d.ts → storage/SessionProvider.d.ts} +1 -1
  122. package/dist/src/providers/{SessionProvider.js → storage/SessionProvider.js} +13 -12
  123. package/dist/src/providers/storage/SessionProvider.js.map +1 -0
  124. package/dist/src/providers/storage/StorageProvider.d.ts +14 -8
  125. package/dist/src/providers/storage/StorageProvider.js +94 -7
  126. package/dist/src/providers/storage/StorageProvider.js.map +1 -1
  127. package/dist/src/util/CalendarHelper.d.ts +1 -0
  128. package/dist/src/util/CalendarHelper.js +16 -1
  129. package/dist/src/util/CalendarHelper.js.map +1 -1
  130. package/dist/src/util/EventsHelper.js +2 -2
  131. package/dist/src/util/EventsHelper.js.map +1 -1
  132. package/dist/test.bundle.js +1 -1
  133. package/dist/tests/jest/providers/SessionProvider.test.js +7 -7
  134. package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -1
  135. package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js +17 -28
  136. package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js.map +1 -1
  137. package/dist/vendors.bundle.js +1 -1
  138. package/package.json +5 -3
  139. package/dist/src/components/steps/room/MemberSignInModal/EmailAndFullnameMemberModal.d.ts +0 -4
  140. package/dist/src/components/steps/room/MemberSignInModal/EmailAndFullnameMemberModal.js.map +0 -1
  141. package/dist/src/components/steps/room/MemberSignInModal/ExternalMemberModal.js.map +0 -1
  142. package/dist/src/components/steps/room/MemberSignInModal/FamilyNameMemberModal.d.ts +0 -8
  143. package/dist/src/components/steps/room/MemberSignInModal/FamilyNameMemberModal.js.map +0 -1
  144. package/dist/src/components/steps/room/MemberSignInModal/InternalMemberSignInModal.js.map +0 -1
  145. package/dist/src/components/steps/room/MemberSignInModal/InternalMemberSignInModal.types.js.map +0 -1
  146. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +0 -62
  147. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +0 -1
  148. package/dist/src/providers/SessionProvider.js.map +0 -1
  149. /package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/InternalMemberSignInModal.types.js +0 -0
  150. /package/dist/src/components/{steps/room/MemberSignInModal → members/SignInModal}/MemberSignInModal.d.ts +0 -0
@@ -1,13 +1,100 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
2
34
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StorageProvider = exports.StorageType = void 0;
4
- var StorageType;
5
- (function (StorageType) {
6
- StorageType["Object"] = "object";
7
- StorageType["String"] = "string";
8
- StorageType["Number"] = "number";
9
- })(StorageType = exports.StorageType || (exports.StorageType = {}));
35
+ exports.StorageProvider = void 0;
36
+ const Sentry = __importStar(require("@sentry/browser"));
10
37
  class StorageProvider {
38
+ constructor(storageMethod) {
39
+ this.enginePrefix = 'roomstay';
40
+ this.readAll = (keys) => __awaiter(this, void 0, void 0, function* () {
41
+ const objects = [];
42
+ const promises = keys.map((key) => __awaiter(this, void 0, void 0, function* () {
43
+ if (key.startsWith(`${this.enginePrefix}-`)) {
44
+ key = key.replace(`${this.enginePrefix}-`, '');
45
+ }
46
+ const response = yield this.read(key);
47
+ if (response) {
48
+ objects.push(response);
49
+ }
50
+ }));
51
+ yield Promise.all(promises);
52
+ return objects;
53
+ });
54
+ this.delete = (key) => {
55
+ this.storageMethod.removeItem(this.prefixKey(key));
56
+ };
57
+ this.getAllKeys = (filter) => {
58
+ return Object.keys(this.storageMethod).filter((key) => key.startsWith(this.enginePrefix) && ((filter && filter(key)) || !filter));
59
+ };
60
+ this.prefixKey = (key) => {
61
+ return `${this.enginePrefix}-${key}`;
62
+ };
63
+ this.storageMethod = !storageMethod ? localStorage : storageMethod;
64
+ }
65
+ read(key) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ let fromStorage;
68
+ try {
69
+ fromStorage = this.storageMethod.getItem(this.prefixKey(key));
70
+ }
71
+ catch (ex) {
72
+ Sentry.captureException(ex);
73
+ return null;
74
+ }
75
+ if (fromStorage) {
76
+ try {
77
+ return JSON.parse(fromStorage);
78
+ }
79
+ catch (ex) {
80
+ return null;
81
+ }
82
+ }
83
+ else {
84
+ return null;
85
+ }
86
+ });
87
+ }
88
+ write(key, value) {
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ try {
91
+ this.storageMethod.setItem(this.prefixKey(key), JSON.stringify(value));
92
+ }
93
+ catch (ex) {
94
+ Sentry.captureException(ex);
95
+ }
96
+ });
97
+ }
11
98
  }
12
99
  exports.StorageProvider = StorageProvider;
13
100
  //# sourceMappingURL=StorageProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StorageProvider.js","sourceRoot":"/","sources":["src/providers/storage/StorageProvider.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;AACrB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAED,MAAsB,eAAe;CAIpC;AAJD,0CAIC","sourcesContent":["export enum StorageType {\n Object = 'object',\n String = 'string',\n Number = 'number',\n}\n\nexport abstract class StorageProvider {\n abstract read(key: string): Promise<any>;\n\n abstract write(key: string, value: any): Promise<void>;\n}\n"]}
1
+ {"version":3,"file":"StorageProvider.js","sourceRoot":"/","sources":["src/providers/storage/StorageProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAE1C,MAAa,eAAe;IASxB,YAAmB,aAAuB;QARzB,iBAAY,GAAG,UAAU,CAAC;QAiCpC,YAAO,GAAG,CAAU,IAAc,EAAgB,EAAE;YACvD,MAAM,OAAO,GAAQ,EAAE,CAAC;YAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAO,GAAG,EAAE,EAAE;gBACpC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;oBACzC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,CAAC,CAAC;iBAClD;gBAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAI,GAAG,CAAC,CAAC;gBAEzC,IAAI,QAAQ,EAAE;oBACV,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC1B;YACL,CAAC,CAAA,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE5B,OAAO,OAAO,CAAC;QACnB,CAAC,CAAA,CAAC;QAUK,WAAM,GAAG,CAAC,GAAW,EAAE,EAAE;YAC5B,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC;QAEK,eAAU,GAAG,CAAC,MAAmC,EAAY,EAAE;YAClE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtI,CAAC,CAAC;QAEM,cAAS,GAAG,CAAC,GAAW,EAAE,EAAE;YAChC,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,EAAE,CAAC;QACzC,CAAC,CAAC;QA9DE,IAAI,CAAC,aAAa,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IACvE,CAAC;IAEY,IAAI,CAAI,GAAW;;YAC5B,IAAI,WAAmB,CAAC;YAExB,IAAI;gBACA,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAW,CAAC;aAC3E;YAAC,OAAO,EAAE,EAAE;gBACT,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC;aACf;YAED,IAAI,WAAW,EAAE;gBACb,IAAI;oBACA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;iBAClC;gBAAC,OAAO,EAAE,EAAE;oBACT,OAAO,IAAI,CAAC;iBACf;aACJ;iBAAM;gBACH,OAAO,IAAI,CAAC;aACf;QACL,CAAC;KAAA;IAsBY,KAAK,CAAC,GAAW,EAAE,KAAU;;YACtC,IAAI;gBACA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aAC1E;YAAC,OAAO,EAAE,EAAE;gBACT,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;aAC/B;QACL,CAAC;KAAA;CAaJ;AAzED,0CAyEC","sourcesContent":["import * as Sentry from '@sentry/browser';\n\nexport class StorageProvider {\n private readonly enginePrefix = 'roomstay';\n\n /**\n * This is important. We're either going to be using localStorage or sessionStorage\n * by default it's localStorage\n */\n private storageMethod: Storage;\n\n public constructor(storageMethod?: Storage) {\n this.storageMethod = !storageMethod ? localStorage : storageMethod;\n }\n\n public async read<T>(key: string): Promise<T | null | undefined> {\n let fromStorage: string;\n\n try {\n fromStorage = this.storageMethod.getItem(this.prefixKey(key)) as string;\n } catch (ex) {\n Sentry.captureException(ex);\n return null;\n }\n\n if (fromStorage) {\n try {\n return JSON.parse(fromStorage);\n } catch (ex) {\n return null;\n }\n } else {\n return null;\n }\n }\n\n public readAll = async <T>(keys: string[]): Promise<T[]> => {\n const objects: T[] = [];\n\n const promises = keys.map(async (key) => {\n if (key.startsWith(`${this.enginePrefix}-`)) {\n key = key.replace(`${this.enginePrefix}-`, '');\n }\n\n const response = await this.read<T>(key);\n\n if (response) {\n objects.push(response);\n }\n });\n\n await Promise.all(promises);\n\n return objects;\n };\n\n public async write(key: string, value: any) {\n try {\n this.storageMethod.setItem(this.prefixKey(key), JSON.stringify(value));\n } catch (ex) {\n Sentry.captureException(ex);\n }\n }\n\n public delete = (key: string) => {\n this.storageMethod.removeItem(this.prefixKey(key));\n };\n\n public getAllKeys = (filter?: (match: string) => boolean): string[] => {\n return Object.keys(this.storageMethod).filter((key) => key.startsWith(this.enginePrefix) && ((filter && filter(key)) || !filter));\n };\n\n private prefixKey = (key: string) => {\n return `${this.enginePrefix}-${key}`;\n };\n}\n"]}
@@ -14,3 +14,4 @@ export default class CalendarHelper {
14
14
  static getWeekTo: (date: dayjs.Dayjs) => dayjs.Dayjs[];
15
15
  static getDaysBetween: (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs) => dayjs.Dayjs[];
16
16
  }
17
+ export declare const getQueryParamFromHash: (param: string) => string | undefined;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getLetterDaysOfWeek = void 0;
6
+ exports.getQueryParamFromHash = exports.getLetterDaysOfWeek = void 0;
7
7
  const dayjs_1 = __importDefault(require("dayjs"));
8
8
  const getLetterDaysOfWeek = (startsWeekOnDay) => {
9
9
  if (startsWeekOnDay === 'monday') {
@@ -84,4 +84,19 @@ CalendarHelper.getDaysBetween = (startDate, endDate) => {
84
84
  }
85
85
  return days;
86
86
  };
87
+ const getQueryParamFromHash = (param) => {
88
+ const currentUrl = window.location.href;
89
+ const hashIndex = currentUrl.indexOf('#');
90
+ if (hashIndex !== -1) {
91
+ const hashFragment = currentUrl.substring(hashIndex + 1); // Extract the part after '#'
92
+ const simulatedUrl = new URL(`https://example.com/${hashFragment}`); // Add base URL for parsing
93
+ if (simulatedUrl.searchParams.has(param)) {
94
+ const value = simulatedUrl.searchParams.get(param); // Get the query parameter value
95
+ return value === null ? undefined : value;
96
+ }
97
+ return undefined;
98
+ }
99
+ return undefined;
100
+ };
101
+ exports.getQueryParamFromHash = getQueryParamFromHash;
87
102
  //# sourceMappingURL=CalendarHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarHelper.js","sourceRoot":"/","sources":["src/util/CalendarHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\n\nimport { WeekdayStartsOn } from '@/models/Client/Hotel/WeekdayStartsOn.types';\n\nexport const getLetterDaysOfWeek = (startsWeekOnDay: string) => {\n if (startsWeekOnDay === 'monday') {\n return ['M', 'T', 'W', 'T', 'F', 'S', 'S'];\n } else {\n return ['S', 'M', 'T', 'W', 'T', 'F', 'S'];\n }\n};\n\nexport default class CalendarHelper {\n /**\n * Returns an array always divisible by 7,\n *\n * Essentially no matter what what month is given, this function will always return the same number of days;\n * with each MOD 7 index representing the correct date.\n */\n public static getWeekPaddedMonthArrayForDate = (startWeekOnDay: WeekdayStartsOn, date: dayjs.Dayjs): string[] => {\n const monthStart = date.startOf('month');\n const monthEnd = date.endOf('month');\n let startDayIndex = parseInt(monthStart.format('d'), 10);\n\n if (startWeekOnDay === 'monday') {\n if (startDayIndex !== 0) {\n startDayIndex--;\n } else {\n startDayIndex = 6;\n }\n }\n\n const endDateNumber = parseInt(monthEnd.format('D'), 10);\n const endDayIndex = parseInt(monthEnd.format('d'), 10);\n const paddingAtEnd = startWeekOnDay === 'monday' ? (7 - endDayIndex) % 7 : (7 - endDayIndex - 1) % 7;\n\n const dayArray: string[] = [];\n\n for (let i = 0; i < endDateNumber + startDayIndex; i++) {\n if (i >= startDayIndex) {\n dayArray.push(String(i + 1 - startDayIndex));\n } else {\n dayArray.push('');\n }\n }\n\n for (let i = 0; i < paddingAtEnd; i++) {\n dayArray.push('');\n }\n\n return dayArray;\n };\n\n public static getMonthArray = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const monthStart = date.startOf('month');\n const monthEnd = date.endOf('month');\n\n const diff = monthEnd.diff(monthStart, 'day');\n\n const days = [];\n\n for (let i = 0; i < diff; i++) {\n days.push(dayjs(monthStart.add(i, 'day')));\n }\n\n return days;\n };\n\n public static getWeekFrom = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n\n for (let i = 1; i <= 7; i++) {\n days.push(date.add(i, 'day'));\n }\n\n return days;\n };\n\n public static getWeekTo = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n\n for (let i = 1; i <= 7; i++) {\n days.push(date.subtract(i, 'day'));\n }\n\n return days;\n };\n\n public static getDaysBetween = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n const diff = endDate.diff(startDate, 'day');\n\n for (let i = 0; i <= diff + 7; i++) {\n days.push(startDate.add(i, 'day'));\n }\n\n return days;\n };\n}\n"]}
1
+ {"version":3,"file":"CalendarHelper.js","sourceRoot":"/","sources":["src/util/CalendarHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\n\nimport { WeekdayStartsOn } from '@/models/Client/Hotel/WeekdayStartsOn.types';\n\nexport const getLetterDaysOfWeek = (startsWeekOnDay: string) => {\n if (startsWeekOnDay === 'monday') {\n return ['M', 'T', 'W', 'T', 'F', 'S', 'S'];\n } else {\n return ['S', 'M', 'T', 'W', 'T', 'F', 'S'];\n }\n};\n\nexport default class CalendarHelper {\n /**\n * Returns an array always divisible by 7,\n *\n * Essentially no matter what what month is given, this function will always return the same number of days;\n * with each MOD 7 index representing the correct date.\n */\n public static getWeekPaddedMonthArrayForDate = (startWeekOnDay: WeekdayStartsOn, date: dayjs.Dayjs): string[] => {\n const monthStart = date.startOf('month');\n const monthEnd = date.endOf('month');\n let startDayIndex = parseInt(monthStart.format('d'), 10);\n\n if (startWeekOnDay === 'monday') {\n if (startDayIndex !== 0) {\n startDayIndex--;\n } else {\n startDayIndex = 6;\n }\n }\n\n const endDateNumber = parseInt(monthEnd.format('D'), 10);\n const endDayIndex = parseInt(monthEnd.format('d'), 10);\n const paddingAtEnd = startWeekOnDay === 'monday' ? (7 - endDayIndex) % 7 : (7 - endDayIndex - 1) % 7;\n\n const dayArray: string[] = [];\n\n for (let i = 0; i < endDateNumber + startDayIndex; i++) {\n if (i >= startDayIndex) {\n dayArray.push(String(i + 1 - startDayIndex));\n } else {\n dayArray.push('');\n }\n }\n\n for (let i = 0; i < paddingAtEnd; i++) {\n dayArray.push('');\n }\n\n return dayArray;\n };\n\n public static getMonthArray = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const monthStart = date.startOf('month');\n const monthEnd = date.endOf('month');\n\n const diff = monthEnd.diff(monthStart, 'day');\n\n const days = [];\n\n for (let i = 0; i < diff; i++) {\n days.push(dayjs(monthStart.add(i, 'day')));\n }\n\n return days;\n };\n\n public static getWeekFrom = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n\n for (let i = 1; i <= 7; i++) {\n days.push(date.add(i, 'day'));\n }\n\n return days;\n };\n\n public static getWeekTo = (date: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n\n for (let i = 1; i <= 7; i++) {\n days.push(date.subtract(i, 'day'));\n }\n\n return days;\n };\n\n public static getDaysBetween = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs): dayjs.Dayjs[] => {\n const days: dayjs.Dayjs[] = [];\n const diff = endDate.diff(startDate, 'day');\n\n for (let i = 0; i <= diff + 7; i++) {\n days.push(startDate.add(i, 'day'));\n }\n\n return days;\n };\n}\n\nexport const getQueryParamFromHash = (param: string): string | undefined => {\n const currentUrl = window.location.href;\n const hashIndex = currentUrl.indexOf('#');\n\n if (hashIndex !== -1) {\n const hashFragment = currentUrl.substring(hashIndex + 1); // Extract the part after '#'\n const simulatedUrl = new URL(`https://example.com/${hashFragment}`); // Add base URL for parsing\n if (simulatedUrl.searchParams.has(param)) {\n const value = simulatedUrl.searchParams.get(param); // Get the query parameter value\n return value === null ? undefined : value;\n }\n\n return undefined;\n }\n\n return undefined;\n};\n"]}
@@ -8,12 +8,12 @@ const dayjs_1 = __importDefault(require("dayjs"));
8
8
  const isBetween_1 = __importDefault(require("dayjs/plugin/isBetween"));
9
9
  const timezone_1 = __importDefault(require("dayjs/plugin/timezone"));
10
10
  const utc_1 = __importDefault(require("dayjs/plugin/utc"));
11
- const LocalStorageProvider_1 = require("../providers/storage/LocalStorageProvider");
11
+ const StorageProvider_1 = require("../providers/storage/StorageProvider");
12
12
  dayjs_1.default.extend(utc_1.default);
13
13
  dayjs_1.default.extend(timezone_1.default);
14
14
  dayjs_1.default.extend(isBetween_1.default);
15
15
  const CACHED_EVENTS_KEY = 'events';
16
- const provider = new LocalStorageProvider_1.LocalStorageProvider();
16
+ const provider = new StorageProvider_1.StorageProvider();
17
17
  const createEventKey = (hotelId, unixStartDate) => [CACHED_EVENTS_KEY, hotelId, unixStartDate].join('-');
18
18
  const write = (hotelId, unixStartDate, value) => provider.write(createEventKey(hotelId, unixStartDate), value);
19
19
  exports.write = write;
@@ -1 +1 @@
1
- {"version":3,"file":"EventsHelper.js","sourceRoot":"/","sources":["src/util/EventsHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import { IRoomstayEvent } from '@roomstay/core';\nimport dayjs from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport timezone from 'dayjs/plugin/timezone';\nimport utc from 'dayjs/plugin/utc';\n\nimport { LocalStorageProvider } from '@/providers/storage/LocalStorageProvider';\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(isBetween);\n\nconst CACHED_EVENTS_KEY = 'events';\n\ninterface ICachedEvents {\n expired: number;\n events: IRoomstayEvent[];\n}\n\nconst provider = new LocalStorageProvider();\n\nconst createEventKey = (hotelId: string, unixStartDate: number) => [CACHED_EVENTS_KEY, hotelId, unixStartDate].join('-');\n\nconst write = (hotelId: string, unixStartDate: number, value: ICachedEvents) => provider.write(createEventKey(hotelId, unixStartDate), value);\n\nconst read = (hotelId: string, unixStartDate: number) => provider.read<ICachedEvents>(createEventKey(hotelId, unixStartDate));\n\nconst getValidEvents = (events: IRoomstayEvent[]): IRoomstayEvent[] => {\n if (!events || events.length === 0) {\n return [];\n }\n\n const today = dayjs();\n return events.filter(({ endDate, timezone, isPermanent }) => isPermanent || today.isBefore(dayjs(endDate, timezone)));\n};\n\nconst getApplicableEvents = (\n events: IRoomstayEvent[],\n {\n checkInDate,\n checkInTime,\n checkOutDate,\n checkOutTime,\n }: {\n checkInDate: string;\n checkInTime: string;\n checkOutDate: string;\n checkOutTime: string;\n }\n): IRoomstayEvent[] => {\n if (!events || events.length === 0) {\n return [];\n }\n const itineraryStartDate = dayjs(`${checkInDate}${checkInTime}`, 'YYYY-MM-DDHHmm');\n const itineraryEndDate = dayjs(`${checkOutDate}${checkOutTime}`, 'YYYY-MM-DDHHmm');\n return events.filter(({ endDate: endDateString, timezone, startDate: startDateString }) => {\n // https://stackoverflow.com/questions/11526504/minimum-and-maximum-date\n const startDate = startDateString ? dayjs.tz(startDateString, timezone) : dayjs(-8640000000000000);\n const endDate = endDateString ? dayjs.tz(endDateString, timezone) : dayjs(8640000000000000);\n return !endDate || itineraryStartDate.isBetween(startDate, endDate, null, '[]') || itineraryEndDate.isBetween(startDate, endDate, null, '[]');\n });\n};\n\nconst isCachedEventValid = (cachedEvents: ICachedEvents): boolean => {\n const today = dayjs();\n const expiredDate = dayjs(cachedEvents.expired);\n return today.isBefore(expiredDate) && cachedEvents.events?.length > 0;\n};\n\nexport { getApplicableEvents, getValidEvents, ICachedEvents, isCachedEventValid, read, write };\n"]}
1
+ {"version":3,"file":"EventsHelper.js","sourceRoot":"/","sources":["src/util/EventsHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import { IRoomstayEvent } from '@roomstay/core';\nimport dayjs from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport timezone from 'dayjs/plugin/timezone';\nimport utc from 'dayjs/plugin/utc';\n\nimport { StorageProvider } from '@/providers/storage/StorageProvider';\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(isBetween);\n\nconst CACHED_EVENTS_KEY = 'events';\n\ninterface ICachedEvents {\n expired: number;\n events: IRoomstayEvent[];\n}\n\nconst provider = new StorageProvider();\n\nconst createEventKey = (hotelId: string, unixStartDate: number) => [CACHED_EVENTS_KEY, hotelId, unixStartDate].join('-');\n\nconst write = (hotelId: string, unixStartDate: number, value: ICachedEvents) => provider.write(createEventKey(hotelId, unixStartDate), value);\n\nconst read = (hotelId: string, unixStartDate: number) => provider.read<ICachedEvents>(createEventKey(hotelId, unixStartDate));\n\nconst getValidEvents = (events: IRoomstayEvent[]): IRoomstayEvent[] => {\n if (!events || events.length === 0) {\n return [];\n }\n\n const today = dayjs();\n return events.filter(({ endDate, timezone, isPermanent }) => isPermanent || today.isBefore(dayjs(endDate, timezone)));\n};\n\nconst getApplicableEvents = (\n events: IRoomstayEvent[],\n {\n checkInDate,\n checkInTime,\n checkOutDate,\n checkOutTime,\n }: {\n checkInDate: string;\n checkInTime: string;\n checkOutDate: string;\n checkOutTime: string;\n }\n): IRoomstayEvent[] => {\n if (!events || events.length === 0) {\n return [];\n }\n const itineraryStartDate = dayjs(`${checkInDate}${checkInTime}`, 'YYYY-MM-DDHHmm');\n const itineraryEndDate = dayjs(`${checkOutDate}${checkOutTime}`, 'YYYY-MM-DDHHmm');\n return events.filter(({ endDate: endDateString, timezone, startDate: startDateString }) => {\n // https://stackoverflow.com/questions/11526504/minimum-and-maximum-date\n const startDate = startDateString ? dayjs.tz(startDateString, timezone) : dayjs(-8640000000000000);\n const endDate = endDateString ? dayjs.tz(endDateString, timezone) : dayjs(8640000000000000);\n return !endDate || itineraryStartDate.isBetween(startDate, endDate, null, '[]') || itineraryEndDate.isBetween(startDate, endDate, null, '[]');\n });\n};\n\nconst isCachedEventValid = (cachedEvents: ICachedEvents): boolean => {\n const today = dayjs();\n const expiredDate = dayjs(cachedEvents.expired);\n return today.isBefore(expiredDate) && cachedEvents.events?.length > 0;\n};\n\nexport { getApplicableEvents, getValidEvents, ICachedEvents, isCachedEventValid, read, write };\n"]}