@cleartrip/ct-design-header 1.2.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.
Files changed (35) hide show
  1. package/dist/EliteDropDown/EliteBenefitsContent.d.ts +11 -0
  2. package/dist/EliteDropDown/EliteBenefitsContent.d.ts.map +1 -0
  3. package/dist/EliteDropDown/index.d.ts +7 -0
  4. package/dist/EliteDropDown/index.d.ts.map +1 -0
  5. package/dist/EliteDropDown/style.d.ts +10 -0
  6. package/dist/EliteDropDown/style.d.ts.map +1 -0
  7. package/dist/Header.d.ts.map +1 -1
  8. package/dist/RewardsSection/LoyaltyChips.d.ts.map +1 -1
  9. package/dist/RewardsSection/index.d.ts.map +1 -1
  10. package/dist/UserAccount/AccountEliteStrip/EliteStatusBadge.d.ts +8 -0
  11. package/dist/UserAccount/AccountEliteStrip/EliteStatusBadge.d.ts.map +1 -0
  12. package/dist/UserAccount/AccountEliteStrip/index.d.ts +8 -0
  13. package/dist/UserAccount/AccountEliteStrip/index.d.ts.map +1 -0
  14. package/dist/UserAccount/UserAccountDropdown.d.ts.map +1 -1
  15. package/dist/constants.d.ts +29 -3
  16. package/dist/constants.d.ts.map +1 -1
  17. package/dist/ct-design-header.browser.cjs.js +1 -1
  18. package/dist/ct-design-header.browser.cjs.js.map +1 -1
  19. package/dist/ct-design-header.browser.esm.js +1 -1
  20. package/dist/ct-design-header.browser.esm.js.map +1 -1
  21. package/dist/ct-design-header.cjs.js +620 -86
  22. package/dist/ct-design-header.cjs.js.map +1 -1
  23. package/dist/ct-design-header.esm.js +622 -88
  24. package/dist/ct-design-header.esm.js.map +1 -1
  25. package/dist/ct-design-header.umd.js +620 -90
  26. package/dist/ct-design-header.umd.js.map +1 -1
  27. package/dist/hooks/useEliteRaven.d.ts +25 -0
  28. package/dist/hooks/useEliteRaven.d.ts.map +1 -0
  29. package/dist/styles.d.ts +15 -0
  30. package/dist/styles.d.ts.map +1 -1
  31. package/dist/type.d.ts +12 -2
  32. package/dist/type.d.ts.map +1 -1
  33. package/dist/utils.d.ts +33 -1
  34. package/dist/utils.d.ts.map +1 -1
  35. 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 { Offers, BusinessBag, ChevronDown, MyTrips, SupportIcon, ArrowRight, MyAccount, SavedCard, Travellers, HiFive, Wallet, SettingsCog, PrivacyRights, HeaderChevronRight, FkBlackIcon, FkGold, InsiderIcon, InsiderElite, CtLoyalty, Supercoin, Signout, CTLogo, Fkcompany } from '@cleartrip/ct-design-icons';
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(),
@@ -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
- } else {
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
- }, [handleChipClick, loyaltyType, isUserLoggedIn, ravenEventName, ravenPayload, ravenPushCallback, ravenPageName]);
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
- var _b = useHeaderContext(),
964
- selectedLoyaltyType = _b.loyaltyType,
965
- _c = _b.fkSupercoinBurnBalance,
966
- superCoinBalance = _c === void 0 ? 0 : _c,
967
- _d = _b.walletBalance,
968
- walletBalance = _d === void 0 ? 0 : _d,
969
- loyaltyLoading = _b.loyaltyLoading,
970
- superCoinsLoading = _b.superCoinsLoading,
971
- walletLoading = _b.walletLoading,
972
- walletChipClick = _b.walletChipClick,
973
- supercoinsChipClick = _b.supercoinsChipClick,
974
- loyaltyChipClick = _b.loyaltyChipClick,
975
- hideWalletChip = _b.hideWalletChip,
976
- hideSupercoinsChip = _b.hideSupercoinsChip,
977
- hideLoyaltyChip = _b.hideLoyaltyChip;
978
- var shouldShowLoyalty = loyaltyLoading || selectedLoyaltyType && LOYALTY_DATA[selectedLoyaltyType] && !hideLoyaltyChip;
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
- }) : selectedLoyaltyType && LOYALTY_DATA[selectedLoyaltyType] && !hideLoyaltyChip && jsx(LoyaltyChip, {
999
- icon: LOYALTY_DATA[selectedLoyaltyType].icon,
1000
- borderGradient: LOYALTY_DATA[selectedLoyaltyType].borderGradient,
1001
- backgroundGradient: LOYALTY_DATA[selectedLoyaltyType].backgroundGradient,
1002
- chevronFillColor: ((_a = LOYALTY_DATA[selectedLoyaltyType]) === null || _a === void 0 ? void 0 : _a.chevronFillColor) || '#FFF',
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
- _c = _b.ravenPayload,
1047
- ravenPayload = _c === void 0 ? {} : _c,
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 _d = useMemo(function () {
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 = _d.userGreeting,
1057
- phoneNumber = _d.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: [jsx(Container, __assign({
1131
- padding: '16px',
1132
- height: '76px'
1638
+ children: [jsxs(Container, __assign({
1639
+ css: getAccountUnlockedBgStyles(isEliteAccountActive(eliteMetadata), EliteAccountStripBg)
1133
1640
  }, {
1134
- children: renderUserData()
1135
- })), jsx(RewardsSection, {}), jsxs(Container, __assign({
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
- var _f = useState(false),
1331
- scrolled = _f[0],
1332
- setScrolled = _f[1];
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 _g = useHoverDropdown({
1866
+ var _h = useHoverDropdown({
1350
1867
  openDelay: 0
1351
1868
  }),
1352
- isDropdownVisible = _g.isDropdownVisible,
1353
- hoveredElemIndex = _g.hoveredElemIndex,
1354
- handleOnMouseEnter = _g.handleOnMouseEnter,
1355
- handleOnMouseLeave = _g.handleOnMouseLeave,
1356
- handleDropdownMouseEnter = _g.handleDropdownMouseEnter,
1357
- handleDropdownMouseLeave = _g.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 actionName = "".concat(option.text.toLowerCase().replace(/\s/g, ''), "_header_hover");
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: [jsxs(Container, __assign({
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: [jsx(LeftIcon, {
1477
- color: isHovered ? hoverColor : typographyColor
1478
- }), jsxs(Container, __assign({
1479
- display: 'flex',
1480
- flexDirection: 'row',
1481
- alignItems: 'center'
1482
- }, {
1483
- children: [jsx(Typography, __assign({
1484
- variant: 'B2',
1485
- colorCode: isHovered ? hoverColor : typographyColor,
1486
- isClickable: true
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: text
1489
- })), RightIcon && jsx(RightIcon, {
1490
- width: 20,
1491
- height: 20,
1492
- fill: isHovered ? hoverColor : typographyColor
1493
- })]
1494
- }))]
1495
- }), "nav-option-".concat(index)), jsx(HeaderAnimatedMask, __assign({
1496
- show: hoveredElemIndex === index && isHoverable && isDropdownVisible,
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(BusinessDropdownContent, {
1503
- isOpen: hoveredElemIndex === index && isHoverable && isDropdownVisible
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: onLoginButtonClick,
2055
+ onClick: function () {
2056
+ return onLoginButtonClick();
2057
+ },
1524
2058
  css: __assign({
1525
2059
  width: 153,
1526
2060
  height: 40