-
Notifications
You must be signed in to change notification settings - Fork 0
/
GrowTransition.razor
47 lines (35 loc) · 1.26 KB
/
GrowTransition.razor
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
@using BlazorTransitionGroup
@inherits Transition
<div style="@ActualStyle" class="@Class">
@ChildContent?.Invoke(TransitionState)
</div>
@code {
string ActualStyle => $"opacity: {Opacity};transform:scale({Size});transition:opacity {Duration / 2}ms ease-in-out,transform {Duration}ms ease-in-out;{Style}";
string Opacity => TransitionState switch {
TransitionState.Entering or TransitionState.Entered => "1",
_ => "0",
};
string Size => TransitionState switch {
TransitionState.Entering or TransitionState.Entered => "1",
_ => "0",
};
double Duration => TransitionState switch {
TransitionState.Entering or TransitionState.Entered => DurationEnter,
_ => DurationExit,
};
string HeightStyle => TransitionState switch {
TransitionState.Entering or TransitionState.Entered => "100%",
_ => "0%",
};
[Parameter]
public string Height { get; set; } = "auto";
[Parameter]
public string Width { get; set; } = "auto";
[Parameter]
public string? Style { get; set; }
[Parameter]
public string? Class { get; set; }
protected override void OnParametersSet() {
base.OnParametersSet();
}
}