hds-web 1.16.6 → 1.16.8

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.
@@ -33,156 +33,840 @@ function classNames(...classes) {
33
33
  return classes.filter(Boolean).join(' ')
34
34
  }
35
35
 
36
-
37
-
38
36
  export default function V3Header(props) {
39
- const listSize = props.HEADER_LIST.length;
40
37
  const [mobileNavOpen, setmobileNavOpen] = useState(false);
41
38
  const [isProduct, setIsProduct] = useState(false)
42
39
  const [isDeveloper, setIsDeveloper] = useState(false)
43
40
  const [isCompany, setIsCompany] = useState(false)
44
41
  const [currentTab, setCurrentTab] = useState('')
45
- const [isShown, setIsShown] = useState(false)
46
42
  const [isArrowActive, setIsArrowActive] = useState(false)
47
43
 
48
- //testing
49
- const [dropdownVisibility, setDropdownVisibility] = useState(Array(props.HEADER_LIST.length).fill(false));
50
- console.log(mobileNavOpen, isProduct, dropdownVisibility, currentTab)
51
- const handleDropdownEnter = (index) => {
52
- setDropdownVisibility((prevVisibility) => {
53
- const updatedVisibility = [...prevVisibility];
54
- updatedVisibility[index] = true;
55
- return updatedVisibility;
56
- });
57
- };
58
-
59
- const handleDropdownLeave = (index) => {
60
- setDropdownVisibility((prevVisibility) => {
61
- const updatedVisibility = [...prevVisibility];
62
- updatedVisibility[index] = false;
63
- return updatedVisibility;
64
- });
65
- };
66
-
67
- const renderDropdown = (primaryCard, secondaryCardArr, tertiaryCard) => (
44
+ const dropdownA = (solutions) => (
68
45
  <div>
69
46
  <div>
70
- <hr className="w-full h-9 border-0" />
47
+ <hr className='w-full h-9 border-0 ' />
71
48
  </div>
72
- <div className="p-2 bg-neutral-150 rounded-3xl">
49
+
50
+ <div className=" p-2 bg-neutral-150 rounded-3xl ">
73
51
  <V3Dropdown
74
- primaryCard={primaryCard}
75
- secondaryCardArr={secondaryCardArr}
76
- tertiaryCard={tertiaryCard}
52
+ primaryCard={{
53
+ iconVariant: 'hasura',
54
+ mainDescription: 'Choose from our open source community edition, fully managed cloud edition or custom enterprise',
55
+ primaryBtnLabel: 'Hasura Product',
56
+ strokeClass: 'stroke-neutral-800',
57
+ secondaryBtn: [
58
+ { cta_leftVariantIcon: 'home03', cta_leftVariantIconColor: '#6C737F', cta_text: 'Compare plans' }
59
+ ],
60
+ }}
61
+ secondaryCardArr={[
62
+ {
63
+ split: true,
64
+ childArray: [
65
+ {
66
+ description: '',
67
+ href: '#',
68
+ icon: "lightning01",
69
+ name: 'Instant API',
70
+ strokeClass: 'stroke-blue-500'
71
+ },
72
+ {
73
+ description: '',
74
+ href: '#',
75
+ icon: 'data',
76
+ name: 'Federation',
77
+ strokeClass: 'stroke-blue-500'
78
+ },
79
+ {
80
+ description: '',
81
+ href: '#',
82
+ icon: 'eye',
83
+ name: 'Authorization',
84
+ strokeClass: 'stroke-blue-500'
85
+ },
86
+ {
87
+ description: '',
88
+ href: '#',
89
+ icon: 'shieldtick',
90
+ name: 'API Security',
91
+ strokeClass: 'stroke-blue-500'
92
+ },
93
+ {
94
+ description: '',
95
+ href: '#',
96
+ icon: 'speedometer03',
97
+ name: 'Performance',
98
+ strokeClass: 'stroke-blue-500'
99
+ },
100
+ {
101
+ description: '',
102
+ href: '#',
103
+ icon: "barchartsquare01",
104
+ name: 'Observability',
105
+ strokeClass: 'stroke-blue-500'
106
+ }
107
+ ],
108
+ label: 'CAPABILITIES'
109
+ },
110
+ {
111
+ childArray: [
112
+ {
113
+ description: '',
114
+ href: '#',
115
+ icon: 'database01',
116
+ name: 'All DBs',
117
+ strokeClass: 'stroke-blue-500'
118
+ },
119
+ {
120
+ description: '',
121
+ href: '#',
122
+ icon: 'checksquare',
123
+ name: 'Planned DBs',
124
+ strokeClass: 'stroke-blue-500'
125
+ },
126
+ ],
127
+ label: 'Integrations'
128
+ }
129
+ ]}
77
130
  />
78
131
  </div>
79
132
  </div>
80
- );
133
+ )
134
+ const dropdownB = (solutions) => (
135
+ <div>
136
+ <div>
137
+ <hr className='w-full h-9 border-0 ' />
138
+ </div>
139
+
140
+
141
+ <div className=" p-2 bg-neutral-150 rounded-3xl ">
142
+ <V3Dropdown
143
+
144
+ secondaryCardArr={[
145
+ {
146
+ childArray: [
147
+ {
148
+ description: '',
149
+ href: '#',
150
+ icon: "file02",
151
+ name: 'Documentation',
152
+ strokeClass: 'stroke-blue-500'
153
+ },
154
+ {
155
+ description: '',
156
+ href: '#',
157
+ icon: 'hasura',
158
+ name: 'Hasura hub',
159
+ strokeClass: 'stroke-blue-500'
160
+ },
161
+ {
162
+ description: '',
163
+ href: '#',
164
+ icon: 'route',
165
+ name: 'Guides',
166
+ strokeClass: 'stroke-blue-500'
167
+ },
168
+ {
169
+ description: '',
170
+ href: '#',
171
+ icon: 'asterisk02',
172
+ name: 'GraphQL hub',
173
+ strokeClass: 'stroke-blue-500'
174
+ },
175
+ {
176
+ description: '',
177
+ href: '#',
178
+ icon: "codebrowser",
179
+ name: 'GraphQL',
180
+ strokeClass: 'stroke-blue-500'
181
+ },
182
+ {
183
+ description: '',
184
+ href: '#',
185
+ icon: 'gitpullrequest',
186
+ name: 'Changelog',
187
+ strokeClass: 'stroke-blue-500'
188
+ }
189
+ ],
190
+ label: 'BUILD'
191
+ },
192
+ {
193
+
194
+ childArray: [
195
+ {
196
+ description: '',
197
+ href: '#',
198
+ icon: 'bookopen01',
199
+ name: 'Blog',
200
+ strokeClass: 'stroke-blue-500'
201
+ },
202
+ {
203
+ description: '',
204
+ href: '#',
205
+ icon: 'videorecorder',
206
+ name: 'Tech talks',
207
+ strokeClass: 'stroke-blue-500'
208
+ },
209
+ {
210
+ description: '',
211
+ href: '#',
212
+ icon: 'graduationhat02',
213
+ name: 'Tutorials',
214
+ strokeClass: 'stroke-blue-500'
215
+ },
216
+ {
217
+ description: '',
218
+ href: '#',
219
+ icon: 'calendarplus02',
220
+ name: 'Events',
221
+ strokeClass: 'stroke-blue-500'
222
+ },
223
+ {
224
+ description: '',
225
+ href: '#',
226
+ icon: 'box',
227
+ name: 'Resources',
228
+ strokeClass: 'stroke-blue-500'
229
+ },
230
+ ],
231
+ label: 'Learn',
232
+
233
+ },
234
+ {
235
+
236
+ childArray: [
237
+ {
238
+ description: '',
239
+ href: '#',
240
+ icon: 'users01',
241
+ name: 'Community',
242
+ strokeClass: 'stroke-blue-500'
243
+ },
244
+ {
245
+ description: '',
246
+ href: '#',
247
+ icon: 'cube01',
248
+ name: 'Discord',
249
+ strokeClass: 'stroke-blue-500'
250
+ },
251
+ {
252
+ description: '',
253
+ href: '#',
254
+ icon: 'cube01',
255
+ name: 'Forum',
256
+ strokeClass: 'stroke-blue-500'
257
+ },
258
+ {
259
+ description: '',
260
+ href: '#',
261
+ icon: 'cube01',
262
+ name: 'Meetups',
263
+ strokeClass: 'stroke-blue-500'
264
+ },
265
+ {
266
+ description: '',
267
+ href: '#',
268
+ icon: 'hand',
269
+ name: 'Support',
270
+ strokeClass: 'stroke-blue-500'
271
+ },
272
+ ],
273
+ label: 'Connect',
274
+
275
+ },
276
+ ]}
277
+
278
+ tertiaryCard={[
279
+ {
280
+ title: 'HasuraCon 2023 is here!',
281
+
282
+ title_colorClass: 'text-neutral-900',
283
+ img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/hascon_211daeb83a.png'
284
+ },
285
+ {
286
+ title: 'Top 6 Architecture Trends for API Development',
287
+
288
+ title_colorClass: 'text-neutral-900',
289
+ img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/api_trends_0a035678d8.png'
290
+ },
291
+ {
292
+ title: 'Announcing Hasura integration with Snowflake',
81
293
 
82
- const renderDropdownContainer = (headerList, id) => {
83
- const { title, primaryCard, secondaryCardArr, tertiaryCard } = headerList[id];
294
+ title_colorClass: 'text-neutral-900',
295
+ img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/snowflake_def20494db.png'
296
+ },
297
+ ]}
298
+ />
299
+ </div>
300
+ </div>
301
+ )
302
+ const dropdownC = (solutions) => (
303
+ <div>
304
+ <div>
305
+ <hr className='w-full h-9 border-0 ' />
306
+ </div>
307
+ <div className=" p-2 bg-neutral-150 rounded-3xl ">
308
+ <V3Dropdown
309
+
310
+ secondaryCardArr={[
311
+ {
312
+ childArray: [
313
+ {
314
+ description: '',
315
+ href: '#',
316
+ icon: "pentool02",
317
+ name: 'Our story',
318
+ strokeClass: 'stroke-blue-500'
319
+ },
320
+ {
321
+ description: '',
322
+ href: '#',
323
+ icon: 'data',
324
+ name: 'Partners',
325
+ strokeClass: 'stroke-blue-500'
326
+ },
327
+ {
328
+ description: '',
329
+ href: '#',
330
+ icon: 'hearthand',
331
+ name: 'Work at Hasura',
332
+ strokeClass: 'stroke-blue-500'
333
+ },
334
+ {
335
+ description: '',
336
+ href: '#',
337
+ icon: 'headingsquare',
338
+ name: 'News room',
339
+ strokeClass: 'stroke-blue-500'
340
+ },
341
+ {
342
+ description: '',
343
+ href: '#',
344
+ icon: 'star06',
345
+ name: 'Brand',
346
+ strokeClass: 'stroke-blue-500'
347
+ },
348
+
349
+ ],
350
+ label: 'Company'
351
+ },
352
+
353
+ ]}
354
+
355
+ tertiaryCard={[
356
+ {
357
+ title: 'HasuraCon 2023 is here!',
358
+
359
+ title_colorClass: 'text-neutral-900',
360
+ img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/hascon_211daeb83a.png'
361
+ },
362
+ {
363
+ title: 'Top 6 Architecture Trends for API Development',
84
364
 
85
- return (
86
- <div id={`dropdown_${id}`}>
87
- {headerList[id] && (
365
+ title_colorClass: 'text-neutral-900',
366
+ img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/api_trends_0a035678d8.png'
367
+ },
368
+ {
369
+ title: 'Announcing Hasura integration with Snowflake',
370
+
371
+ title_colorClass: 'text-neutral-900',
372
+ img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/snowflake_def20494db.png'
373
+ },
374
+ ]}
375
+ />
376
+ </div>
377
+ </div>
378
+ )
379
+
380
+ const headerListfn = (HEADER_LIST) => (
381
+ <>
382
+ {/* <div id='github_button' className='flex items-center justify-center -mb-2'>
383
+ <GithubWidget />
384
+ </div> */}
385
+
386
+ <div id='dropdown_product'>
387
+ {HEADER_LIST[0] && (
88
388
  <div
89
- className="relative"
90
- onMouseEnter={() => handleDropdownEnter(id)}
91
- onMouseLeave={() => handleDropdownLeave(id)}
389
+ className="relative "
390
+
391
+ onMouseEnter={() => setIsProduct(true)}
392
+ onMouseLeave={() => setIsProduct(false)}
393
+
92
394
  >
93
395
  <div
94
396
  className={classNames(
95
397
  'group inline-flex items-center rounded-md bg-white hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2',
96
- dropdownVisibility[id] ? '' : 'text-gray-500'
398
+ isProduct ? '' : 'text-gray-500',
97
399
  )}
98
400
  >
401
+
99
402
  <div className="flex flex-col items-center cursor-pointer">
100
403
  <Typography
101
- className="hover:text-blue-600"
102
- textStyle="body3c-medium"
103
- >
104
- {`${title} `}
105
- </Typography>
404
+ className='hover:text-blue-600'
405
+ textStyle="body3c-medium">{`${HEADER_LIST[0]['title']} `}</Typography>
106
406
  </div>
407
+
107
408
  </div>
108
- <motion.div>
109
- {dropdownVisibility[id] && (
409
+ <motion.div
410
+
411
+
412
+ >
413
+ {isProduct && (
110
414
  <div
111
- id={`dropdown_${id}_content`}
112
- className="left-0 z-20"
113
- onMouseEnter={() => handleDropdownEnter(id)}
114
- onMouseLeave={() => handleDropdownLeave(id)}
115
- onScroll={() => handleDropdownLeave(id)}
415
+ id='dropdownA'
416
+
417
+ className="left-0 z-20 shadow-home-drop "
418
+ onMouseEnter={() => setIsProduct(true)}
419
+ onMouseLeave={
420
+ () => setIsProduct(false)
421
+
422
+ }
423
+ onScroll={() => setIsProduct(false)} // Keep isProduct true when hovering over dropdown content
116
424
  >
117
425
  <motion.div
118
426
  initial={{ opacity: 0 }}
119
427
  animate={{ opacity: 1 }}
120
- transition={{ ease: 'easeInOut', duration: 0.1 }}
121
- className={"absolute -left-[137px] z-[2] transform " + (dropdownVisibility[0] ? '-left-[137px] ' : '') + (dropdownVisibility[1] ? '-left-[218px]' : '') + (dropdownVisibility[3] ? '-left-[50px] ' : '') }
122
-
123
- >
124
- {renderDropdown(
125
- primaryCard,
126
- secondaryCardArr,
127
- tertiaryCard
128
- )}
428
+ transition={{ ease: "easeInOut", duration: 0.1 }}
429
+ className='absolute -left-[137px] z-[2] transform'>
430
+ {dropdownA(HEADER_LIST[0]['titleDropdown'])}
129
431
  </motion.div>
130
432
  </div>
433
+
131
434
  )}
132
435
  </motion.div>
133
436
  </div>
134
437
  )}
135
438
  </div>
136
- );
137
- };
439
+ <div id="dropdown_developer" className='relative' >
440
+ {HEADER_LIST[1] && (
441
+ <div
442
+ className=""
443
+ onMouseEnter={() => setIsDeveloper(true)}
444
+ onMouseLeave={() => setIsDeveloper(false)}
138
445
 
446
+ >
447
+ <div
448
+ className={classNames(
449
+ 'group inline-flex items-center rounded-md bg-white hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2',
450
+ isDeveloper ? '' : 'text-gray-500',
451
+ )}
452
+ >
453
+ <div className="flex flex-col items-center h-full cursor-pointer">
454
+ <Typography className='hover:text-blue-600' textStyle="body3c-medium">{`${HEADER_LIST[1]['title']}`}</Typography>
455
+ </div>
456
+ </div>
457
+ {isDeveloper && (
458
+ <div
459
+
460
+ className="shadow-home-drop "
461
+ onMouseEnter={() => setIsDeveloper(true)}
462
+ onMouseLeave={() => setIsDeveloper(false)}
463
+ onScroll={() => setIsDeveloper(false)} // Keep isProduct true when hovering over dropdown content
464
+ >
465
+ <motion.div
466
+ initial={{ opacity: 0 }}
467
+ animate={{ opacity: 1 }}
468
+ transition={{ ease: "easeInOut", duration: 0.1 }}
469
+ className='absolute -left-[218px] z-[2]'>
470
+ {dropdownB(HEADER_LIST[1]['titleDropdown'])}
471
+ </motion.div>
472
+ </div>
473
+ )}
474
+ </div>
475
+ )}
476
+ </div>
139
477
 
140
- const headerListfunction = (headerList) => (
141
- <>
142
- {renderDropdownContainer(headerList, 0)}
143
- {renderDropdownContainer(headerList, 1)}
144
- {renderDropdownContainer(headerList, 3)}
145
- </>
146
- );
478
+ <div id="dropdown_company" >
479
+ {HEADER_LIST[3] && (
480
+ <div
481
+ className="relative"
482
+ onMouseEnter={() => setIsCompany(true)}
483
+ onMouseLeave={() => setIsCompany(false)}
484
+
485
+ >
486
+ <div
487
+ className={classNames(
488
+ 'group inline-flex items-center rounded-md bg-white hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2',
489
+ isCompany ? '' : 'text-gray-500',
490
+ )}
491
+ >
492
+ <div className="flex flex-col items-center h-full cursor-pointer">
493
+ <Typography className='hover:text-blue-600' textStyle="body3c-medium">{`${HEADER_LIST[3]['title']}`}</Typography>
494
+ </div>
495
+ </div>
496
+ {isCompany && (
497
+ <div
498
+ className="left-0 z-20 shadow-home-drop "
499
+ onMouseEnter={() => setIsCompany(true)}
500
+ onMouseLeave={() => setIsCompany(false)}
501
+ onScroll={() => setIsCompany(false)} // Keep isProduct true when hovering over dropdown content
502
+ >
503
+ <motion.div
504
+ initial={{ opacity: 0 }}
505
+ animate={{ opacity: 1 }}
506
+ transition={{ ease: "easeInOut", duration: 0.1 }}
507
+ className='absolute -left-[50px] z-[2] transform'>
508
+ {dropdownC(HEADER_LIST[3]['titleDropdown'])}
509
+ </motion.div>
510
+ </div>
511
+ )}
512
+ </div>
513
+ )}
514
+ </div>
515
+ <div id="dropdown_customers" >
516
+ {HEADER_LIST[2] && (
517
+ <div
518
+ className={classNames(
519
+ 'group inline-flex items-center rounded-md bg-white hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2'
520
+ )}
521
+ >
522
+ <div className="flex flex-col items-center h-full cursor-pointer">
523
+ <Typography className='hover:text-blue-600' textStyle="body3c-medium">{`${HEADER_LIST[2]['title']}`}</Typography>
524
+ </div>
525
+ </div>
147
526
 
527
+ )}
528
+ </div>
529
+ <div id="dropdown_pricing" >
530
+ {HEADER_LIST[4] && (
531
+ <div
532
+ className={classNames(
533
+ 'group inline-flex items-center rounded-md bg-white hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2'
534
+ )}
535
+ >
536
+ <div className="flex flex-col items-center h-full cursor-pointer">
537
+ <Typography className='hover:text-blue-600 ' textStyle="body3c-medium">{`${HEADER_LIST[4]['title']}`}</Typography>
538
+ </div>
539
+ </div>
540
+ )}
541
+ </div>
148
542
 
149
- //testing
543
+ </>
544
+ );
150
545
 
151
- const mobileNav = (HEADER_LIST) => (
546
+ const mobileNav = (Header_LIST) => (
152
547
  <div className='pt-4 '>
153
548
  <div className='transform transition-all'>
154
549
  {isProduct && (
155
550
  <motion.div
156
551
  className='product_mobile mr-0'>
157
-
158
- <V3Dropdown
159
- primaryCard={HEADER_LIST[0]['primaryCard']}
160
- secondaryCardArr={HEADER_LIST[0]['secondaryCardArr']}
161
- tertiaryCard={HEADER_LIST[0]['tertiaryCard']}
162
- />
163
-
552
+ <div className='mt'>
553
+ <V3Dropdown
554
+ primaryCard={{
555
+ iconVariant: 'hasura',
556
+ mainDescription: 'Choose from our open source community edition, fully managed cloud edition or custom enterprise',
557
+ primaryBtnLabel: 'Hasura Product',
558
+ strokeClass: 'stroke-neutral-800',
559
+ secondaryBtn: [
560
+ { cta_leftVariantIcon: 'home03', cta_leftVariantIconColor: '#6C737F', cta_text: 'Compare plans' }
561
+ ],
562
+ }}
563
+ secondaryCardArr={[
564
+ {
565
+ split: true,
566
+ childArray: [
567
+ {
568
+ description: '',
569
+ href: '#',
570
+ icon: "lightning01",
571
+ name: 'Instant API',
572
+ strokeClass: 'stroke-blue-500'
573
+ },
574
+ {
575
+ description: '',
576
+ href: '#',
577
+ icon: 'data',
578
+ name: 'Federation',
579
+ strokeClass: 'stroke-blue-500'
580
+ },
581
+ {
582
+ description: '',
583
+ href: '#',
584
+ icon: 'eye',
585
+ name: 'Authorization',
586
+ strokeClass: 'stroke-blue-500'
587
+ },
588
+ {
589
+ description: '',
590
+ href: '#',
591
+ icon: 'shieldtick',
592
+ name: 'API Security',
593
+ strokeClass: 'stroke-blue-500'
594
+ },
595
+ {
596
+ description: '',
597
+ href: '#',
598
+ icon: 'speedometer03',
599
+ name: 'Performance',
600
+ strokeClass: 'stroke-blue-500'
601
+ },
602
+ {
603
+ description: '',
604
+ href: '#',
605
+ icon: "barchartsquare01",
606
+ name: 'Observability',
607
+ strokeClass: 'stroke-blue-500'
608
+ }
609
+ ],
610
+ label: 'CAPABILITIES'
611
+ },
612
+ {
613
+ childArray: [
614
+ {
615
+ description: '',
616
+ href: '#',
617
+ icon: 'cube01',
618
+ name: 'All DBs',
619
+ strokeClass: 'stroke-blue-500'
620
+ },
621
+ {
622
+ description: '',
623
+ href: '#',
624
+ icon: 'cube01',
625
+ name: 'Planned DBs',
626
+ strokeClass: 'stroke-blue-500'
627
+ },
628
+ ],
629
+ label: 'Integrations'
630
+ }
631
+ ]}
632
+ />
633
+ </div>
164
634
  </motion.div>)}
165
635
  {isDeveloper && (
166
636
  <div className='product_developer'>
167
637
  <V3Dropdown
168
- primaryCard={HEADER_LIST[1]['primaryCard']}
169
- secondaryCardArr={HEADER_LIST[1]['secondaryCardArr']}
170
- tertiaryCard={HEADER_LIST[1]['tertiaryCard']}
638
+
639
+ secondaryCardArr={[
640
+ {
641
+ childArray: [
642
+ {
643
+ description: '',
644
+ href: '#',
645
+ icon: "lightning01",
646
+ name: 'Documentation',
647
+ strokeClass: 'stroke-blue-500'
648
+ },
649
+ {
650
+ description: '',
651
+ href: '#',
652
+ icon: 'data',
653
+ name: 'Hasura hub',
654
+ strokeClass: 'stroke-blue-500'
655
+ },
656
+ {
657
+ description: '',
658
+ href: '#',
659
+ icon: 'eye',
660
+ name: 'Guides',
661
+ strokeClass: 'stroke-blue-500'
662
+ },
663
+ {
664
+ description: '',
665
+ href: '#',
666
+ icon: 'shieldtick',
667
+ name: 'GraphQL hub',
668
+ strokeClass: 'stroke-blue-500'
669
+ },
670
+ {
671
+ description: '',
672
+ href: '#',
673
+ icon: 'speedometer03',
674
+ name: 'Changelog',
675
+ strokeClass: 'stroke-blue-500'
676
+ },
677
+ {
678
+ description: '',
679
+ href: '#',
680
+ icon: "barchartsquare01",
681
+ name: 'GraphQL',
682
+ strokeClass: 'stroke-blue-500'
683
+ }
684
+ ],
685
+ label: 'BUILD'
686
+ },
687
+ {
688
+
689
+ childArray: [
690
+ {
691
+ description: '',
692
+ href: '#',
693
+ icon: 'cube01',
694
+ name: 'Blog',
695
+ strokeClass: 'stroke-blue-500'
696
+ },
697
+ {
698
+ description: '',
699
+ href: '#',
700
+ icon: 'cube01',
701
+ name: 'Tech talks',
702
+ strokeClass: 'stroke-blue-500'
703
+ },
704
+ {
705
+ description: '',
706
+ href: '#',
707
+ icon: 'cube01',
708
+ name: 'Tutorials',
709
+ strokeClass: 'stroke-blue-500'
710
+ },
711
+ {
712
+ description: '',
713
+ href: '#',
714
+ icon: 'cube01',
715
+ name: 'Events',
716
+ strokeClass: 'stroke-blue-500'
717
+ },
718
+ {
719
+ description: '',
720
+ href: '#',
721
+ icon: 'cube01',
722
+ name: 'Resources',
723
+ strokeClass: 'stroke-blue-500'
724
+ },
725
+ ],
726
+ label: 'Learn',
727
+
728
+ },
729
+ {
730
+
731
+ childArray: [
732
+ {
733
+ description: '',
734
+ href: '#',
735
+ icon: 'cube01',
736
+ name: 'Community',
737
+ strokeClass: 'stroke-blue-500'
738
+ },
739
+ {
740
+ description: '',
741
+ href: '#',
742
+ icon: 'cube01',
743
+ name: 'Discord',
744
+ strokeClass: 'stroke-blue-500'
745
+ },
746
+ {
747
+ description: '',
748
+ href: '#',
749
+ icon: 'cube01',
750
+ name: 'Forum',
751
+ strokeClass: 'stroke-blue-500'
752
+ },
753
+ {
754
+ description: '',
755
+ href: '#',
756
+ icon: 'cube01',
757
+ name: 'Meetups',
758
+ strokeClass: 'stroke-blue-500'
759
+ },
760
+ {
761
+ description: '',
762
+ href: '#',
763
+ icon: 'cube01',
764
+ name: 'Support',
765
+ strokeClass: 'stroke-blue-500'
766
+ },
767
+ ],
768
+ label: 'Connect',
769
+
770
+ },
771
+ ]}
772
+
773
+ tertiaryCard={[
774
+ {
775
+ title: 'HasuraCon 2023 is here!',
776
+
777
+ title_colorClass: 'text-neutral-900',
778
+ img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/hascon_211daeb83a.png'
779
+ },
780
+ {
781
+ title: 'Top 6 Architecture Trends for API Development',
782
+
783
+ title_colorClass: 'text-neutral-900',
784
+ img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/api_trends_0a035678d8.png'
785
+ },
786
+ {
787
+ title: 'Announcing Hasura integration with Snowflake',
788
+
789
+ title_colorClass: 'text-neutral-900',
790
+ img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/snowflake_def20494db.png'
791
+ },
792
+ ]}
171
793
  />
172
794
  </div>)
173
795
  }
174
796
  {isCompany && (<div className='product_company'>
175
797
  <V3Dropdown
176
- primaryCard={HEADER_LIST[1]['primaryCard']}
177
- secondaryCardArr={HEADER_LIST[1]['secondaryCardArr']}
178
- tertiaryCard={HEADER_LIST[1]['tertiaryCard']}
798
+
799
+ secondaryCardArr={[
800
+ {
801
+ childArray: [
802
+ {
803
+ description: '',
804
+ href: '#',
805
+ icon: "lightning01",
806
+ name: 'Our story',
807
+ strokeClass: 'stroke-blue-500'
808
+ },
809
+ {
810
+ description: '',
811
+ href: '#',
812
+ icon: 'data',
813
+ name: 'Partners',
814
+ strokeClass: 'stroke-blue-500'
815
+ },
816
+ {
817
+ description: '',
818
+ href: '#',
819
+ icon: 'eye',
820
+ name: 'Work at Hasura',
821
+ strokeClass: 'stroke-blue-500'
822
+ },
823
+ {
824
+ description: '',
825
+ href: '#',
826
+ icon: 'shieldtick',
827
+ name: 'News room',
828
+ strokeClass: 'stroke-blue-500'
829
+ },
830
+ {
831
+ description: '',
832
+ href: '#',
833
+ icon: 'speedometer03',
834
+ name: 'Brand',
835
+ strokeClass: 'stroke-blue-500'
836
+ },
837
+
838
+ ],
839
+ label: 'Company'
840
+ },
841
+
842
+ ]}
843
+
844
+ tertiaryCard={[
845
+ {
846
+ title: 'HasuraCon 2023 is here!',
847
+
848
+ title_colorClass: 'text-neutral-900',
849
+ img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/hascon_211daeb83a.png'
850
+ },
851
+ {
852
+ title: 'Top 6 Architecture Trends for API Development',
853
+
854
+ title_colorClass: 'text-neutral-900',
855
+ img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/api_trends_0a035678d8.png'
856
+ },
857
+ {
858
+ title: 'Announcing Hasura integration with Snowflake',
859
+
860
+ title_colorClass: 'text-neutral-900',
861
+ img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/snowflake_def20494db.png'
862
+ },
863
+ ]}
179
864
  />
180
865
  </div>)}
181
866
  </div>
182
867
  </div>
183
868
  )
184
869
 
185
-
186
870
  let class1;
187
871
  let class2;
188
872
  let class3;
@@ -203,30 +887,20 @@ export default function V3Header(props) {
203
887
  setIsCompany(false);
204
888
  setIsProduct(false);
205
889
  setCurrentTab('')
206
- props.HEADER_LIST.forEach((item, index) => {
207
- // Access the values of each item and the index
208
- handleDropdownLeave(index)
209
- });
210
890
  }
211
- function handleBackClick() {
891
+ function handleBackClick(sda) {
892
+ console.log('clicked', sda);
212
893
  setIsDeveloper(false);
213
894
  setIsCompany(false);
214
895
  setIsProduct(false);
215
896
  setCurrentTab('');
216
- props.HEADER_LIST.forEach((item, index) => {
217
- // Access the values of each item and the index
218
- handleDropdownLeave(index)
219
- });
220
-
221
897
  }
222
898
 
223
899
 
224
900
  function handleMbDropdownClick(title) {
225
- const i = props.HEADER_LIST.findIndex(item => item.title === title);
226
- handleDropdownEnter(i);
901
+
227
902
  // Implement your logic to open the additional options for the clicked dropdown
228
903
  if (title === 'Developer') {
229
-
230
904
  setIsDeveloper(true);
231
905
  }
232
906
  if (title === 'Product') {
@@ -262,14 +936,12 @@ export default function V3Header(props) {
262
936
  <div className={'h-full ' + ((mobileNavOpen) ? " hds-hidden" : "")}>
263
937
  <AlgoliaSearch {...props} />
264
938
  </div>
265
- {!(isCompany || isDeveloper || isProduct) &&
266
- (<div className='h-5 w-5 mt-3' onClick={() => handleMbDropdownClose()}>
267
- <div className=' h-5 cursor-pointer' >
939
+ <div onClick={() => handleMbDropdownClose()}>
940
+ <div className=' h-5 mt-3 cursor-pointer' >
268
941
  <div aria-hidden="true" className={`${class1} block absolute h-[2px] w-[15px] bg-neutral-800 transform transition duration-500 ease-in-out`}></div>
269
942
  <div aria-hidden="true" className={`${class3} block absolute h-0.5 w-[15px] bg-neutral-800 transform transition duration-500 ease-in-out`}></div>
270
943
  </div>
271
-
272
- </div>)}
944
+ </div>
273
945
  </div>
274
946
  </div>
275
947
  <div className='hds-hidden tb-l:flex flex-row w-full justify-between items-center'>
@@ -279,8 +951,24 @@ export default function V3Header(props) {
279
951
  onMouseLeave={() => setIsArrowActive(false)}
280
952
 
281
953
  >
282
- {headerListfunction(props.HEADER_LIST)}
283
-
954
+
955
+ {headerListfn(props.HEADER_LIST)}
956
+ {/* <span className="absolute top-8 left-0 w-full">
957
+
958
+ {isArrowActive ? (
959
+ <div
960
+ className={`w-full relative transition-all duration-500 ${isProduct ? 'left-6' : isDeveloper ? 'left-[108px]' : 'left-[200px]'
961
+ }`}
962
+ >
963
+ {(isProduct || isCompany || isDeveloper) &&
964
+
965
+ <Icon height="h-5 w-5 fill-neutral-150" variant="triangle" strokeClass="stroke-neutral-150" />
966
+ }
967
+ </div>
968
+ ) : null}
969
+ </span> */}
970
+
971
+
284
972
  </nav>
285
973
 
286
974
  <div className='hds-hidden tb-l:flex flex-row items-center gap-x-4 '>
@@ -330,40 +1018,25 @@ export default function V3Header(props) {
330
1018
  <span className="sr-only">Open menu</span> */}
331
1019
 
332
1020
 
333
- <div className={"bg-neutral-100 shadow-sh1 hds-hidden-tbl block fixed w-full tb:max-w-[480px] tb:left-auto tb:right-4 mx-auto left-4 top-0 transform transition duration-500 ease-in-out h-[calc(100%-1px)] max-h-screen overflow-y-auto" + ((mobileNavOpen) ? " translate-x-0" : " translate-x-[1240px]")}>
1021
+ <div className={"bg-neutral-100 hds-hidden-tbl block fixed w-full tb:max-w-[480px] tb:left-auto tb:right-4 mx-auto left-4 top-0 transform transition duration-500 ease-in-out h-[calc(100%-1px)] max-h-screen overflow-y-auto" + ((mobileNavOpen) ? " translate-x-0" : " translate-x-[1240px]")}>
334
1022
 
335
- <div className="bg-neutral-100 h-[calc(100%-80px)] rounded-2xl overflow-y-scroll scrollbar-hide">
1023
+ <div className="bg-neutral-100 h-[calc(100%-80px)] rounded-2xl overflow-scroll ">
336
1024
 
337
- <div className='pt-6 pb-4 tb:mr-[16px] mr-[34px] min-h-[36px] flex flex-row justify-between items-center sticky top-0 bg-neutral-100 z-50 '>
338
- {(isCompany || isDeveloper || isProduct) &&
339
- (
340
- <div
1025
+ <div className='pt-9 pb-4 mr-[17px] min-h-[36px] flex flex-row justify-between items-center sticky top-0 bg-neutral-100 z-50 '>
1026
+ {(isCompany || isDeveloper || isProduct) && <div
341
1027
  className=' flex flex-row justify-start z-10'
342
1028
  onClick={() => handleBackClick()}
343
1029
 
344
1030
  >
345
1031
  <Icon height='w-5 h-5 ml-4 cursor-pointer' variant={'arrowleft'} strokeClass='stroke-neutral-1000' />
346
- </div>
347
- )}
1032
+ </div>}
348
1033
  <motion.div
349
1034
  initial={{ opacity: 0 }}
350
1035
  animate={{ opacity: 1 }}
351
1036
  transition={{ duration: 0.4, opacity: { ease: "easeIn" } }}
352
- className='w-full justify-center flex '>
1037
+ className='w-full justify-center -ml-9 flex '>
353
1038
  <Typography textStyle='body3c-medium' className='text-neutral-900'>{currentTab}</Typography>
354
1039
  </motion.div>
355
- {(isCompany || isDeveloper || isProduct) &&
356
- (
357
- <motion.div
358
- initial={{ opacity: 0 }}
359
- animate={{ opacity: 1 }}
360
- transition={{ duration: 0.4, opacity: { ease: "easeIn" } }}
361
- className=' flex flex-row justify-start z-10'
362
- onClick={() => handleMbDropdownClose()}
363
-
364
- >
365
- <Icon height='w-5 h-5 ml-4 stroke-2 cursor-pointer' variant={'xclose'} strokeClass='stroke-neutral-1000' />
366
- </motion.div>)}
367
1040
 
368
1041
  </div>
369
1042
  <AnimatePresence mode='wait' exit={false} >
@@ -378,7 +1051,7 @@ export default function V3Header(props) {
378
1051
  className="flex flex-col justify-between "
379
1052
  >
380
1053
  <div className="flex flex-col justify-between rounded-2xl h-full">
381
- <div className="pl-4 pr-8 tb:pr-4">
1054
+ <div className="pl-4 pr-[34px]">
382
1055
  {mobileNav(props.HEADER_LIST)}
383
1056
  </div>
384
1057
  </div>
@@ -397,7 +1070,7 @@ export default function V3Header(props) {
397
1070
  alt=""
398
1071
  />
399
1072
  </div>
400
- <nav className="grid divide-y mr-8 tb:mr-4 bg-neutral-0 divide-neutral-200 border border-neutral-200 rounded-3xl mb-6">
1073
+ <nav className="grid divide-y mr-8 bg-neutral-0 divide-neutral-200 border border-neutral-200 rounded-3xl mb-6">
401
1074
  {props.HEADER_LIST.map((item) => (
402
1075
  <div
403
1076
  key={item['title']}
@@ -434,7 +1107,6 @@ export default function V3Header(props) {
434
1107
  rightAnimatedArrow='true'
435
1108
  rightAnimatedArrowColor='#3970FD'
436
1109
  animatedHoverStroke='group-hover:stroke-neutral-0'
437
- className=' !w-full'
438
1110
  />
439
1111
  </a>
440
1112
  <a href='https://cloud.hasura.io/signup?pg=home&plcmt=header&cta=try-hasura&tech=default' className='w-1/2'>
@@ -448,7 +1120,6 @@ export default function V3Header(props) {
448
1120
  rightAnimatedArrow='true'
449
1121
  rightAnimatedArrowColor='#ffffff'
450
1122
  animatedHoverStroke='group-hover:stroke-neutral-0'
451
- className=' !w-full'
452
1123
  />
453
1124
  </a>
454
1125
  </div>
@@ -459,6 +1130,99 @@ export default function V3Header(props) {
459
1130
 
460
1131
  </div>
461
1132
  </div>
1133
+
1134
+
1135
+
1136
+ {/* mobile menu */}
1137
+ <>
1138
+ <div>
1139
+
1140
+
1141
+ <div className="absolute h-[calc(100%-112px)] bg-base-0 z-[1] inset-x-0 top-0 origin-top-right hds-hidden transform transition">
1142
+ <div className=" rounded-lg bg-neutral-0 h-[calc(100%-112px)] shadow-lg">
1143
+ <div className="bg-neutral-0">
1144
+ {/* <div className="flex items-center justify-end">
1145
+ <div className="">
1146
+ <div className="inline-flex items-center justify-center pt-4 pr-4 w-full focus:ring-0">
1147
+ <Icon height={'h-5 w-5'} variant={'xclose'} strokeColor={'#3970FD'} />
1148
+ </div>
1149
+ </div>
1150
+ </div> */}
1151
+ <div className="mt-6 flex flex-col gap-6">
1152
+ <div className='flex flex-col items-center'>
1153
+ <img
1154
+ className="inline-block w-full px-4 "
1155
+ src="https://res.cloudinary.com/dh8fp23nd/image/upload/v1683015500/hasura-con-2023/engage_clgotb.png"
1156
+ alt=""
1157
+ />
1158
+ </div>
1159
+
1160
+ <nav className="grid divide-y divide-neutral-200 border border-neutral-200 rounded-3xl hds-hidden-tbl ">
1161
+ {props.HEADER_LIST.map((item) => (
1162
+ <div
1163
+ key={item['title']}
1164
+ href='#'
1165
+ className="flex justify-between items-center p-4 cursor-pointer"
1166
+ >
1167
+ {headerListfn(props.HEADER_LIST)}
1168
+
1169
+ <div className="flex items-center justify-center gap-2 ">
1170
+
1171
+ <Icon height='h-5 w-5' variant={'home03'} strokeColor={'#3970FD'} />
1172
+
1173
+
1174
+ <Typography textStyle='body3c-medium' className='text-neutral-900'>
1175
+ {`${item['title']}`}
1176
+ </Typography>
1177
+ </div>
1178
+
1179
+ <Icon height='h-5 w-5 stroke-[1.5px]' variant={'chevronright'} strokeClass='stroke-neutral-500' />
1180
+ </div>
1181
+ ))}
1182
+ </nav>
1183
+ </div>
1184
+ </div>
1185
+ <div className="py-6 px-5 ">
1186
+ <div className="mt-6 ">
1187
+ <div className='flex flex-row justify-around'>
1188
+ <div className='w-full flex gap-2'>
1189
+ <div className='w-1/2'>
1190
+ <HDSButton
1191
+ label="Log In"
1192
+ type='tonal'
1193
+ leftIconVariant='none'
1194
+ rightIconVariant='none'
1195
+ state='default'
1196
+ size='sm'
1197
+ rightAnimatedArrow='true'
1198
+ rightAnimatedArrowColor='#3970FD'
1199
+ animatedHoverStroke='group-hover:stroke-neutral-0'
1200
+
1201
+
1202
+ />
1203
+ </div>
1204
+ <div className='w-1/2'>
1205
+ <HDSButton
1206
+ label="Sign up"
1207
+ type='primary'
1208
+ leftIconVariant='none'
1209
+ rightIconVariant='none'
1210
+ state='default'
1211
+ size='sm'
1212
+ rightAnimatedArrow='true'
1213
+ rightAnimatedArrowColor='#ffffff'
1214
+ animatedHoverStroke='group-hover:stroke-neutral-0'
1215
+ />
1216
+ </div>
1217
+ </div>
1218
+ </div>
1219
+ </div>
1220
+ </div>
1221
+ </div>
1222
+ </div>
1223
+ </div>
1224
+ </>
1225
+ {/* mobile menu */}
462
1226
  </div>
463
1227
  )
464
1228
  }
@@ -467,243 +1231,62 @@ V3Header.defaultProps = {
467
1231
  HEADER_LIST: [
468
1232
  {
469
1233
  title: 'Product',
470
- primaryCard: {
471
- iconVariant: 'hasura',
472
- mainDescription: 'Choose from our open source community edition, fully managed cloud edition or custom enterprise',
473
- primaryBtnLabel: 'Hasura Product',
474
- strokeClass: 'stroke-neutral-800',
475
- secondaryBtn: [
476
- { cta_leftVariantIcon: 'home03', cta_leftVariantIconColor: '#6C737F', cta_text: 'Compare plans' }
477
- ],
478
- },
479
- secondaryCardArr:
480
- [
481
- {
482
- split: true,
483
- childArray: [
484
- {
485
- description: '',
486
- href: '#',
487
- icon: "lightning01",
488
- name: 'Instant API',
489
- strokeClass: 'stroke-blue-500'
490
- },
491
- {
492
- description: '',
493
- href: '#',
494
- icon: 'data',
495
- name: 'Federation',
496
- strokeClass: 'stroke-blue-500'
497
- },
498
- {
499
- description: '',
500
- href: '#',
501
- icon: 'eye',
502
- name: 'Authorization',
503
- strokeClass: 'stroke-blue-500'
504
- },
505
- {
506
- description: '',
507
- href: '#',
508
- icon: 'shieldtick',
509
- name: 'API Security',
510
- strokeClass: 'stroke-blue-500'
511
- },
512
- {
513
- description: '',
514
- href: '#',
515
- icon: 'speedometer03',
516
- name: 'Performance',
517
- strokeClass: 'stroke-blue-500'
518
- },
519
- {
520
- description: '',
521
- href: '#',
522
- icon: "barchartsquare01",
523
- name: 'Observability',
524
- strokeClass: 'stroke-blue-500'
525
- }
526
- ],
527
- label: 'CAPABILITIES'
528
- },
529
- {
530
- childArray: [
531
- {
532
- description: '',
533
- href: '#',
534
- icon: 'database01',
535
- name: 'All DBs',
536
- strokeClass: 'stroke-blue-500'
537
- },
538
- {
539
- description: '',
540
- href: '#',
541
- icon: 'checksquare',
542
- name: 'Planned DBs',
543
- strokeClass: 'stroke-blue-500'
544
- },
545
- ],
546
- label: 'Integrations'
547
- }
548
- ]
549
- },
550
- {
551
-
552
- title: 'Developer',
553
- secondaryCardArr: [
1234
+ titleDropdown: [
554
1235
  {
555
- childArray: [
556
- {
557
- description: '',
558
- href: '#',
559
- icon: "file02",
560
- name: 'Documentation',
561
- strokeClass: 'stroke-blue-500'
562
- },
563
- {
564
- description: '',
565
- href: '#',
566
- icon: 'hasura',
567
- name: 'Hasura hub',
568
- strokeClass: 'stroke-blue-500'
569
- },
570
- {
571
- description: '',
572
- href: '#',
573
- icon: 'route',
574
- name: 'Guides',
575
- strokeClass: 'stroke-blue-500'
576
- },
577
- {
578
- description: '',
579
- href: '#',
580
- icon: 'asterisk02',
581
- name: 'GraphQL hub',
582
- strokeClass: 'stroke-blue-500'
583
- },
584
- {
585
- description: '',
586
- href: '#',
587
- icon: "codebrowser",
588
- name: 'GraphQL',
589
- strokeClass: 'stroke-blue-500'
590
- },
591
- {
592
- description: '',
593
- href: '#',
594
- icon: 'gitpullrequest',
595
- name: 'Changelog',
596
- strokeClass: 'stroke-blue-500'
597
- }
598
- ],
599
- label: 'BUILD'
1236
+ name: 'Analytics',
1237
+ description: 'Get a better understanding of where your traffic is coming from.',
1238
+ href: '#',
1239
+ icon: 'home03',
600
1240
  },
601
1241
  {
602
-
603
- childArray: [
604
- {
605
- description: '',
606
- href: '#',
607
- icon: 'bookopen01',
608
- name: 'Blog',
609
- strokeClass: 'stroke-blue-500'
610
- },
611
- {
612
- description: '',
613
- href: '#',
614
- icon: 'videorecorder',
615
- name: 'Tech talks',
616
- strokeClass: 'stroke-blue-500'
617
- },
618
- {
619
- description: '',
620
- href: '#',
621
- icon: 'graduationhat02',
622
- name: 'Tutorials',
623
- strokeClass: 'stroke-blue-500'
624
- },
625
- {
626
- description: '',
627
- href: '#',
628
- icon: 'calendarplus02',
629
- name: 'Events',
630
- strokeClass: 'stroke-blue-500'
631
- },
632
- {
633
- description: '',
634
- href: '#',
635
- icon: 'box',
636
- name: 'Resources',
637
- strokeClass: 'stroke-blue-500'
638
- },
639
- ],
640
- label: 'Learn',
641
-
1242
+ name: 'Engagement',
1243
+ description: 'Speak directly to your customers in a more meaningful way.',
1244
+ href: '#',
1245
+ icon: 'home03',
642
1246
  },
643
1247
  {
644
-
645
- childArray: [
646
- {
647
- description: '',
648
- href: '#',
649
- icon: 'users01',
650
- name: 'Community',
651
- strokeClass: 'stroke-blue-500'
652
- },
653
- {
654
- description: '',
655
- href: '#',
656
- icon: 'cube01',
657
- name: 'Discord',
658
- strokeClass: 'stroke-blue-500'
659
- },
660
- {
661
- description: '',
662
- href: '#',
663
- icon: 'cube01',
664
- name: 'Forum',
665
- strokeClass: 'stroke-blue-500'
666
- },
667
- {
668
- description: '',
669
- href: '#',
670
- icon: 'cube01',
671
- name: 'Meetups',
672
- strokeClass: 'stroke-blue-500'
673
- },
674
- {
675
- description: '',
676
- href: '#',
677
- icon: 'hand',
678
- name: 'Support',
679
- strokeClass: 'stroke-blue-500'
680
- },
681
- ],
682
- label: 'Connect',
683
-
1248
+ name: 's',
1249
+ description: 'Your customers’ data will be safe and secure.',
1250
+ href: '#',
1251
+ icon: 'home03'
1252
+ },
1253
+ {
1254
+ name: 'Securidty',
1255
+ description: 'Your customers’ data will be safe and secure.',
1256
+ href: '#',
1257
+ icon: 'home03'
1258
+ },
1259
+ {
1260
+ name: 'Secudristy',
1261
+ description: 'Your customers’ data will be safe and secure.',
1262
+ href: '#',
1263
+ icon: 'home03'
684
1264
  },
685
1265
  ],
1266
+ },
1267
+ {
686
1268
 
687
- tertiaryCard: [
1269
+ title: 'Developer',
1270
+ titleDropdown: [
688
1271
  {
689
- title: 'HasuraCon 2023 is here!',
690
-
691
- title_colorClass: 'text-neutral-900',
692
- img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/hascon_211daeb83a.png'
1272
+ name: 'Analytics',
1273
+ description: 'Get a better understanding of where your traffic is coming from.',
1274
+ href: '#',
1275
+ icon: 'home03',
693
1276
  },
694
1277
  {
695
- title: 'Top 6 Architecture Trends for API Development',
696
-
697
- title_colorClass: 'text-neutral-900',
698
- img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/api_trends_0a035678d8.png'
1278
+ name: 'Engagement',
1279
+ description: 'Speak directly to your customers in a more meaningful way.',
1280
+ href: '#',
1281
+ icon: 'home03',
699
1282
  },
700
1283
  {
701
- title: 'Announcing Hasura integration with Snowflake',
702
-
703
- title_colorClass: 'text-neutral-900',
704
- img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/snowflake_def20494db.png'
1284
+ name: 'Security',
1285
+ description: 'Your customers’ data will be safe and secure.',
1286
+ href: '#',
1287
+ icon: 'home03'
705
1288
  },
706
- ]
1289
+ ],
707
1290
  },
708
1291
  {
709
1292
 
@@ -715,71 +1298,26 @@ V3Header.defaultProps = {
715
1298
  {
716
1299
 
717
1300
  title: 'Company',
718
- secondaryCardArr: [
1301
+ titleDropdown: [
719
1302
  {
720
- childArray: [
721
- {
722
- description: '',
723
- href: '#',
724
- icon: "pentool02",
725
- name: 'Our story',
726
- strokeClass: 'stroke-blue-500'
727
- },
728
- {
729
- description: '',
730
- href: '#',
731
- icon: 'data',
732
- name: 'Partners',
733
- strokeClass: 'stroke-blue-500'
734
- },
735
- {
736
- description: '',
737
- href: '#',
738
- icon: 'hearthand',
739
- name: 'Work at Hasura',
740
- strokeClass: 'stroke-blue-500'
741
- },
742
- {
743
- description: '',
744
- href: '#',
745
- icon: 'headingsquare',
746
- name: 'News room',
747
- strokeClass: 'stroke-blue-500'
748
- },
749
- {
750
- description: '',
751
- href: '#',
752
- icon: 'star06',
753
- name: 'Brand',
754
- strokeClass: 'stroke-blue-500'
755
- },
756
-
757
- ],
758
- label: 'Company'
759
- },
760
-
761
- ],
762
-
763
- tertiaryCard: [
764
- {
765
- title: 'HasuraCon 2023 is here!',
766
-
767
- title_colorClass: 'text-neutral-900',
768
- img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/hascon_211daeb83a.png'
1303
+ name: 'Analytics',
1304
+ description: 'Get a better understanding of where your traffic is coming from.',
1305
+ href: '#',
1306
+ icon: 'home03',
769
1307
  },
770
1308
  {
771
- title: 'Top 6 Architecture Trends for API Development',
772
-
773
- title_colorClass: 'text-neutral-900',
774
- img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/api_trends_0a035678d8.png'
1309
+ name: 'Engagement',
1310
+ description: 'Speak directly to your customers in a more meaningful way.',
1311
+ href: '#',
1312
+ icon: 'home03',
775
1313
  },
776
1314
  {
777
- title: 'Announcing Hasura integration with Snowflake',
778
-
779
- title_colorClass: 'text-neutral-900',
780
- img_url: 'https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/snowflake_def20494db.png'
1315
+ name: 'Security',
1316
+ description: 'Your customers’ data will be safe and secure.',
1317
+ href: '#',
1318
+ icon: 'home03'
781
1319
  },
782
- ]
1320
+ ],
783
1321
  },
784
1322
  {
785
1323
 
@@ -787,6 +1325,30 @@ V3Header.defaultProps = {
787
1325
  href: ''
788
1326
 
789
1327
  },
1328
+ // {
1329
+
1330
+ // title: 'Pricing',
1331
+ // titleDropdown: [
1332
+ // {
1333
+ // name: 'Analytics',
1334
+ // description: 'Get a better understanding of where your traffic is coming from.',
1335
+ // href: '#',
1336
+ // icon: 'home03',
1337
+ // },
1338
+ // {
1339
+ // name: 'Engagement',
1340
+ // description: 'Speak directly to your customers in a more meaningful way.',
1341
+ // href: '#',
1342
+ // icon: 'home03',
1343
+ // },
1344
+ // {
1345
+ // name: 'Security',
1346
+ // description: 'Your customers’ data will be safe and secure.',
1347
+ // href: '#',
1348
+ // icon: 'home03'
1349
+ // },
1350
+ // ]
1351
+ // },
790
1352
 
791
1353
 
792
1354
  ],