@cleartrip/ct-design-header 1.3.0 → 1.4.0-SNAPSHOT-multi-date-range-selector.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/EliteDropDown/EliteBenefitsContent.d.ts +11 -0
- package/dist/EliteDropDown/EliteBenefitsContent.d.ts.map +1 -0
- package/dist/EliteDropDown/index.d.ts +7 -0
- package/dist/EliteDropDown/index.d.ts.map +1 -0
- package/dist/EliteDropDown/style.d.ts +10 -0
- package/dist/EliteDropDown/style.d.ts.map +1 -0
- package/dist/Header.d.ts.map +1 -1
- package/dist/HeaderAnimatedMask /index.d.ts +1 -1
- package/dist/HeaderAnimatedMask /index.d.ts.map +1 -1
- package/dist/RewardsSection/LoyaltyChips.d.ts +1 -1
- package/dist/RewardsSection/LoyaltyChips.d.ts.map +1 -1
- package/dist/RewardsSection/index.d.ts.map +1 -1
- package/dist/RewardsSection/loyaltyTypes.d.ts +6 -5
- package/dist/RewardsSection/loyaltyTypes.d.ts.map +1 -1
- package/dist/UserAccount/AccountEliteStrip/EliteStatusBadge.d.ts +8 -0
- package/dist/UserAccount/AccountEliteStrip/EliteStatusBadge.d.ts.map +1 -0
- package/dist/UserAccount/AccountEliteStrip/index.d.ts +8 -0
- package/dist/UserAccount/AccountEliteStrip/index.d.ts.map +1 -0
- package/dist/UserAccount/UserAccountDropdown.d.ts.map +1 -1
- package/dist/constants.d.ts +29 -3
- package/dist/constants.d.ts.map +1 -1
- package/dist/ct-design-header.browser.cjs.js +1 -1
- package/dist/ct-design-header.browser.cjs.js.map +1 -1
- package/dist/ct-design-header.browser.esm.js +1 -1
- package/dist/ct-design-header.browser.esm.js.map +1 -1
- package/dist/ct-design-header.cjs.js +622 -88
- package/dist/ct-design-header.cjs.js.map +1 -1
- package/dist/ct-design-header.esm.js +624 -90
- package/dist/ct-design-header.esm.js.map +1 -1
- package/dist/ct-design-header.umd.js +622 -92
- package/dist/ct-design-header.umd.js.map +1 -1
- package/dist/hooks/useEliteRaven.d.ts +25 -0
- package/dist/hooks/useEliteRaven.d.ts.map +1 -0
- package/dist/styles.d.ts +15 -0
- package/dist/styles.d.ts.map +1 -1
- package/dist/type.d.ts +12 -2
- package/dist/type.d.ts.map +1 -1
- package/dist/utils.d.ts +33 -1
- package/dist/utils.d.ts.map +1 -1
- package/package.json +13 -9
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import { __assign, __makeTemplateObject, __spreadArray } from 'tslib';
|
|
2
2
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
|
-
import { createContext, useContext, useState, useRef, useEffect, useCallback, useMemo } from 'react';
|
|
3
|
+
import { createContext, useContext, useState, useRef, useEffect, useCallback, useMemo, useLayoutEffect } from 'react';
|
|
4
4
|
import { Container } from '@cleartrip/ct-design-container';
|
|
5
5
|
import { Typography, TypographyVariant } from '@cleartrip/ct-design-typography';
|
|
6
6
|
import { ButtonColor, Button, ButtonVariant } from '@cleartrip/ct-design-button';
|
|
7
7
|
import { Divider } from '@cleartrip/ct-design-divider';
|
|
8
|
-
import {
|
|
8
|
+
import { EliteLoyaltyPillStateEnum, LoyaltyProgram, EliteLoyaltyPill } from '@cleartrip/ct-design-loyalty-pill';
|
|
9
|
+
import { Offers, BusinessBag, ChevronDown, MyTrips, SupportIcon, ArrowRight, EliteText, MyAccount, SavedCard, Travellers, HiFive, Wallet, SettingsCog, PrivacyRights, HeaderChevronRight, FkBlackIcon, FkGold, InsiderIcon, InsiderElite, CtLoyalty, Supercoin, Signout, CTLogo, Fkcompany } from '@cleartrip/ct-design-icons';
|
|
10
|
+
import { isEmpty } from '@cleartrip/ct-design-common-utils';
|
|
9
11
|
import styled, { keyframes } from 'styled-components';
|
|
12
|
+
import { IntersectionObserver } from '@cleartrip/ct-design-intersection-observer';
|
|
13
|
+
import { useTheme } from '@cleartrip/ct-design-theme';
|
|
10
14
|
|
|
11
15
|
var OFFERS_URL = '/all-offers/?categories=flights';
|
|
12
16
|
var MY_TRIPS_URL = '/accounts/trips';
|
|
13
17
|
var SUPPORT_URL = '/support';
|
|
18
|
+
var ELITE_NAV_TEXT = 'Elite';
|
|
14
19
|
var NAVBAR_OPTIONS = [{
|
|
15
20
|
lefticon: Offers,
|
|
16
21
|
text: 'Offers',
|
|
@@ -38,7 +43,29 @@ var NAVBAR_OPTIONS = [{
|
|
|
38
43
|
isHoverable: false,
|
|
39
44
|
isClickable: true,
|
|
40
45
|
link: SUPPORT_URL
|
|
46
|
+
}, {
|
|
47
|
+
text: ELITE_NAV_TEXT,
|
|
48
|
+
ravenActionName: '',
|
|
49
|
+
isHoverable: true,
|
|
50
|
+
isClickable: false
|
|
41
51
|
}];
|
|
52
|
+
var ELITE_HOVER_BUTTON_TEXT = 'View membership benefits';
|
|
53
|
+
var ELITE_HOVER_LOGIN_BUTTON_TEXT = 'Login to check eligibility';
|
|
54
|
+
var LOYALTY_STATUS = {
|
|
55
|
+
ACTIVE: 'ACTIVE',
|
|
56
|
+
INACTIVE: 'INACTIVE',
|
|
57
|
+
SUSPENDED: 'SUSPENDED'
|
|
58
|
+
};
|
|
59
|
+
var DISPLAY_STATUS = {
|
|
60
|
+
ACTIVE: 'ACTIVE',
|
|
61
|
+
INACTIVE: 'INACTIVE',
|
|
62
|
+
EXPIRING_SOON: 'EXPIRING_SOON',
|
|
63
|
+
TRACKER_EXPIRING_SOON: 'TRACKER_EXPIRING_SOON',
|
|
64
|
+
EXPIRED: 'EXPIRED',
|
|
65
|
+
ACTIVATING_SOON: 'ACTIVATING_SOON'
|
|
66
|
+
};
|
|
67
|
+
var EliteChipHoverModalBg = 'https://rukmini-ct.flixcart.com/f_auto,q_auto/offermgmt-prod/offermgmt/images/banner/desktop_pop_up_elite_bgImage-v2.png';
|
|
68
|
+
var EliteAccountStripBg = 'https://rukmini-ct.flixcart.com/fl_progressive,e_sharpen:80,c_fill,dpr_2,f_auto,q_75/offermgmt-prod/offermgmt/images/banner/desktop-accounts-dropdown-elite-bg.png';
|
|
42
69
|
var LOBS = {
|
|
43
70
|
FLIGHTS: 'Flights',
|
|
44
71
|
HOTELS: 'Hotels',
|
|
@@ -96,6 +123,14 @@ var RAVEN_PLATFORMS;
|
|
|
96
123
|
(function (RAVEN_PLATFORMS) {
|
|
97
124
|
RAVEN_PLATFORMS["DESKTOP"] = "desktop";
|
|
98
125
|
})(RAVEN_PLATFORMS || (RAVEN_PLATFORMS = {}));
|
|
126
|
+
var RAVEN_EVENTS = {
|
|
127
|
+
UI_ACTION: 'ui_action',
|
|
128
|
+
CT_LOYALTY_BENEFITS_POPUP_LOAD: 'ct_loyalty_benefits_popup_load'
|
|
129
|
+
};
|
|
130
|
+
var RAVEN_ACTIONS = {
|
|
131
|
+
CT_LOYALTY_VIEW_BENEFITS_CLICK: 'ct_loyalty_view_benefits_click',
|
|
132
|
+
ELITE_LOGIN_CLICK: 'elite_login_click'
|
|
133
|
+
};
|
|
99
134
|
var LOG_IN_TEXT = 'Log in';
|
|
100
135
|
var THEME_CONFIG = {
|
|
101
136
|
NOVAC: {
|
|
@@ -170,6 +205,16 @@ var ravenLoyaltyTypes = function (loyaltyType) {
|
|
|
170
205
|
return '';
|
|
171
206
|
}
|
|
172
207
|
};
|
|
208
|
+
var getEliteRavenEventPrefix = function (ravenPageName) {
|
|
209
|
+
switch (ravenPageName) {
|
|
210
|
+
case RAVEN_PAGE_NAMES.FLIGHTS_HOME:
|
|
211
|
+
return 'a_';
|
|
212
|
+
case RAVEN_PAGE_NAMES.HOTELS_HOME:
|
|
213
|
+
return 'h_';
|
|
214
|
+
default:
|
|
215
|
+
return 'u_';
|
|
216
|
+
}
|
|
217
|
+
};
|
|
173
218
|
var ravenSDKTrigger = function (isUserLoggedIn, eventName, ravenPayload, customRavenPayload, ravenPushCallback, pageName) {
|
|
174
219
|
var _a;
|
|
175
220
|
if (typeof ravenPushCallback !== 'function') {
|
|
@@ -199,6 +244,165 @@ var ravenSDKTrigger = function (isUserLoggedIn, eventName, ravenPayload, customR
|
|
|
199
244
|
return;
|
|
200
245
|
}
|
|
201
246
|
};
|
|
247
|
+
var getLoyaltyContent = function (eliteDetails, loyaltyProgram) {
|
|
248
|
+
var _a, _b;
|
|
249
|
+
var loyaltyContent = (_b = (_a = eliteDetails === null || eliteDetails === void 0 ? void 0 : eliteDetails.find(function (item) {
|
|
250
|
+
return (item === null || item === void 0 ? void 0 : item.usecase) === 'LOYALTY';
|
|
251
|
+
})) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b[0];
|
|
252
|
+
var metaData = loyaltyContent === null || loyaltyContent === void 0 ? void 0 : loyaltyContent.metaData;
|
|
253
|
+
if (isEmpty(loyaltyContent) || isEmpty(metaData) || (metaData === null || metaData === void 0 ? void 0 : metaData.loyaltyName) !== loyaltyProgram || (metaData === null || metaData === void 0 ? void 0 : metaData.loyaltyStatus) === LOYALTY_STATUS.SUSPENDED) {
|
|
254
|
+
return null;
|
|
255
|
+
}
|
|
256
|
+
return loyaltyContent || null;
|
|
257
|
+
};
|
|
258
|
+
var getEliteLoyaltyContent = function (eliteDetails) {
|
|
259
|
+
return getLoyaltyContent(eliteDetails, LoyaltyProgram.ELITE);
|
|
260
|
+
};
|
|
261
|
+
var getEliteLoyaltyMetadata = function (eliteDetails) {
|
|
262
|
+
var _a, _b;
|
|
263
|
+
return (_b = (_a = getEliteLoyaltyContent(eliteDetails)) === null || _a === void 0 ? void 0 : _a.metaData) !== null && _b !== void 0 ? _b : null;
|
|
264
|
+
};
|
|
265
|
+
var getFkBlackLoyaltyContent = function (eliteDetails) {
|
|
266
|
+
return getLoyaltyContent(eliteDetails, LoyaltyProgram.FK_BLACK);
|
|
267
|
+
};
|
|
268
|
+
var getFkBlackLoyaltyMetadata = function (eliteDetails) {
|
|
269
|
+
var _a, _b;
|
|
270
|
+
return (_b = (_a = getFkBlackLoyaltyContent(eliteDetails)) === null || _a === void 0 ? void 0 : _a.metaData) !== null && _b !== void 0 ? _b : null;
|
|
271
|
+
};
|
|
272
|
+
var shouldShowFkBlackLoyaltyChip = function (eliteDetails) {
|
|
273
|
+
return !!getFkBlackLoyaltyContent(eliteDetails);
|
|
274
|
+
};
|
|
275
|
+
var getElitePillState = function (eliteDetails, isUserLoggedIn) {
|
|
276
|
+
var _a;
|
|
277
|
+
if (isUserLoggedIn === void 0) {
|
|
278
|
+
isUserLoggedIn = true;
|
|
279
|
+
}
|
|
280
|
+
if (!isUserLoggedIn) {
|
|
281
|
+
return EliteLoyaltyPillStateEnum.LOGGED_OUT;
|
|
282
|
+
}
|
|
283
|
+
var displayStatus = (_a = getEliteLoyaltyMetadata(eliteDetails)) === null || _a === void 0 ? void 0 : _a.displayStatus;
|
|
284
|
+
switch (displayStatus) {
|
|
285
|
+
case DISPLAY_STATUS.ACTIVE:
|
|
286
|
+
case DISPLAY_STATUS.ACTIVATING_SOON:
|
|
287
|
+
return EliteLoyaltyPillStateEnum.UNLOCKED;
|
|
288
|
+
case DISPLAY_STATUS.EXPIRING_SOON:
|
|
289
|
+
return EliteLoyaltyPillStateEnum.EXPIRING;
|
|
290
|
+
case DISPLAY_STATUS.INACTIVE:
|
|
291
|
+
case DISPLAY_STATUS.TRACKER_EXPIRING_SOON:
|
|
292
|
+
case DISPLAY_STATUS.EXPIRED:
|
|
293
|
+
default:
|
|
294
|
+
return EliteLoyaltyPillStateEnum.LOCKED;
|
|
295
|
+
}
|
|
296
|
+
};
|
|
297
|
+
var hasEliteLoyaltyDetails = function (eliteDetails) {
|
|
298
|
+
return !!getEliteLoyaltyMetadata(eliteDetails);
|
|
299
|
+
};
|
|
300
|
+
var isEliteAccountActive = function (metaData) {
|
|
301
|
+
return (metaData === null || metaData === void 0 ? void 0 : metaData.displayStatus) === DISPLAY_STATUS.ACTIVE || (metaData === null || metaData === void 0 ? void 0 : metaData.displayStatus) === DISPLAY_STATUS.EXPIRING_SOON;
|
|
302
|
+
};
|
|
303
|
+
var getEliteHoverModalContent = function (metaData) {
|
|
304
|
+
var _a, _b, _c;
|
|
305
|
+
return (_c = (_b = ((_a = metaData === null || metaData === void 0 ? void 0 : metaData.benefits) !== null && _a !== void 0 ? _a : []).filter(function (benefit) {
|
|
306
|
+
return benefit === null || benefit === void 0 ? void 0 : benefit.title;
|
|
307
|
+
})) === null || _b === void 0 ? void 0 : _b.map(function (benefit) {
|
|
308
|
+
return benefit.title;
|
|
309
|
+
})) !== null && _c !== void 0 ? _c : [];
|
|
310
|
+
};
|
|
311
|
+
var getOrdinalSuffix = function (day) {
|
|
312
|
+
if (day >= 11 && day <= 13) {
|
|
313
|
+
return 'th';
|
|
314
|
+
}
|
|
315
|
+
switch (day % 10) {
|
|
316
|
+
case 1:
|
|
317
|
+
return 'st';
|
|
318
|
+
case 2:
|
|
319
|
+
return 'nd';
|
|
320
|
+
case 3:
|
|
321
|
+
return 'rd';
|
|
322
|
+
default:
|
|
323
|
+
return 'th';
|
|
324
|
+
}
|
|
325
|
+
};
|
|
326
|
+
var formatEliteUnlockDate = function (unlockDate) {
|
|
327
|
+
if (!unlockDate) {
|
|
328
|
+
return '';
|
|
329
|
+
}
|
|
330
|
+
var isoDateMatch = unlockDate.match(/^(\d{4})-(\d{2})-(\d{2})/);
|
|
331
|
+
var date = isoDateMatch ? new Date(Number(isoDateMatch[1]), Number(isoDateMatch[2]) - 1, Number(isoDateMatch[3])) : new Date(unlockDate);
|
|
332
|
+
if (Number.isNaN(date.getTime())) {
|
|
333
|
+
return '';
|
|
334
|
+
}
|
|
335
|
+
var day = date.getDate();
|
|
336
|
+
var month = date.toLocaleDateString('en-GB', {
|
|
337
|
+
month: 'short'
|
|
338
|
+
});
|
|
339
|
+
return "".concat(day).concat(getOrdinalSuffix(day), " ").concat(month);
|
|
340
|
+
};
|
|
341
|
+
var getAccountEliteStripText = function (metaData) {
|
|
342
|
+
var displayStatus = metaData.displayStatus,
|
|
343
|
+
unlockDate = metaData.unlockDate;
|
|
344
|
+
switch (displayStatus) {
|
|
345
|
+
case DISPLAY_STATUS.ACTIVATING_SOON:
|
|
346
|
+
{
|
|
347
|
+
var formattedUnlockDate = formatEliteUnlockDate(unlockDate);
|
|
348
|
+
return {
|
|
349
|
+
prefix: 'Your',
|
|
350
|
+
suffix: formattedUnlockDate ? "benefits unlock on ".concat(formattedUnlockDate) : 'benefits unlock soon'
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
case DISPLAY_STATUS.INACTIVE:
|
|
354
|
+
case DISPLAY_STATUS.TRACKER_EXPIRING_SOON:
|
|
355
|
+
case DISPLAY_STATUS.EXPIRED:
|
|
356
|
+
return {
|
|
357
|
+
prefix: 'Unlock',
|
|
358
|
+
suffix: 'membership'
|
|
359
|
+
};
|
|
360
|
+
default:
|
|
361
|
+
return {
|
|
362
|
+
prefix: 'Your',
|
|
363
|
+
suffix: 'membership'
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
};
|
|
367
|
+
var redirectToEliteUrl = function (url) {
|
|
368
|
+
if (url) window.location.href = url;
|
|
369
|
+
};
|
|
370
|
+
var mapDisplayStatusToRavenEliteStatus = function (displayStatus) {
|
|
371
|
+
switch (displayStatus) {
|
|
372
|
+
case DISPLAY_STATUS.ACTIVE:
|
|
373
|
+
return 'active';
|
|
374
|
+
case DISPLAY_STATUS.EXPIRING_SOON:
|
|
375
|
+
return 'expiring_soon';
|
|
376
|
+
case DISPLAY_STATUS.INACTIVE:
|
|
377
|
+
return 'inactive';
|
|
378
|
+
default:
|
|
379
|
+
return 'na';
|
|
380
|
+
}
|
|
381
|
+
};
|
|
382
|
+
var getEliteRavenAttributes = function (eliteDetails) {
|
|
383
|
+
var _a, _b;
|
|
384
|
+
var eliteContent = getEliteLoyaltyContent(eliteDetails);
|
|
385
|
+
if (isEmpty(eliteContent === null || eliteContent === void 0 ? void 0 : eliteContent.metaData)) {
|
|
386
|
+
return {};
|
|
387
|
+
}
|
|
388
|
+
var _c = eliteContent !== null && eliteContent !== void 0 ? eliteContent : {},
|
|
389
|
+
metaData = _c.metaData,
|
|
390
|
+
constraintList = _c.constraintList,
|
|
391
|
+
partnerProgram = _c.partnerProgram,
|
|
392
|
+
allotmentDate = _c.allotmentDate,
|
|
393
|
+
viewExpiryDate = _c.viewExpiryDate;
|
|
394
|
+
_c.lifetimeSavings;
|
|
395
|
+
var _d = (_a = constraintList === null || constraintList === void 0 ? void 0 : constraintList[0]) !== null && _a !== void 0 ? _a : {},
|
|
396
|
+
target = _d.target,
|
|
397
|
+
bookingCount = _d.bookingCount;
|
|
398
|
+
return {
|
|
399
|
+
elite_status: (_b = mapDisplayStatusToRavenEliteStatus(metaData === null || metaData === void 0 ? void 0 : metaData.displayStatus)) !== null && _b !== void 0 ? _b : 'na',
|
|
400
|
+
elite_progress: target ? "".concat(bookingCount, "/").concat(target) : 'na',
|
|
401
|
+
partner_program_source: partnerProgram !== null && partnerProgram !== void 0 ? partnerProgram : 'na',
|
|
402
|
+
elite_unlock_date: allotmentDate !== null && allotmentDate !== void 0 ? allotmentDate : 'na',
|
|
403
|
+
elite_membership_end_date: viewExpiryDate !== null && viewExpiryDate !== void 0 ? viewExpiryDate : 'na'
|
|
404
|
+
};
|
|
405
|
+
};
|
|
202
406
|
|
|
203
407
|
var LobsHeader = function () {
|
|
204
408
|
var _a = useHeaderContext(),
|
|
@@ -484,8 +688,8 @@ var logoutButtonHoverStyles = {
|
|
|
484
688
|
backgroundColor: '#FBEFEF'
|
|
485
689
|
}
|
|
486
690
|
};
|
|
487
|
-
var moveRight = keyframes(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n from {\n transform: translateX(-20px);\n }\n to {\n transform: translateX(0px);\n }\n"], ["\n from {\n transform: translateX(-20px);\n }\n to {\n transform: translateX(0px);\n }\n"])));
|
|
488
|
-
var moveRightAgain = keyframes(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n from {\n transform: translateX(-20.01px);\n }\n to {\n transform: translateX(0px);\n }\n"], ["\n from {\n transform: translateX(-20.01px);\n }\n to {\n transform: translateX(0px);\n }\n"])));
|
|
691
|
+
var moveRight = /*#__PURE__*/keyframes(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n from {\n transform: translateX(-20px);\n }\n to {\n transform: translateX(0px);\n }\n"], ["\n from {\n transform: translateX(-20px);\n }\n to {\n transform: translateX(0px);\n }\n"])));
|
|
692
|
+
var moveRightAgain = /*#__PURE__*/keyframes(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n from {\n transform: translateX(-20.01px);\n }\n to {\n transform: translateX(0px);\n }\n"], ["\n from {\n transform: translateX(-20.01px);\n }\n to {\n transform: translateX(0px);\n }\n"])));
|
|
489
693
|
var arrowContainerStyles = {
|
|
490
694
|
display: 'flex',
|
|
491
695
|
backgroundColor: 'black',
|
|
@@ -497,6 +701,32 @@ var arrowContainerStyles = {
|
|
|
497
701
|
overflow: 'hidden',
|
|
498
702
|
borderRadius: '50%'
|
|
499
703
|
};
|
|
704
|
+
var getAccountEliteSectionStyles = function (theme) {
|
|
705
|
+
return {
|
|
706
|
+
background: 'linear-gradient(90deg, #fce9ff 26.53%, #ffefee 88.06%)',
|
|
707
|
+
padding: "".concat(theme.spacing[2], " ").concat(theme.spacing[4]),
|
|
708
|
+
display: 'flex',
|
|
709
|
+
justifyContent: 'space-between',
|
|
710
|
+
alignItems: 'center'
|
|
711
|
+
};
|
|
712
|
+
};
|
|
713
|
+
var getEliteTxtSvgStyles = function (theme) {
|
|
714
|
+
return {
|
|
715
|
+
display: 'flex',
|
|
716
|
+
flexDirection: 'column',
|
|
717
|
+
alignSelf: 'center',
|
|
718
|
+
margin: "auto ".concat(theme.spacing[1])
|
|
719
|
+
};
|
|
720
|
+
};
|
|
721
|
+
var getAccountUnlockedBgStyles = function (isEliteUnlocked, bgImgUrl) {
|
|
722
|
+
if (isEliteUnlocked) return {
|
|
723
|
+
backgroundRepeat: 'no-repeat',
|
|
724
|
+
backgroundSize: 'cover',
|
|
725
|
+
backgroundPosition: 'center',
|
|
726
|
+
backgroundImage: "url(".concat(bgImgUrl, ")")
|
|
727
|
+
};
|
|
728
|
+
return {};
|
|
729
|
+
};
|
|
500
730
|
var getLoginButtonBgColorStyles = function (saleThemeEnabled) {
|
|
501
731
|
if (saleThemeEnabled) {
|
|
502
732
|
return {
|
|
@@ -670,6 +900,203 @@ var BusinessDropdownContent = function (_a) {
|
|
|
670
900
|
};
|
|
671
901
|
var templateObject_1;
|
|
672
902
|
|
|
903
|
+
var useEliteRaven = function () {
|
|
904
|
+
var _a = useHeaderContext(),
|
|
905
|
+
eliteDetails = _a.eliteDetails,
|
|
906
|
+
ravenPushCallback = _a.ravenPushCallback,
|
|
907
|
+
ravenPageName = _a.ravenPageName,
|
|
908
|
+
isUserLoggedIn = _a.isUserLoggedIn,
|
|
909
|
+
_b = _a.ravenPayload,
|
|
910
|
+
ravenPayload = _b === void 0 ? {} : _b;
|
|
911
|
+
var ravenAttributes = useMemo(function () {
|
|
912
|
+
return getEliteRavenAttributes(eliteDetails);
|
|
913
|
+
}, [eliteDetails]);
|
|
914
|
+
var ravenEventPrefix = useMemo(function () {
|
|
915
|
+
return getEliteRavenEventPrefix(ravenPageName);
|
|
916
|
+
}, [ravenPageName]);
|
|
917
|
+
var triggerRavenEvent = useCallback(function (eventSuffix, payload) {
|
|
918
|
+
if (payload === void 0) {
|
|
919
|
+
payload = {};
|
|
920
|
+
}
|
|
921
|
+
if (!ravenPushCallback) {
|
|
922
|
+
return;
|
|
923
|
+
}
|
|
924
|
+
ravenSDKTrigger(isUserLoggedIn, "".concat(ravenEventPrefix).concat(eventSuffix), __assign(__assign({}, ravenAttributes), payload), ravenPayload, ravenPushCallback, ravenPageName);
|
|
925
|
+
}, [isUserLoggedIn, ravenAttributes, ravenEventPrefix, ravenPayload, ravenPushCallback, ravenPageName]);
|
|
926
|
+
return {
|
|
927
|
+
ravenEventPrefix: ravenEventPrefix,
|
|
928
|
+
ravenAttributes: ravenAttributes,
|
|
929
|
+
ravenPushCallback: ravenPushCallback,
|
|
930
|
+
isUserLoggedIn: isUserLoggedIn,
|
|
931
|
+
ravenPageName: ravenPageName,
|
|
932
|
+
triggerRavenEvent: triggerRavenEvent
|
|
933
|
+
};
|
|
934
|
+
};
|
|
935
|
+
|
|
936
|
+
var ELITE_DROPDOWN_POSITION_OFFSET = 30;
|
|
937
|
+
var ELITE_DROPDOWN_TOP = '76px';
|
|
938
|
+
var ELITE_DROPDOWN_WIDTH = '360px';
|
|
939
|
+
var ELITE_DROPDOWN_Z_INDEX = 1002;
|
|
940
|
+
var getEliteDropdownContainerStyles = function (theme, contentHeight) {
|
|
941
|
+
return {
|
|
942
|
+
position: 'fixed',
|
|
943
|
+
top: ELITE_DROPDOWN_TOP,
|
|
944
|
+
width: ELITE_DROPDOWN_WIDTH,
|
|
945
|
+
zIndex: ELITE_DROPDOWN_Z_INDEX,
|
|
946
|
+
backgroundColor: theme.color.background.neutral,
|
|
947
|
+
borderRadius: theme.border.radius[16],
|
|
948
|
+
boxShadow: theme.elevation.bottomE3,
|
|
949
|
+
overflow: 'hidden',
|
|
950
|
+
opacity: 0,
|
|
951
|
+
backgroundImage: "url(".concat(EliteChipHoverModalBg, ")"),
|
|
952
|
+
backgroundSize: contentHeight ? "100% ".concat(contentHeight, "px") : '100% auto',
|
|
953
|
+
backgroundPosition: 'top center',
|
|
954
|
+
backgroundRepeat: 'no-repeat',
|
|
955
|
+
paddingLeft: theme.spacing[7],
|
|
956
|
+
paddingRight: theme.spacing[7],
|
|
957
|
+
paddingBottom: theme.spacing[9]
|
|
958
|
+
};
|
|
959
|
+
};
|
|
960
|
+
var getEliteBenefitsGridStyles = function (theme) {
|
|
961
|
+
return {
|
|
962
|
+
display: 'grid',
|
|
963
|
+
gridTemplateColumns: '1fr 1fr',
|
|
964
|
+
gap: theme.spacing[3],
|
|
965
|
+
margin: "".concat(theme.spacing[4], " 0 ").concat(theme.spacing[6])
|
|
966
|
+
};
|
|
967
|
+
};
|
|
968
|
+
var getEliteBenefitCardStyles = function (theme) {
|
|
969
|
+
return {
|
|
970
|
+
display: 'flex',
|
|
971
|
+
alignItems: 'center',
|
|
972
|
+
justifyContent: 'center',
|
|
973
|
+
padding: theme.spacing[3],
|
|
974
|
+
backgroundColor: theme.color.text.neutral50,
|
|
975
|
+
borderRadius: theme.border.radius[16]
|
|
976
|
+
};
|
|
977
|
+
};
|
|
978
|
+
|
|
979
|
+
var EliteBenefitsContent = function (_a) {
|
|
980
|
+
var _b = _a.benefits,
|
|
981
|
+
benefits = _b === void 0 ? [] : _b,
|
|
982
|
+
ctaText = _a.ctaText,
|
|
983
|
+
showCta = _a.showCta,
|
|
984
|
+
onCtaClick = _a.onCtaClick,
|
|
985
|
+
_c = _a.hideRedirectionCTA,
|
|
986
|
+
hideRedirectionCTA = _c === void 0 ? false : _c;
|
|
987
|
+
var theme = useTheme();
|
|
988
|
+
return jsxs(Fragment, {
|
|
989
|
+
children: [(benefits === null || benefits === void 0 ? void 0 : benefits.length) > 0 && jsx(Container, __assign({
|
|
990
|
+
css: getEliteBenefitsGridStyles(theme)
|
|
991
|
+
}, {
|
|
992
|
+
children: benefits === null || benefits === void 0 ? void 0 : benefits.map(function (benefit, index) {
|
|
993
|
+
return jsx(Container, __assign({
|
|
994
|
+
css: getEliteBenefitCardStyles(theme)
|
|
995
|
+
}, {
|
|
996
|
+
children: jsx(Typography, __assign({
|
|
997
|
+
variant: 'HM3',
|
|
998
|
+
className: 'ta-center'
|
|
999
|
+
}, {
|
|
1000
|
+
children: benefit
|
|
1001
|
+
}))
|
|
1002
|
+
}), index);
|
|
1003
|
+
})
|
|
1004
|
+
})), showCta && ctaText && !hideRedirectionCTA && jsx(Button, __assign({
|
|
1005
|
+
className: 'w-100p',
|
|
1006
|
+
onClick: onCtaClick
|
|
1007
|
+
}, {
|
|
1008
|
+
children: ctaText
|
|
1009
|
+
}))]
|
|
1010
|
+
});
|
|
1011
|
+
};
|
|
1012
|
+
|
|
1013
|
+
var EliteDropDownContent = function (_a) {
|
|
1014
|
+
var isOpen = _a.isOpen;
|
|
1015
|
+
var theme = useTheme();
|
|
1016
|
+
var _b = useHeaderContext(),
|
|
1017
|
+
eliteDetails = _b.eliteDetails,
|
|
1018
|
+
onLoginButtonClick = _b.onLoginButtonClick,
|
|
1019
|
+
_c = _b.hideEliteRedirectionCTA,
|
|
1020
|
+
hideEliteRedirectionCTA = _c === void 0 ? false : _c;
|
|
1021
|
+
var eliteMetadata = getEliteLoyaltyMetadata(eliteDetails);
|
|
1022
|
+
var _d = useEliteRaven(),
|
|
1023
|
+
isUserLoggedIn = _d.isUserLoggedIn,
|
|
1024
|
+
triggerRavenEvent = _d.triggerRavenEvent;
|
|
1025
|
+
var containerRef = useDropdownAnimation(isOpen).containerRef;
|
|
1026
|
+
var _e = useState(),
|
|
1027
|
+
leftPosition = _e[0],
|
|
1028
|
+
setLeftPosition = _e[1];
|
|
1029
|
+
var _f = useState(),
|
|
1030
|
+
contentHeight = _f[0],
|
|
1031
|
+
setContentHeight = _f[1];
|
|
1032
|
+
var benefits = getEliteHoverModalContent(eliteMetadata);
|
|
1033
|
+
useLayoutEffect(function () {
|
|
1034
|
+
if (!containerRef.current) {
|
|
1035
|
+
return;
|
|
1036
|
+
}
|
|
1037
|
+
var _a = containerRef.current.getBoundingClientRect(),
|
|
1038
|
+
left = _a.left,
|
|
1039
|
+
width = _a.width;
|
|
1040
|
+
setLeftPosition(left - width / 2 + ELITE_DROPDOWN_POSITION_OFFSET);
|
|
1041
|
+
setContentHeight(containerRef.current.scrollHeight);
|
|
1042
|
+
}, [containerRef]);
|
|
1043
|
+
var handleIntersection = useCallback(function () {
|
|
1044
|
+
triggerRavenEvent(RAVEN_EVENTS.CT_LOYALTY_BENEFITS_POPUP_LOAD);
|
|
1045
|
+
}, [triggerRavenEvent]);
|
|
1046
|
+
var handleViewBenefitsClick = useCallback(function () {
|
|
1047
|
+
if (!(eliteMetadata === null || eliteMetadata === void 0 ? void 0 : eliteMetadata.redirectionUrl)) {
|
|
1048
|
+
return;
|
|
1049
|
+
}
|
|
1050
|
+
triggerRavenEvent(RAVEN_EVENTS.UI_ACTION, {
|
|
1051
|
+
action_name: RAVEN_ACTIONS.CT_LOYALTY_VIEW_BENEFITS_CLICK
|
|
1052
|
+
});
|
|
1053
|
+
redirectToEliteUrl(eliteMetadata.redirectionUrl);
|
|
1054
|
+
}, [eliteMetadata, triggerRavenEvent]);
|
|
1055
|
+
var handleEliteLoginClick = useCallback(function () {
|
|
1056
|
+
triggerRavenEvent(RAVEN_EVENTS.UI_ACTION, {
|
|
1057
|
+
action_name: RAVEN_ACTIONS.ELITE_LOGIN_CLICK
|
|
1058
|
+
});
|
|
1059
|
+
onLoginButtonClick({
|
|
1060
|
+
isEliteLogin: true
|
|
1061
|
+
});
|
|
1062
|
+
}, [onLoginButtonClick, triggerRavenEvent]);
|
|
1063
|
+
var showCta = isUserLoggedIn ? !!(eliteMetadata === null || eliteMetadata === void 0 ? void 0 : eliteMetadata.redirectionUrl) : true;
|
|
1064
|
+
var ctaText = isUserLoggedIn ? ELITE_HOVER_BUTTON_TEXT : ELITE_HOVER_LOGIN_BUTTON_TEXT;
|
|
1065
|
+
var onCtaClick = isUserLoggedIn ? handleViewBenefitsClick : handleEliteLoginClick;
|
|
1066
|
+
if (!eliteMetadata) {
|
|
1067
|
+
return null;
|
|
1068
|
+
}
|
|
1069
|
+
return jsx(IntersectionObserver, __assign({
|
|
1070
|
+
onIntersection: handleIntersection
|
|
1071
|
+
}, {
|
|
1072
|
+
children: jsxs(Container, __assign({
|
|
1073
|
+
ref: containerRef,
|
|
1074
|
+
className: 'o-0',
|
|
1075
|
+
css: __assign(__assign({}, getEliteDropdownContainerStyles(theme, contentHeight)), {
|
|
1076
|
+
left: leftPosition && "".concat(leftPosition, "px")
|
|
1077
|
+
})
|
|
1078
|
+
}, {
|
|
1079
|
+
children: [jsx(Container, __assign({
|
|
1080
|
+
className: 'ta-center',
|
|
1081
|
+
css: {
|
|
1082
|
+
marginTop: theme.spacing[9]
|
|
1083
|
+
}
|
|
1084
|
+
}, {
|
|
1085
|
+
children: jsx(EliteText, {
|
|
1086
|
+
width: 120,
|
|
1087
|
+
height: 48
|
|
1088
|
+
})
|
|
1089
|
+
})), jsx(EliteBenefitsContent, {
|
|
1090
|
+
benefits: benefits,
|
|
1091
|
+
showCta: showCta,
|
|
1092
|
+
ctaText: ctaText,
|
|
1093
|
+
onCtaClick: onCtaClick,
|
|
1094
|
+
hideRedirectionCTA: hideEliteRedirectionCTA
|
|
1095
|
+
})]
|
|
1096
|
+
}))
|
|
1097
|
+
}));
|
|
1098
|
+
};
|
|
1099
|
+
|
|
673
1100
|
var ACCOUNT_OPTIONS_POPUP_CONFIG = [{
|
|
674
1101
|
text: 'My Profile',
|
|
675
1102
|
icon: jsx(MyAccount, {
|
|
@@ -738,26 +1165,30 @@ var LoyaltyChip = function (_a) {
|
|
|
738
1165
|
ravenPageName = _b.ravenPageName,
|
|
739
1166
|
_c = _b.ravenPayload,
|
|
740
1167
|
ravenPayload = _c === void 0 ? {} : _c,
|
|
741
|
-
ravenEventName = _b.ravenEventName
|
|
1168
|
+
ravenEventName = _b.ravenEventName,
|
|
1169
|
+
eliteDetails = _b.eliteDetails;
|
|
742
1170
|
var _d = useState(false),
|
|
743
1171
|
isHovered = _d[0],
|
|
744
1172
|
setIsHovered = _d[1];
|
|
745
1173
|
var handleClick = useCallback(function () {
|
|
746
|
-
var _a;
|
|
1174
|
+
var _a, _b;
|
|
747
1175
|
if (handleChipClick) {
|
|
748
1176
|
handleChipClick();
|
|
749
|
-
|
|
750
|
-
var utmSource = (_a = getQueryParam('utm_source')) !== null && _a !== void 0 ? _a : 'organic';
|
|
751
|
-
var defaultPayload = {
|
|
752
|
-
action_name: "loyalty_account_click",
|
|
753
|
-
action_type: 'click',
|
|
754
|
-
u_utm_source: utmSource,
|
|
755
|
-
loyaltyType: ravenLoyaltyTypes(loyaltyType)
|
|
756
|
-
};
|
|
757
|
-
ravenSDKTrigger(isUserLoggedIn, ravenEventName, defaultPayload, ravenPayload, ravenPushCallback, ravenPageName);
|
|
758
|
-
window.location.href = '/all-offers/loyalty-october';
|
|
1177
|
+
return;
|
|
759
1178
|
}
|
|
760
|
-
|
|
1179
|
+
var utmSource = (_a = getQueryParam('utm_source')) !== null && _a !== void 0 ? _a : 'organic';
|
|
1180
|
+
var defaultPayload = {
|
|
1181
|
+
action_name: "loyalty_account_click",
|
|
1182
|
+
action_type: 'click',
|
|
1183
|
+
u_utm_source: utmSource,
|
|
1184
|
+
loyaltyType: ravenLoyaltyTypes(loyaltyType)
|
|
1185
|
+
};
|
|
1186
|
+
ravenSDKTrigger(isUserLoggedIn, ravenEventName, defaultPayload, ravenPayload, ravenPushCallback, ravenPageName);
|
|
1187
|
+
var redirectionUrl = (_b = getFkBlackLoyaltyMetadata(eliteDetails)) === null || _b === void 0 ? void 0 : _b.redirectionUrl;
|
|
1188
|
+
if (redirectionUrl) {
|
|
1189
|
+
redirectToEliteUrl(redirectionUrl);
|
|
1190
|
+
}
|
|
1191
|
+
}, [handleChipClick, loyaltyType, isUserLoggedIn, ravenEventName, ravenPayload, ravenPushCallback, ravenPageName, eliteDetails]);
|
|
761
1192
|
return jsxs(Container, __assign({
|
|
762
1193
|
display: 'flex',
|
|
763
1194
|
position: 'relative',
|
|
@@ -842,6 +1273,7 @@ var LoyaltyType;
|
|
|
842
1273
|
LoyaltyType["InsiderIcon"] = "InsiderIcon";
|
|
843
1274
|
LoyaltyType["InsiderElite"] = "InsiderElite";
|
|
844
1275
|
LoyaltyType["CtLoyalty"] = "CtLoyalty";
|
|
1276
|
+
LoyaltyType["Elite"] = "ELITE";
|
|
845
1277
|
})(LoyaltyType || (LoyaltyType = {}));
|
|
846
1278
|
|
|
847
1279
|
var _a;
|
|
@@ -959,23 +1391,24 @@ var ExpandableItem = function (_a) {
|
|
|
959
1391
|
}));
|
|
960
1392
|
};
|
|
961
1393
|
var RewardsSection = function () {
|
|
962
|
-
var _a
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
var
|
|
1394
|
+
var _a = useHeaderContext(),
|
|
1395
|
+
eliteDetails = _a.eliteDetails,
|
|
1396
|
+
_b = _a.fkSupercoinBurnBalance,
|
|
1397
|
+
superCoinBalance = _b === void 0 ? 0 : _b,
|
|
1398
|
+
_c = _a.walletBalance,
|
|
1399
|
+
walletBalance = _c === void 0 ? 0 : _c,
|
|
1400
|
+
loyaltyLoading = _a.loyaltyLoading,
|
|
1401
|
+
superCoinsLoading = _a.superCoinsLoading,
|
|
1402
|
+
walletLoading = _a.walletLoading,
|
|
1403
|
+
walletChipClick = _a.walletChipClick,
|
|
1404
|
+
supercoinsChipClick = _a.supercoinsChipClick,
|
|
1405
|
+
loyaltyChipClick = _a.loyaltyChipClick,
|
|
1406
|
+
hideWalletChip = _a.hideWalletChip,
|
|
1407
|
+
hideSupercoinsChip = _a.hideSupercoinsChip,
|
|
1408
|
+
hideLoyaltyChip = _a.hideLoyaltyChip;
|
|
1409
|
+
var fkBlackLoyaltyChipData = LOYALTY_DATA[LoyaltyType.FkVip];
|
|
1410
|
+
var hasFkBlackLoyalty = shouldShowFkBlackLoyaltyChip(eliteDetails) && !hideLoyaltyChip && !!fkBlackLoyaltyChipData;
|
|
1411
|
+
var shouldShowLoyalty = loyaltyLoading || hasFkBlackLoyalty;
|
|
979
1412
|
var shouldShowSupercoin = superCoinsLoading || !hideSupercoinsChip;
|
|
980
1413
|
var shouldShowWallet = walletLoading || !hideWalletChip;
|
|
981
1414
|
if (!shouldShowLoyalty && !shouldShowSupercoin && !shouldShowWallet) {
|
|
@@ -995,11 +1428,11 @@ var RewardsSection = function () {
|
|
|
995
1428
|
height: '32px',
|
|
996
1429
|
borderRadius: '8px',
|
|
997
1430
|
backgroundColor: '#efefef'
|
|
998
|
-
}) :
|
|
999
|
-
icon:
|
|
1000
|
-
borderGradient:
|
|
1001
|
-
backgroundGradient:
|
|
1002
|
-
chevronFillColor:
|
|
1431
|
+
}) : hasFkBlackLoyalty && jsx(LoyaltyChip, {
|
|
1432
|
+
icon: fkBlackLoyaltyChipData.icon,
|
|
1433
|
+
borderGradient: fkBlackLoyaltyChipData.borderGradient,
|
|
1434
|
+
backgroundGradient: fkBlackLoyaltyChipData.backgroundGradient,
|
|
1435
|
+
chevronFillColor: fkBlackLoyaltyChipData.chevronFillColor || '#FFF',
|
|
1003
1436
|
handleChipClick: loyaltyChipClick
|
|
1004
1437
|
}), superCoinsLoading ? jsx(Container, {
|
|
1005
1438
|
width: '50px',
|
|
@@ -1031,6 +1464,77 @@ var RewardsSection = function () {
|
|
|
1031
1464
|
}));
|
|
1032
1465
|
};
|
|
1033
1466
|
|
|
1467
|
+
var ELITE_STATUS_LABEL = {
|
|
1468
|
+
ACTIVE: 'ACTIVE',
|
|
1469
|
+
EXPIRING_SOON: 'EXPIRING SOON'
|
|
1470
|
+
};
|
|
1471
|
+
var eliteStatusBadgeStyles = function (theme, isExpiringSoon) {
|
|
1472
|
+
return {
|
|
1473
|
+
background: isExpiringSoon ? theme.color.badge.alertYellow500 : theme.color.badge.successGreen500,
|
|
1474
|
+
borderRadius: '4px',
|
|
1475
|
+
padding: '4px'
|
|
1476
|
+
};
|
|
1477
|
+
};
|
|
1478
|
+
var EliteStatusBadge = function (_a) {
|
|
1479
|
+
var metaData = _a.metaData;
|
|
1480
|
+
var theme = useTheme();
|
|
1481
|
+
if (!isEliteAccountActive(metaData)) {
|
|
1482
|
+
return null;
|
|
1483
|
+
}
|
|
1484
|
+
var isExpiringSoon = metaData.displayStatus === DISPLAY_STATUS.EXPIRING_SOON;
|
|
1485
|
+
return jsx(Container, __assign({
|
|
1486
|
+
css: eliteStatusBadgeStyles(theme, isExpiringSoon)
|
|
1487
|
+
}, {
|
|
1488
|
+
children: jsx(Typography, __assign({
|
|
1489
|
+
color: 'neutral750',
|
|
1490
|
+
variant: 'B4CAPS'
|
|
1491
|
+
}, {
|
|
1492
|
+
children: isExpiringSoon ? ELITE_STATUS_LABEL.EXPIRING_SOON : ELITE_STATUS_LABEL.ACTIVE
|
|
1493
|
+
}))
|
|
1494
|
+
}));
|
|
1495
|
+
};
|
|
1496
|
+
|
|
1497
|
+
var AccountEliteStrip = function (_a) {
|
|
1498
|
+
var metaData = _a.metaData;
|
|
1499
|
+
var theme = useTheme();
|
|
1500
|
+
var triggerRavenEvent = useEliteRaven().triggerRavenEvent;
|
|
1501
|
+
var redirectionUrl = metaData.redirectionUrl;
|
|
1502
|
+
var _b = useMemo(function () {
|
|
1503
|
+
return getAccountEliteStripText(metaData);
|
|
1504
|
+
}, [metaData]),
|
|
1505
|
+
prefix = _b.prefix,
|
|
1506
|
+
suffix = _b.suffix;
|
|
1507
|
+
var handleStripClick = useCallback(function () {
|
|
1508
|
+
if (!redirectionUrl) {
|
|
1509
|
+
return;
|
|
1510
|
+
}
|
|
1511
|
+
triggerRavenEvent(RAVEN_EVENTS.UI_ACTION, {
|
|
1512
|
+
action_name: RAVEN_ACTIONS.CT_LOYALTY_VIEW_BENEFITS_CLICK
|
|
1513
|
+
});
|
|
1514
|
+
redirectToEliteUrl(redirectionUrl);
|
|
1515
|
+
}, [redirectionUrl, triggerRavenEvent]);
|
|
1516
|
+
return jsxs(Container, __assign({
|
|
1517
|
+
className: "account-elite-section ".concat(redirectionUrl ? 'c-pointer' : ''),
|
|
1518
|
+
css: getAccountEliteSectionStyles(theme),
|
|
1519
|
+
onClick: handleStripClick
|
|
1520
|
+
}, {
|
|
1521
|
+
children: [jsxs(Typography, __assign({
|
|
1522
|
+
variant: 'B2',
|
|
1523
|
+
className: 'flex'
|
|
1524
|
+
}, {
|
|
1525
|
+
children: [prefix, " ", jsx(EliteText, {
|
|
1526
|
+
className: 'elite-txt-svg',
|
|
1527
|
+
style: getEliteTxtSvgStyles(theme)
|
|
1528
|
+
}), " ", suffix, ' ', redirectionUrl && jsx(HeaderChevronRight, {
|
|
1529
|
+
width: 20,
|
|
1530
|
+
height: 20
|
|
1531
|
+
})]
|
|
1532
|
+
})), jsx(EliteStatusBadge, {
|
|
1533
|
+
metaData: metaData
|
|
1534
|
+
})]
|
|
1535
|
+
}));
|
|
1536
|
+
};
|
|
1537
|
+
|
|
1034
1538
|
var AccountDropdownContent = function (_a) {
|
|
1035
1539
|
var isOpen = _a.isOpen;
|
|
1036
1540
|
var _b = useHeaderContext(),
|
|
@@ -1040,21 +1544,25 @@ var AccountDropdownContent = function (_a) {
|
|
|
1040
1544
|
countryCode = _b.countryCode,
|
|
1041
1545
|
userDetailsLoading = _b.userDetailsLoading,
|
|
1042
1546
|
loyaltyType = _b.loyaltyType,
|
|
1547
|
+
eliteDetails = _b.eliteDetails,
|
|
1548
|
+
_c = _b.hideEliteRedirectionCTA,
|
|
1549
|
+
hideEliteRedirectionCTA = _c === void 0 ? false : _c,
|
|
1043
1550
|
isUserLoggedIn = _b.isUserLoggedIn,
|
|
1044
1551
|
ravenEventName = _b.ravenEventName,
|
|
1045
1552
|
ravenPageName = _b.ravenPageName,
|
|
1046
|
-
|
|
1047
|
-
ravenPayload =
|
|
1553
|
+
_d = _b.ravenPayload,
|
|
1554
|
+
ravenPayload = _d === void 0 ? {} : _d,
|
|
1048
1555
|
ravenPushCallback = _b.ravenPushCallback;
|
|
1556
|
+
var eliteMetadata = getEliteLoyaltyMetadata(eliteDetails);
|
|
1049
1557
|
var containerRef = useDropdownAnimation(isOpen).containerRef;
|
|
1050
|
-
var
|
|
1558
|
+
var _e = useMemo(function () {
|
|
1051
1559
|
return {
|
|
1052
1560
|
userGreeting: userName ? "Hello ".concat(userName, "!") : '',
|
|
1053
1561
|
phoneNumber: countryCode && userMobileNumber ? "".concat(countryCode, " ").concat(userMobileNumber) : ''
|
|
1054
1562
|
};
|
|
1055
1563
|
}, [userName, userMobileNumber, countryCode]),
|
|
1056
|
-
userGreeting =
|
|
1057
|
-
phoneNumber =
|
|
1564
|
+
userGreeting = _e.userGreeting,
|
|
1565
|
+
phoneNumber = _e.phoneNumber;
|
|
1058
1566
|
var generateRavenPayload = function (actionName) {
|
|
1059
1567
|
var _a;
|
|
1060
1568
|
return {
|
|
@@ -1127,12 +1635,18 @@ var AccountDropdownContent = function (_a) {
|
|
|
1127
1635
|
width: "".concat(ACCOUNT_OPTIONS_CONTAINER_WIDTH, "px"),
|
|
1128
1636
|
background: '#FFF1EC'
|
|
1129
1637
|
}, {
|
|
1130
|
-
children: [
|
|
1131
|
-
|
|
1132
|
-
height: '76px'
|
|
1638
|
+
children: [jsxs(Container, __assign({
|
|
1639
|
+
css: getAccountUnlockedBgStyles(isEliteAccountActive(eliteMetadata), EliteAccountStripBg)
|
|
1133
1640
|
}, {
|
|
1134
|
-
children:
|
|
1135
|
-
|
|
1641
|
+
children: [jsx(Container, __assign({
|
|
1642
|
+
padding: '16px',
|
|
1643
|
+
height: '76px'
|
|
1644
|
+
}, {
|
|
1645
|
+
children: renderUserData()
|
|
1646
|
+
})), jsx(RewardsSection, {})]
|
|
1647
|
+
})), hasEliteLoyaltyDetails(eliteDetails) && eliteMetadata && !hideEliteRedirectionCTA && jsx(AccountEliteStrip, {
|
|
1648
|
+
metaData: eliteMetadata
|
|
1649
|
+
}), jsxs(Container, __assign({
|
|
1136
1650
|
display: 'flex',
|
|
1137
1651
|
flexDirection: 'column',
|
|
1138
1652
|
padding: '8px',
|
|
@@ -1320,16 +1834,19 @@ var HeaderContent = function () {
|
|
|
1320
1834
|
showAllLobs = _c === void 0 ? false : _c,
|
|
1321
1835
|
isUserLoggedIn = _b.isUserLoggedIn,
|
|
1322
1836
|
loyaltyType = _b.loyaltyType,
|
|
1837
|
+
eliteDetails = _b.eliteDetails,
|
|
1323
1838
|
_d = _b.isNovacThemeEnabled,
|
|
1324
1839
|
isNovacThemeEnabled = _d === void 0 ? false : _d,
|
|
1325
1840
|
_e = _b.ravenPayload,
|
|
1326
1841
|
ravenPayload = _e === void 0 ? {} : _e,
|
|
1327
1842
|
ravenPushCallback = _b.ravenPushCallback,
|
|
1328
1843
|
ravenPageName = _b.ravenPageName,
|
|
1329
|
-
ravenEventName = _b.ravenEventName
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1844
|
+
ravenEventName = _b.ravenEventName,
|
|
1845
|
+
_f = _b.hideNavbar,
|
|
1846
|
+
hideNavbar = _f === void 0 ? false : _f;
|
|
1847
|
+
var _g = useState(false),
|
|
1848
|
+
scrolled = _g[0],
|
|
1849
|
+
setScrolled = _g[1];
|
|
1333
1850
|
useEffect(function () {
|
|
1334
1851
|
var handleScroll = function () {
|
|
1335
1852
|
setScrolled(window.scrollY >= 50);
|
|
@@ -1346,15 +1863,15 @@ var HeaderContent = function () {
|
|
|
1346
1863
|
hoverColor = headerTheme.hoverColor,
|
|
1347
1864
|
fkcompanyColor = headerTheme.fkcompanyColor,
|
|
1348
1865
|
typographyColor = headerTheme.typographyColor;
|
|
1349
|
-
var
|
|
1866
|
+
var _h = useHoverDropdown({
|
|
1350
1867
|
openDelay: 0
|
|
1351
1868
|
}),
|
|
1352
|
-
isDropdownVisible =
|
|
1353
|
-
hoveredElemIndex =
|
|
1354
|
-
handleOnMouseEnter =
|
|
1355
|
-
handleOnMouseLeave =
|
|
1356
|
-
handleDropdownMouseEnter =
|
|
1357
|
-
handleDropdownMouseLeave =
|
|
1869
|
+
isDropdownVisible = _h.isDropdownVisible,
|
|
1870
|
+
hoveredElemIndex = _h.hoveredElemIndex,
|
|
1871
|
+
handleOnMouseEnter = _h.handleOnMouseEnter,
|
|
1872
|
+
handleOnMouseLeave = _h.handleOnMouseLeave,
|
|
1873
|
+
handleDropdownMouseEnter = _h.handleDropdownMouseEnter,
|
|
1874
|
+
handleDropdownMouseLeave = _h.handleDropdownMouseLeave;
|
|
1358
1875
|
var utmSource = (_a = getQueryParam('utm_source')) !== null && _a !== void 0 ? _a : 'organic';
|
|
1359
1876
|
var createPayload = useCallback(function (actionName, actionType) {
|
|
1360
1877
|
return {
|
|
@@ -1365,8 +1882,9 @@ var HeaderContent = function () {
|
|
|
1365
1882
|
};
|
|
1366
1883
|
}, [utmSource, loyaltyType]);
|
|
1367
1884
|
var handleNavbarOptionsClick = useCallback(function (option) {
|
|
1885
|
+
var _a;
|
|
1368
1886
|
if (option.isClickable && option.link) {
|
|
1369
|
-
var actionName = "".concat(option.text.toLowerCase().replace(/\s/g, ''), "_header_click");
|
|
1887
|
+
var actionName = "".concat((_a = option.text) === null || _a === void 0 ? void 0 : _a.toLowerCase().replace(/\s/g, ''), "_header_click");
|
|
1370
1888
|
var payload = createPayload(actionName, 'click');
|
|
1371
1889
|
ravenSDKTrigger(isUserLoggedIn, ravenEventName, payload, ravenPayload, ravenPushCallback, ravenPageName);
|
|
1372
1890
|
window.location.href = option.link;
|
|
@@ -1378,7 +1896,8 @@ var HeaderContent = function () {
|
|
|
1378
1896
|
window.location.href = '/';
|
|
1379
1897
|
}, [createPayload, isUserLoggedIn, ravenEventName, ravenPayload, ravenPushCallback, ravenPageName]);
|
|
1380
1898
|
var triggerRavenEventOnHover = useCallback(function (option) {
|
|
1381
|
-
var
|
|
1899
|
+
var _a;
|
|
1900
|
+
var actionName = "".concat((_a = option.text) === null || _a === void 0 ? void 0 : _a.toLowerCase().replace(/\s/g, ''), "_header_hover");
|
|
1382
1901
|
var payload = createPayload(actionName, 'hover');
|
|
1383
1902
|
ravenSDKTrigger(isUserLoggedIn, ravenEventName, payload, ravenPayload, ravenPushCallback, ravenPageName);
|
|
1384
1903
|
}, [createPayload, isUserLoggedIn, ravenEventName, ravenPayload, ravenPushCallback, ravenPageName]);
|
|
@@ -1432,7 +1951,7 @@ var HeaderContent = function () {
|
|
|
1432
1951
|
}), jsx(Fkcompany, {
|
|
1433
1952
|
color: fkcompanyColor
|
|
1434
1953
|
})]
|
|
1435
|
-
})), jsxs(Container, __assign({
|
|
1954
|
+
})), !hideNavbar && jsxs(Container, __assign({
|
|
1436
1955
|
display: 'flex',
|
|
1437
1956
|
flexDirection: 'row',
|
|
1438
1957
|
alignItems: 'center',
|
|
@@ -1452,11 +1971,16 @@ var HeaderContent = function () {
|
|
|
1452
1971
|
RightIcon = option.rightIcon,
|
|
1453
1972
|
isHoverable = option.isHoverable;
|
|
1454
1973
|
var isHovered = hoveredElemIndex === index;
|
|
1974
|
+
var isEliteNavOption = text === ELITE_NAV_TEXT;
|
|
1975
|
+
if (isEliteNavOption && !hasEliteLoyaltyDetails(eliteDetails)) {
|
|
1976
|
+
return null;
|
|
1977
|
+
}
|
|
1978
|
+
var isDropdownOpen = hoveredElemIndex === index && isHoverable && isDropdownVisible;
|
|
1455
1979
|
return jsxs(Container, {
|
|
1456
|
-
children: [
|
|
1980
|
+
children: [jsx(Container, __assign({
|
|
1457
1981
|
onMouseEnter: function () {
|
|
1458
1982
|
handleOnMouseEnter(index);
|
|
1459
|
-
if (option.isHoverable) {
|
|
1983
|
+
if (option.isHoverable && !isEliteNavOption) {
|
|
1460
1984
|
triggerRavenEventOnHover(option);
|
|
1461
1985
|
}
|
|
1462
1986
|
},
|
|
@@ -1464,7 +1988,7 @@ var HeaderContent = function () {
|
|
|
1464
1988
|
display: 'flex',
|
|
1465
1989
|
flexDirection: 'row',
|
|
1466
1990
|
alignItems: 'center',
|
|
1467
|
-
padding: '8px 12px 8px 12px',
|
|
1991
|
+
padding: isEliteNavOption ? '' : '8px 12px 8px 12px',
|
|
1468
1992
|
cursor: 'pointer',
|
|
1469
1993
|
position: 'relative',
|
|
1470
1994
|
columnGap: 8,
|
|
@@ -1473,37 +1997,45 @@ var HeaderContent = function () {
|
|
|
1473
1997
|
return handleNavbarOptionsClick(option);
|
|
1474
1998
|
}
|
|
1475
1999
|
}, {
|
|
1476
|
-
children:
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
2000
|
+
children: isEliteNavOption ? jsx(EliteLoyaltyPill, {
|
|
2001
|
+
state: getElitePillState(eliteDetails, isUserLoggedIn),
|
|
2002
|
+
animate: true,
|
|
2003
|
+
onHover: function () {}
|
|
2004
|
+
}) : jsxs(Fragment, {
|
|
2005
|
+
children: [LeftIcon && jsx(LeftIcon, {
|
|
2006
|
+
color: isHovered ? hoverColor : typographyColor
|
|
2007
|
+
}), jsxs(Container, __assign({
|
|
2008
|
+
display: 'flex',
|
|
2009
|
+
flexDirection: 'row',
|
|
2010
|
+
alignItems: 'center'
|
|
1487
2011
|
}, {
|
|
1488
|
-
children:
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
2012
|
+
children: [jsx(Typography, __assign({
|
|
2013
|
+
variant: 'B2',
|
|
2014
|
+
colorCode: isHovered ? hoverColor : typographyColor,
|
|
2015
|
+
isClickable: true
|
|
2016
|
+
}, {
|
|
2017
|
+
children: text
|
|
2018
|
+
})), RightIcon && jsx(RightIcon, {
|
|
2019
|
+
width: 20,
|
|
2020
|
+
height: 20,
|
|
2021
|
+
fill: isHovered ? hoverColor : typographyColor
|
|
2022
|
+
})]
|
|
2023
|
+
}))]
|
|
2024
|
+
})
|
|
2025
|
+
})), jsx(HeaderAnimatedMask, __assign({
|
|
2026
|
+
show: isDropdownOpen,
|
|
1497
2027
|
marginTop: '64px',
|
|
1498
2028
|
handleDropdownMouseEnter: handleDropdownMouseEnter,
|
|
1499
2029
|
handleDropdownMouseLeave: handleDropdownMouseLeave,
|
|
1500
2030
|
onMaskClick: handleDropdownMouseLeave
|
|
1501
2031
|
}, {
|
|
1502
|
-
children: jsx(
|
|
1503
|
-
isOpen:
|
|
2032
|
+
children: isEliteNavOption ? jsx(EliteDropDownContent, {
|
|
2033
|
+
isOpen: isDropdownOpen
|
|
2034
|
+
}) : jsx(BusinessDropdownContent, {
|
|
2035
|
+
isOpen: isDropdownOpen
|
|
1504
2036
|
})
|
|
1505
2037
|
}))]
|
|
1506
|
-
});
|
|
2038
|
+
}, "nav-option-".concat(index));
|
|
1507
2039
|
})
|
|
1508
2040
|
})), isUserLoggedIn && jsx(Divider, {
|
|
1509
2041
|
css: {
|
|
@@ -1520,7 +2052,9 @@ var HeaderContent = function () {
|
|
|
1520
2052
|
}, {
|
|
1521
2053
|
children: jsx(UserAccount, {})
|
|
1522
2054
|
})) : jsx(Button, __assign({
|
|
1523
|
-
onClick:
|
|
2055
|
+
onClick: function () {
|
|
2056
|
+
return onLoginButtonClick();
|
|
2057
|
+
},
|
|
1524
2058
|
css: __assign({
|
|
1525
2059
|
width: 153,
|
|
1526
2060
|
height: 40
|