hds-web 1.1.5 → 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 +13 -13
- package/package.json +1 -1
- package/src/HDS/assets/icons/check-circle.svg +1 -1
- package/src/HDS/components/BadgesCaption/badges.js +8 -8
- package/src/HDS/components/Buttons/button.js +7 -3
- 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/iconCard.js +81 -9
- package/src/HDS/components/Cards/Misc/talkCard.js +14 -12
- package/src/HDS/components/Headers/v3Header.js +91 -79
- 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/tableA.js +6 -13
- package/src/HDS/components/Tables/tableC.js +71 -0
- package/src/index.css +1 -1
- package/src/styles/tailwind.css +96 -77
- 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>
|
@@ -14,14 +14,14 @@ const iconClasses = {
|
|
14
14
|
};
|
15
15
|
|
16
16
|
const colorVariants = {
|
17
|
-
blue: 'bg-blue-200 text-blue-800 group-hover:bg-blue-300
|
18
|
-
grey: 'bg-neutral-200 text-neutral-800 group-hover:bg-neutral-300
|
19
|
-
purple: 'bg-purple-200 text-purple-800 group-hover:bg-purple-300
|
20
|
-
pink: 'bg-pink-200 text-pink-800 group-hover:bg-pink-300
|
21
|
-
amber: 'bg-amber-200 text-amber-800 group-hover:bg-amber-300
|
22
|
-
cyan: 'bg-cyan-200 text-cyan-800 group-hover:bg-cyan-300
|
17
|
+
blue: 'bg-blue-200 text-blue-800 group-hover:bg-blue-300 ',
|
18
|
+
grey: 'bg-neutral-200 text-neutral-800 group-hover:bg-neutral-300 ',
|
19
|
+
purple: 'bg-purple-200 text-purple-800 group-hover:bg-purple-300 ',
|
20
|
+
pink: 'bg-pink-200 text-pink-800 group-hover:bg-pink-300 ',
|
21
|
+
amber: 'bg-amber-200 text-amber-800 group-hover:bg-amber-300 ',
|
22
|
+
cyan: 'bg-cyan-200 text-cyan-800 group-hover:bg-cyan-300 ',
|
23
23
|
cyan200: 'bg-cyan-200 text-cyan-600 border border-cyan-400 border border-cyan-400 ',
|
24
|
-
green: 'bg-green-200 text-green-800 group-hover:bg-green-300
|
24
|
+
green: 'bg-green-200 text-green-800 group-hover:bg-green-300 ',
|
25
25
|
}
|
26
26
|
|
27
27
|
export default function Badge({
|
@@ -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'>
|
@@ -28,7 +28,7 @@ const Buttonclasses = {
|
|
28
28
|
},
|
29
29
|
'tonal': {
|
30
30
|
'default': {
|
31
|
-
'base': 'db:w-fit tb:w-fit w-full justify-center bg-blue-
|
31
|
+
'base': 'db:w-fit tb:w-fit w-full justify-center bg-blue-200 text-blue-600',
|
32
32
|
'hover': 'hover:bg-blue-700 hover:text-neutral-0 hover:shadow-md hover:shadow hover:transition-all hover:ease-out hover:duration-300',
|
33
33
|
'focus': 'focus:bg-blue-100 focus:text-blue-600 focus:shadow-[0px_0px_0px_4px_#DFE8FF] focus:outline-none',
|
34
34
|
},
|
@@ -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';
|
@@ -1,22 +1,94 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { Icon } from "../../common-components/Icon";
|
3
|
-
import {HDSColor} from '../../../foundation/ColorPalette'
|
3
|
+
import { HDSColor } from '../../../foundation/ColorPalette'
|
4
4
|
import { Typography } from '../../../foundation/Typography'
|
5
|
+
import { HDSButton } from "../../Buttons";
|
5
6
|
|
7
|
+
const cardVariant = {
|
8
|
+
"withButton": {
|
9
|
+
'cardStyle': 'p-10 ',
|
10
|
+
'iconWidthStyle': 'h-20 w-20',
|
11
|
+
'iconStyle': 'h-10 w-10',
|
12
|
+
},
|
13
|
+
"withoutButton": {
|
14
|
+
'cardStyle': 'p-6',
|
15
|
+
'iconWidthStyle': 'h-12 w-12',
|
16
|
+
'iconStyle': 'h-6 w-6',
|
17
|
+
}
|
18
|
+
}
|
6
19
|
|
7
|
-
export default function
|
20
|
+
export default function IconCard(props) {
|
8
21
|
const iconBG = HDSColor(props.iconBg);
|
9
22
|
return (
|
10
|
-
<div
|
11
|
-
|
12
|
-
|
23
|
+
<div
|
24
|
+
className={`bg-neutral-0 rounded-3xl shadow ${cardVariant[props.cardType]['cardStyle']}`}
|
25
|
+
>
|
26
|
+
<div
|
27
|
+
className={`${iconBG} ${cardVariant[props.cardType]['iconWidthStyle']} w-12 h-12 flex items-center justify-center rounded-full mb-6`}
|
28
|
+
>
|
29
|
+
<Icon
|
30
|
+
height={`stroke-[1.5px] ${cardVariant[props.cardType]['iconStyle']}`}
|
31
|
+
variant={props.iconVariant}
|
32
|
+
strokeColor={props.iconStroke}
|
33
|
+
strokeClass={HDSColor(props.iconStrokeClass)} />
|
13
34
|
</div>
|
14
|
-
<div
|
15
|
-
|
16
|
-
|
35
|
+
<div
|
36
|
+
className="flex-1">
|
37
|
+
{props.cardType === 'withoutButton' ? (
|
38
|
+
<>
|
39
|
+
<Typography
|
40
|
+
textStyle="h5"
|
41
|
+
as="h5"
|
42
|
+
className="mb-1 text-blue-600">
|
43
|
+
{props.title}
|
44
|
+
</Typography>
|
45
|
+
<Typography
|
46
|
+
textStyle="body1"
|
47
|
+
className="text-neutral-1000">
|
48
|
+
{props.description}
|
49
|
+
</Typography>
|
50
|
+
</>
|
51
|
+
)
|
52
|
+
:
|
53
|
+
(
|
54
|
+
<>
|
55
|
+
<Typography
|
56
|
+
textStyle="h4"
|
57
|
+
as="h4"
|
58
|
+
className="mb-1 text-blue-800">
|
59
|
+
{props.title}
|
60
|
+
</Typography>
|
61
|
+
<Typography
|
62
|
+
textStyle="body1c"
|
63
|
+
className="text-neutral-1000">
|
64
|
+
{props.description}
|
65
|
+
</Typography>
|
66
|
+
</>
|
67
|
+
)
|
68
|
+
}
|
69
|
+
{props.cardType === 'withButton' && (
|
70
|
+
<div className="flex mt-7">
|
71
|
+
<HDSButton
|
72
|
+
label='Start free'
|
73
|
+
type='secondary'
|
74
|
+
leftIconVariant='none'
|
75
|
+
rightIconVariant='none'
|
76
|
+
state='default'
|
77
|
+
size='sm'
|
78
|
+
rightAnimatedArrow={true}
|
79
|
+
rightAnimatedArrowColor='#3970FD'
|
80
|
+
className=' mt-7'
|
81
|
+
/>
|
82
|
+
</div>
|
83
|
+
)}
|
84
|
+
|
17
85
|
</div>
|
18
|
-
</div>
|
19
86
|
|
87
|
+
</div>
|
20
88
|
)
|
89
|
+
}
|
21
90
|
|
91
|
+
IconCard.defaultProps = {
|
92
|
+
cardType: 'withoutButton',
|
93
|
+
iconStrokeClass: 'stroke-neutral-1000'
|
22
94
|
}
|
@@ -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 border-b-neutral-150 tb:border-0 tb:border-r tb:border-r-neutral-150" >
|
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
|
+
}
|