hds-web 1.1.7 → 1.1.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.
- package/dist/index.css +2 -2
- package/dist/index.es.css +2 -2
- package/dist/index.es.js +13 -13
- package/dist/index.js +11 -11
- package/package.json +1 -1
- package/src/HDS/assets/icons/check-circle.svg +1 -1
- package/src/HDS/components/BadgesCaption/badges.js +1 -1
- package/src/HDS/components/Buttons/button.js +6 -2
- package/src/HDS/components/Cards/Dropdown/index.js +1 -0
- package/src/HDS/components/Cards/Dropdown/v3Dropdown.js +63 -0
- package/src/HDS/components/Cards/Menu/flyoutA.js +88 -0
- package/src/HDS/components/Cards/Menu/flyoutB.js +30 -28
- package/src/HDS/components/Cards/Menu/flyoutC.js +31 -0
- package/src/HDS/components/Cards/Menu/index.js +3 -2
- package/src/HDS/components/Cards/Misc/talkCard.js +14 -12
- package/src/HDS/components/Headers/v3Header.js +70 -39
- package/src/HDS/components/Hero/h2.js +33 -17
- package/src/HDS/components/Snippet/CodeSnippet.js +1 -0
- package/src/HDS/components/Tables/index.js +2 -1
- package/src/HDS/components/Tables/tableC.js +71 -0
- package/src/index.css +1 -1
- package/src/styles/tailwind.css +94 -95
- package/tailwind.config.js +0 -3
package/package.json
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2
|
-
<path d="M7.5 12L10.5 15L16.5 9M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z" stroke-linecap="round" stroke-linejoin="round"/>
|
2
|
+
<path d="M7.5 12L10.5 15L16.5 9M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
3
3
|
</svg>
|
@@ -55,7 +55,7 @@ export default function Badge({
|
|
55
55
|
<Icon height={'h-4 w-4'} variant={leftIconVariant} strokeColor={leftIconColor} />
|
56
56
|
</div>
|
57
57
|
)}
|
58
|
-
<Typography textStyle='
|
58
|
+
<Typography textStyle='body3c-medium'>{children}</Typography>
|
59
59
|
|
60
60
|
{rightIconVariant && rightIconVariant !== 'none' && (
|
61
61
|
<div className='ml-1'>
|
@@ -36,7 +36,7 @@ const Buttonclasses = {
|
|
36
36
|
},
|
37
37
|
'secondary': {
|
38
38
|
'default': {
|
39
|
-
'base': 'db:w-fit tb:w-fit w-full justify-center border-2 border-
|
39
|
+
'base': 'db:w-fit tb:w-fit w-full justify-center border-2 border-neutral-0 text-blue-500',
|
40
40
|
|
41
41
|
'hover': 'hover:text-neutral-0 hover:bg-blue-700 hover:border-2 hover:border-blue-700 hover:shadow-md hover:shadow hover:transition-all hover:ease-out hover:delay-100 hover:duration-300',
|
42
42
|
|
@@ -55,7 +55,7 @@ const Buttonclasses = {
|
|
55
55
|
'primaryLink': {
|
56
56
|
'default': {
|
57
57
|
'base': 'db:w-fit tb:w-fit w-full justify-center text-blue-500',
|
58
|
-
'hover': 'hover:text-
|
58
|
+
'hover': 'hover:text-neutral-0',
|
59
59
|
'focus': 'focus:shadow-[0px_0px_0px_4px_#DFE8FF] focus:outline-none focus:text-blue-600',
|
60
60
|
},
|
61
61
|
'disabled': 'text-neutral-300',
|
@@ -103,6 +103,8 @@ const Buttonclasses = {
|
|
103
103
|
}
|
104
104
|
export default function Button(props) {
|
105
105
|
const {
|
106
|
+
btnTextColorClass,
|
107
|
+
btnBgColorClass,
|
106
108
|
rightIconVariant,
|
107
109
|
rightIconColor,
|
108
110
|
leftIconVariant,
|
@@ -137,6 +139,8 @@ export default function Button(props) {
|
|
137
139
|
const buttonClasses = [
|
138
140
|
'inline-flex items-center whitespace-pre',
|
139
141
|
'rounded-full',
|
142
|
+
btnBgColorClass,
|
143
|
+
btnTextColorClass,
|
140
144
|
Buttonclasses['buttonSizes'][`${sizeType}`][`${size}`],
|
141
145
|
'group',
|
142
146
|
defaultClasses,
|
@@ -0,0 +1 @@
|
|
1
|
+
export {default as V3Dropdown} from './v3Dropdown';
|
@@ -0,0 +1,63 @@
|
|
1
|
+
import React from "react"
|
2
|
+
import PropTypes from 'prop-types';
|
3
|
+
import { HDSColor } from "../../../foundation/ColorPalette"
|
4
|
+
import { FlyoutB, FlyoutA } from '../Menu'
|
5
|
+
|
6
|
+
export default function DropdownA(props) {
|
7
|
+
return (
|
8
|
+
<div className='flex flex-col tb:flex-row gap-2'>
|
9
|
+
<div className=' bg-neutral-0 rounded-2xl tb:min-w-[28.063rem]'>
|
10
|
+
<FlyoutB
|
11
|
+
{...props.primaryCard}
|
12
|
+
/>
|
13
|
+
</div>
|
14
|
+
|
15
|
+
{props.secondaryCardArr && props.secondaryCardArr.map((item, index) => (
|
16
|
+
|
17
|
+
<div key={index} className={'rounded-2xl ' + (item.card_bg)? 'bg-neutral-0 rounded-2xl' : (HDSColor(item.card_bg)) }>
|
18
|
+
<FlyoutA
|
19
|
+
label = {item.label}
|
20
|
+
childArray = {item.childArray}
|
21
|
+
/>
|
22
|
+
</div>
|
23
|
+
))}
|
24
|
+
</div>
|
25
|
+
|
26
|
+
)
|
27
|
+
}
|
28
|
+
|
29
|
+
DropdownA.defaultProps = {
|
30
|
+
primaryCard:{
|
31
|
+
iconVariant: 'home03',
|
32
|
+
mainDescription: 'description1',
|
33
|
+
primaryBtnLabel: 'label 1',
|
34
|
+
strokeClass: 'stroke-neutral-800'
|
35
|
+
},
|
36
|
+
|
37
|
+
secondaryCardArr:[{
|
38
|
+
childArray:[
|
39
|
+
{
|
40
|
+
description: '',
|
41
|
+
href: '#',
|
42
|
+
icon: 'cube01',
|
43
|
+
name: 'Analytics'
|
44
|
+
},
|
45
|
+
{
|
46
|
+
description: '',
|
47
|
+
href: '#',
|
48
|
+
icon: 'cube01',
|
49
|
+
name: 'Engagement'
|
50
|
+
},
|
51
|
+
{
|
52
|
+
description: '',
|
53
|
+
href: '#',
|
54
|
+
icon: 'cube01',
|
55
|
+
name: 'Security'
|
56
|
+
},
|
57
|
+
],
|
58
|
+
label:"Label1"
|
59
|
+
},
|
60
|
+
|
61
|
+
|
62
|
+
]
|
63
|
+
}
|
@@ -0,0 +1,88 @@
|
|
1
|
+
import { Fragment } from 'react'
|
2
|
+
import { Popover, Transition } from '@headlessui/react'
|
3
|
+
import { Icon } from '../../common-components/Icon'
|
4
|
+
import { Typography } from '../../../foundation/Typography'
|
5
|
+
export default function FlyoutA(props) {
|
6
|
+
const {
|
7
|
+
label,
|
8
|
+
childArray,
|
9
|
+
buttonArray,
|
10
|
+
} = props
|
11
|
+
return (
|
12
|
+
|
13
|
+
<div className="shadow-sm">
|
14
|
+
<div
|
15
|
+
className="w-full rounded-2xl "
|
16
|
+
>
|
17
|
+
<div className="p-6 min-w-[348px]">
|
18
|
+
{label && <Typography
|
19
|
+
textStyle='h6'
|
20
|
+
className=' uppercase text-neutral-500 mb-4'>
|
21
|
+
{label}
|
22
|
+
</Typography>}
|
23
|
+
<div className='tb:grid tb:grid-cols-2'>
|
24
|
+
{childArray && childArray.map((item) => (
|
25
|
+
<div
|
26
|
+
key={item.name}
|
27
|
+
className="group relative py-1 flex rounded-lg items-center">
|
28
|
+
<div
|
29
|
+
className="mt-1 flex rounded-lg items-center group-hover:bg-white">
|
30
|
+
{item.icon && (
|
31
|
+
<Icon
|
32
|
+
height={'h-6'}
|
33
|
+
variant={item.icon}
|
34
|
+
strokeColor={'#6C737F'}
|
35
|
+
/>
|
36
|
+
)}
|
37
|
+
</div>
|
38
|
+
<div>
|
39
|
+
<a href={item.href}>
|
40
|
+
<Typography
|
41
|
+
textStyle='h-6'
|
42
|
+
className='text-neutral-700 px-2 py-2.5'>
|
43
|
+
{item.name}
|
44
|
+
</Typography>
|
45
|
+
</a>
|
46
|
+
{item.description &&
|
47
|
+
item.description.length > 0 && (
|
48
|
+
<Typography
|
49
|
+
textStyle='body3c-medium'
|
50
|
+
className='text-neutral-700'>
|
51
|
+
{item.description}
|
52
|
+
</Typography>
|
53
|
+
)}
|
54
|
+
</div>
|
55
|
+
</div>
|
56
|
+
))}
|
57
|
+
</div>
|
58
|
+
</div>
|
59
|
+
<div
|
60
|
+
className="grid grid-cols-2 divide-x divide-gray-900/5 bg-gray-50"
|
61
|
+
>
|
62
|
+
{buttonArray && buttonArray.map((item) => (
|
63
|
+
<a
|
64
|
+
key={item.name}
|
65
|
+
href={item.href}
|
66
|
+
className="flex justify-center gap-x-2.5 p-3 font-semibold text-gray-900 hover:bg-gray-100"
|
67
|
+
>
|
68
|
+
|
69
|
+
{item.icon && (
|
70
|
+
<Icon
|
71
|
+
height={'h-6'}
|
72
|
+
variant={item.icon}
|
73
|
+
strokeColor={'#6C737F'} />
|
74
|
+
)}
|
75
|
+
<Typography
|
76
|
+
textStyle='h-6'
|
77
|
+
className='text-neutral-500'>
|
78
|
+
{item.name}
|
79
|
+
</Typography>
|
80
|
+
</a>
|
81
|
+
))}
|
82
|
+
</div>
|
83
|
+
</div>
|
84
|
+
</div>
|
85
|
+
|
86
|
+
)
|
87
|
+
|
88
|
+
}
|
@@ -10,21 +10,22 @@ export default function FlyoutB(props) {
|
|
10
10
|
const {
|
11
11
|
iconVariant = 'home03',
|
12
12
|
strokeColor = '#C6D6FF',
|
13
|
+
strokeClass = 'stroke-neutral-800',
|
13
14
|
primaryBtnLabel = 'label1',
|
14
15
|
mainDescription = 'Choose from our open source community edition, fully managed cloud edition or custom enterprise',
|
15
16
|
secondaryBtn = [
|
16
17
|
{ cta_leftVariantIcon: 'home03', cta_leftVariantIconColor: '#6C737F', cta_text: 'Button 1' },
|
17
|
-
|
18
|
+
|
19
|
+
|
18
20
|
]
|
19
21
|
} = props;
|
20
22
|
|
21
23
|
return (
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
<div>
|
24
|
+
|
25
|
+
<div className="flex flex-col justify-between w-full h-full shadow-sm rounded-2xl">
|
26
|
+
<div className="p-6">
|
27
|
+
<Icon height='h-10 w-10' variant={iconVariant} strokeColor={strokeColor} strokeClass={strokeClass} />
|
28
|
+
<div className="flex">
|
28
29
|
<HDSButton
|
29
30
|
label={primaryBtnLabel}
|
30
31
|
type='secondaryLink'
|
@@ -36,29 +37,30 @@ export default function FlyoutB(props) {
|
|
36
37
|
rightAnimatedArrowColor='#6C737F'
|
37
38
|
className='mt-4'
|
38
39
|
/>
|
39
|
-
</div>
|
40
|
-
<Typography className='mt-2 text-neutral-800' textStyle='body3'>{mainDescription}</Typography>
|
41
|
-
</div>
|
42
|
-
|
43
|
-
<div className="grid grid-cols-2 justify-around border-t divide-x divide-neutral-150 border-neutral-150">
|
44
|
-
{secondaryBtn.map((btn, index) => (
|
45
|
-
<a key={index} href='#' className=" p-6 flex justify-center ">
|
46
|
-
<HDSButton
|
47
|
-
leftIconVariant={btn.cta_leftVariantIcon}
|
48
|
-
leftIconColor={btn.cta_leftVariantIconColor}
|
49
|
-
rightIconVariant='none'
|
50
|
-
type='secondaryLink'
|
51
|
-
label={btn.cta_text}
|
52
|
-
state='default'
|
53
|
-
size='lg'
|
54
|
-
rightAnimatedArrow={true}
|
55
|
-
rightAnimatedArrowColor='#6C737F'
|
56
|
-
/>
|
57
|
-
</a>
|
58
|
-
))}
|
59
|
-
</div>
|
60
40
|
</div>
|
41
|
+
<Typography className='mt-2 text-neutral-800' textStyle='body3'>{mainDescription}</Typography>
|
61
42
|
</div>
|
43
|
+
|
44
|
+
<div className="grid grid-cols-2 justify-around border-t divide-x divide-neutral-150 border-neutral-150">
|
45
|
+
{secondaryBtn.map((btn, index) => (
|
46
|
+
<a key={index} href='#' className="py-6 flex ">
|
47
|
+
<HDSButton
|
48
|
+
leftIconVariant={btn.cta_leftVariantIcon}
|
49
|
+
leftIconColor={btn.cta_leftVariantIconColor}
|
50
|
+
rightIconVariant='none'
|
51
|
+
type='secondaryLink'
|
52
|
+
label={btn.cta_text}
|
53
|
+
state='default'
|
54
|
+
size='lg'
|
55
|
+
rightAnimatedArrow={true}
|
56
|
+
rightAnimatedArrowColor='#6C737F'
|
57
|
+
className='pl-6'
|
58
|
+
/>
|
59
|
+
</a>
|
60
|
+
))}
|
61
|
+
</div>
|
62
|
+
|
62
63
|
</div>
|
64
|
+
|
63
65
|
);
|
64
66
|
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { Typography } from '../../../foundation/Typography'
|
3
|
+
import { HDSColor } from "../../../foundation/ColorPalette";
|
4
|
+
import PropTypes from 'prop-types';
|
5
|
+
|
6
|
+
export default function FlyoutC(props) {
|
7
|
+
const {
|
8
|
+
title,
|
9
|
+
title_colorClass,
|
10
|
+
img_url
|
11
|
+
} = props;
|
12
|
+
return (
|
13
|
+
|
14
|
+
<div className=" flex flex-row items-center p-6 gap-6">
|
15
|
+
<div className="">
|
16
|
+
{
|
17
|
+
img_url && (
|
18
|
+
<img src={props.img_url} className='rounded-xl ' alt={props.title} />
|
19
|
+
)
|
20
|
+
}
|
21
|
+
</div >
|
22
|
+
<Typography textStyle='body3c-medium' className={HDSColor(title_colorClass) + ' '} >This is a title of a blog/news piece we want to promote for the developers This is a title of a blog/news piece we want to promote for the developers</Typography>
|
23
|
+
|
24
|
+
</div>
|
25
|
+
|
26
|
+
);
|
27
|
+
}
|
28
|
+
|
29
|
+
FlyoutC.defaultProps = {
|
30
|
+
img_url: 'text-neutral-900'
|
31
|
+
}
|
@@ -1,2 +1,3 @@
|
|
1
|
-
export {default as
|
2
|
-
export {default as FlyoutB} from './flyoutB';
|
1
|
+
export {default as FlyoutA} from './flyoutA';
|
2
|
+
export {default as FlyoutB} from './flyoutB';
|
3
|
+
export {default as FlyoutC} from './flyoutC';
|
@@ -4,18 +4,19 @@ import { Typography } from '../../../foundation/Typography'
|
|
4
4
|
import { ProfileAvatar } from '../../Avatars'
|
5
5
|
import { Time } from "../../../helpers/Time";
|
6
6
|
import { HDSButton } from '../../Buttons'
|
7
|
+
import ReactMarkdown from "react-markdown";
|
7
8
|
|
8
9
|
export default function TalkCard(props) {
|
9
10
|
let CardClass = ''
|
10
|
-
if (props.speakerSet === undefined
|
11
|
+
if (props.speakerSet === undefined ){
|
11
12
|
CardClass = 'flex';
|
12
13
|
}
|
13
|
-
else CardClass = '
|
14
|
+
else CardClass = 'flex tb-l:flex-row flex-col';
|
14
15
|
return (
|
15
16
|
|
16
|
-
<div className=" ">
|
17
|
-
<div className={`${CardClass}
|
18
|
-
<div className="px-8 py-6 border-b
|
17
|
+
<div className="grid w-full">
|
18
|
+
<div className={`${CardClass} w-full max-w-[882px]`}>
|
19
|
+
<div className={"px-8 py-6" + ((props.speakerSet ) ? " border-b tb-l:w-[62%] border-b-neutral-150 tb:border-0 tb:border-r tb:border-r-neutral-150" : "")}>
|
19
20
|
<Badges
|
20
21
|
size={props.badges.size}
|
21
22
|
color={props.badges.color}
|
@@ -25,13 +26,14 @@ export default function TalkCard(props) {
|
|
25
26
|
/>
|
26
27
|
|
27
28
|
<Typography className='my-2 text-blue-800' textStyle='h5'>{props.title}</Typography>
|
28
|
-
<Typography className='my-2 text-neutral-700' textStyle='body1'>
|
29
|
+
{props.para && <Typography className='my-2 text-neutral-700 [&>p]:pb-2 [&>p]:last:pb-0 [&>ul]:ps-4 [&>ul>li]:list-disc [&>ul>li]:pb-2 [&>ul>li]:last:pb-0' textStyle='body1'>
|
30
|
+
<ReactMarkdown>{props.para}</ReactMarkdown>
|
31
|
+
</Typography>}
|
32
|
+
|
29
33
|
</div>
|
30
34
|
|
31
|
-
{props.speakerSet &&
|
32
|
-
|
33
|
-
|
34
|
-
<div className="flex flex-col pt-0 tb:pt-[2.875rem] justify-between">
|
35
|
+
{props.speakerSet &&(
|
36
|
+
<div className="flex flex-col tb-l:w-[38%] pt-0 tb:pt-[2.875rem] justify-between">
|
35
37
|
{
|
36
38
|
props.speakerSet && (
|
37
39
|
<div className="pl-6 flex gap-6 mt-9 tb:mt-0 mb-9 flex-col ">
|
@@ -62,10 +64,10 @@ export default function TalkCard(props) {
|
|
62
64
|
label=''
|
63
65
|
/>
|
64
66
|
</div>
|
65
|
-
</div>}
|
67
|
+
</div>)}
|
66
68
|
</div>
|
67
69
|
</div>
|
68
70
|
|
69
71
|
)
|
70
72
|
|
71
|
-
}
|
73
|
+
}
|
@@ -1,9 +1,10 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { Fragment } from 'react'
|
3
|
-
import { Popover, Transition } from '@headlessui/react'
|
4
|
-
import { Icon } from '../common-components/Icon'
|
5
|
-
import { Typography } from '../../foundation/Typography'
|
6
|
-
import { HDSButton } from '../Buttons'
|
2
|
+
import { Fragment } from 'react';
|
3
|
+
import { Popover, Transition } from '@headlessui/react';
|
4
|
+
import { Icon } from '../common-components/Icon';
|
5
|
+
import { Typography } from '../../foundation/Typography';
|
6
|
+
import { HDSButton } from '../Buttons';
|
7
|
+
import { V3Dropdown } from '../Cards/Dropdown'
|
7
8
|
|
8
9
|
const solutions = [
|
9
10
|
{
|
@@ -43,39 +44,69 @@ export default function V3Header(props) {
|
|
43
44
|
leaveFrom="opacity-100 translate-y-0"
|
44
45
|
leaveTo="opacity-0 translate-y-1"
|
45
46
|
>
|
46
|
-
<Popover.Panel className="
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
47
|
+
<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>
|
51
|
+
<div className=" p-2 bg-neutral-100 rounded-lg">
|
52
|
+
|
53
|
+
<V3Dropdown
|
54
|
+
primaryCard={{
|
55
|
+
iconVariant: 'home03',
|
56
|
+
mainDescription: 'description1',
|
57
|
+
primaryBtnLabel: 'label 1',
|
58
|
+
strokeClass: 'stroke-neutral-800'
|
59
|
+
}}
|
60
|
+
secondaryCardArr={[
|
61
|
+
{
|
62
|
+
childArray: [
|
63
|
+
{
|
64
|
+
description: '',
|
65
|
+
href: '#',
|
66
|
+
icon: 'cube01',
|
67
|
+
name: 'Analytics'
|
68
|
+
},
|
69
|
+
{
|
70
|
+
description: '',
|
71
|
+
href: '#',
|
72
|
+
icon: 'cube01',
|
73
|
+
name: 'Engagement'
|
74
|
+
},
|
75
|
+
{
|
76
|
+
description: '',
|
77
|
+
href: '#',
|
78
|
+
icon: 'cube01',
|
79
|
+
name: 'Security'
|
80
|
+
}
|
81
|
+
],
|
82
|
+
label: 'Label1'
|
83
|
+
},
|
84
|
+
{
|
85
|
+
childArray: [
|
86
|
+
{
|
87
|
+
description: '',
|
88
|
+
href: '#',
|
89
|
+
icon: 'cube01',
|
90
|
+
name: 'Analytics'
|
91
|
+
},
|
92
|
+
{
|
93
|
+
description: '',
|
94
|
+
href: '#',
|
95
|
+
icon: 'cube01',
|
96
|
+
name: 'Engagement'
|
97
|
+
},
|
98
|
+
{
|
99
|
+
description: '',
|
100
|
+
href: '#',
|
101
|
+
icon: 'cube01',
|
102
|
+
name: 'Security'
|
103
|
+
}
|
104
|
+
],
|
105
|
+
label: 'Label1'
|
106
|
+
}
|
107
|
+
]}
|
108
|
+
/>
|
109
|
+
|
79
110
|
</div>
|
80
111
|
</Popover.Panel>
|
81
112
|
</Transition>
|
@@ -97,7 +128,7 @@ export default function V3Header(props) {
|
|
97
128
|
<Typography textStyle='body3c-medium' className=''>{`${item['title']}`}</Typography>
|
98
129
|
{/* <Icon height='h-5' variant={'home03'} strokeColor={'#1EA7FD'} /> */}
|
99
130
|
</Popover.Button>
|
100
|
-
<div className='
|
131
|
+
<div className=''>
|
101
132
|
{dropdown(item['titleDropdown'])}
|
102
133
|
</div>
|
103
134
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import React from "react";
|
1
2
|
import { useState, useEffect } from "react";
|
2
3
|
import { Typography } from "../../foundation/Typography";
|
3
4
|
import { HDSButton } from "../Buttons";
|
@@ -80,11 +81,11 @@ export default function HeroSecondary({ heroData, logo, scrollArrow, fontSize })
|
|
80
81
|
>
|
81
82
|
{
|
82
83
|
logo ? (
|
83
|
-
<div className={"pb-4 db:text-left text-center tb-l:text-left" + ((heroData.video_url) ? " tb:text-center" : " tb:text-left")}>
|
84
|
+
<div className={"pb-4 db:text-left tb:text-center tb-l:text-left" + ((heroData.video_url) ? " tb:text-center" : " tb:text-left")}>
|
84
85
|
<img className="w-[290px] inline-block" src={logo} alt="Brand" />
|
85
86
|
</div>
|
86
87
|
) : (
|
87
|
-
<Typography textStyle=
|
88
|
+
<Typography textStyle='h2' as="h2" className={"pb-2 tb:text-center break-words db:text-left tb-l:text-left " + ((heroData.title_color) ? heroData.title_color : "") + ((heroData.video_url) ? " tb:text-center" : " tb:text-left")}>{heroData.title}</Typography>
|
88
89
|
)
|
89
90
|
}
|
90
91
|
</div>
|
@@ -93,20 +94,35 @@ export default function HeroSecondary({ heroData, logo, scrollArrow, fontSize })
|
|
93
94
|
|
94
95
|
const heroButton = () => (
|
95
96
|
heroData.buttons && (
|
96
|
-
<div className={" gap-
|
97
|
-
|
98
|
-
|
97
|
+
<div className={" gap-6 flex items-center tb:justify-center tb-l:justify-start db:justify-start pt-6" + ((heroData.video_url) ? " tb:justify-center" : " tb:justify-start")}>
|
98
|
+
|
99
|
+
|
100
|
+
{heroData.buttons[0] &&
|
99
101
|
<HDSButton
|
102
|
+
type="secondary"
|
103
|
+
btnTextColorClass={HDSColor('text-neutral-0')}
|
100
104
|
leftIconVariant='none'
|
101
105
|
rightIconVariant='none'
|
102
|
-
label={
|
106
|
+
label={heroData.buttons[0].cta_text}
|
103
107
|
state='default'
|
104
108
|
size='lg'
|
105
109
|
rightAnimatedArrow='true'
|
106
110
|
rightAnimatedArrowColor='#ffffff'
|
107
111
|
/>
|
108
|
-
|
109
|
-
|
112
|
+
}
|
113
|
+
{heroData.buttons[1] && <HDSButton
|
114
|
+
type="primaryLink"
|
115
|
+
btnTextColorClass={HDSColor('text-neutral-0')}
|
116
|
+
leftIconVariant='none'
|
117
|
+
rightIconVariant='none'
|
118
|
+
label={heroData.buttons[1].cta_text}
|
119
|
+
state='default'
|
120
|
+
size='lg'
|
121
|
+
rightAnimatedArrow='true'
|
122
|
+
rightAnimatedArrowColor='#ffffff'
|
123
|
+
/>}
|
124
|
+
|
125
|
+
|
110
126
|
</div>
|
111
127
|
)
|
112
128
|
)
|
@@ -137,20 +153,20 @@ export default function HeroSecondary({ heroData, logo, scrollArrow, fontSize })
|
|
137
153
|
|
138
154
|
const imageCard = (heroData) => (
|
139
155
|
heroData.imageUrl && (
|
140
|
-
<div className="">
|
141
|
-
<img src={heroData.imageUrl} alt={heroData.imageAlt} className='w-
|
156
|
+
<div className="w-1/2 tb-l:w-full tb:flex tb:flex-col tb:justify-center">
|
157
|
+
<img src={heroData.imageUrl} alt={heroData.imageAlt} className='w-full ' />
|
142
158
|
</div>
|
143
159
|
)
|
144
160
|
)
|
145
161
|
|
146
162
|
const videoGradientBg = HDSColor(heroData.video_gradient_bg);
|
147
163
|
return (
|
148
|
-
<div className="
|
149
|
-
<div className="
|
150
|
-
<div className={"max-w-7xl mx-auto rounded-3xl overflow-hidden " + ((heroData.bg_color) ? heroData.bg_color : "")} >
|
164
|
+
<div className="">
|
165
|
+
<div className="">
|
166
|
+
<div className={"max-w-7xl mx-auto px-20 py-20 rounded-3xl overflow-hidden " + ((heroData.bg_color) ? heroData.bg_color : "")} >
|
151
167
|
<div className="w-full">
|
152
|
-
<div className={"
|
153
|
-
<div className=
|
168
|
+
<div className={"tb-l:flex tb-l:items-center tb-l:flex-row db:w-full flex flex-col-reverse tb:gap-x-16 db:gap-x-10 min-[1880px]:gap-x-72" + ((heroData.video_url) ? " " : " tb:flex")}>
|
169
|
+
<div className='w-full tb:flex items-start tb:flex-col mt-4 tb:mt-0'
|
154
170
|
>
|
155
171
|
{
|
156
172
|
heroData.tag_line && (
|
@@ -166,13 +182,13 @@ export default function HeroSecondary({ heroData, logo, scrollArrow, fontSize })
|
|
166
182
|
{title(heroData)}
|
167
183
|
{
|
168
184
|
heroData.sub_title && (
|
169
|
-
<Typography textStyle="sub1" className={"text-center db:text-left
|
185
|
+
<Typography textStyle="sub1" className={"tb-l:text-center db:text-left flex" + ((heroData.sub_title_color) ? heroData.sub_title_color : "") + ((heroData.video_url) ? " tb:text-center" : " tb:text-left")}>{heroData.sub_title}</Typography>
|
170
186
|
)
|
171
187
|
}
|
172
188
|
|
173
189
|
{
|
174
190
|
heroData.description && (
|
175
|
-
<Typography textStyle="
|
191
|
+
<Typography textStyle="sub1" className="tb-l:text-center db:text-left text-neutral-0 [&>*]:mb-8 last:[&>*]:mb-0">{heroData.description}</Typography>
|
176
192
|
)
|
177
193
|
}
|
178
194
|
{heroButton(heroData)}
|