6
6
<div class =" demo-container relative" >
7
7
<CountUp
8
8
:key =" keyDefault"
9
- :from =" 0"
10
- :to =" 100"
11
- separator =" ,"
12
- direction =" up"
13
- :duration =" 1"
9
+ :from =" from"
10
+ :to =" to"
11
+ :direction =" direction"
12
+ :delay =" delay"
13
+ :duration =" duration"
14
+ :separator =" separator"
14
15
class-name =" count-up-text"
15
16
/>
16
17
17
18
<RefreshButton @click =" forceRerenderDefault" />
18
19
</div >
19
20
20
- <h2 class =" demo-title-extra" >Start Programatically </h2 >
21
+ <h2 class =" demo-title-extra" >Start Programmatically </h2 >
21
22
22
23
<div class =" demo-container flex flex-col justify-center items-center relative min-h-[200px]" >
23
24
<button
28
29
</button >
29
30
30
31
<CountUp
31
- :key =" keyProgramatically "
32
+ :key =" keyProgrammatically "
32
33
:from =" 100"
33
34
:to =" 500"
34
35
:start-when =" startCounting"
35
36
:duration =" 5"
36
37
class-name =" count-up-text"
37
38
/>
38
39
39
- <RefreshButton v-if =" startCounting" @click =" forceRerenderProgramatically " />
40
+ <RefreshButton v-if =" startCounting" @click =" forceRerenderProgrammatically " />
40
41
</div >
41
42
43
+ <Customize >
44
+ <PreviewSlider title =" From" v-model =" from" :min =" 0" :max =" 1000" :step =" 10" />
45
+
46
+ <PreviewSlider title =" To" v-model =" to" :min =" 100" :max =" 5000" :step =" 100" />
47
+
48
+ <PreviewSelect title =" Direction" v-model =" direction" :options =" directionOptions" />
49
+
50
+ <PreviewSlider title =" Duration" v-model =" duration" :min =" 0.5" :max =" 10" :step =" 0.5" value-unit =" s" />
51
+
52
+ <PreviewSlider title =" Delay" v-model =" delay" :min =" 0" :max =" 5" :step =" 0.5" value-unit =" s" />
53
+
54
+ <PreviewSelect title =" Separator" v-model =" separator" :options =" separatorOptions" />
55
+ </Customize >
56
+
42
57
<PropTable :data =" propData" />
43
58
</template >
44
59
@@ -62,19 +77,42 @@ import RefreshButton from '../../components/common/RefreshButton.vue';
62
77
import CountUp from ' ../../content/Animations/CountUp/CountUp.vue' ;
63
78
import { countup } from ' @/constants/code/Animations/countUpCode' ;
64
79
import { useForceRerender } from ' @/composables/useForceRerender' ;
80
+ import Customize from ' ../../components/common/Customize.vue' ;
81
+ import PreviewSlider from ' ../../components/common/PreviewSlider.vue' ;
82
+ import PreviewSelect from ' ../../components/common/PreviewSelect.vue' ;
65
83
66
84
const startCounting = ref (false );
67
85
68
86
const { rerenderKey : keyDefault, forceRerender : forceRerenderDefault } = useForceRerender ();
69
- const { rerenderKey : keyProgramatically , forceRerender : forceRerenderProgramatically } = useForceRerender ();
87
+ const { rerenderKey : keyProgrammatically , forceRerender : forceRerenderProgrammatically } = useForceRerender ();
70
88
71
89
const setStartCounting = (value : boolean ) => {
72
90
startCounting .value = value ;
73
91
if (value ) {
74
- forceRerenderProgramatically ();
92
+ forceRerenderProgrammatically ();
75
93
}
76
94
};
77
95
96
+ const from = ref (50 );
97
+ const to = ref (1000 );
98
+ const direction = ref <' up' | ' down' >(' up' );
99
+ const duration = ref (2 );
100
+ const delay = ref (0 );
101
+ const separator = ref (' ,' );
102
+
103
+ const directionOptions = [
104
+ { label: ' Up' , value: ' up' },
105
+ { label: ' Down' , value: ' down' }
106
+ ];
107
+
108
+ const separatorOptions = [
109
+ { label: ' None' , value: ' ' },
110
+ { label: ' Comma (,)' , value: ' ,' },
111
+ { label: ' Period (.)' , value: ' .' },
112
+ { label: ' Space ( )' , value: ' ' },
113
+ { label: ' Underscore (_)' , value: ' _' }
114
+ ];
115
+
78
116
const propData = [
79
117
{
80
118
name: ' to' ,
0 commit comments