hds-web 1.7.4 → 1.7.6
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/h2.js +2 -2
- 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
@@ -0,0 +1,163 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { Typography } from "../../foundation/Typography";
|
3
|
+
import { HDSButton } from "../Buttons";
|
4
|
+
import { HDSColor } from "../../foundation/ColorPalette";
|
5
|
+
import { LinkCard } from '../Cards/Link';
|
6
|
+
//hover:scale-[1.09] hover:z-10 hover:transition hover:duration-300
|
7
|
+
export default function HeroIntegration({ heroData}) {
|
8
|
+
|
9
|
+
const stackedCircularCard = (circularCardData) => (
|
10
|
+
<div className="flex flex-row">
|
11
|
+
{circularCardData && circularCardData.map((card, index) => (
|
12
|
+
<div
|
13
|
+
key={index}
|
14
|
+
className={`w-20 h-20 ${index > 0 ? '-ml-4' : ''} ${HDSColor(card.cardBgClass)} ${HDSColor(card.cardHoverbgClass)} rounded-full flex items-center justify-center `}
|
15
|
+
>
|
16
|
+
<div className="w-14 h-14">
|
17
|
+
<img className="inline-block" src={card.img_link} alt={card.img_alt} />
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
))}
|
21
|
+
</div>
|
22
|
+
)
|
23
|
+
|
24
|
+
// const scrollToNextDiv = (element) => {
|
25
|
+
// const nextDiv = element.nextElementSibling;
|
26
|
+
// if (nextDiv) {
|
27
|
+
// nextDiv.scrollIntoView({ behavior: 'smooth' });
|
28
|
+
// }
|
29
|
+
// };
|
30
|
+
// const handleClick = (event) => {
|
31
|
+
// const arrowIcon = event.target;
|
32
|
+
// const arrowContainer = arrowIcon.parentNode;
|
33
|
+
// scrollToNextDiv(arrowContainer);
|
34
|
+
// };
|
35
|
+
const title = () => (
|
36
|
+
heroData.title && (
|
37
|
+
<>
|
38
|
+
{heroData.title && (
|
39
|
+
<>
|
40
|
+
{heroData.stackedCard &&
|
41
|
+
<div className="pb-6">
|
42
|
+
{stackedCircularCard(heroData.stackedCard)}
|
43
|
+
</div>
|
44
|
+
}
|
45
|
+
<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>
|
46
|
+
</>
|
47
|
+
|
48
|
+
)
|
49
|
+
}
|
50
|
+
</>
|
51
|
+
)
|
52
|
+
)
|
53
|
+
|
54
|
+
const heroButton = () => (
|
55
|
+
heroData.buttons && (
|
56
|
+
<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")}>
|
57
|
+
{heroData.buttons[0] &&
|
58
|
+
<HDSButton
|
59
|
+
type="primary"
|
60
|
+
btnTextColorClass={HDSColor('text-neutral-0')}
|
61
|
+
leftIconVariant='none'
|
62
|
+
rightIconVariant='none'
|
63
|
+
label={heroData.buttons[0].cta_text}
|
64
|
+
state='default'
|
65
|
+
size='lg'
|
66
|
+
rightAnimatedArrow='true'
|
67
|
+
rightAnimatedArrowColor='#ffffff'
|
68
|
+
/>
|
69
|
+
}
|
70
|
+
{heroData.buttons[1] &&
|
71
|
+
<HDSButton
|
72
|
+
type="primaryLink"
|
73
|
+
btnTextColorClass={HDSColor('text-neutral-0')}
|
74
|
+
leftIconVariant='none'
|
75
|
+
rightIconVariant='none'
|
76
|
+
label={heroData.buttons[1].cta_text}
|
77
|
+
state='default'
|
78
|
+
size='lg'
|
79
|
+
rightAnimatedArrow='true'
|
80
|
+
rightAnimatedArrowColor='#ffffff'
|
81
|
+
/>}
|
82
|
+
|
83
|
+
|
84
|
+
</div>
|
85
|
+
)
|
86
|
+
)
|
87
|
+
const LinkCardsFn = (heroData) => {
|
88
|
+
return (
|
89
|
+
heroData.linkCards && (
|
90
|
+
<div className="flex px-8 tb:px-10 tb:justify-center db-s:px-0 overflow-auto scrollbar-hide flex-row gap-6 db-s:mt-[68px] tb:flex-row ">
|
91
|
+
{heroData.linkCards.map((card, index) => (
|
92
|
+
<div key={index} className={`${HDSColor(card.cardBorderClass)} border rounded-2xl w-full pb-2 min-w-[11.5rem] max-w-[22.313rem]`}>
|
93
|
+
<LinkCard
|
94
|
+
titleTextColor={card.titleTextColor}
|
95
|
+
descTextColor={card.descTextColor}
|
96
|
+
linkUrl={card.linkUrl}
|
97
|
+
cardBgColor={card.cardBgColor}
|
98
|
+
cardHoverBg={card.cardHoverBg}
|
99
|
+
iconVariant={card.iconVariant}
|
100
|
+
iconStrokeClass={card.iconStrokeColor}
|
101
|
+
iconArrowVariant={card.iconArrowVariant}
|
102
|
+
iconArrowStrokeClass={card.iconArrowStrokeColor}
|
103
|
+
title={card.title}
|
104
|
+
description={card.description}
|
105
|
+
/>
|
106
|
+
</div>
|
107
|
+
))}
|
108
|
+
</div>
|
109
|
+
)
|
110
|
+
);
|
111
|
+
};
|
112
|
+
|
113
|
+
const imageCard = (heroData) => (
|
114
|
+
heroData.imageUrl && (
|
115
|
+
<div className="py-12 tb:py-14 db-s:pt-0 ">
|
116
|
+
<img src={heroData.imageUrl} alt={heroData.imageAlt} className='tb-l:w-full db-s:max-w-[540px]' />
|
117
|
+
</div>
|
118
|
+
)
|
119
|
+
)
|
120
|
+
|
121
|
+
return (
|
122
|
+
<div className="">
|
123
|
+
<div className="">
|
124
|
+
<div className={"max-w-7xl mx-auto pb-14 tb:pb-10 db-s:p-20 rounded-3xl overflow-hidden " + ((heroData.bg_color) ? heroData.bg_color : "")} >
|
125
|
+
<div className="w-full">
|
126
|
+
<div className={"flex flex-col px-8 db-s:px-0 tb:px-10 pt-5 tb:pt-10 db-s:flex db-s:justify-between db-s:items-center db-s:flex-row db-s:w-full db-s:gap-x-[92px]"}>
|
127
|
+
<div className='db-s:max-w-[490px] tb-l:max-w-[658px] w-full tb:flex items-start tb:flex-col mt-4 tb:mt-0'
|
128
|
+
>
|
129
|
+
|
130
|
+
{title(heroData)}
|
131
|
+
{
|
132
|
+
heroData.sub_title && (
|
133
|
+
<Typography textStyle="sub1" className={"tb-l:text-center db:text-left flex" + ((heroData.sub_title_color) ? heroData.sub_title_color : "")}>{heroData.sub_title}</Typography>
|
134
|
+
)
|
135
|
+
}
|
136
|
+
{
|
137
|
+
heroData.description && (
|
138
|
+
<Typography textStyle="sub1" className="db:text-left text-neutral-0 [&>*]:mb-8 last:[&>*]:mb-0">{heroData.description}</Typography>
|
139
|
+
)
|
140
|
+
}
|
141
|
+
{heroButton(heroData)}
|
142
|
+
</div>
|
143
|
+
<div className="h-full flex justify-center db-s:self-start w-full">{imageCard(heroData)}</div>
|
144
|
+
</div>
|
145
|
+
{LinkCardsFn(heroData)}
|
146
|
+
|
147
|
+
</div>
|
148
|
+
</div>
|
149
|
+
{/* {
|
150
|
+
heroData.scrollArrow && (
|
151
|
+
<div className="flex justify-center flex-row z-10" onClick={(e) => scrollToNextDiv(e.currentTarget)}>
|
152
|
+
<div className="flex bg-neutral-0 shadow-md -mt-5 animate-bounce justify-center rounded-full items-center w-12 h-12" onClick={handleClick} >
|
153
|
+
<Icon
|
154
|
+
variant='chevrondowndouble'
|
155
|
+
strokeClass='stroke-neutral-800' height='h-6 w-6' />
|
156
|
+
</div>
|
157
|
+
</div>
|
158
|
+
)
|
159
|
+
} */}
|
160
|
+
</div>
|
161
|
+
</div>
|
162
|
+
);
|
163
|
+
}
|
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
|
+
}
|