@cleartrip/ct-design-header 1.2.0-SNAPSHOT-commonHeader.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 (47) hide show
  1. package/dist/BusinessDropdown/index.d.ts +3 -0
  2. package/dist/BusinessDropdown/index.d.ts.map +1 -0
  3. package/dist/Header.d.ts +6 -0
  4. package/dist/Header.d.ts.map +1 -0
  5. package/dist/LobsHeader/index.d.ts +5 -0
  6. package/dist/LobsHeader/index.d.ts.map +1 -0
  7. package/dist/LobsHeader/type.d.ts +4 -0
  8. package/dist/LobsHeader/type.d.ts.map +1 -0
  9. package/dist/Mask/index.d.ts +5 -0
  10. package/dist/Mask/index.d.ts.map +1 -0
  11. package/dist/Mask/type.d.ts +7 -0
  12. package/dist/Mask/type.d.ts.map +1 -0
  13. package/dist/RewardsSection/LoyaltyChips.d.ts +10 -0
  14. package/dist/RewardsSection/LoyaltyChips.d.ts.map +1 -0
  15. package/dist/RewardsSection/index.d.ts +5 -0
  16. package/dist/RewardsSection/index.d.ts.map +1 -0
  17. package/dist/RewardsSection/loyaltyTypes.d.ts +29 -0
  18. package/dist/RewardsSection/loyaltyTypes.d.ts.map +1 -0
  19. package/dist/UserAccount/UserAccountDropdown.d.ts +6 -0
  20. package/dist/UserAccount/UserAccountDropdown.d.ts.map +1 -0
  21. package/dist/UserAccount/accountOptions.d.ts +8 -0
  22. package/dist/UserAccount/accountOptions.d.ts.map +1 -0
  23. package/dist/UserAccount/index.d.ts +5 -0
  24. package/dist/UserAccount/index.d.ts.map +1 -0
  25. package/dist/UserAccount/type.d.ts +9 -0
  26. package/dist/UserAccount/type.d.ts.map +1 -0
  27. package/dist/constants.d.ts +52 -0
  28. package/dist/constants.d.ts.map +1 -0
  29. package/dist/ct-design-header.browser.cjs.js +2 -0
  30. package/dist/ct-design-header.browser.cjs.js.map +1 -0
  31. package/dist/ct-design-header.browser.esm.js +2 -0
  32. package/dist/ct-design-header.browser.esm.js.map +1 -0
  33. package/dist/ct-design-header.cjs.js +469 -0
  34. package/dist/ct-design-header.cjs.js.map +1 -0
  35. package/dist/ct-design-header.esm.js +467 -0
  36. package/dist/ct-design-header.esm.js.map +1 -0
  37. package/dist/ct-design-header.umd.js +495 -0
  38. package/dist/ct-design-header.umd.js.map +1 -0
  39. package/dist/hooks/useDropdownAnimation.d.ts +7 -0
  40. package/dist/hooks/useDropdownAnimation.d.ts.map +1 -0
  41. package/dist/hooks/useHoverDropdown.d.ts +14 -0
  42. package/dist/hooks/useHoverDropdown.d.ts.map +1 -0
  43. package/dist/index.d.ts +3 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/type.d.ts +38 -0
  46. package/dist/type.d.ts.map +1 -0
  47. package/package.json +45 -0
@@ -0,0 +1,469 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var ctDesignContainer = require('@cleartrip/ct-design-container');
6
+ var ctDesignTypography = require('@cleartrip/ct-design-typography');
7
+ var ctDesignButton = require('@cleartrip/ct-design-button');
8
+ var ctDesignTransition = require('@cleartrip/ct-design-transition');
9
+ var ctDesignDivider = require('@cleartrip/ct-design-divider');
10
+ var ctDesignIcons = require('@cleartrip/ct-design-icons');
11
+ var react = require('react');
12
+ var ctDesignShimmer = require('@cleartrip/ct-design-shimmer');
13
+
14
+ var OFFERS_URL = 'all-offers/?categories=flights';
15
+ var MY_TRIPS_URL = '/account/trips';
16
+ var SUPPORT_URL = '/support';
17
+ var NAVBAR_OPTIONS = [
18
+ {
19
+ lefticon: ctDesignIcons.Offers,
20
+ text: 'Offers',
21
+ isHoverable: false,
22
+ isClickable: true,
23
+ link: OFFERS_URL,
24
+ },
25
+ {
26
+ lefticon: ctDesignIcons.BusinessBag,
27
+ text: 'Business',
28
+ rightIcon: ctDesignIcons.ChevronDown,
29
+ isHoverable: true,
30
+ },
31
+ {
32
+ lefticon: ctDesignIcons.MyTrips,
33
+ text: 'My Trips',
34
+ isHoverable: false,
35
+ isClickable: true,
36
+ link: MY_TRIPS_URL,
37
+ },
38
+ {
39
+ lefticon: ctDesignIcons.SupportIcon,
40
+ text: 'Support',
41
+ isHoverable: false,
42
+ isClickable: true,
43
+ link: SUPPORT_URL,
44
+ },
45
+ ];
46
+ var LOBS = {
47
+ FLIGHTS: 'Flights',
48
+ HOTELS: 'Hotels',
49
+ TRAIN: 'Trains',
50
+ PACKAGES: 'Packages',
51
+ BUSES: 'Buses',
52
+ };
53
+ var LOB_DATA = [
54
+ {
55
+ title: LOBS.FLIGHTS,
56
+ image: 'https://rukmini-ct.flixcart.com/f_auto,w_48,h_48,dpr_2/offermgmt-prod/offermgmt/images/banner/flight_uhp.png?cache=true',
57
+ link: '/flights',
58
+ },
59
+ {
60
+ title: LOBS.HOTELS,
61
+ image: 'https://rukmini-ct.flixcart.com/f_auto,w_48,h_48,dpr_2/offermgmt-prod/offermgmt/images/banner/hotel_uhp.png?cache=true',
62
+ link: '/hotels',
63
+ },
64
+ {
65
+ title: LOBS.BUSES,
66
+ image: 'https://rukmini-ct.flixcart.com/f_auto,w_40,h_40,dpr_2/offermgmt-prod/offermgmt/images/banner/bus_uhp.png?cache=true',
67
+ link: '/bus',
68
+ },
69
+ {
70
+ title: LOBS.TRAIN,
71
+ image: 'https://rukmini-ct.flixcart.com/f_auto,w_40,h_40,dpr_2/offermgmt-prod/offermgmt/images/banner/train_uhp.png?cache=true',
72
+ link: '/',
73
+ },
74
+ {
75
+ title: LOBS.PACKAGES,
76
+ image: 'https://rukmini-ct.flixcart.com/f_auto,w_40,h_40,dpr_2/offermgmt-prod/offermgmt/images/banner/holiday_uhp.png?cache=true',
77
+ link: '/#',
78
+ },
79
+ ];
80
+ var bdConfig = [
81
+ {
82
+ title: 'AgentBox',
83
+ subtitle: 'For travel agents',
84
+ details: 'One-stop travel solution offering the best deals to our travel agency partners',
85
+ },
86
+ {
87
+ title: 'OutOfOffice',
88
+ subtitle: 'For startups, corporates and SMEs',
89
+ details: 'Manage corporate business travel, smartly',
90
+ },
91
+ {
92
+ title: 'MICE',
93
+ subtitle: 'For corporate events',
94
+ details: 'An end-to-end management solution for all your corporate events',
95
+ },
96
+ {
97
+ title: 'API',
98
+ subtitle: 'For developers',
99
+ details: 'Unlock seamless integration and scale with our powerful, reliable APIs',
100
+ },
101
+ ];
102
+ var BUSINESS_DROPDOWN_HEADING = 'Other business services';
103
+
104
+ var LobsHeader = function (_a) {
105
+ var selectedLOB = _a.selectedLOB;
106
+ return (jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'flex p-4 flex-middle flex-center p-sticky', css: {
107
+ gap: 40,
108
+ height: 64,
109
+ background: ' #F3F5FA',
110
+ top: 64,
111
+ zIndex: 2,
112
+ } }, { children: LOB_DATA.map(function (item, index) {
113
+ return (jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-middle c-pointer', css: {
114
+ gap: 8,
115
+ background: selectedLOB === item.title ? '#FFFFFF' : 'transparent',
116
+ borderRadius: selectedLOB === item.title ? '40px' : '0',
117
+ padding: selectedLOB === item.title ? '8px 16px 8px 8px' : '0',
118
+ }, onClick: function () {
119
+ window.location.href = item.link;
120
+ } }, { children: [jsxRuntime.jsx("img", { src: item.image, alt: item.title, width: 32, height: 32 }), jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'P1', style: { fontWeight: selectedLOB === item.title ? 600 : 500 }, isClickable: true }, { children: item.title }))] }), index));
121
+ }) })));
122
+ };
123
+
124
+ function Mask(_a) {
125
+ var children = _a.children, onMaskClick = _a.onMaskClick, show = _a.show, marginTop = _a.marginTop;
126
+ react.useEffect(function () {
127
+ if (show) {
128
+ document.body.style.overflow = 'hidden';
129
+ }
130
+ return function () {
131
+ document.body.style.overflow = 'initial';
132
+ };
133
+ }, [show]);
134
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [show && (jsxRuntime.jsx(ctDesignContainer.Container, { id: 'mask-container', css: {
135
+ position: 'fixed',
136
+ backgroundColor: '#000',
137
+ opacity: 0.4,
138
+ width: '100%',
139
+ height: '100vh',
140
+ left: 0,
141
+ top: marginTop || 0,
142
+ zIndex: 9,
143
+ }, onClick: onMaskClick })), show && children] }));
144
+ }
145
+
146
+ var useHoverDropdown = function (_a) {
147
+ var _b = _a === void 0 ? {} : _a, _c = _b.closeDelay, closeDelay = _c === void 0 ? 300 : _c, _d = _b.openDelay, openDelay = _d === void 0 ? 500 : _d;
148
+ var _e = react.useState(false), isDropdownVisible = _e[0], setIsDropdownVisible = _e[1];
149
+ var _f = react.useState(null), hoveredElemIndex = _f[0], setHoveredElemIndex = _f[1];
150
+ var timeoutRef = react.useRef(null);
151
+ var openTimeoutRef = react.useRef(null);
152
+ var handleOnMouseEnter = react.useCallback(function (index) {
153
+ if (timeoutRef.current)
154
+ clearTimeout(timeoutRef.current);
155
+ if (openTimeoutRef.current)
156
+ clearTimeout(openTimeoutRef.current);
157
+ setHoveredElemIndex(index);
158
+ openTimeoutRef.current = setTimeout(function () { return setIsDropdownVisible(true); }, openDelay);
159
+ }, [openDelay]);
160
+ var handleOnMouseLeave = react.useCallback(function () {
161
+ timeoutRef.current = setTimeout(function () {
162
+ setIsDropdownVisible(false);
163
+ setHoveredElemIndex(null);
164
+ }, closeDelay);
165
+ }, [closeDelay]);
166
+ var handleDropdownMouseEnter = react.useCallback(function () {
167
+ if (timeoutRef.current)
168
+ clearTimeout(timeoutRef.current);
169
+ }, []);
170
+ var handleDropdownMouseLeave = react.useCallback(function () {
171
+ setIsDropdownVisible(false);
172
+ setHoveredElemIndex(null);
173
+ }, []);
174
+ react.useEffect(function () {
175
+ var handleMouseLeaveWindow = function (event) {
176
+ if (event.clientY <= 0) {
177
+ setIsDropdownVisible(false);
178
+ setHoveredElemIndex(null);
179
+ }
180
+ };
181
+ window.addEventListener('mouseleave', handleMouseLeaveWindow);
182
+ return function () {
183
+ window.removeEventListener('mouseleave', handleMouseLeaveWindow);
184
+ };
185
+ }, []);
186
+ return {
187
+ isDropdownVisible: isDropdownVisible,
188
+ hoveredElemIndex: hoveredElemIndex,
189
+ handleOnMouseEnter: handleOnMouseEnter,
190
+ handleOnMouseLeave: handleOnMouseLeave,
191
+ handleDropdownMouseEnter: handleDropdownMouseEnter,
192
+ handleDropdownMouseLeave: handleDropdownMouseLeave,
193
+ };
194
+ };
195
+
196
+ var useDropdownAnimation = function () {
197
+ var containerRef = react.useRef(null);
198
+ var openDropdown = function () {
199
+ if (containerRef.current) {
200
+ var fullHeight_1 = containerRef.current.scrollHeight;
201
+ containerRef.current.style.maxHeight = "".concat(fullHeight_1 / 2, "px");
202
+ containerRef.current.style.opacity = '0';
203
+ requestAnimationFrame(function () {
204
+ if (containerRef.current) {
205
+ containerRef.current.style.transition = 'max-height 0.3s ease-in-out, opacity 0.3s ease-in-out';
206
+ containerRef.current.style.maxHeight = "".concat(fullHeight_1, "px");
207
+ containerRef.current.style.opacity = '1';
208
+ }
209
+ });
210
+ }
211
+ };
212
+ react.useEffect(function () {
213
+ openDropdown();
214
+ }, []);
215
+ return { containerRef: containerRef, openDropdown: openDropdown };
216
+ };
217
+
218
+ var BusinessDropdownContent = function () {
219
+ var _a = react.useState(0), leftPosition = _a[0], setLeftPosition = _a[1];
220
+ var containerRef = useDropdownAnimation().containerRef;
221
+ react.useEffect(function () {
222
+ var updatePosition = function () {
223
+ if (containerRef.current) {
224
+ var screenWidth = window.innerWidth;
225
+ var containerWidth = containerRef.current.offsetWidth || 0;
226
+ setLeftPosition((screenWidth - containerWidth) / 2);
227
+ }
228
+ };
229
+ updatePosition();
230
+ window.addEventListener('resize', updatePosition);
231
+ return function () { return window.removeEventListener('resize', updatePosition); };
232
+ }, []);
233
+ return (jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ ref: containerRef, className: 'bg-neutral-100 o-hidden', css: {
234
+ top: '76px',
235
+ position: 'fixed',
236
+ left: "".concat(leftPosition, "px"),
237
+ borderRadius: 24,
238
+ boxShadow: '0px 8px 24px 0px rgba(26, 26, 26, 0.10)',
239
+ width: 'fit-content',
240
+ zIndex: 1002,
241
+ opacity: 0,
242
+ } }, { children: [jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'px-6 py-5', backgroundColor: '#FFF1EC' }, { children: jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'HM2', style: { lineHeight: '24px' } }, { children: BUSINESS_DROPDOWN_HEADING })) })), jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-row p-6', css: { columnGap: '48px', width: 'fit-content' } }, { children: bdConfig.map(function (_a) {
243
+ var title = _a.title, subtitle = _a.subtitle, details = _a.details;
244
+ return (jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ css: { width: '200px' } }, { children: [jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-row flex-middle', style: { columnGap: '8px' } }, { children: [jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'HM2' }, { children: title })), jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-middle flex-center bg-neutral-900', css: {
245
+ height: '20px',
246
+ width: '20px',
247
+ borderRadius: '50%',
248
+ } }, { children: jsxRuntime.jsx(ctDesignIcons.ArrowRight, {}) }))] })), jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'B3', className: 'mt-1', css: { opacity: 0.75 } }, { children: subtitle })), jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'P3', color: 'subheading', className: 'mt-3' }, { children: details }))] }), title));
249
+ }) }))] })));
250
+ };
251
+
252
+ var ACCOUNT_OPTIONS_POPUP_CONFIG = [
253
+ {
254
+ text: 'My Profile',
255
+ icon: jsxRuntime.jsx(ctDesignIcons.MyAccount, { width: 24, height: 24 }),
256
+ redirectionLink: '/accounts/profile',
257
+ },
258
+ {
259
+ text: 'My Trips',
260
+ icon: jsxRuntime.jsx(ctDesignIcons.MyTrips, { width: 24, height: 24 }),
261
+ redirectionLink: '/accounts/trips',
262
+ },
263
+ {
264
+ text: 'Saved Cards',
265
+ icon: jsxRuntime.jsx(ctDesignIcons.SavedCard, {}),
266
+ redirectionLink: '/accounts/expressway',
267
+ },
268
+ {
269
+ text: 'Saved Travellers',
270
+ icon: jsxRuntime.jsx(ctDesignIcons.Travellers, { width: 24, height: 24 }),
271
+ redirectionLink: '/account/travellers',
272
+ },
273
+ {
274
+ text: 'Hi-Five',
275
+ icon: jsxRuntime.jsx(ctDesignIcons.HiFive, {}),
276
+ redirectionLink: '/accounts/hi-five?src=fh',
277
+ },
278
+ {
279
+ text: 'Wallet',
280
+ icon: jsxRuntime.jsx(ctDesignIcons.Wallet, { width: 24, height: 24 }),
281
+ redirectionLink: '/accounts/wallet',
282
+ },
283
+ {
284
+ text: 'Settings',
285
+ icon: jsxRuntime.jsx(ctDesignIcons.SettingsCog, { width: 24, height: 24 }),
286
+ redirectionLink: '/account/settings',
287
+ },
288
+ {
289
+ text: 'Privacy Rights',
290
+ icon: jsxRuntime.jsx(ctDesignIcons.PrivacyRights, {}),
291
+ redirectionLink: 'accounts/personal-data-dashboard',
292
+ },
293
+ ];
294
+ var SIGN_OUT_TEXT = 'Logout';
295
+ var LOGGEDIN_USER_TEXT = 'You are logged in with';
296
+ var HEADER_ACCOUNTS_OPTIONS_OPEN_BTN_ID = 'header-acc-btn';
297
+ var ACCOUNT_OPTIONS_CONTAINER_ID = 'account-options';
298
+ var ACCOUNT_OPTIONS_CONTAINER_WIDTH = 328;
299
+
300
+ var LoyaltyChip = function (_a) {
301
+ var icon = _a.icon, borderGradient = _a.borderGradient, backgroundGradient = _a.backgroundGradient, handleChipClick = _a.handleChipClick;
302
+ var _b = react.useState(false), isHovered = _b[0], setIsHovered = _b[1];
303
+ return (jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: 'flex p-relative flex-middle flex-center br-8 o-hidden c-pointer', style: {
304
+ height: 32,
305
+ paddingLeft: 8,
306
+ transition: 'padding-right 0.2s ease-in-out',
307
+ paddingRight: isHovered ? 4 : 8,
308
+ }, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, onClick: handleChipClick }, { children: [jsxRuntime.jsx(ctDesignContainer.Container, { style: {
309
+ content: '""',
310
+ position: 'absolute',
311
+ inset: 0,
312
+ borderRadius: 'inherit',
313
+ background: backgroundGradient,
314
+ zIndex: -2,
315
+ } }), jsxRuntime.jsx(ctDesignContainer.Container, { style: {
316
+ content: '""',
317
+ position: 'absolute',
318
+ inset: 0,
319
+ borderRadius: 'inherit',
320
+ padding: '1px',
321
+ background: borderGradient,
322
+ WebkitMask: 'linear-gradient(white, white) content-box, linear-gradient(white, white)',
323
+ WebkitMaskComposite: 'destination-out',
324
+ maskComposite: 'exclude',
325
+ zIndex: -1,
326
+ } }), jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-middle p-relative' }, { children: icon })), jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-middle o-hidden', style: {
327
+ maxWidth: isHovered ? 16 : 0,
328
+ transition: 'max-width 0.2s ease-in-out, opacity 0.2s ease-in-out',
329
+ opacity: isHovered ? 0.5 : 0,
330
+ } }, { children: jsxRuntime.jsx(ctDesignIcons.HeaderChevronRight, { color: 'white' }) }))] })));
331
+ };
332
+
333
+ var _a;
334
+ var LoyaltyType;
335
+ (function (LoyaltyType) {
336
+ LoyaltyType["FkVip"] = "FkVip";
337
+ LoyaltyType["FkPremium"] = "FkPremium";
338
+ LoyaltyType["InsiderIcon"] = "InsiderIcon";
339
+ LoyaltyType["InsiderElite"] = "InsiderElite";
340
+ })(LoyaltyType || (LoyaltyType = {}));
341
+ var LOYALTY_DATA = (_a = {},
342
+ _a[LoyaltyType.FkVip] = {
343
+ icon: jsxRuntime.jsx(ctDesignIcons.FkVip, {}),
344
+ borderGradient: 'linear-gradient(222.13deg, rgba(243, 179, 39, 0) 2.08%, #F3B327 85.17%)',
345
+ backgroundGradient: 'linear-gradient(111deg, #360042 0%, #540061 100%)',
346
+ },
347
+ _a[LoyaltyType.FkPremium] = {
348
+ icon: jsxRuntime.jsx(ctDesignIcons.FkPremium, {}),
349
+ borderGradient: 'linear-gradient(230.68deg, rgba(243, 179, 39, 0) 10.1%, #F3B327 45.74%)',
350
+ backgroundGradient: 'linear-gradient(180deg, #04176A 0%, #082395 100%)',
351
+ },
352
+ _a[LoyaltyType.InsiderIcon] = {
353
+ icon: jsxRuntime.jsx(ctDesignIcons.InsiderIcon, {}),
354
+ borderGradient: 'linear-gradient(230.68deg, rgba(208, 175, 101, 0) 10.1%, #D0AF65 45.74%)',
355
+ backgroundGradient: 'linear-gradient(111deg, #2E3042 0%, #1A1C23 100%)',
356
+ },
357
+ _a[LoyaltyType.InsiderElite] = {
358
+ icon: jsxRuntime.jsx(ctDesignIcons.InsiderElite, {}),
359
+ borderGradient: 'linear-gradient(230.68deg, rgba(208, 175, 101, 0) 10.1%, #D0AF65 45.74%)',
360
+ backgroundGradient: 'linear-gradient(111deg, #2E3042 0%, #1A1C23 100%)',
361
+ },
362
+ _a);
363
+
364
+ var ExpandableItem = function (_a) {
365
+ var icon = _a.icon, handleChipClick = _a.handleChipClick, value = _a.value;
366
+ var _b = react.useState(false), isHovered = _b[0], setIsHovered = _b[1];
367
+ return (jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: "flex flex-middle justify-center br-8 c-pointer", style: {
368
+ height: 32,
369
+ paddingLeft: 8,
370
+ paddingRight: isHovered ? 4 : 8,
371
+ transition: 'padding-right 0.2s ease-in-out',
372
+ background: isHovered ? '#ffd7ca' : '#ffe6df',
373
+ }, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, onClick: handleChipClick }, { children: [jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-middle flex-gap-1' }, { children: [icon, value && (jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'B3', className: 'value-text', isClickable: true }, { children: value })))] })), jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-middle o-hidden', style: {
374
+ maxWidth: isHovered ? 16 : 0,
375
+ transition: 'max-width 0.2s ease-in-out, opacity 0.2s ease-in-out',
376
+ opacity: isHovered ? 1 : 0,
377
+ } }, { children: jsxRuntime.jsx(ctDesignIcons.HeaderChevronRight, {}) }))] })));
378
+ };
379
+ var RewardsSection = function (props) {
380
+ var selectedLoyaltyType = props.loyaltyType, _a = props.fkSupercoinBurnBalance, superCoinBalance = _a === void 0 ? 0 : _a, _b = props.walletBalance, walletBalance = _b === void 0 ? 0 : _b, loyaltyLoading = props.loyaltyLoading, superCoinsLoading = props.superCoinsLoading, walletLoading = props.walletLoading, walletChipClick = props.walletChipClick, supercoinsChipClick = props.supercoinsChipClick, loyaltyChipClick = props.loyaltyChipClick;
381
+ return (jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: 'flex p-4 pt-0 flex-start flex-gap-1', style: { alignSelf: 'stretch' } }, { children: [loyaltyLoading ? (jsxRuntime.jsx(ctDesignShimmer.Shimmer, { width: '50px', height: '32px', borderRadius: '8px' })) : (selectedLoyaltyType &&
382
+ LOYALTY_DATA[selectedLoyaltyType] && (jsxRuntime.jsx(LoyaltyChip, { icon: LOYALTY_DATA[selectedLoyaltyType].icon, borderGradient: LOYALTY_DATA[selectedLoyaltyType].borderGradient, backgroundGradient: LOYALTY_DATA[selectedLoyaltyType].backgroundGradient, handleChipClick: loyaltyChipClick }))), superCoinsLoading ? (jsxRuntime.jsx(ctDesignShimmer.Shimmer, { width: '50px', height: '32px', borderRadius: '8px' })) : (jsxRuntime.jsx(ExpandableItem, { icon: jsxRuntime.jsx(ctDesignIcons.Supercoin, { width: 20, height: 20 }), value: superCoinBalance, handleChipClick: supercoinsChipClick })), walletLoading ? (jsxRuntime.jsx(ctDesignShimmer.Shimmer, { width: '50px', height: '32px', borderRadius: '8px' })) : (jsxRuntime.jsx(ExpandableItem, { icon: jsxRuntime.jsx(ctDesignIcons.Wallet, { width: 20, height: 20 }), value: walletBalance, handleChipClick: walletChipClick }))] })));
383
+ };
384
+
385
+ var AccountDropdownContent = function (props) {
386
+ var _a = props || {}, handleLogout = _a.handleLogout, userName = _a.userName, userMobileNumber = _a.userMobileNumber, countryCode = _a.countryCode, userDetailsLoading = _a.userDetailsLoading, superCoinBalance = _a.fkSupercoinBurnBalance, walletBalance = _a.walletBalance, loyaltyType = _a.loyaltyType, loyaltyLoading = _a.loyaltyLoading, walletLoading = _a.walletLoading, superCoinsLoading = _a.superCoinsLoading, walletChipClick = _a.walletChipClick, supercoinsChipClick = _a.supercoinsChipClick, loyaltyChipClick = _a.loyaltyChipClick;
387
+ var containerRef = useDropdownAnimation().containerRef;
388
+ var _b = react.useMemo(function () {
389
+ var userGreeting = userName && "Hello ".concat(userName, "!");
390
+ var phoneNumber = countryCode && userMobileNumber ? "".concat(countryCode, " ").concat(userMobileNumber) : '';
391
+ return { userGreeting: userGreeting, phoneNumber: phoneNumber };
392
+ }, [userName, userMobileNumber, countryCode]), userGreeting = _b.userGreeting, phoneNumber = _b.phoneNumber;
393
+ var handleRedirectClick = function (redirectLink) {
394
+ return function () {
395
+ window.location.href = redirectLink;
396
+ };
397
+ };
398
+ react.useEffect(function () {
399
+ var headerAccBtn = document.getElementById(HEADER_ACCOUNTS_OPTIONS_OPEN_BTN_ID);
400
+ var accountOptionsElem = document.getElementById(ACCOUNT_OPTIONS_CONTAINER_ID);
401
+ var positionAccountOptionsDiv = function () {
402
+ var headerBtnRight = headerAccBtn === null || headerAccBtn === void 0 ? void 0 : headerAccBtn.getBoundingClientRect().right;
403
+ if (accountOptionsElem && headerBtnRight) {
404
+ accountOptionsElem.style.left = "".concat(headerBtnRight - ACCOUNT_OPTIONS_CONTAINER_WIDTH, "px");
405
+ }
406
+ };
407
+ positionAccountOptionsDiv();
408
+ }, []);
409
+ var renderUserData = function () {
410
+ var renderContent = function (loading, content, variant, color) { return (jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: variant, color: color }, { children: loading ? (jsxRuntime.jsx(ctDesignShimmer.Shimmer, { height: variant === 'HM3' ? '18px' : '12px', width: variant === 'HM3' ? '140px' : '200px' })) : (content) }))); };
411
+ return (jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-column flex-gap-1' }, { children: userGreeting ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [renderContent(userDetailsLoading, userGreeting, 'HM3', 'primary'), renderContent(userDetailsLoading, "".concat(LOGGEDIN_USER_TEXT, " ").concat(phoneNumber), 'P3', 'subheading')] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [renderContent(userDetailsLoading, LOGGEDIN_USER_TEXT, 'P3', 'subheading'), renderContent(userDetailsLoading, phoneNumber, 'HM3', 'primary')] })) })));
412
+ };
413
+ return (jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ id: ACCOUNT_OPTIONS_CONTAINER_ID, ref: containerRef, className: 'flex flex-column br-16 p-absolute o-hidden', css: { zIndex: 1002, top: '76px', opacity: 0 }, width: "".concat(ACCOUNT_OPTIONS_CONTAINER_WIDTH, "px"), background: '#FFF1EC' }, { children: [jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'p-4', height: '72px' }, { children: renderUserData() })), jsxRuntime.jsx(RewardsSection, { fkSupercoinBurnBalance: superCoinBalance, walletBalance: walletBalance, loyaltyType: loyaltyType, loyaltyLoading: loyaltyLoading, superCoinsLoading: superCoinsLoading, walletLoading: walletLoading, walletChipClick: walletChipClick, supercoinsChipClick: supercoinsChipClick, loyaltyChipClick: loyaltyChipClick }), jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: 'p-2 flex flex-column', backgroundColor: 'white', style: {
414
+ borderBottomLeftRadius: 12,
415
+ borderBottomRightRadius: 12,
416
+ rowGap: 8,
417
+ } }, { children: [ACCOUNT_OPTIONS_POPUP_CONFIG.map(function (_a) {
418
+ var text = _a.text, icon = _a.icon, redirectionLink = _a.redirectionLink;
419
+ return (jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: "highlight-on-hover default p-2 br-8 c-pointer" }, { children: jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: 'flex c-pointer', css: { columnGap: '8px' }, onClick: handleRedirectClick(redirectionLink) }, { children: [icon, jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'P1', className: 'flex flex-middle c-pointer' }, { children: text }))] }), "account-option-".concat(text)) }), "account-option-".concat(text)));
420
+ }), jsxRuntime.jsx(ctDesignDivider.Divider, { style: {
421
+ borderBottom: '1px dashed #E6E6E6',
422
+ } }), jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: "logout-button-hover default flex p-2 br-8 c-pointer", css: { columnGap: '8px' }, onClick: handleLogout }, { children: [jsxRuntime.jsx(ctDesignIcons.Signout, { height: 24, width: 24 }), jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'P1', className: 'flex flex-middle c-pointer', color: 'warning' }, { children: SIGN_OUT_TEXT }))] }))] }))] })));
423
+ };
424
+
425
+ var UserAccount = function (props) {
426
+ var handleLogout = props.handleLogout, userDetailsLoading = props.userDetailsLoading, userName = props.userName, userMobileNumber = props.userMobileNumber, countryCode = props.countryCode, fkSupercoinBurnBalance = props.fkSupercoinBurnBalance, walletBalance = props.walletBalance, loyaltyType = props.loyaltyType, walletLoading = props.walletLoading, superCoinsLoading = props.superCoinsLoading, loyaltyLoading = props.loyaltyLoading, loyaltyChipClick = props.loyaltyChipClick, supercoinsChipClick = props.supercoinsChipClick, walletChipClick = props.walletChipClick;
427
+ var _a = useHoverDropdown(), isDropdownVisible = _a.isDropdownVisible, handleOnMouseEnter = _a.handleOnMouseEnter, handleOnMouseLeave = _a.handleOnMouseLeave, handleDropdownMouseEnter = _a.handleDropdownMouseEnter, handleDropdownMouseLeave = _a.handleDropdownMouseLeave;
428
+ return (jsxRuntime.jsxs(ctDesignContainer.Container, { children: [jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: "flex px-3 py-2 flex-middle br-12 h-100p c-pointer", style: { columnGap: 8 }, onMouseEnter: function () { return handleOnMouseEnter(0); }, onMouseLeave: handleOnMouseLeave, id: HEADER_ACCOUNTS_OPTIONS_OPEN_BTN_ID }, { children: [jsxRuntime.jsx(ctDesignIcons.MyAccount, { color: isDropdownVisible ? '#FF4F17' : '#1A1A1A' }), jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-row flex-middle' }, { children: [jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'B2', className: 'c-pointer', color: isDropdownVisible ? 'secondary' : 'primary' }, { children: "My Account" })), jsxRuntime.jsx(ctDesignIcons.ChevronDown, { width: 20, height: 20, fill: isDropdownVisible ? '#FF4F17' : '#1A1A1A' })] }))] })), isDropdownVisible && (jsxRuntime.jsx(Mask, tslib.__assign({ show: isDropdownVisible, marginTop: '64px' }, { children: jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ onMouseEnter: handleDropdownMouseEnter, onMouseLeave: handleDropdownMouseLeave }, { children: jsxRuntime.jsx(ctDesignTransition.Transition, tslib.__assign({ type: 'fade', in: isDropdownVisible }, { children: jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: ' o-hidden' }, { children: jsxRuntime.jsx(AccountDropdownContent, { handleLogout: handleLogout, userDetailsLoading: userDetailsLoading, userName: userName, userMobileNumber: userMobileNumber, countryCode: countryCode, loyaltyType: loyaltyType, walletBalance: walletBalance, fkSupercoinBurnBalance: fkSupercoinBurnBalance, walletLoading: walletLoading, superCoinsLoading: superCoinsLoading, loyaltyLoading: loyaltyLoading, loyaltyChipClick: loyaltyChipClick, walletChipClick: walletChipClick, supercoinsChipClick: supercoinsChipClick }) })) })) })) })))] }));
429
+ };
430
+
431
+ var Header = function (props) {
432
+ var superCoinsLoading = props.superCoinsLoading, fkSupercoinBurnBalance = props.fkSupercoinBurnBalance, onLoginButtonClick = props.onLoginButtonClick, _a = props.showAllLobs, showAllLobs = _a === void 0 ? false : _a, selectedLOB = props.selectedLOB, isUserLoggedIn = props.isUserLoggedIn, handleLogoutClick = props.handleLogoutClick, walletBalance = props.walletBalance, walletLoading = props.walletLoading, loyaltyLoading = props.loyaltyLoading, loyaltyType = props.loyaltyType, userDetailsLoading = props.userDetailsLoading, userName = props.userName, userMobileNumber = props.userMobileNumber, countryCode = props.countryCode, loyaltyChipClick = props.loyaltyChipClick, supercoinsChipClick = props.supercoinsChipClick, walletChipClick = props.walletChipClick;
433
+ var _b = useHoverDropdown(), isDropdownVisible = _b.isDropdownVisible, hoveredElemIndex = _b.hoveredElemIndex, handleOnMouseEnter = _b.handleOnMouseEnter, handleOnMouseLeave = _b.handleOnMouseLeave, handleDropdownMouseEnter = _b.handleDropdownMouseEnter, handleDropdownMouseLeave = _b.handleDropdownMouseLeave;
434
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'flex t-0 p-sticky w-100p flex-middle flex-center flex-gap-6 flex-no-shrink', style: {
435
+ zIndex: 1000,
436
+ height: 64,
437
+ borderBottom: '1px solid #E6E6E6',
438
+ background: '#F7FAFF',
439
+ } }, { children: jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-middle flex-between flex-gap-6', style: {
440
+ maxWidth: 1440,
441
+ padding: '0px 28px',
442
+ flex: '1 0 0',
443
+ } }, { children: [jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-row flex-center flex-middle' }, { children: [jsxRuntime.jsx(ctDesignIcons.CTLogo, {}), jsxRuntime.jsx(ctDesignDivider.Divider, { style: {
444
+ width: 12,
445
+ marginLeft: 2,
446
+ marginRight: 2,
447
+ transform: 'rotate(90deg)',
448
+ borderBottom: '1px solid #e0e0e0',
449
+ } }), jsxRuntime.jsx(ctDesignIcons.Fkcompany, {})] })), jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-row flex-middle flex-center flex-cg-6' }, { children: [jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-row flex-middle flex-center flex-cg-1' }, { children: NAVBAR_OPTIONS.map(function (option, index) {
450
+ var isHovered = hoveredElemIndex === index;
451
+ return (jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ onMouseEnter: function () { return handleOnMouseEnter(index); }, onMouseLeave: handleOnMouseLeave, className: 'flex flex-row flex-middle px-3 py-2 c-pointer nav-tab p-relative', style: { columnGap: 8, height: 64 }, onClick: function () {
452
+ if (option.isClickable) {
453
+ window.location.href = option.link;
454
+ }
455
+ } }, { children: [jsxRuntime.jsx(option.lefticon, { color: isHovered ? '#FF4F17' : '#1A1A1A' }), jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-row flex-middle' }, { children: [jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'B2', color: isHovered ? 'secondary' : 'primary', isClickable: true }, { children: option.text })), option.rightIcon && (jsxRuntime.jsx(option.rightIcon, { width: 20, height: 20, fill: isHovered ? '#FF4F17' : '#1A1A1A' })), hoveredElemIndex === index && option.isHoverable && (jsxRuntime.jsx(Mask, tslib.__assign({ show: isDropdownVisible, marginTop: '64px', onMaskClick: function () { } }, { children: jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ onMouseEnter: handleDropdownMouseEnter, onMouseLeave: handleDropdownMouseLeave }, { children: jsxRuntime.jsx(ctDesignTransition.Transition, tslib.__assign({ type: 'fade', in: isDropdownVisible }, { children: jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'pt-3 o-hidden' }, { children: jsxRuntime.jsx(BusinessDropdownContent, {}) })) })) })) })))] }))] }), "nav-option-".concat(index)));
456
+ }) })), isUserLoggedIn && (jsxRuntime.jsx(ctDesignDivider.Divider, { style: {
457
+ width: 12,
458
+ margin: '0 -18px',
459
+ transform: 'rotate(90deg)',
460
+ borderBottom: '1px solid #e0e0e0',
461
+ } })), jsxRuntime.jsx(ctDesignContainer.Container, { children: isUserLoggedIn ? (jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-row flex-middle' }, { children: jsxRuntime.jsx(UserAccount, { handleLogout: handleLogoutClick, superCoinsLoading: superCoinsLoading, fkSupercoinBurnBalance: fkSupercoinBurnBalance, walletBalance: walletBalance, walletLoading: walletLoading, loyaltyLoading: loyaltyLoading, loyaltyType: loyaltyType, userDetailsLoading: userDetailsLoading, userName: userName, userMobileNumber: userMobileNumber, countryCode: countryCode, walletChipClick: walletChipClick, supercoinsChipClick: supercoinsChipClick, loyaltyChipClick: loyaltyChipClick }) }))) : (jsxRuntime.jsx(ctDesignButton.Button, tslib.__assign({ className: "fw-400 fs-14 login-button", onClick: onLoginButtonClick, style: {
462
+ width: 153,
463
+ height: 40,
464
+ border: '1px solid #1A1A1A',
465
+ }, loading: false }, { children: jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ componentNode: 'span', variant: 'L2' }, { children: "Login" })) }))) })] }))] })) })), showAllLobs && jsxRuntime.jsx(LobsHeader, { selectedLOB: selectedLOB })] }));
466
+ };
467
+
468
+ exports.Header = Header;
469
+ //# sourceMappingURL=ct-design-header.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ct-design-header.cjs.js","sources":["../packages/components/Header/src/constants.ts","../packages/components/Header/src/LobsHeader/index.tsx","../packages/components/Header/src/Mask/index.tsx","../packages/components/Header/src/hooks/useHoverDropdown.tsx","../packages/components/Header/src/hooks/useDropdownAnimation.tsx","../packages/components/Header/src/BusinessDropdown/index.tsx","../packages/components/Header/src/UserAccount/accountOptions.tsx","../packages/components/Header/src/RewardsSection/LoyaltyChips.tsx","../packages/components/Header/src/RewardsSection/loyaltyTypes.tsx","../packages/components/Header/src/RewardsSection/index.tsx","../packages/components/Header/src/UserAccount/UserAccountDropdown.tsx","../packages/components/Header/src/UserAccount/index.tsx","../packages/components/Header/src/Header.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Offers","BusinessBag","ChevronDown","MyTrips","SupportIcon","_jsx","Container","__assign","_jsxs","Typography","useEffect","_Fragment","useState","useRef","useCallback","ArrowRight","MyAccount","SavedCard","Travellers","HiFive","Wallet","SettingsCog","PrivacyRights","HeaderChevronRight","FkVip","FkPremium","InsiderIcon","InsiderElite","Shimmer","Supercoin","useMemo","Divider","Signout","Transition","CTLogo","Fkcompany","Button"],"mappings":"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"}