hds-web 1.7.4 → 1.7.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/dist/index.css +2 -2
- package/dist/index.es.css +2 -2
- package/dist/index.es.js +5 -5
- package/dist/index.js +6 -6
- package/package.json +2 -1
- package/src/HDS/components/Buttons/button.js +7 -4
- package/src/HDS/components/Cards/BrandCard/brandCard.js +37 -13
- package/src/HDS/components/Cards/Misc/iconCard.js +44 -14
- package/src/HDS/components/Headers/v3Header.js +168 -25
- package/src/HDS/components/Hero/heroIntegration.js +163 -0
- package/src/HDS/components/Hero/index.js +2 -1
- package/src/HDS/components/Pre-footers/index.js +0 -0
- package/src/HDS/components/Pre-footers/linkImagePF.js +69 -0
- package/src/HDS/components/index.js +2 -1
- package/src/HDS/modules/TextCard/textCard.js +82 -70
- package/src/index.css +176 -0
- package/src/styles/tailwind.css +368 -7
- package/tailwind.config.js +4 -0
File without changes
|
@@ -0,0 +1,69 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { LinkCard } from '../Cards/Link'
|
3
|
+
import { Typography } from '../../foundation/Typography';
|
4
|
+
import { HDSButton } from '../Buttons'
|
5
|
+
|
6
|
+
export default function LinkImagePF(props) {
|
7
|
+
const {
|
8
|
+
sectionPreFooterData
|
9
|
+
} = props;
|
10
|
+
return (
|
11
|
+
<>
|
12
|
+
<div className="w-full">
|
13
|
+
{/* <div className="rounded-3xl bg-neutral-0 shadow db:p-20 tb:p-10 px-5 py-10">
|
14
|
+
<div className="pt-10 tb:pt-16 db:pt-24">
|
15
|
+
<Typography textStyle="h4" as="h4" className="text-neutral-1000 pb-8">{sectionPreFooterData.title}</Typography>
|
16
|
+
<div className="grid grid-cols-1 tb-l:grid-cols-2 gap-10 tb:gap-20 db:gap-30">
|
17
|
+
<div className="max-w-[380px]">
|
18
|
+
{
|
19
|
+
(sectionPreFooterData.link_card.length > 0) && sectionPreFooterData.link_card.map((card, index) => (
|
20
|
+
<div key={index} className="pb-4 last:pb-0 border border-neutral-150 rounded-2xl transition ease-in duration-150 hover:shadow-xl hover:border-transparent mb-4 last:mb-0">
|
21
|
+
<LinkCard
|
22
|
+
titleTextColor={card.titleTextColor}
|
23
|
+
descTextColor={card.descTextColor}
|
24
|
+
linkUrl={card.linkUrl}
|
25
|
+
cardBgColor={card.cardBgColor}
|
26
|
+
cardHoverBg={card.cardHoverBg}
|
27
|
+
iconVariant={card.iconVariant}
|
28
|
+
iconStrokeClass={card.iconStrokeColor}
|
29
|
+
iconArrowVariant={card.iconArrowVariant}
|
30
|
+
iconArrowStrokeClass={card.iconArrowStrokeColor}
|
31
|
+
title={card.title}
|
32
|
+
description={card.description}
|
33
|
+
/>
|
34
|
+
</div>
|
35
|
+
))
|
36
|
+
}
|
37
|
+
|
38
|
+
</div>
|
39
|
+
<div className="text-center self-start">
|
40
|
+
<img
|
41
|
+
loading="lazy"
|
42
|
+
src={sectionPreFooterData.get_tickets.img_url}
|
43
|
+
width={214}
|
44
|
+
height={284}
|
45
|
+
alt={sectionPreFooterData.get_tickets.title}
|
46
|
+
className="inline-block"
|
47
|
+
/>
|
48
|
+
<Typography textStyle="h3" as="h3" className="text-neutral-1000 py-6">{sectionPreFooterData.get_tickets.title}</Typography>
|
49
|
+
<a href={sectionPreFooterData.get_tickets.button.cta_link}>
|
50
|
+
<HDSButton
|
51
|
+
label={sectionPreFooterData.get_tickets.button.cta_text}
|
52
|
+
type='secondary'
|
53
|
+
leftIconVariant='none'
|
54
|
+
rightIconVariant='none'
|
55
|
+
state='default'
|
56
|
+
size='md'
|
57
|
+
rightAnimatedArrow={true}
|
58
|
+
rightAnimatedArrowColor='#3970FD'
|
59
|
+
/>
|
60
|
+
</a>
|
61
|
+
</div>
|
62
|
+
</div>
|
63
|
+
</div>
|
64
|
+
</div> */}
|
65
|
+
</div>
|
66
|
+
</>
|
67
|
+
)
|
68
|
+
}
|
69
|
+
|
@@ -3,10 +3,12 @@ import { Typography } from "../../foundation/Typography";
|
|
3
3
|
import { HDSColor } from "../../foundation/ColorPalette";
|
4
4
|
import { HDSButton } from '../../components/Buttons';
|
5
5
|
import { Icon } from '../../components/common-components/Icon';
|
6
|
+
import ReactMarkdown from "react-markdown";
|
6
7
|
|
7
8
|
export default function TextCard(props) {
|
8
9
|
const titleColor = HDSColor(props.title_color);
|
9
|
-
const
|
10
|
+
const subtitleColorClass = HDSColor(props.subtitle_color)
|
11
|
+
const currentImgActive = (props.feature_cards_links && props.feature_cards_links[0]?.title) ? props.feature_cards_links[0].title : null;
|
10
12
|
const [imgActive, setImgActive] = useState(currentImgActive);
|
11
13
|
return (
|
12
14
|
<>
|
@@ -16,35 +18,45 @@ export default function TextCard(props) {
|
|
16
18
|
<div className={'grid grid-cols-1 tb-l:grid-cols-2 gap-10' + ((props.feature_cards_links) ? ' tb:gap-0 tb-l:gap-0' : ' tb:gap-16 tb-l:gap-36')}>
|
17
19
|
<div>
|
18
20
|
{
|
19
|
-
!props.feature_cards_links && (<Typography textStyle="h3" as="h3" className={`${titleColor} pb-6`}>{props.title}</Typography>)
|
21
|
+
!props.feature_cards_links && (<Typography textStyle="h3" as="h3" className={`${HDSColor(titleColor)} pb-6`}>{props.title}</Typography>)
|
22
|
+
}
|
23
|
+
{
|
24
|
+
!props.feature_cards_links && props.subtitle && (<Typography textStyle="sub1" className={`${(subtitleColorClass)} pb-2 -mt-4`}>{props.subtitle}</Typography>)
|
20
25
|
}
|
21
26
|
{
|
22
27
|
props.descriptions && props.descriptions.map((desc, i) => (
|
23
|
-
<Typography
|
28
|
+
<Typography
|
29
|
+
key={i}
|
30
|
+
textStyle="body1"
|
31
|
+
className="pb-6 pr-8 [&>p]:pb-2 last:[&>p]:pb-0 [&>ul]:ps-4 [&>ul>li]:list-disc [&>ul>li]:pb-2 last:[&>ul>li]:pb-0 [&>p>a]:text-blue-600">
|
32
|
+
<ReactMarkdown>
|
33
|
+
{desc.description}
|
34
|
+
</ReactMarkdown>
|
35
|
+
</Typography>
|
24
36
|
))
|
25
37
|
}
|
26
38
|
{
|
27
39
|
props.descriptions_list && (
|
28
40
|
<div className="pb-6">
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
+
{
|
42
|
+
props.descriptions_list && props.descriptions_list.map((descList, j) => {
|
43
|
+
const iconBgColor = HDSColor(descList.icon_bg_color);
|
44
|
+
const iconColor = HDSColor(descList.icon_color);
|
45
|
+
return (
|
46
|
+
<div className='flex items-start pb-4 last:pb-0' key={j}>
|
47
|
+
<div className={`${iconBgColor} w-6 h-6 min-w-[24px] min-h-[24px] rounded-full mr-2 flex items-center justify-center`}>
|
48
|
+
<Icon
|
49
|
+
height={`h-3 w-3 stroke-[1.5px]`}
|
50
|
+
variant={descList.icon_name}
|
51
|
+
strokeClass={iconColor}
|
52
|
+
/>
|
53
|
+
</div>
|
54
|
+
<Typography textStyle='body1' className='text-neutral-1000'>{descList.description}</Typography>
|
41
55
|
</div>
|
42
|
-
|
43
|
-
|
44
|
-
)
|
45
|
-
})
|
56
|
+
)
|
57
|
+
})
|
46
58
|
|
47
|
-
|
59
|
+
}
|
48
60
|
</div>
|
49
61
|
)
|
50
62
|
}
|
@@ -56,11 +68,11 @@ export default function TextCard(props) {
|
|
56
68
|
const currentStrokeColor = HDSColor(list.icon_color)
|
57
69
|
const imgBgColor = HDSColor(list.tab_img_bg_class)
|
58
70
|
return (
|
59
|
-
<div key={i} className='border-b border-b-neutral-150 last:border-b-0 cursor-pointer' onClick={()=>setImgActive(list.title)}>
|
71
|
+
<div key={i} className='border-b border-b-neutral-150 last:border-b-0 cursor-pointer' onClick={() => setImgActive(list.title)}>
|
60
72
|
<div className={'m-2 p-0 tb:p-6 rounded-lg transition ease-in duration-200 hover:bg-neutral-50' + ((imgActive === list.title) ? " bg-neutral-150" : "")} key={i}>
|
61
73
|
<div className='flex items-center pb-4'>
|
62
74
|
<Icon
|
63
|
-
height={`w-6 h-6 mr-2 stroke-[1.5px]`
|
75
|
+
height={`w-6 h-6 mr-2 stroke-[1.5px]`}
|
64
76
|
variant={list.icon_name}
|
65
77
|
strokeClass={currentStrokeColor}
|
66
78
|
/>
|
@@ -75,7 +87,7 @@ export default function TextCard(props) {
|
|
75
87
|
<div className='flex items-start pb-4 last:pb-0' key={j}>
|
76
88
|
<div className={`${iconBgColor} w-5 h-5 min-w-[20px] min-h-[20px] rounded-full mr-2 flex items-center justify-center`}>
|
77
89
|
<Icon
|
78
|
-
height={`h-3 w-3 stroke-[1.5px]`
|
90
|
+
height={`h-3 w-3 stroke-[1.5px]`}
|
79
91
|
variant={descList.icon_name}
|
80
92
|
strokeClass={iconColor}
|
81
93
|
/>
|
@@ -106,7 +118,7 @@ export default function TextCard(props) {
|
|
106
118
|
{
|
107
119
|
list.tab_img_url && (
|
108
120
|
<div className={`${imgBgColor} tb-l:hidden p-12 rounded-2xl mt-8`}>
|
109
|
-
<img src={list.tab_img_url} alt={list.title} loading="lazy"/>
|
121
|
+
<img src={list.tab_img_url} alt={list.title} loading="lazy" />
|
110
122
|
</div>
|
111
123
|
)
|
112
124
|
}
|
@@ -130,7 +142,7 @@ export default function TextCard(props) {
|
|
130
142
|
size='md'
|
131
143
|
rightAnimatedArrow={true}
|
132
144
|
rightAnimatedArrowColor='#3970FD'
|
133
|
-
|
145
|
+
/>
|
134
146
|
)
|
135
147
|
}
|
136
148
|
</div>
|
@@ -162,7 +174,7 @@ export default function TextCard(props) {
|
|
162
174
|
/>
|
163
175
|
</video>
|
164
176
|
) : (
|
165
|
-
<img src={img.tab_img_url} alt={img.title} loading="lazy"/>
|
177
|
+
<img src={img.tab_img_url} alt={img.title} loading="lazy" />
|
166
178
|
)
|
167
179
|
}
|
168
180
|
</div>
|
@@ -174,55 +186,55 @@ export default function TextCard(props) {
|
|
174
186
|
}
|
175
187
|
</>
|
176
188
|
) : (
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
loading="lazy"
|
186
|
-
title={props.title}
|
187
|
-
src={props.iframe_url}
|
188
|
-
frameBorder="0"
|
189
|
-
allowFullScreen
|
190
|
-
className="absolute w-full h-full rounded-2xl db:rounded-3xl"
|
191
|
-
></iframe>
|
192
|
-
</div>
|
193
|
-
) : (
|
194
|
-
<video
|
189
|
+
<>
|
190
|
+
{
|
191
|
+
props.iframe_url || props.video_url ? (
|
192
|
+
<div>
|
193
|
+
{
|
194
|
+
props.iframe_url ? (
|
195
|
+
<div className="relative pb-[56.2%]">
|
196
|
+
<iframe
|
195
197
|
loading="lazy"
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
>
|
203
|
-
<source
|
204
|
-
src={props.video_url}
|
205
|
-
type="video/mp4"
|
206
|
-
/>
|
207
|
-
</video>
|
208
|
-
)
|
209
|
-
}
|
210
|
-
</div>
|
211
|
-
) : (
|
212
|
-
<>
|
213
|
-
{props.img_url && (
|
214
|
-
<div className={`${HDSColor(props.img_bg_class)} px-5 py-10 flex items-center justify-center db:p-8 rounded-2xl db:rounded-3xl`}>
|
215
|
-
<img className='rounded-2xl db:rounded-3xl inline-block' src={props.img_url} alt={props.title} loading="lazy" />
|
198
|
+
title={props.title}
|
199
|
+
src={props.iframe_url}
|
200
|
+
frameBorder="0"
|
201
|
+
allowFullScreen
|
202
|
+
className="absolute w-full h-full rounded-2xl db:rounded-3xl"
|
203
|
+
></iframe>
|
216
204
|
</div>
|
217
|
-
)
|
218
|
-
|
219
|
-
|
220
|
-
|
205
|
+
) : (
|
206
|
+
<video
|
207
|
+
loading="lazy"
|
208
|
+
controls={false}
|
209
|
+
autoPlay
|
210
|
+
loop
|
211
|
+
muted
|
212
|
+
poster={props.video_poster}
|
213
|
+
className="rounded-2xl db:rounded-3xl"
|
214
|
+
>
|
215
|
+
<source
|
216
|
+
src={props.video_url}
|
217
|
+
type="video/mp4"
|
218
|
+
/>
|
219
|
+
</video>
|
220
|
+
)
|
221
|
+
}
|
222
|
+
</div>
|
223
|
+
) : (
|
224
|
+
<>
|
225
|
+
{props.img_url && (
|
226
|
+
<div className={`${HDSColor(props.img_bg_class)} px-5 py-10 flex items-center justify-center db:p-8 rounded-2xl db:rounded-3xl`}>
|
227
|
+
<img className='rounded-2xl db:rounded-3xl inline-block' src={props.img_url} alt={props.title} loading="lazy" />
|
228
|
+
</div>
|
229
|
+
)}
|
230
|
+
</>
|
231
|
+
)
|
232
|
+
}
|
221
233
|
|
222
|
-
|
234
|
+
</>
|
223
235
|
)
|
224
236
|
}
|
225
|
-
|
237
|
+
</div>
|
226
238
|
|
227
239
|
|
228
240
|
</>
|
package/src/index.css
CHANGED
@@ -440,3 +440,179 @@
|
|
440
440
|
}
|
441
441
|
|
442
442
|
|
443
|
+
|
444
|
+
|
445
|
+
#load {
|
446
|
+
position: absolute;
|
447
|
+
width: 600px;
|
448
|
+
height: 36px;
|
449
|
+
left: 50%;
|
450
|
+
top: 40%;
|
451
|
+
margin-left: -300px;
|
452
|
+
overflow: visible;
|
453
|
+
-webkit-user-select: none;
|
454
|
+
-moz-user-select: none;
|
455
|
+
-ms-user-select: none;
|
456
|
+
user-select: none;
|
457
|
+
cursor: default;
|
458
|
+
}
|
459
|
+
|
460
|
+
#load div {
|
461
|
+
position: absolute;
|
462
|
+
width: 200px;
|
463
|
+
opacity: 0;
|
464
|
+
animation: move 10s linear infinite;
|
465
|
+
-o-animation: move 10s linear infinite;
|
466
|
+
-moz-animation: move 10s linear infinite;
|
467
|
+
-webkit-animation: move 10s linear infinite;
|
468
|
+
color: #35C4F0;
|
469
|
+
}
|
470
|
+
|
471
|
+
#load div:nth-child(2) {
|
472
|
+
animation-delay: 0.2s;
|
473
|
+
-o-animation-delay: 0.2s;
|
474
|
+
-moz-animation-delay: 0.2s;
|
475
|
+
-webkit-animation-delay: 0.2s;
|
476
|
+
}
|
477
|
+
|
478
|
+
#load div:nth-child(3) {
|
479
|
+
animation-delay: 0.4s;
|
480
|
+
-o-animation-delay: 0.4s;
|
481
|
+
-webkit-animation-delay: 0.4s;
|
482
|
+
-webkit-animation-delay: 0.4s;
|
483
|
+
}
|
484
|
+
|
485
|
+
#load div:nth-child(4) {
|
486
|
+
animation-delay: 0.6s;
|
487
|
+
-o-animation-delay: 0.6s;
|
488
|
+
-moz-animation-delay: 0.6s;
|
489
|
+
-webkit-animation-delay: 0.6s;
|
490
|
+
}
|
491
|
+
|
492
|
+
#load div:nth-child(5) {
|
493
|
+
animation-delay: 0.8s;
|
494
|
+
-o-animation-delay: 0.8s;
|
495
|
+
-moz-animation-delay: 0.8s;
|
496
|
+
-webkit-animation-delay: 0.8s;
|
497
|
+
}
|
498
|
+
|
499
|
+
#load div:nth-child(6) {
|
500
|
+
animation-delay: 1s;
|
501
|
+
-o-animation-delay: 1s;
|
502
|
+
-moz-animation-delay: 1s;
|
503
|
+
-webkit-animation-delay: 1s;
|
504
|
+
}
|
505
|
+
|
506
|
+
#load div:nth-child(7) {
|
507
|
+
animation-delay: 1.2s;
|
508
|
+
-o-animation-delay: 1.2s;
|
509
|
+
-moz-animation-delay: 1.2s;
|
510
|
+
-webkit-animation-delay: 1.2s;
|
511
|
+
}
|
512
|
+
|
513
|
+
@keyframes move {
|
514
|
+
0% {
|
515
|
+
left: 0;
|
516
|
+
opacity: 0;
|
517
|
+
}
|
518
|
+
|
519
|
+
35% {
|
520
|
+
left: 41%;
|
521
|
+
|
522
|
+
opacity: 1;
|
523
|
+
}
|
524
|
+
|
525
|
+
65% {
|
526
|
+
left: 59%;
|
527
|
+
|
528
|
+
opacity: 1;
|
529
|
+
}
|
530
|
+
|
531
|
+
100% {
|
532
|
+
left: 100%;
|
533
|
+
|
534
|
+
opacity: 0;
|
535
|
+
}
|
536
|
+
}
|
537
|
+
|
538
|
+
@-moz-keyframes move {
|
539
|
+
0% {
|
540
|
+
left: 0;
|
541
|
+
opacity: 0;
|
542
|
+
}
|
543
|
+
|
544
|
+
35% {
|
545
|
+
left: 41%;
|
546
|
+
-moz-transform: rotate(0deg);
|
547
|
+
transform: rotate(0deg);
|
548
|
+
opacity: 1;
|
549
|
+
}
|
550
|
+
|
551
|
+
65% {
|
552
|
+
left: 59%;
|
553
|
+
-moz-transform: rotate(0deg);
|
554
|
+
transform: rotate(0deg);
|
555
|
+
opacity: 1;
|
556
|
+
}
|
557
|
+
|
558
|
+
100% {
|
559
|
+
left: 100%;
|
560
|
+
-moz-transform: rotate(-180deg);
|
561
|
+
transform: rotate(-180deg);
|
562
|
+
opacity: 0;
|
563
|
+
}
|
564
|
+
}
|
565
|
+
|
566
|
+
@-webkit-keyframes move {
|
567
|
+
0% {
|
568
|
+
left: 0;
|
569
|
+
opacity: 0;
|
570
|
+
}
|
571
|
+
|
572
|
+
35% {
|
573
|
+
left: 41%;
|
574
|
+
-webkit-transform: rotate(0deg);
|
575
|
+
transform: rotate(0deg);
|
576
|
+
opacity: 1;
|
577
|
+
}
|
578
|
+
|
579
|
+
65% {
|
580
|
+
left: 59%;
|
581
|
+
-webkit-transform: rotate(0deg);
|
582
|
+
transform: rotate(0deg);
|
583
|
+
opacity: 1;
|
584
|
+
}
|
585
|
+
|
586
|
+
100% {
|
587
|
+
left: 100%;
|
588
|
+
|
589
|
+
opacity: 0;
|
590
|
+
}
|
591
|
+
}
|
592
|
+
|
593
|
+
@-o-keyframes move {
|
594
|
+
0% {
|
595
|
+
left: 0;
|
596
|
+
opacity: 0;
|
597
|
+
}
|
598
|
+
|
599
|
+
35% {
|
600
|
+
left: 41%;
|
601
|
+
-o-transform: rotate(0deg);
|
602
|
+
transform: rotate(0deg);
|
603
|
+
opacity: 1;
|
604
|
+
}
|
605
|
+
|
606
|
+
65% {
|
607
|
+
left: 59%;
|
608
|
+
-o-transform: rotate(0deg);
|
609
|
+
transform: rotate(0deg);
|
610
|
+
opacity: 1;
|
611
|
+
}
|
612
|
+
|
613
|
+
100% {
|
614
|
+
left: 100%;
|
615
|
+
|
616
|
+
opacity: 0;
|
617
|
+
}
|
618
|
+
}
|