Skip to content

Commit 898431b

Browse files
truonghungitCopilot
andcommitted
feat(challenge 52): add simple animations to list items
Co-authored-by: Copilot <copilot@github.com>
1 parent 543770b commit 898431b

1 file changed

Lines changed: 33 additions & 8 deletions

File tree

apps/angular/46-simple-animations/src/app/app.component.ts

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { Component } from '@angular/core';
44
imports: [],
55
selector: 'app-root',
66
styles: `
7-
@reference "tailwindcss";
7+
@reference "tailwindcss";
88
99
section {
1010
@apply flex flex-1 flex-col gap-5;
@@ -17,10 +17,35 @@ import { Component } from '@angular/core';
1717
@apply flex-1;
1818
}
1919
}
20+
21+
.enter-animation {
22+
animation: slide-fade 1s;
23+
}
24+
25+
@keyframes slide-fade {
26+
from {
27+
opacity: 0;
28+
transform: translateX(-50px);
29+
}
30+
to {
31+
opacity: 1;
32+
transform: translateX(0);
33+
}
34+
}
35+
36+
.list-item {
37+
transition-property: opacity, transform;
38+
transition-duration: 500ms;
39+
transition-delay: calc(200ms * var(--index));
40+
@starting-style {
41+
opacity: 0;
42+
transform: translateX(-10px);
43+
}
44+
}
2045
`,
2146
template: `
2247
<div class="mx-20 my-40 flex gap-5">
23-
<section>
48+
<section animate.enter="enter-animation">
2449
<div>
2550
<h3>2008</h3>
2651
<p>
@@ -53,32 +78,32 @@ import { Component } from '@angular/core';
5378
</section>
5479
5580
<section>
56-
<div class="list-item">
81+
<div class="list-item" style="--index: 0">
5782
<span>Name:</span>
5883
<span>Samuel</span>
5984
</div>
6085
61-
<div class="list-item">
86+
<div class="list-item" style="--index: 1">
6287
<span>Age:</span>
6388
<span>28</span>
6489
</div>
6590
66-
<div class="list-item">
91+
<div class="list-item" style="--index: 2">
6792
<span>Birthdate:</span>
6893
<span>02.11.1995</span>
6994
</div>
7095
71-
<div class="list-item">
96+
<div class="list-item" style="--index: 3">
7297
<span>City:</span>
7398
<span>Berlin</span>
7499
</div>
75100
76-
<div class="list-item">
101+
<div class="list-item" style="--index: 4">
77102
<span>Language:</span>
78103
<span>English</span>
79104
</div>
80105
81-
<div class="list-item">
106+
<div class="list-item" style="--index: 5">
82107
<span>Like Pizza:</span>
83108
<span>Hell yeah</span>
84109
</div>

0 commit comments

Comments
 (0)