hds-web 1.6.8 → 1.6.9

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 (49) hide show
  1. package/package.json +1 -1
  2. package/src/HDS/assets/icons/calendar-plus-01.svg +1 -1
  3. package/src/HDS/assets/icons/calendar-plus-02.svg +1 -1
  4. package/src/HDS/assets/icons/hasura-1.svg +3 -0
  5. package/src/HDS/assets/icons/hasura-2.svg +3 -0
  6. package/src/HDS/assets/icons/hasura-3.svg +3 -0
  7. package/src/HDS/components/Avatars/hasConAv.js +9 -10
  8. package/src/HDS/components/Avatars/profileAvatar.js +10 -29
  9. package/src/HDS/components/BadgesCaption/badges.js +7 -4
  10. package/src/HDS/components/Buttons/button.js +25 -14
  11. package/src/HDS/components/Cards/Dropdown/v3Dropdown.js +1 -1
  12. package/src/HDS/components/Cards/Feedback/feedback.js +1 -1
  13. package/src/HDS/components/Cards/ImageBox/imagebox.js +51 -0
  14. package/src/HDS/components/Cards/ImageBox/index.js +1 -0
  15. package/src/HDS/components/Cards/Link/link.js +19 -13
  16. package/src/HDS/components/Cards/Menu/flyout.js +5 -4
  17. package/src/HDS/components/Cards/Menu/flyoutA.js +5 -4
  18. package/src/HDS/components/Cards/Menu/flyoutFull.js +1 -0
  19. package/src/HDS/components/Cards/Misc/iconCard.js +71 -60
  20. package/src/HDS/components/Cards/Misc/index.js +1 -0
  21. package/src/HDS/components/Cards/Misc/talkCard.js +19 -18
  22. package/src/HDS/components/Cards/Misc/talkcard2.js +118 -0
  23. package/src/HDS/components/Cards/TalkDetailCard/talkDetailCard.js +83 -52
  24. package/src/HDS/components/Carousels/carouselCard.js +101 -90
  25. package/src/HDS/components/Headers/v3Header.js +111 -85
  26. package/src/HDS/components/Hero/h2.js +58 -36
  27. package/src/HDS/components/Hero/h3.js +413 -0
  28. package/src/HDS/components/Hero/index.js +2 -1
  29. package/src/HDS/components/Tables/index.js +2 -1
  30. package/src/HDS/components/Tables/tableB.js +10 -10
  31. package/src/HDS/components/Tables/tableC.js +20 -23
  32. package/src/HDS/components/Tables/tableD.js +326 -0
  33. package/src/HDS/components/Tabs/tab.js +47 -16
  34. package/src/HDS/components/common-components/Icon/IconMap.js +6 -0
  35. package/src/HDS/components/index.js +2 -1
  36. package/src/HDS/foundation/ColorPalette/color.js +193 -1
  37. package/src/HDS/foundation/Typography/Typography.js +2 -1
  38. package/src/HDS/helpers/Grid/grid.js +64 -0
  39. package/src/HDS/helpers/Grid/index.js +1 -0
  40. package/src/HDS/helpers/Media/index.js +1 -0
  41. package/src/HDS/helpers/Media/mediabox.js +75 -0
  42. package/src/HDS/helpers/index.js +2 -1
  43. package/src/HDS/modules/TextCard/textCard.js +8 -71
  44. package/src/HDS/modules/index.js +2 -1
  45. package/src/HDS/modules/navCard/index.js +1 -0
  46. package/src/HDS/modules/navCard/navCard.js +82 -0
  47. package/src/index.css +39 -1
  48. package/src/styles/tailwind.css +3104 -1848
  49. package/tailwind.config.js +6 -3
@@ -1,37 +1,13 @@
1
1
  import React from "react";
2
+ import { useRef,useState } from "react";
2
3
  import { Icon } from "../common-components/Icon";
3
- import { HasConAvatar } from "../Avatars";
4
- export default function Carouseltest(props) {
4
+ import { HDSButton } from "../Buttons";
5
+ export default function CarouselCard(props) {
6
+ const carouselRef = useRef(null); // Create a ref using useRef
5
7
  const [currentCard, setCurrentCard] = React.useState(0);
6
8
  const [touchStart, setTouchStart] = React.useState(0);
7
9
  const [touchEnd, setTouchEnd] = React.useState(0);
8
- const [visibleCardsContainerWidth, setvisibleCardsContainerWidth] = React.useState(0);
9
- const [cardWidth, setcardWidth] = React.useState(0);
10
- const [totalContainerWidth, setTotalContainerWidth] = React.useState(0);
11
- const [totalClick, setTotalClick] = React.useState(1);
12
- const [totalCards, setTotalCards] = React.useState(0);
13
- React.useEffect(() => {
14
- const visibleCardsContainerWidth = refs[0]?.current?.parentNode?.offsetWidth;
15
- setvisibleCardsContainerWidth(visibleCardsContainerWidth);
16
- const cardWidth = refs[0]?.current?.getBoundingClientRect().width;
17
- setcardWidth(cardWidth);
18
-
19
- const totalCardsWidth = Object.values(refs).reduce((acc, ref) => {
20
- const rect = ref.current.getBoundingClientRect();
21
- return acc + rect.width + parseFloat(getComputedStyle(ref.current).marginLeft) + parseFloat(getComputedStyle(ref.current).marginRight);
22
- }, 0);
23
- setTotalContainerWidth(totalCardsWidth);
24
- const noOfcardsinaview = (visibleCardsContainerWidth/cardWidth);
25
-
26
- const cardLength = props.length;
27
- setTotalCards(cardLength);
28
-
29
- setTotalClick(2*(cardLength/noOfcardsinaview));
30
-
31
-
32
-
33
- }, []);
34
-
10
+ const [showAllCards, setShowAllCards] = useState(false);
35
11
 
36
12
  const handleTouchStart = e => {
37
13
  setTouchStart(e.targetTouches[0].clientX);
@@ -51,70 +27,69 @@ export default function Carouseltest(props) {
51
27
  }
52
28
  };
53
29
 
54
-
55
30
  const refs = props.cards.reduce((acc, val, i) => {
56
31
  acc[i] = React.createRef();
57
32
  return acc;
58
33
  }, {});
59
34
 
60
- const scrollToCard = i => {
61
- setCurrentCard(i);
62
35
 
63
- refs[i].current.scrollIntoView({
64
- behavior: 'smooth',
65
- block: 'nearest',
66
- inline: 'start',
67
- });
68
- };
36
+
37
+ const totalCards = props.cards.length;
69
38
 
70
39
  const nextCard = () => {
71
-
72
- if (currentCard >= totalCards-1 || currentCard > totalClick+1) {
73
- scrollToCard(0);
74
- } else {
75
- scrollToCard(currentCard + 1);
40
+ let scrollByAmount = 1;
41
+ if (window.innerWidth > 800) {
42
+ scrollByAmount = 2;
43
+ }
44
+ if (window.innerWidth > 1140) {
45
+ scrollByAmount = 3;
46
+ }
47
+
48
+ if (currentCard < totalCards - scrollByAmount) {
49
+ setCurrentCard(currentCard + scrollByAmount);
50
+ carouselRef.current.scrollTo({
51
+ left: carouselRef.current.scrollLeft + carouselRef.current.children[0].offsetWidth * scrollByAmount,
52
+ behavior: "smooth",
53
+ });
54
+ }
55
+ else {
56
+ setCurrentCard(0);
57
+ carouselRef.current.scrollTo({
58
+ left: 0,
59
+ behavior: "smooth",
60
+ });
76
61
  }
77
62
  };
78
63
 
79
64
  const previousCard = () => {
80
- if (currentCard === 0) {
81
- scrollToCard(totalCards - 1);
82
- } else {
83
- scrollToCard(currentCard - 1);
65
+ let scrollByAmount = 1;
66
+ if (window.innerWidth > 800) {
67
+ scrollByAmount = 2;
84
68
  }
85
- };
86
- const slider = () => {
87
-
88
- let x = visibleCardsContainerWidth;
89
- let noOfcardsinaview = visibleCardsContainerWidth/cardWidth;
90
-
91
- let y = 1;
92
-
93
- // if((noOfcardsinaview*(currentCard+1))<=totalCards){
94
- // let y = (totalContainerWidth/(noOfcardsinaview*visibleCardsContainerWidth))*(noOfcardsinaview*(currentCard+1));
95
-
96
- // }
97
-
98
- let slider1 = (384/(totalCards*cardWidth)) * (328)* (currentCard+noOfcardsinaview);
99
- if(slider1>384){
100
- slider1 = 384;
69
+ if (window.innerWidth > 1140) {
70
+ scrollByAmount = 3;
71
+ }
72
+
73
+ if (currentCard > 0) {
74
+ setCurrentCard(currentCard - scrollByAmount);
75
+ carouselRef.current.scrollTo({
76
+ left: carouselRef.current.scrollLeft - carouselRef.current.children[0].offsetWidth * scrollByAmount,
77
+ behavior: "smooth",
78
+ });
79
+ } else {
80
+ const lastCardIndex = totalCards - 1;
81
+ const scrollLeft = carouselRef.current.scrollWidth - carouselRef.current.children[0].offsetWidth * scrollByAmount;
82
+ setCurrentCard(lastCardIndex);
83
+ carouselRef.current.scrollTo({
84
+ left: scrollLeft,
85
+ behavior: "smooth",
86
+ });
101
87
  }
102
- let roundOff = Math.floor(totalClick);
103
- let slider2 = 384/(roundOff+Math.floor(noOfcardsinaview)+1);
104
- let sliderWidth = 1;
105
- sliderWidth = (slider2 * (currentCard+1))+ 'px';
106
-
107
-
108
- return (
109
- <div className=' '>
110
- <div className='bg-pink-500 w-96 rounded-md content-center h-1'>
111
- <div className={`bg-blue-600 transition-all ease-in duration-300 rounded-md h-1 `} style={{ width: `${sliderWidth}` }} />
112
- </div>
113
- </div>
114
- )
115
88
  };
116
89
 
117
- const arrowStyle = ' text-2xl z-10 bg-black h-10 w-10 rounded-full bg-neutral-0 flex items-center justify-center';
90
+ const maxVisibleCards = 6;
91
+
92
+ const arrowStyle = ' text-2xl z-10 bg-black h-10 ml-6 w-10 rounded-full bg-purple-200 hover:bg-neutral-0 flex items-center justify-center';
118
93
 
119
94
  const sliderControl = isLeft => (
120
95
  <button
@@ -126,11 +101,11 @@ export default function Carouseltest(props) {
126
101
  <span role="img" aria-label={`Arrow ${isLeft ? 'left' : 'right'}`}>
127
102
  {isLeft ?
128
103
 
129
- <Icon height={'h-6 w-6'} variant={'chevronleft'} strokeColor='#1F2A37' />
104
+ <Icon height={'h-6 w-6'} variant={'chevronleft'} strokeColor='#00288E' />
130
105
 
131
106
  :
132
107
 
133
- <Icon height={'h-6 w-6'} variant={'chevronright'} strokeColor='#1F2A37' />
108
+ <Icon height={'h-6 w-6'} variant={'chevronright'} strokeColor='#00288E' />
134
109
 
135
110
  }
136
111
  </span>
@@ -139,19 +114,52 @@ export default function Carouseltest(props) {
139
114
  return (
140
115
  <div className="">
141
116
  <div className="block tb:hidden">
142
- {props.cards.map((item, i) => (
143
- <div className="my-5" key={i} ref={refs[i]}>
144
- <div className="rounded-3xl ">
145
- {React.createElement(props.component, item)}
117
+ {showAllCards
118
+ ? props.cards.map((item, i) => (
119
+ <div className="my-5" key={i} ref={refs[i]}>
120
+ <div className="rounded-3xl overflow-hidden">
121
+ {React.createElement(props.component, item)}
122
+ </div>
146
123
  </div>
147
-
124
+ ))
125
+ : props.cards.slice(0, maxVisibleCards).map((item, i) => (
126
+ <div className="my-5" key={i} ref={refs[i]}>
127
+ <div className="rounded-3xl overflow-hidden">
128
+ {React.createElement(props.component, item)}
129
+ </div>
130
+ </div>
131
+ ))}
132
+ {props.cards.length > maxVisibleCards && (
133
+ <div className="flex">
134
+ <HDSButton
135
+ label={showAllCards ? "View less" : "View more"}
136
+ type='secondary'
137
+ leftIconVariant='none'
138
+ rightIconVariant='none'
139
+ state='default'
140
+ size='sm'
141
+ rightAnimatedArrow={true}
142
+ rightAnimatedArrowColor='#1E56E3'
143
+ animatedHoverStroke='group-hover:stroke-neutral-0'
144
+ className='flex'
145
+ btnTextColorClass='text-blue-600'
146
+ btnBgColorClass=''
147
+ onClick={() => setShowAllCards(!showAllCards)}
148
+ />
149
+ {/* <button
150
+ className="text-blue-500 mt-1 cursor-pointer"
151
+ onClick={() => setShowAllCards(!showAllCards)}
152
+ >
153
+ {showAllCards ? "View less" : "View more"}
154
+ </button> */}
148
155
  </div>
149
- ))}
156
+ )}
150
157
  </div>
151
158
 
152
- <div className="invisible flex flex-col-reverse tb:visible">
153
- <div className="flex items-center justify-around mt-20 ">
154
- {slider()}
159
+
160
+ <div className="hidden tb:flex tb:flex-col">
161
+ <div className="flex pb-12 items-center justify-end ">
162
+ {/* {slider()} */}
155
163
  <div className="flex">
156
164
  {sliderControl(true)}
157
165
  {sliderControl()}
@@ -173,10 +181,13 @@ export default function Carouseltest(props) {
173
181
  }}
174
182
  >
175
183
  <div className="">
176
- <div className={`snap-x w-full inline-flex select-none overflow-x-hidden scrollbar-hide`}>
184
+ <div className={`snap-x w-full inline-flex select-none overflow-x-hidden scrollbar-hide`}
185
+ ref={carouselRef}
186
+ >
177
187
 
178
188
  {props.cards.map((item, i) => (
179
- <div className="snap-center mx-5 shrink-0" key={i} ref={refs[i]}>
189
+ // <div className="max-[1140px]:snap-always tb:snap-always mx-5 max-[1140px]:shrink-0" key={i} ref={refs[i]}>
190
+ <div className=" db:snap-center snap-center tb-m:snap-start mx-5 shrink-0" key={i} ref={refs[i]}>
180
191
  <div className="w-full select-none rounded-3xl object-contain">
181
192
  {React.createElement(props.component, item)}
182
193
  </div>
@@ -1,10 +1,11 @@
1
- import React from 'react';
1
+ import React, {useState} from 'react';
2
2
  import { Fragment } from 'react';
3
3
  import { Popover, Transition } from '@headlessui/react';
4
4
  import { Icon } from '../common-components/Icon';
5
5
  import { Typography } from '../../foundation/Typography';
6
6
  import { HDSButton } from '../Buttons';
7
7
  import { V3Dropdown } from '../Cards/Dropdown'
8
+ import { HDSColor } from '../../foundation/ColorPalette';
8
9
 
9
10
  const solutions = [
10
11
  {
@@ -33,6 +34,7 @@ function classNames(...classes) {
33
34
 
34
35
  export default function V3Header(props) {
35
36
 
37
+ const [isShowing, setIsShowing] = useState(false)
36
38
 
37
39
  const dropdown = (solutions) => (
38
40
  <Transition
@@ -45,11 +47,9 @@ export default function V3Header(props) {
45
47
  leaveTo="opacity-0 translate-y-1"
46
48
  >
47
49
  <Popover.Panel className="fixed left-0 ml z-10 mt-3 transform ">
48
- <div className='ml-[9.55rem]'>
49
- <Icon variant='triangle' height='h-6 w-6 fill-neutral-100' strokeClass='stroke-neutral-100'/>
50
- </div>
50
+
51
51
  <div className=" p-2 bg-neutral-100 rounded-lg">
52
-
52
+
53
53
  <V3Dropdown
54
54
  primaryCard={{
55
55
  iconVariant: 'home03',
@@ -106,7 +106,7 @@ export default function V3Header(props) {
106
106
  }
107
107
  ]}
108
108
  />
109
-
109
+
110
110
  </div>
111
111
  </Popover.Panel>
112
112
  </Transition>
@@ -116,17 +116,28 @@ export default function V3Header(props) {
116
116
  (
117
117
  <>
118
118
  {HEADER_LIST.map((item, index) => (
119
- <Popover className="relative">
120
- {({ open }) => (
119
+ <Popover className="relative" key={index}>
120
+ {({ open }) => (
121
121
  <>
122
122
  <Popover.Button
123
123
  className={classNames(
124
- open ? 'text-pink-800' : 'text-gray-500',
124
+ open ? '' : 'text-gray-500',
125
125
  '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'
126
126
  )}
127
+ onMouseEnter={() => setIsShowing(true)}
128
+ onMouseLeave={() => setIsShowing(false)}
129
+
127
130
  >
131
+ <div className='flex flex-col items-center'>
128
132
  <Typography textStyle='body3c-medium' className=''>{`${item['title']}`}</Typography>
129
- {/* <Icon height='h-5' variant={'home03'} strokeColor={'#1EA7FD'} /> */}
133
+ {open && (
134
+ <div className='absolute z-20 top-8'>
135
+ {/* <Icon variant='triangle' height='h-4 w-4' strokeClass='stroke-neutral-1000' /> */}
136
+
137
+ </div>
138
+
139
+ )}
140
+ </div>
130
141
  </Popover.Button>
131
142
  <div className=''>
132
143
  {dropdown(item['titleDropdown'])}
@@ -142,59 +153,71 @@ export default function V3Header(props) {
142
153
  )
143
154
 
144
155
  return (
145
- <Popover className="relative bg-white">
146
- <div className="flex items-center bg-neutral-50 justify-between p-6 md:justify-start md:space-x-6">
147
- <div>
148
- <a href="#" className="flex items-center">
149
- <Icon variant={'hasuraPrimary'} strokeColor={''} />
156
+ <Popover className="relative">
157
+ <div className={`flex items-center ${HDSColor(props.headerBg)} justify-between p-6 tb-l:justify-between tb-l:space-x-6`}>
158
+ <div className='flex items-center'>
159
+ <a href={props.headerUrl} className="flex items-center">
160
+ <Icon height='w-[103px] h-[33px]' variant={'hasuraPrimary'} strokeColor={''} />
150
161
  </a>
151
- </div>
152
- <div className="-my-2 -mr-2 md:hidden">
153
- <Popover.Button className="inline-flex items-center justify-center rounded-md bg-white p-2 text-gray-400 hover:bg-gray-100 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-indigo-500">
154
- <span className="sr-only">Open menu</span>
155
- <div className=' gap-6 flex'>
156
- <Icon height={'h-5 w-5'} variant={'searchsm'} strokeColor={'#3970FD'} />
157
- <Icon height={'h-5 w-5'} variant={'menu05'} strokeColor={'#3970FD'} />
158
- </div>
159
- </Popover.Button>
160
- </div>
161
- <div className="hidden md:flex md:flex-1 md:items-center md:justify-between">
162
- <Popover.Group as="nav" className="flex space-x-6">
162
+ <Popover.Group as="nav" className="hidden tb-l:pl-8 tb-l:flex tb-l:space-x-6">
163
163
  {headerListfn(props.HEADER_LIST)}
164
164
  </Popover.Group>
165
+ </div>
166
+ <div className='flex tb-l:justify-between'>
167
+ <div className=" tb-l:flex tb-l:flex-1 tb-l:items-center tb-l:justify-between">
165
168
 
169
+ <div className="flex items-center gap-4 tb-l:ml-12">
166
170
 
167
- <div className="flex items-center gap-6 md:ml-12">
168
-
169
- <Icon height={'h-6'} variant={'searchsm'} strokeColor={'#3970FD'} />
170
- <HDSButton
171
- label="Log In"
172
- type='tonal'
173
- leftIconVariant='none'
174
- rightIconVariant='none'
175
- state='default'
176
- size='sm'
177
- rightAnimatedArrow='true'
178
- rightAnimatedArrowColor='#3970FD'
179
- animatedHoverStroke='group-hover:stroke-neutral-0'
180
- />
181
- <HDSButton
182
- label="Get Started"
183
- type='primary'
184
- leftIconVariant='none'
185
- rightIconVariant='none'
186
- state='default'
187
- size='sm'
188
- rightAnimatedArrow='true'
189
- rightAnimatedArrowColor='#ffffff'
190
- animatedHoverStroke='group-hover:stroke-neutral-0'
191
- />
171
+ {/* <Icon height={'h-6'} variant={'searchsm'} strokeColor={'#3970FD'} /> */}
172
+ <div>
192
173
 
193
- </div>
174
+ </div>
175
+ <a href='' className='hidden tb:flex'>
176
+ <Typography textStyle='body3c-medium' className='text-neutral-800'>
177
+ Contact Sales
178
+ </Typography>
179
+ </a>
180
+ <HDSButton
181
+ label="Log In"
182
+ type='tonal'
183
+ leftIconVariant='none'
184
+ rightIconVariant='none'
185
+ state='default'
186
+ size='sm'
187
+ rightAnimatedArrow='true'
188
+ rightAnimatedArrowColor='#3970FD'
189
+ animatedHoverStroke='group-hover:stroke-neutral-0'
190
+ className='hidden tb-l:flex'
191
+ />
192
+ <HDSButton
193
+ label="Get Started"
194
+ type='primary'
195
+ leftIconVariant='none'
196
+ rightIconVariant='none'
197
+ state='default'
198
+ size='sm'
199
+ rightAnimatedArrow='true'
200
+ rightAnimatedArrowColor='#ffffff'
201
+ animatedHoverStroke='group-hover:stroke-neutral-0'
202
+ className='hidden tb:flex'
203
+ />
204
+
205
+ </div>
194
206
 
195
207
 
196
208
 
209
+ </div>
210
+ <div className="tb-l:hidden flex items-center">
211
+ <Popover.Button className="inline-flex items-center justify-center rounded-md bg-white pl-6 text-gray-400 hover:bg-gray-100 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-indigo-500">
212
+ <span className="sr-only">Open menu</span>
213
+ <div className=' gap-6 flex'>
214
+ {/* <Icon height={'h-5 w-5'} variant={'searchsm'} strokeColor={'#3970FD'} /> */}
215
+ <Icon height={'h-5 w-5'} variant={'menu05'} strokeColor={'#3970FD'} />
216
+ </div>
217
+ </Popover.Button>
218
+ </div>
197
219
  </div>
220
+
198
221
  </div>
199
222
 
200
223
  <Transition
@@ -206,12 +229,12 @@ export default function V3Header(props) {
206
229
  leaveFrom="opacity-100 scale-100"
207
230
  leaveTo="opacity-0 scale-95"
208
231
  >
209
- <Popover.Panel focus className="absolute h-[calc(100%-112px)] bg-base-0 z-[1] inset-x-0 top-0 origin-top-right transform transition md:hidden">
210
- <div className=" rounded-lg bg-white h-[calc(100%-112px)] shadow-lg">
211
- <div className="">
232
+ <Popover.Panel focus className="absolute h-[calc(100%-112px)] bg-base-0 z-[1] inset-x-0 top-0 origin-top-right transform transition tb-l:hidden">
233
+ <div className=" rounded-lg bg-neutral-0 h-[calc(100%-112px)] shadow-lg">
234
+ <div className="bg-neutral-0">
212
235
  <div className="flex items-center justify-end">
213
236
  <div className="">
214
- <Popover.Button className="inline-flex items-center justify-center rounded-md bg-white p-2 text-gray-400 hover:bg-gray-100 hover:text-gray-500 w-full">
237
+ <Popover.Button className="inline-flex items-center justify-center pt-4 pr-4 w-full focus:ring-0">
215
238
  <Icon height={'h-5 w-5'} variant={'xclose'} strokeColor={'#3970FD'} />
216
239
  </Popover.Button>
217
240
  </div>
@@ -252,33 +275,35 @@ export default function V3Header(props) {
252
275
  <div className="py-6 px-5 ">
253
276
  <div className="mt-6 ">
254
277
  <div className='flex flex-row justify-around'>
255
- <div className='w-full '>
256
- <HDSButton
257
- label="Log In"
258
- type='tonal'
259
- leftIconVariant='none'
260
- rightIconVariant='none'
261
- state='default'
262
- size='sm'
263
- rightAnimatedArrow='true'
264
- rightAnimatedArrowColor='#3970FD'
265
- animatedHoverStroke='group-hover:stroke-neutral-0'
266
-
267
- />
268
- </div>
269
- <div className='w-full'>
270
- <HDSButton
271
- label="Sign up"
272
- type='primary'
273
- leftIconVariant='none'
274
- rightIconVariant='none'
275
- state='default'
276
- size='sm'
277
- rightAnimatedArrow='true'
278
- rightAnimatedArrowColor='#ffffff'
279
- animatedHoverStroke='group-hover:stroke-neutral-0'
280
-
281
- />
278
+ <div className='w-full flex gap-2'>
279
+ <div className='w-1/2'>
280
+ <HDSButton
281
+ label="Log In"
282
+ type='tonal'
283
+ leftIconVariant='none'
284
+ rightIconVariant='none'
285
+ state='default'
286
+ size='sm'
287
+ rightAnimatedArrow='true'
288
+ rightAnimatedArrowColor='#3970FD'
289
+ animatedHoverStroke='group-hover:stroke-neutral-0'
290
+
291
+
292
+ />
293
+ </div>
294
+ <div className='w-1/2'>
295
+ <HDSButton
296
+ label="Sign up"
297
+ type='primary'
298
+ leftIconVariant='none'
299
+ rightIconVariant='none'
300
+ state='default'
301
+ size='sm'
302
+ rightAnimatedArrow='true'
303
+ rightAnimatedArrowColor='#ffffff'
304
+ animatedHoverStroke='group-hover:stroke-neutral-0'
305
+ />
306
+ </div>
282
307
  </div>
283
308
  </div>
284
309
  </div>
@@ -364,5 +389,6 @@ V3Header.defaultProps = {
364
389
  ]
365
390
  },
366
391
 
367
- ]
392
+ ],
393
+ headerUrl: 'https://hasura.io/'
368
394
  }