@@ -7,7 +7,9 @@ export function BigNumber(
7
7
href,
8
8
target = "_blank" ,
9
9
title,
10
+ subtitle,
10
11
format = ",.2~f" ,
12
+ columnGap = "10px" ,
11
13
secondary,
12
14
secondaryFormat = format ,
13
15
secondaryColor = secondary == null
@@ -19,13 +21,14 @@ export function BigNumber(
19
21
: "var(--theme-color-neutral)" ,
20
22
secondaryArrow = secondary == null ? "" : secondary > 0 ? "↗︎" : secondary < 0 ? "↘︎" : "→" ,
21
23
secondaryTitle,
22
- styles = { display : "flex" , flexDirection : "column" , fontFamily : "var(--sans-serif)" } ,
23
24
children
24
25
} : {
25
26
href ?: string ;
26
27
target ?: string ;
27
28
title ?: string ;
29
+ subtitle ?: string ;
28
30
format ?: string | ( ( x : any ) => string ) ;
31
+ columnGap ?: string ;
29
32
secondary ?: number ;
30
33
secondaryFormat ?: string | ( ( x : any ) => string ) ;
31
34
secondaryColor ?: string ;
@@ -37,19 +40,20 @@ export function BigNumber(
37
40
) {
38
41
if ( typeof format !== "function" ) format = typeof number === "string" ? String : d3 . format ( format ) ;
39
42
if ( typeof secondaryFormat !== "function" ) secondaryFormat = d3 . format ( secondaryFormat ) ;
40
- const div = html `< div style ="${ styles } ">
41
- < div style ="text-transform: uppercase; font-size: 12px; "> ${ title } </ div >
42
- < div style ="display: flex; flex-wrap: wrap; column-gap: 10px; align-items: baseline; ">
43
- < div style ="font-size: 32px; font-weight: bold; line-height: 1; "> ${ ( format as ( x : any ) => string ) ( number ) } </ div >
43
+ const div = html `< figure class ="bignumber ">
44
+ ${ title != null ? html `< h2 > ${ title } ` : "" }
45
+ ${ subtitle != null ? html `< h3 > ${ subtitle } ` : "" }
46
+ < dl style ="display: flex; flex-wrap: wrap; align-items: baseline; column-gap: ${ columnGap } ; ">
47
+ < dt > ${ ( format as ( x : any ) => string ) ( number ) } </ dt >
44
48
${
45
49
secondary == null
46
50
? null
47
- : html `< div style ="font-size: 14px; color: ${ secondaryColor } ; " ${ { title : secondaryTitle } } > ${ (
51
+ : html `< dd style ="color: ${ secondaryColor } ; " ${ { title : secondaryTitle } } > ${ (
48
52
secondaryFormat as ( x : any ) => string
49
- ) ( secondary ) } ${ secondaryArrow } </ div > `
53
+ ) ( secondary ) } ${ secondaryArrow } `
50
54
}
51
- </ div >
55
+ </ dl >
52
56
${ children }
53
- </ div > ` ;
57
+ </ figure > ` ;
54
58
return href == null ? div : html `< a href =${ href } target =${ target } style="color: inherit;"> ${ div } </ a > ` ;
55
59
}
0 commit comments