1+ import { continuous } from 'number-flow' ;
12import { createSignal , onMount } from 'solid-js' ;
3+ // import { NumberFlow } from 'src/NumberFlow';
24import NumberFlow from 'src' ;
35
46export default function Page ( ) {
7+ const [ toggle , setToggle ] = createSignal ( false ) ;
58 const [ value1 , setValue1 ] = createSignal ( 123 ) ;
69 const [ value2 , setValue2 ] = createSignal ( 0 ) ;
710 const [ value3 , setValue3 ] = createSignal ( 123 ) ;
811 const [ value4 , setValue4 ] = createSignal ( 0 ) ;
12+ const [ value5 , setValue5 ] = createSignal ( 0 ) ;
13+
14+ function triggerChange ( useAlternateValues : boolean = false ) {
15+ const defaultValues = {
16+ value1 : 500 ,
17+ value2 : 1.42 ,
18+ value3 : 500 ,
19+ value4 : 1_500_540 ,
20+ value5 : 88 ,
21+ } ;
22+
23+ const alternateValues = {
24+ value1 : 100 ,
25+ value2 : 1203 ,
26+ value3 : 7298 ,
27+ value4 : 12.1 ,
28+ value5 : 50 ,
29+ } ;
30+
31+ const values = useAlternateValues ? alternateValues : defaultValues ;
932
10- onMount ( ( ) => {
1133 setTimeout ( ( ) => {
12- setValue1 ( 500 ) ;
34+ setValue1 ( values . value1 ) ;
1335 } , 500 ) ;
1436 setTimeout ( ( ) => {
15- setValue2 ( 1.42 ) ;
37+ setValue2 ( values . value2 ) ;
1638 } , 800 ) ;
1739 setTimeout ( ( ) => {
18- setValue3 ( 7298 ) ;
40+ setValue3 ( values . value3 ) ;
1941 } , 1000 ) ;
2042 setTimeout ( ( ) => {
21- setValue4 ( 1_500_540 ) ;
43+ setValue4 ( values . value4 ) ;
2244 } , 1500 ) ;
45+ setTimeout ( ( ) => {
46+ setValue5 ( values . value5 ) ;
47+ } , 1500 ) ;
48+ }
49+
50+ onMount ( ( ) => {
51+ triggerChange ( ) ;
2352 } ) ;
2453
2554 return (
2655 < div class = "flex min-h-screen flex-col items-center justify-center gap-y-3 bg-zinc-950 text-white" >
27- < NumberFlow value = { value1 ( ) } locales = "en-US" />
56+ < NumberFlow value = { value1 ( ) } locales = "en-US" plugins = { [ continuous ] } willChange />
2857 < NumberFlow
2958 value = { value2 ( ) }
3059 locales = "en-US"
@@ -40,8 +69,24 @@ export default function Page() {
4069 style : 'currency' ,
4170 currency : 'USD' ,
4271 } }
72+ prefix = ""
73+ />
74+ < NumberFlow
75+ value = { value5 ( ) }
76+ format = { { style : 'currency' , currency : 'USD' , trailingZeroDisplay : 'stripIfInteger' } }
77+ suffix = "/mo"
4378 />
44- < a href = "/" > Back /</ a >
79+
80+ < button
81+ onClick = { ( ) => {
82+ setToggle ( ! toggle ( ) ) ;
83+ triggerChange ( toggle ( ) ) ;
84+ } }
85+ >
86+ Change
87+ </ button >
88+
89+ < a href = "/" > Back to Home</ a >
4590 </ div >
4691 ) ;
4792}
0 commit comments