forked from tomalaforge/angular-challenges
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.component.ts
More file actions
96 lines (88 loc) · 2.75 KB
/
app.component.ts
File metadata and controls
96 lines (88 loc) · 2.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import { Component } from '@angular/core';
// import { fadeInAnimation, staggerAnimation } from './animations';
@Component({
selector: 'app-root',
// animations: [fadeInAnimation, staggerAnimation],
styles: `
section {
@apply flex flex-1 flex-col gap-5;
}
.list-item {
@apply flex flex-row border-b px-5 pb-2;
span {
@apply flex-1;
}
}
.list .list-item {
transition-property: opacity, transform;
transition-duration: 500ms;
transition-delay: calc(200ms * var(--index));
@starting-style {
opacity: 0;
transform: translateY(-10px);
}
}
.fade-in {
transition-property: opacity, transform;
transition-duration: 500ms;
transition-timing-function: ease-in-out;
@starting-style {
opacity: 0;
transform: translateX(-100%);
}
}
`,
template: `
<div class="mx-20 my-40 flex gap-5">
<!-- <section @horizontalAnimation> -->
<section class="fade-in">
<div>
<h3>2008</h3>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Vitae
mollitia sequi accusantium, distinctio similique laudantium eveniet
quidem sit placeat possimus tempore dolorum inventore corporis atque
quae ad, nobis explicabo delectus.
</p>
</div>
<div>
<h3>2010</h3>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Vitae
mollitia sequi accusantium, distinctio similique laudantium eveniet
quidem sit placeat possimus tempore dolorum inventore corporis atque
quae ad, nobis explicabo delectus.
</p>
</div>
<div>
<h4>2012</h4>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Vitae
mollitia sequi accusantium, distinctio similique laudantium eveniet
quidem sit placeat possimus tempore dolorum inventore corporis atque
quae ad, nobis explicabo delectus.
</p>
</div>
</section>
<!-- <section @staggerAnimation> -->
<section class="list">
@for (item of list; track item.key; let i = $index) {
<div class="list-item" style="--index: {{ i }}">
<span>{{ item.key }}</span>
<span>{{ item.value }}</span>
</div>
}
</section>
</div>
`,
})
export class AppComponent {
readonly list: { key: string; value: string }[] = [
{ key: 'Name', value: 'Samuel' },
{ key: 'Age', value: '28' },
{ key: 'Birthdate', value: '02.11.1995' },
{ key: 'City', value: 'Berlin' },
{ key: 'Language', value: 'English' },
{ key: 'Like Pizza', value: 'Hell yeah' },
];
}