hds-web 1.13.3 → 1.13.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hds-web",
3
- "version": "1.13.3",
3
+ "version": "1.13.5",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",
@@ -39,7 +39,7 @@ export default function FeedbackCard(props) {
39
39
  <Typography textStyle={((props.dividerClass) ? "body2" : "body1")} className='text-neutral-600 pb-1'>{props.blurb}</Typography>
40
40
  <div className="flex">
41
41
  <HDSButton
42
- label='Read case study'
42
+ label='Read the case study'
43
43
  type='secondaryLink'
44
44
  leftIconVariant='none'
45
45
  rightIconVariant='none'
@@ -15,16 +15,16 @@ export default function LinkCard(props) {
15
15
  {props.brandImageUrl ?
16
16
  (
17
17
  <div className="flex flex-col">
18
- <div className="flex justify-end items-end">
19
- {props.iconArrowVariant &&
20
- (<Icon
18
+ {props.iconArrowVariant &&
19
+ <div className="flex justify-end items-end">
20
+ <Icon
21
21
  height={'w-6 h-6 stroke-[1.5px] stroke-blue-400'}
22
22
  variant={props.iconArrowVariant}
23
23
  strokeColor={props.iconArrowStrokeColor}
24
24
  strokeClass={HDSColor(props.iconArrowStrokeClass)}
25
- />)
26
- }
27
- </div>
25
+ />
26
+ </div>
27
+ }
28
28
  <img src={props.brandImageUrl} alt={props.brandImageAlt} />
29
29
 
30
30
  </div>
@@ -60,14 +60,14 @@ export default function LinkCard(props) {
60
60
  {props.description &&
61
61
  (
62
62
  <div>
63
-
64
- <Typography
65
- textStyle="body3"
66
- className={`${HDSColor(props.descTextColor)} mt-2`}>
67
- {props.description}
68
- </Typography>
69
- </div>
70
-
63
+
64
+ <Typography
65
+ textStyle="body3"
66
+ className={`${HDSColor(props.descTextColor)} mt-2`}>
67
+ {props.description}
68
+ </Typography>
69
+ </div>
70
+
71
71
  )}
72
72
  </>
73
73
  )
@@ -78,10 +78,10 @@ export default function LinkCard(props) {
78
78
  }
79
79
 
80
80
  LinkCard.defaultProps = {
81
- descTextColor:'',
82
- titleTextColor:'',
81
+ descTextColor: '',
82
+ titleTextColor: '',
83
83
  brandImageUrl: '',
84
- brandImageAlt:'',
84
+ brandImageAlt: '',
85
85
  linkUrl: '#',
86
86
  iconVariant: 'videorecorder',
87
87
  iconStrokeColor: 'blue-500',
@@ -45,8 +45,8 @@ export default function IconCardButton(props) {
45
45
  <div>
46
46
  {
47
47
  props.imgUrl ? (
48
- <div className={`${iconBG} ${cardVariant[props.cardType]['iconWidthStyle']} w-12 h-12 inline-flex p-1 items-center justify-center rounded-full mb-6`}>
49
- <img src={props.imgUrl} alt={props.title} />
48
+ <div className={`${cardVariant[props.cardType]['iconWidthStyle']} w-12 h-12 inline-flex items-center justify-center rounded-full mb-6`}>
49
+ <img className="w-full" src={props.imgUrl} alt={props.title} />
50
50
  </div>
51
51
  ) : (
52
52
  <div
@@ -14,6 +14,7 @@ export default function PricingTableB(props) {
14
14
  TABLE_VALUE,
15
15
  TABLE_HEADER,
16
16
  } = props;
17
+ console.log(TABLE_VALUE)
17
18
  const tableValuesm = (section, keyIndex) => {
18
19
 
19
20
  let columnSize = '';
@@ -35,10 +36,9 @@ export default function PricingTableB(props) {
35
36
  <React.Fragment key={index + keyIndex}>
36
37
  {keyIndex !== null
37
38
  && keyIndex === rowTitleKey
38
- && index != (columnSize - 1)
39
- && index != 0 && (
39
+ && index !== (columnSize - 1)
40
+ && index !== 0 && (
40
41
  <td
41
-
42
42
  className="pl-[30px] border-80 "
43
43
  >
44
44
  <div className=' '>
@@ -47,8 +47,8 @@ export default function PricingTableB(props) {
47
47
  </td>)}
48
48
  {keyIndex !== null
49
49
  && keyIndex === rowTitleKey
50
- && index != (columnSize - 1)
51
- && index == 0 && (
50
+ && index !== (columnSize - 1)
51
+ && index === 0 && (
52
52
  <td
53
53
  className="pl-[30px] border-80 "
54
54
  >
@@ -61,7 +61,7 @@ export default function PricingTableB(props) {
61
61
 
62
62
  {keyIndex !== null
63
63
  && keyIndex === rowTitleKey
64
- && index == (columnSize - 1) && (
64
+ && index === (columnSize - 1) && (
65
65
  <td
66
66
 
67
67
  className="pl-[30px] border-80 "
@@ -73,7 +73,7 @@ export default function PricingTableB(props) {
73
73
 
74
74
  </td>)}
75
75
 
76
- {keyIndex !== null && keyIndex !== rowTitleKey && value[keyIndex] !== null && index != 0 && index != (columnSize - 1) && (
76
+ {keyIndex !== null && keyIndex !== rowTitleKey && value[keyIndex] !== null && index !== 0 && index !== (columnSize - 1) && (
77
77
  <td
78
78
 
79
79
  className="px-8 text-left ml-[30px] border-80 "
@@ -96,7 +96,7 @@ export default function PricingTableB(props) {
96
96
  )}
97
97
  </td>)
98
98
  }
99
- {keyIndex !== null && keyIndex !== rowTitleKey && value[keyIndex] !== null && index == 0 && (
99
+ {keyIndex !== null && keyIndex !== rowTitleKey && value[keyIndex] !== null && index === 0 && (
100
100
  <td
101
101
 
102
102
  className="px-8 text-left ml-[30px] border-80 "
@@ -119,7 +119,7 @@ export default function PricingTableB(props) {
119
119
  )}
120
120
  </td>)
121
121
  }
122
- {keyIndex !== null && keyIndex !== rowTitleKey && value[keyIndex] !== null && index == (columnSize - 1) && (
122
+ {keyIndex !== null && keyIndex !== rowTitleKey && value[keyIndex] !== null && index === (columnSize - 1) && (
123
123
  <td
124
124
 
125
125
  className="px-8 text-left ml-[30px] border-80 "
@@ -161,32 +161,20 @@ export default function PricingTableB(props) {
161
161
  }
162
162
  return (
163
163
  <div className='px-10'>
164
- <div className=" flex justify-around ">
165
- <div className="w-full flex-col items-center flex justify-around tb-l:flex tb-l:flex-col tb-l:items-center">
166
- <div>
167
- {title && (
168
- <Typography
169
- textStyle='h3'
170
- className={HDSColor(title_color)}
171
- >
172
- {title}
173
- </Typography>
174
- )}
175
- {description && (
176
- <Typography
177
- textStyle='body1c'
178
- className={HDSColor(desc_color)}
179
- >
180
- {description}
181
- </Typography>
182
- )}
183
- </div>
184
- </div>
185
- </div>
164
+
186
165
  <div className='hidden tb:block' >
187
- <div className=" mt-[70px] rounded-3xl ">
166
+ <div className=" mt-[70px] rounded-3xl bg-neutral-0">
167
+
168
+ {TABLE_HEADER && TABLE_HEADER[0] && TABLE_HEADER[0]['title'] && (
169
+ <Typography
170
+ textStyle='h3'
171
+ className={`pb-10 pl-8 ${HDSColor(title_color)}`}
172
+ >
173
+ {TABLE_HEADER[0]['title']}
174
+ </Typography>
175
+ )}
188
176
  <table className="rounded-3xl w-full table-fixed ">
189
- <thead>
177
+ {/* <thead>
190
178
  <tr className=' text-left first:pr-20 '>
191
179
  {Object.keys(TABLE_HEADER).map((key, index) => (
192
180
  <th
@@ -255,9 +243,9 @@ export default function PricingTableB(props) {
255
243
  </th>
256
244
  ))}
257
245
  </tr>
258
- </thead>
246
+ </thead> */}
259
247
  {TABLE_VALUE.map((section, index) => (
260
- <tbody key={index} className="border-90">
248
+ <tbody key={index} className="border-90 bg-neutral-0">
261
249
  {Object.keys(section).map((keyIndex) => (
262
250
  <>
263
251
  <tr key={index + keyIndex} className=''>
@@ -265,14 +253,32 @@ export default function PricingTableB(props) {
265
253
  <React.Fragment key={keyIndex2 + keyIndex + index}>
266
254
  {keyIndex2 !== null && (
267
255
  <th
268
- className='bg-neutral-100 first:rounded-l-full last:rounded-r-full px-8'
256
+ className='first:rounded-l-full last:rounded-r-full px-8 sticky top-0 z-10'
269
257
  >
270
258
  <Typography
271
259
  textStyle='h5'
272
260
  className='text-neutral-900 py-3.5 text-left'
273
261
  >
274
262
  {keyIndex2}
263
+
275
264
  </Typography>
265
+ { <div className='flex -mt-2'>
266
+ <HDSButton
267
+ label='Try free'
268
+ type='secondaryLink'
269
+ leftIconVariant='none'
270
+ rightIconVariant='none'
271
+ state='default'
272
+ size='sm'
273
+ rightAnimatedArrow={true}
274
+ rightAnimatedArrowColor='#3970FD'
275
+ animatedHoverStroke='#3970FD'
276
+ btnTextColorClass='text-blue-500'
277
+ btnTextHoverClass=''
278
+ className=' '
279
+ />
280
+ </div>}
281
+
276
282
  </th>
277
283
  )}
278
284
  </React.Fragment>
@@ -292,7 +298,7 @@ export default function PricingTableB(props) {
292
298
  <td></td>
293
299
  {TABLE_HEADER.map((value, index) => (
294
300
  <React.Fragment key={index}>
295
- {index != 0 && value['button_title'] &&
301
+ {index !== 0 && value['button_title'] &&
296
302
  <td key={index} className='px-8'>
297
303
  <a href={value['button_link']}>
298
304
  <HDSButton
@@ -59,6 +59,11 @@ export default function TextCard(props) {
59
59
  }
60
60
  </div>
61
61
  )
62
+ }
63
+ {props.addiDescription && (
64
+ <Typography textStyle='body1' className='text-neutral-700'>{props.addiDescription}</Typography>
65
+ )
66
+
62
67
  }
63
68
  {
64
69
  props.feature_cards_links && (
@@ -131,7 +136,7 @@ export default function TextCard(props) {
131
136
  </div>
132
137
  )
133
138
  }
134
-
139
+
135
140
  {props.button &&
136
141
  <div className="flex gap-6 items-center">
137
142
  {props.button.map((btn, index) => (
@@ -1 +1,2 @@
1
- export {default as NavCard} from './navCard'
1
+ export {default as NavCard} from './navCard'
2
+ export { default as NavTabCard } from './navTabCard'
@@ -60,7 +60,7 @@ export default function NavCard(props) {
60
60
  showVideo ? (
61
61
  <video
62
62
  id="hero_vid"
63
- controls={false}
63
+ controls={true}
64
64
  autoPlay
65
65
  muted
66
66
  playsInline
@@ -0,0 +1,93 @@
1
+ import React from 'react';
2
+ import { Typography} from '../../foundation/Typography';
3
+ import NavCard from './navCard';
4
+
5
+ export default function NavTabCard(props){
6
+ return (
7
+ <div className="flex tb-l:flex-row flex-col justify-between">
8
+ <div>
9
+ <Typography textStyle='h4' className='text-neutral-1000'>{props.title}</Typography>
10
+ <Typography textStyle='body1' className='mt-4 text-neutral-700 max-w-[430px]'>
11
+ {props.description}
12
+ </Typography>
13
+ </div>
14
+ <div className="max-w-[583px] pt-8 tb-l:pt-0">
15
+ <NavCard
16
+ navTabs={[
17
+ {
18
+ current: '[Circular]',
19
+ href: '',
20
+ name: 'Performance'
21
+ },
22
+ {
23
+ current: '[Circular]',
24
+ href: '',
25
+ name: 'Company'
26
+ },
27
+ {
28
+ current: '[Circular]',
29
+ href: '',
30
+ name: 'Authorization'
31
+ },
32
+ {
33
+ current: '[Circular]',
34
+ href: '',
35
+ name: 'Observability'
36
+ },
37
+ {
38
+ current: '[Circular]',
39
+ href: '',
40
+ name: 'API Security'
41
+ }
42
+ ]}
43
+ tabContent={{
44
+ 'API Security': {
45
+ img_url: 'https://res.cloudinary.com/dh8fp23nd/image/upload/v1683311269/hasura-con-2023/hascon23_fallback_homepage_tg5sgv.jpg',
46
+ subTitle: 'Hasura simplifies data access and reduces latency for optimizing performance via a Haskell core, JIT query compiler, predicate pushdown, and application-level caching out of the box.',
47
+ title: '5Get blazing-fast APIs without the extra work',
48
+ video_poster: 'https://res.cloudinary.com/dh8fp23nd/image/upload/v1683311269/hasura-con-2023/hascon23_fallback_homepage_tg5sgv.jpg',
49
+ video_url: 'https://res.cloudinary.com/dh8fp23nd/video/upload/v1683307555/hasura-con-2023/tg_hascon23_homepage_ue29jn.mp4'
50
+ },
51
+ Authorization: {
52
+ img_url: 'https://res.cloudinary.com/dh8fp23nd/image/upload/v1683311269/hasura-con-2023/hascon23_fallback_homepage_tg5sgv.jpg',
53
+ subTitle: 'Hasura simplifies data access and reduces latency for optimizing performance via a Haskell core, JIT query compiler, predicate pushdown, and application-level caching out of the box.',
54
+ title: '3Get blazing-fast APIs without the extra work',
55
+ video_poster: 'https://res.cloudinary.com/dh8fp23nd/image/upload/v1683311269/hasura-con-2023/hascon23_fallback_homepage_tg5sgv.jpg',
56
+ video_url: 'https://res.cloudinary.com/dh8fp23nd/video/upload/v1683307555/hasura-con-2023/tg_hascon23_homepage_ue29jn.mp4'
57
+ },
58
+ Company: {
59
+
60
+ img_url: 'https://res.cloudinary.com/dh8fp23nd/image/upload/v1683311269/hasura-con-2023/hascon23_fallback_homepage_tg5sgv.jpg',
61
+ subTitle: 'Hasura simplifies data access and reduces latency for optimizing performance via a Haskell core, JIT query compiler, predicate pushdown, and application-level caching out of the box.',
62
+ title: '2Get blazing-fast APIs without the extra work',
63
+ video_poster: 'https://res.cloudinary.com/dh8fp23nd/image/upload/v1683311269/hasura-con-2023/hascon23_fallback_homepage_tg5sgv.jpg',
64
+ video_url: 'https://res.cloudinary.com/dh8fp23nd/video/upload/v1683307555/hasura-con-2023/tg_hascon23_homepage_ue29jn.mp4'
65
+ },
66
+ Observability: {
67
+ img_url: 'https://res.cloudinary.com/dh8fp23nd/image/upload/v1683311269/hasura-con-2023/hascon23_fallback_homepage_tg5sgv.jpg',
68
+ subTitle: 'Hasura simplifies data access and reduces latency for optimizing performance via a Haskell core, JIT query compiler, predicate pushdown, and application-level caching out of the box.',
69
+ title: '4Get blazing-fast APIs without the extra work',
70
+ video_poster: 'https://res.cloudinary.com/dh8fp23nd/image/upload/v1683311269/hasura-con-2023/hascon23_fallback_homepage_tg5sgv.jpg',
71
+ video_url: 'https://res.cloudinary.com/dh8fp23nd/video/upload/v1683307555/hasura-con-2023/tg_hascon23_homepage_ue29jn.mp4'
72
+ },
73
+ Performance: {
74
+ img_url: 'https://res.cloudinary.com/dh8fp23nd/image/upload/v1683311269/hasura-con-2023/hascon23_fallback_homepage_tg5sgv.jpg',
75
+ readMore_cta: 'Read More About Performance',
76
+ subTitle: 'Hasura simplifies data access and reduces latency for optimizing performance via a Haskell core, JIT query compiler, predicate pushdown, and application-level caching out of the box.',
77
+ title: '1Get blazing-fast APIs without the extra work',
78
+ video_poster: 'https://res.cloudinary.com/dh8fp23nd/image/upload/v1683311269/hasura-con-2023/hascon23_fallback_homepage_tg5sgv.jpg',
79
+ video_url: 'https://res.cloudinary.com/dh8fp23nd/video/upload/v1683307555/hasura-con-2023/tg_hascon23_homepage_ue29jn.mp4'
80
+ }
81
+ }}
82
+ />
83
+ </div>
84
+ </div>
85
+ )
86
+ }
87
+
88
+ NavTabCard.defaultProps={
89
+ title:'Build any supergraph topology',
90
+ description: `Build a supergraph using Hasura, use Hasura to implement a GraphQL gateway pattern or use Hasura to federate existing resources into another supergraph. Hasura allows you to shape any supergraph topology that works for you. 
91
+
92
+ Check out some of the Federation architecture patterns implemented by our users.`
93
+ }
package/src/index.css CHANGED
@@ -491,11 +491,12 @@
491
491
 
492
492
  .border-90 {
493
493
  position: relative;
494
+ background-color: white;
494
495
  }
495
496
 
496
497
  .border-90::after {
497
498
  content: "";
498
- position: absolute;
499
+ position: absolute;
499
500
  bottom: 0;
500
501
  left: 0;
501
502
  width: 100%;
@@ -839,6 +839,11 @@ select{
839
839
  position: relative;
840
840
  }
841
841
 
842
+ .sticky{
843
+ position: -webkit-sticky;
844
+ position: sticky;
845
+ }
846
+
842
847
  .inset-0{
843
848
  inset: 0px;
844
849
  }
@@ -1388,6 +1393,14 @@ select{
1388
1393
  margin-top: 70px;
1389
1394
  }
1390
1395
 
1396
+ .-mt-1{
1397
+ margin-top: -0.25rem;
1398
+ }
1399
+
1400
+ .-mt-2{
1401
+ margin-top: -0.5rem;
1402
+ }
1403
+
1391
1404
  .line-clamp-3{
1392
1405
  overflow: hidden;
1393
1406
  display: -webkit-box;
@@ -1899,10 +1912,18 @@ select{
1899
1912
  max-width: 400px;
1900
1913
  }
1901
1914
 
1915
+ .max-w-\[430px\]{
1916
+ max-width: 430px;
1917
+ }
1918
+
1902
1919
  .max-w-\[44\.44rem\]{
1903
1920
  max-width: 44.44rem;
1904
1921
  }
1905
1922
 
1923
+ .max-w-\[583px\]{
1924
+ max-width: 583px;
1925
+ }
1926
+
1906
1927
  .max-w-\[6rem\]{
1907
1928
  max-width: 6rem;
1908
1929
  }
@@ -1992,6 +2013,12 @@ select{
1992
2013
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1993
2014
  }
1994
2015
 
2016
+ .-translate-y-1\/2{
2017
+ --tw-translate-y: -50%;
2018
+ -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2019
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2020
+ }
2021
+
1995
2022
  .translate-x-0{
1996
2023
  --tw-translate-x: 0px;
1997
2024
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -2028,12 +2055,6 @@ select{
2028
2055
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2029
2056
  }
2030
2057
 
2031
- .-translate-y-1\/2{
2032
- --tw-translate-y: -50%;
2033
- -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2034
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2035
- }
2036
-
2037
2058
  .-rotate-45{
2038
2059
  --tw-rotate: -45deg;
2039
2060
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -6244,6 +6265,10 @@ select{
6244
6265
  padding-left: 1.75rem;
6245
6266
  }
6246
6267
 
6268
+ .pl-8{
6269
+ padding-left: 2rem;
6270
+ }
6271
+
6247
6272
  .pl-\[30px\]{
6248
6273
  padding-left: 30px;
6249
6274
  }
@@ -8267,6 +8292,7 @@ select{
8267
8292
 
8268
8293
  .border-90 {
8269
8294
  position: relative;
8295
+ background-color: white;
8270
8296
  }
8271
8297
 
8272
8298
  .border-90::after {
@@ -10852,6 +10878,10 @@ select{
10852
10878
  padding-left: 2rem;
10853
10879
  }
10854
10880
 
10881
+ .tb-l\:pt-0{
10882
+ padding-top: 0px;
10883
+ }
10884
+
10855
10885
  .tb-l\:text-left{
10856
10886
  text-align: left;
10857
10887
  }