hds-web 1.36.8 → 1.36.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hds-web",
3
- "version": "1.36.8",
3
+ "version": "1.36.9",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import { HDSColor } from "../../../foundation/ColorPalette";
3
- import { FlyoutB, FlyoutA, FlyoutC, FlyoutD } from "../Menu";
3
+ import { FlyoutB, FlyoutA, FlyoutD } from "../Menu";
4
+ import ConnectorsDropdown from "../Menu/ConnectorsDropdown";
4
5
 
5
6
  export default function DropdownA(props) {
6
7
  return (
@@ -20,15 +21,24 @@ export default function DropdownA(props) {
20
21
  key={index}
21
22
  className={
22
23
  "rounded-2xl " + item.card_bg
23
- ? "bg-neutral-0 rounded-2xl"
24
+ ? "bg-neutral-0 rounded-2xl shadow"
24
25
  : HDSColor(item.card_bg)
25
26
  }
26
27
  >
27
- <FlyoutA
28
- label={item.label}
29
- childArray={item.childArray}
30
- split={item.split}
31
- />
28
+ {item.label === "CONNECTORS" ? (
29
+ <ConnectorsDropdown
30
+ label={item.label}
31
+ childArray={item.childArray}
32
+ // split={item.split}
33
+ split={true}
34
+ />
35
+ ) : (
36
+ <FlyoutA
37
+ label={item.label}
38
+ childArray={item.childArray}
39
+ split={item.split}
40
+ />
41
+ )}
32
42
  </div>
33
43
  ))}
34
44
  </div>
@@ -52,15 +62,7 @@ export default function DropdownA(props) {
52
62
  </div>
53
63
  </div>
54
64
  } */}
55
- {props.flyoutD && (
56
- <>
57
- <div className=" bg-neutral-0 shadow rounded-2xl w-full tb-l:w-[170px] tb-xl:w-[223px] py-6 mt-2 tb-l:mt-0">
58
- <div>
59
- <FlyoutD {...props.flyoutD} />
60
- </div>
61
- </div>
62
- </>
63
- )}
65
+ {props.flyoutD && <FlyoutD />}
64
66
  </div>
65
67
  </div>
66
68
  );
@@ -0,0 +1,137 @@
1
+ import React from "react";
2
+ import { Icon } from "../../common-components/Icon";
3
+ import { Typography } from "../../../foundation/Typography";
4
+
5
+ export default function FlyoutA(props) {
6
+ const { split } = props;
7
+
8
+ const cardLayout = (label, childArray) => (
9
+ <div className=" group h-full">
10
+ <div className={`w-full h-full ` + (split ? " " : " rounded-2xl")}>
11
+ <div className={`w-full p-6`}>
12
+ {label ? (
13
+ <Typography
14
+ textStyle="h6"
15
+ className=" uppercase group-hover/split:text-neutral-1000 group-hover:text-neutral-1000 group-hover-transition text-neutral-500 mb-4"
16
+ >
17
+ {label}
18
+ </Typography>
19
+ ) : (
20
+ <div className="mb-8"></div>
21
+ )}
22
+ <div className={` tb:tb:grid tb:tb:grid-cols-1 tb:min-w-[140px] `}>
23
+ {childArray &&
24
+ childArray.map((item) => (
25
+ <div
26
+ key={item.name}
27
+ className="relative pb-2 flex rounded-lg items-center"
28
+ >
29
+ <a href={item.href} className="w-full">
30
+ <div className="flex group/icon pl-2 py-2 pr-3 hover:pl-[9px] hover:bg-neutral-100 rounded-lg flex-row w-full justify-between tb:min-w-[140px] items-center">
31
+ <div className="flex gap-2 flex-row items-center">
32
+ <div className="flex rounded-lg items-center group-hover:bg-white">
33
+ {item.icon && (
34
+ <Icon
35
+ height={
36
+ "h-5 w-5 stroke-2 " +
37
+ (item.icon === "discord" ||
38
+ item.icon === "octoface" ||
39
+ item.icon === "meetup"
40
+ ? ""
41
+ : "group-hover/icon:stroke-blue-500 ")
42
+ }
43
+ variant={item.icon}
44
+ strokeClass={item.strokeClass}
45
+ />
46
+ )}
47
+ </div>
48
+ <Typography
49
+ textStyle="body3c-medium"
50
+ className="text-neutral-1000 group-hover/icon:text-blue-600 hover:transition-all hover:duration-300 hover:ease-in-out whitespace-nowrap overflow-clip"
51
+ >
52
+ {item.name}
53
+ </Typography>
54
+ </div>
55
+ <div className="flex group-hover/icon:translate-x-1 transform transition-all duration-200 ease-in-out ">
56
+ <Icon
57
+ height={
58
+ "h-4 w-4 stroke-2 invisible group-hover/icon:visible transition-all ease-in-out "
59
+ }
60
+ variant={"chevronright"}
61
+ strokeClass={"stroke-blue-500"}
62
+ />
63
+ </div>
64
+
65
+ {/* {item.description &&
66
+ item.description.length > 0 && (
67
+ <Typography
68
+ textStyle='body3c-medium'
69
+ className='text-neutral-700'>
70
+ {item.description}
71
+ </Typography>
72
+ )} */}
73
+ </div>
74
+ </a>
75
+ </div>
76
+ ))}
77
+ </div>
78
+ </div>
79
+ <div className="grid grid-cols-2 divide-x bg-gray-50">
80
+ {/* {buttonArray && buttonArray.map((item) => (
81
+ <a
82
+ key={item.name}
83
+ href={item.href}
84
+ className="flex justify-center gap-x-2.5 p-3 font-semibold text-gray-900 hover:bg-gray-100"
85
+ >
86
+
87
+ {item.icon && (
88
+ <Icon
89
+ height={'h-6'}
90
+ variant={item.icon}
91
+ strokeColor={'#6C737F'} />
92
+ )}
93
+ <Typography
94
+ textStyle='h-6'
95
+ className='text-neutral-500'>
96
+ {item.name}
97
+ </Typography>
98
+ </a>
99
+ ))} */}
100
+ </div>
101
+ </div>
102
+ </div>
103
+ );
104
+
105
+ return (
106
+ <>
107
+ {split ? (
108
+ <>
109
+ <div className="hds-hidden tb-l:flex h-full">
110
+ <div className="rounded-l-2xl">
111
+ {cardLayout(
112
+ props.label,
113
+ props.childArray.slice(
114
+ 0,
115
+ Math.ceil(props.childArray.length / 2)
116
+ )
117
+ )}
118
+ </div>
119
+ <div className="group/split rounded-r-2xl">
120
+ {cardLayout(
121
+ null,
122
+ props.childArray.slice(Math.ceil(props.childArray.length / 2))
123
+ )}
124
+ </div>
125
+ </div>
126
+ <div className="hds-hidden-tbl h-full rounded-2xl">
127
+ {cardLayout(props.label, props.childArray)}
128
+ </div>
129
+ </>
130
+ ) : (
131
+ <div className=" shadow h-full rounded-2xl">
132
+ {cardLayout(props.label, props.childArray)}
133
+ </div>
134
+ )}
135
+ </>
136
+ );
137
+ }
@@ -1,10 +1,10 @@
1
1
  import React from "react";
2
- import { Fragment } from "react";
3
- import { Popover, Transition } from "@headlessui/react";
4
2
  import { Icon } from "../../common-components/Icon";
5
3
  import { Typography } from "../../../foundation/Typography";
4
+
6
5
  export default function FlyoutA(props) {
7
6
  const { split } = props;
7
+
8
8
  const cardLayout = (label, childArray) => (
9
9
  <div className=" group h-full ">
10
10
  <div className={`w-full h-full ` + (split ? " " : " rounded-2xl")}>
@@ -130,7 +130,7 @@ export default function FlyoutA(props) {
130
130
  </div>
131
131
  </>
132
132
  ) : (
133
- <div className=" shadow h-full rounded-2xl">
133
+ <div className=" h-full rounded-2xl">
134
134
  {cardLayout(props.label, props.childArray)}
135
135
  </div>
136
136
  )}
@@ -1,129 +1,146 @@
1
1
  import React from "react";
2
- import { Badges } from '../../BadgesCaption';
3
- import { Typography } from '../../../foundation/Typography'
4
- import { ProfileAvatar } from '../../Avatars'
5
- import { Time } from "../../../helpers/Time";
6
- import { HDSButton } from '../../Buttons'
2
+ import { Typography } from "../../../foundation/Typography";
7
3
  import { Icon } from "../../common-components";
8
4
 
9
5
  export default function FlyoutB(props) {
10
- const {
11
- iconVariant = 'home03',
12
- strokeColor = '#C6D6FF',
13
- strokeClass = 'stroke-neutral-800',
14
- primaryBtnLabel = 'label1',
15
- primaryBtnCTA,
16
- mainDescription = 'Choose from our open source community edition, fully managed cloud edition or custom enterprise',
17
- secondaryBtn = [
18
- { cta_leftVariantIcon: 'home03', cta_leftVariantIconColor: '#6C737F', cta_text: 'Button 1' },
19
-
20
-
21
- ],
22
- tertiaryBtn
23
- } = props;
24
-
25
- return (
26
-
27
- <div className="flex flex-col justify-between w-full h-full shadow rounded-2xl">
28
- <a href={primaryBtnCTA} className="group/card cursor-pointer w-full h-full relative transition-all duration-300 ease-out ">
29
- <div className="group-hover/card:bg-neutral-100 ml-2 z-[1] mt-2 w-[calc(100%-16px)] h-[calc(100%-16px)] rounded-xl absolute ">
6
+ const {
7
+ iconVariant = "home03",
8
+ strokeColor = "#C6D6FF",
9
+ strokeClass = "stroke-neutral-800",
10
+ primaryBtnLabel = "label1",
11
+ primaryBtnCTA,
12
+ mainDescription = "Choose from our open source community edition, fully managed cloud edition or custom enterprise",
13
+ secondaryBtn = [
14
+ {
15
+ cta_leftVariantIcon: "home03",
16
+ cta_leftVariantIconColor: "#6C737F",
17
+ cta_text: "Button 1",
18
+ },
19
+ ],
20
+ tertiaryBtn,
21
+ } = props;
22
+
23
+ return (
24
+ <div className="flex flex-col justify-between w-full h-full shadow rounded-2xl">
25
+ <a
26
+ href={primaryBtnCTA}
27
+ className="group/card cursor-pointer w-full h-full relative transition-all duration-300 ease-out "
28
+ >
29
+ <div className="group-hover/card:bg-neutral-100 ml-2 z-[1] mt-2 w-[calc(100%-16px)] h-[calc(100%-16px)] rounded-xl absolute "></div>
30
+ <div className="px-6 pt-6 pb-4 w-full h-full ">
31
+ <Typography
32
+ textStyle="h6"
33
+ className="uppercase relative z-[2] group-hover/card:text-neutral-1000 text-neutral-500 mb-4"
34
+ >
35
+ PLATFORM
36
+ </Typography>
37
+ <div className="flex items-start lg:pt-2">
38
+ <div className=" flex items-center relative justify-center p-2.5 h-14 w-14 z-[2] group-hover/card:bg-blue-200 bg-neutral-150 rounded-2xl min-w-[56px] mr-6">
39
+ <Icon
40
+ height="h-6 w-6 stroke-2 group-hover/card:stroke-blue-500"
41
+ variant={iconVariant}
42
+ strokeColor={strokeColor}
43
+ strokeClass={strokeClass}
44
+ />
45
+ </div>
46
+ <div className="relative group/card cursor-pointer items-center z-[2]">
47
+ <Typography
48
+ textStyle="body3c-medium"
49
+ className="text-neutral-1000 group-hover/card:text-blue-600 hover:transition-all hover:duration-300 hover:ease-in-out whitespace-nowrap overflow-clip"
50
+ >
51
+ {props.primaryBtnLabel}
52
+ </Typography>
53
+ <Typography
54
+ className="mt-1 text-neutral-600 relative z-[2]"
55
+ textStyle="body3"
56
+ >
57
+ {mainDescription}
58
+ </Typography>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ </a>
63
+ <div className="border-t border-neutral-200 pt-6 mx-6" />
64
+ <div className="flex pb-3 gap-2">
65
+ {secondaryBtn.map((btn, index) => (
66
+ <a
67
+ key={index}
68
+ href={btn.cta_link}
69
+ className="group/btn px-2 justify-around cursor-pointer "
70
+ >
71
+ <div className=" flex items-center hover:bg-neutral-100 rounded-xl px-4 ">
72
+ <div className="flex w-full justify-between items-center z-[2] py-2.5">
73
+ <div className="flex rounded-lg gap-2 items-center ">
74
+ {btn.cta_leftVariantIcon && (
75
+ <Icon
76
+ height={
77
+ "h-5 w-5 group-hover/btn:stroke-blue-500 stroke-2 "
78
+ }
79
+ variant={btn.cta_leftVariantIcon}
80
+ strokeClass="stroke-neutral-500"
81
+ />
82
+ )}
83
+ <Typography
84
+ textStyle="body3c-medium"
85
+ className="text-neutral-1000 group-hover/btn:text-blue-600 hover:transition-all hover:duration-300 hover:ease-in-out whitespace-nowrap overflow-clip"
86
+ >
87
+ {btn.cta_text}
88
+ </Typography>
30
89
  </div>
31
- <div className="px-6 pt-6 pb-4 w-full h-full ">
32
-
33
-
34
- <div className=" flex items-center relative justify-center p-2.5 h-14 w-14 z-[2] group-hover/card:bg-blue-200 bg-neutral-150 rounded-2xl">
35
- <Icon height='h-6 w-6 stroke-2 group-hover/card:stroke-blue-500' variant={iconVariant} strokeColor={strokeColor} strokeClass={strokeClass} />
36
- </div>
37
- <div className="flex relative group/card cursor-pointer pt-4 items-center z-[2]">
38
- <Typography
39
- textStyle='body3c-medium'
40
- className='text-neutral-1000 group-hover/card:text-blue-600 hover:transition-all hover:duration-300 hover:ease-in-out whitespace-nowrap overflow-clip'>
41
- {props.primaryBtnLabel}
42
- </Typography>
43
-
44
- <div className="flex group-hover/card:translate-x-1 transform transition-all duration-200 ease-in-out ">
45
- <Icon
46
- height={'h-4 w-4 stroke-2 invisible group-hover/card:visible transition-all ease-in-out '}
47
- variant={'chevronright'}
48
- strokeClass={'stroke-blue-500'}
49
- />
50
- </div>
51
- </div>
52
- <Typography className='mt-2 text-neutral-600 relative z-[2]' textStyle='body3'>{mainDescription}</Typography>
90
+ <div className="flex group-hover/btn:translate-x-1 transform transition-all duration-200 ease-in-out ">
91
+ <Icon
92
+ height={
93
+ "h-4 w-4 stroke-2 invisible group-hover/btn:visible transition-all ease-in-out "
94
+ }
95
+ variant={"chevronright"}
96
+ strokeClass={"stroke-blue-500"}
97
+ />
53
98
  </div>
54
- </a>
55
- <div className="flex flex-col pb-3 gap-2">
56
- {secondaryBtn.map((btn, index) => (
57
- <a key={index} href={btn.cta_link} className="group/btn px-2 justify-around cursor-pointer ">
58
-
59
- <div className=" flex items-center hover:bg-neutral-100 rounded-xl px-4 ">
60
- <div
61
- className="flex w-full justify-between items-center z-[2] py-2.5"
62
- >
63
- <div
64
- className="flex rounded-lg gap-2 items-center ">
65
- {btn.cta_leftVariantIcon && (
66
- <Icon
67
- height={'h-5 w-5 group-hover/btn:stroke-blue-500 stroke-2 '}
68
- variant={btn.cta_leftVariantIcon}
69
- strokeClass='stroke-neutral-500'
70
- />
71
- )}
72
-
73
- <Typography
74
- textStyle='body3c-medium'
75
- className='text-neutral-1000 group-hover/btn:text-blue-600 hover:transition-all hover:duration-300 hover:ease-in-out whitespace-nowrap overflow-clip'>
76
- {btn.cta_text}
77
- </Typography>
78
- </div>
79
- <div className="flex group-hover/btn:translate-x-1 transform transition-all duration-200 ease-in-out ">
80
- <Icon
81
- height={'h-4 w-4 stroke-2 invisible group-hover/btn:visible transition-all ease-in-out '}
82
- variant={'chevronright'}
83
- strokeClass={'stroke-blue-500'}
84
- />
85
- </div>
86
- </div>
87
- </div>
88
-
89
-
90
- </a>))}
91
-
92
- {tertiaryBtn && tertiaryBtn.map((t, index) => (
93
- <a key={index} href={t.cta_link} className="group/btn justify-around cursor-pointer px-2 ">
94
-
95
- <div className=" flex items-center hover:bg-neutral-100 rounded-xl px-4 ">
96
- <div className="flex w-full justify-between items-center z-[2] py-2.5">
97
- <div
98
- className="flex rounded-lg gap-2 items-center ">
99
- {t.cta_leftVariantIcon && (
100
- <Icon
101
- height={'h-5 w-5 group-hover/btn:stroke-blue-500 stroke-2 '}
102
- variant={t.cta_leftVariantIcon}
103
- strokeClass='stroke-neutral-500'
104
- />
105
- )}
106
-
107
- <Typography
108
- textStyle='body3c-medium'
109
- className='text-neutral-1000 group-hover/btn:text-blue-600 hover:transition-all hover:duration-300 hover:ease-in-out whitespace-nowrap overflow-clip'>
110
- {t.cta_text}
111
- </Typography>
112
- </div>
113
- <div className="flex group-hover/btn:translate-x-1 transform transition-all duration-200 ease-in-out ">
114
- <Icon
115
- height={'h-4 w-4 stroke-2 invisible group-hover/btn:visible transition-all ease-in-out '}
116
- variant={'chevronright'}
117
- strokeClass={'stroke-blue-500'}
118
- />
119
- </div>
120
- </div>
121
- </div>
122
-
123
-
124
- </a>))}
99
+ </div>
125
100
  </div>
126
- </div>
127
-
128
- );
101
+ </a>
102
+ ))}
103
+ {tertiaryBtn &&
104
+ tertiaryBtn.map((t, index) => (
105
+ <a
106
+ key={index}
107
+ href={t.cta_link}
108
+ className="group/btn justify-around cursor-pointer px-2 "
109
+ >
110
+ <div className=" flex items-center hover:bg-neutral-100 rounded-xl px-4 ">
111
+ <div className="flex w-full justify-between items-center z-[2] py-2.5">
112
+ <div className="flex rounded-lg gap-2 items-center ">
113
+ {t.cta_leftVariantIcon && (
114
+ <Icon
115
+ height={
116
+ "h-5 w-5 group-hover/btn:stroke-blue-500 stroke-2 "
117
+ }
118
+ variant={t.cta_leftVariantIcon}
119
+ strokeClass="stroke-neutral-500"
120
+ />
121
+ )}
122
+
123
+ <Typography
124
+ textStyle="body3c-medium"
125
+ className="text-neutral-1000 group-hover/btn:text-blue-600 hover:transition-all hover:duration-300 hover:ease-in-out whitespace-nowrap overflow-clip"
126
+ >
127
+ {t.cta_text}
128
+ </Typography>
129
+ </div>
130
+ <div className="flex group-hover/btn:translate-x-1 transform transition-all duration-200 ease-in-out ">
131
+ <Icon
132
+ height={
133
+ "h-4 w-4 stroke-2 invisible group-hover/btn:visible transition-all ease-in-out "
134
+ }
135
+ variant={"chevronright"}
136
+ strokeClass={"stroke-blue-500"}
137
+ />
138
+ </div>
139
+ </div>
140
+ </div>
141
+ </a>
142
+ ))}
143
+ </div>
144
+ </div>
145
+ );
129
146
  }
@@ -1,85 +1,14 @@
1
1
  import React from "react";
2
- import { Typography } from "../../../foundation/Typography";
3
- import { Icon } from "../../common-components";
4
2
 
5
- export default function FlyoutD(props) {
3
+ export default function FlyoutD() {
6
4
  return (
7
- <div className="flex flex-col justify-between">
8
- <a
9
- href={props.link}
10
- className="flex flex-col gap-4 tb-l:gap-0 tb-l:flex-col w-full h-full justify-between group/icon px-6 "
11
- >
12
- {props.IconVariant && (
13
- <div className="w-full h-full tb-l:pb-6">
14
- {/* <div className=" p-2.5 rounded-2xl w-14 h-14 tb-l:w-full tb-xl:w-[175px] tb-l:h-[124px] bg-neutral-150 items-center justify-center transition-all duration-300 flex group-hover/icon:bg-blue-200">
15
- <Icon
16
- height=" tb-l:h-12 tb-l:w-12 h-6 w-6"
17
- variant={props.IconVariant}
18
- className=" stroke-neutral-800 group-hover/icon:stroke-blue-600 cursor-pointer transition-all duration-300"
19
- />
20
- </div> */}
21
- <img
22
- src={`https://res.cloudinary.com/dh8fp23nd/image/upload/v1712003758/v3-federation_1_hmumso.png`}
23
- className=" rounded-lg w-14 h-14 tb-l:w-full tb-xl:min-w-[175px] tb-l:h-[124px] flex border border-neutral-200 bg-blue-200"
24
- alt="hasura-ddn-illus"
25
- />
26
- </div>
27
- )}
28
- <div className="flex flex-col gap-1 w-full h-full">
29
- {props.btnLabel && (
30
- <div className="flex items-center">
31
- <Typography
32
- textStyle="body3c-medium"
33
- className="text-neutral-900 whitespace-nowrap group-hover/icon:text-blue-600 transition-all duration-300 "
34
- >
35
- {props.btnLabel}
36
- </Typography>
37
- </div>
38
- )}
39
- {props.description && (
40
- <div>
41
- <Typography
42
- textStyle="body3c"
43
- className="text-neutral-600 line-clamp-5"
44
- >
45
- {props.description}
46
- </Typography>
47
- </div>
48
- )}
49
- </div>
50
- </a>
51
- <a
52
- href={`https://hasura.io/blog/announcing-hasura-data-delivery-network-beta`}
53
- className="w-full mt-4 inline-block pr-6 ml-3"
54
- >
55
- <div className="flex group/icon py-2 pr-3 rounded-lg flex-row w-full justify-between tb:min-w-[150px] items-center hover:bg-neutral-100 pl-3">
56
- <div className="flex gap-2 flex-row items-center">
57
- <div className="flex rounded-lg items-center group-hover:bg-white">
58
- <Icon
59
- height={
60
- "h-5 w-5 stroke-2 " + "group-hover/icon:stroke-blue-500 "
61
- }
62
- variant={`bookopen01`}
63
- strokeClass={`stroke-neutral-500`}
64
- />
65
- </div>
66
- <Typography
67
- textStyle="body3c-medium"
68
- className="text-neutral-1000 group-hover/icon:text-blue-600 hover:transition-all hover:duration-300 hover:ease-in-out whitespace-nowrap overflow-clip"
69
- >
70
- Read announcement
71
- </Typography>
72
- </div>
73
- <div className="flex group-hover/icon:translate-x-1 transform transition-all duration-200 ease-in-out ">
74
- <Icon
75
- height={
76
- "h-4 w-4 stroke-2 invisible group-hover/icon:visible transition-all ease-in-out "
77
- }
78
- variant={"chevronright"}
79
- strokeClass={"stroke-blue-500"}
80
- />
81
- </div>
82
- </div>
5
+ <div className="">
6
+ <a href={`https://hasura.io/ddn`}>
7
+ <img
8
+ src="https://res.cloudinary.com/dh8fp23nd/image/upload/v1716906625/Frame_12754_2_iaixzx.png"
9
+ alt="Hasura DDN"
10
+ className="w-full min-w-[204px] max-w-[204px] mt-2 tb-l:mt-0"
11
+ />
83
12
  </a>
84
13
  </div>
85
14
  );