@oxyhq/bloom 0.29.6 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/activity-heatmap/ActivityHeatmap.js +304 -0
- package/lib/commonjs/activity-heatmap/ActivityHeatmap.js.map +1 -0
- package/lib/commonjs/activity-heatmap/bucketByDay.js +51 -0
- package/lib/commonjs/activity-heatmap/bucketByDay.js.map +1 -0
- package/lib/commonjs/activity-heatmap/index.js +20 -0
- package/lib/commonjs/activity-heatmap/index.js.map +1 -0
- package/lib/commonjs/activity-heatmap/types.js +6 -0
- package/lib/commonjs/activity-heatmap/types.js.map +1 -0
- package/lib/commonjs/avatar-group/AvatarGroupBase.js +42 -18
- package/lib/commonjs/avatar-group/AvatarGroupBase.js.map +1 -1
- package/lib/commonjs/composition-bar/CompositionBar.js +159 -0
- package/lib/commonjs/composition-bar/CompositionBar.js.map +1 -0
- package/lib/commonjs/composition-bar/index.js +13 -0
- package/lib/commonjs/composition-bar/index.js.map +1 -0
- package/lib/commonjs/composition-bar/types.js +6 -0
- package/lib/commonjs/composition-bar/types.js.map +1 -0
- package/lib/commonjs/dot-grid-meter/DotGridMeter.js +69 -0
- package/lib/commonjs/dot-grid-meter/DotGridMeter.js.map +1 -0
- package/lib/commonjs/dot-grid-meter/index.js +13 -0
- package/lib/commonjs/dot-grid-meter/index.js.map +1 -0
- package/lib/commonjs/dot-grid-meter/types.js +6 -0
- package/lib/commonjs/dot-grid-meter/types.js.map +1 -0
- package/lib/commonjs/index.js +59 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +59 -12
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/profile-card/ProfileCard.js +301 -0
- package/lib/commonjs/profile-card/ProfileCard.js.map +1 -0
- package/lib/commonjs/profile-card/index.js +13 -0
- package/lib/commonjs/profile-card/index.js.map +1 -0
- package/lib/commonjs/profile-card/types.js +6 -0
- package/lib/commonjs/profile-card/types.js.map +1 -0
- package/lib/commonjs/stat-bar/StatBar.js +210 -0
- package/lib/commonjs/stat-bar/StatBar.js.map +1 -0
- package/lib/commonjs/stat-bar/index.js +13 -0
- package/lib/commonjs/stat-bar/index.js.map +1 -0
- package/lib/commonjs/stat-bar/types.js +6 -0
- package/lib/commonjs/stat-bar/types.js.map +1 -0
- package/lib/module/activity-heatmap/ActivityHeatmap.js +299 -0
- package/lib/module/activity-heatmap/ActivityHeatmap.js.map +1 -0
- package/lib/module/activity-heatmap/bucketByDay.js +47 -0
- package/lib/module/activity-heatmap/bucketByDay.js.map +1 -0
- package/lib/module/activity-heatmap/index.js +5 -0
- package/lib/module/activity-heatmap/index.js.map +1 -0
- package/lib/module/activity-heatmap/types.js +4 -0
- package/lib/module/activity-heatmap/types.js.map +1 -0
- package/lib/module/avatar-group/AvatarGroupBase.js +42 -18
- package/lib/module/avatar-group/AvatarGroupBase.js.map +1 -1
- package/lib/module/composition-bar/CompositionBar.js +154 -0
- package/lib/module/composition-bar/CompositionBar.js.map +1 -0
- package/lib/module/composition-bar/index.js +4 -0
- package/lib/module/composition-bar/index.js.map +1 -0
- package/lib/module/composition-bar/types.js +4 -0
- package/lib/module/composition-bar/types.js.map +1 -0
- package/lib/module/dot-grid-meter/DotGridMeter.js +64 -0
- package/lib/module/dot-grid-meter/DotGridMeter.js.map +1 -0
- package/lib/module/dot-grid-meter/index.js +4 -0
- package/lib/module/dot-grid-meter/index.js.map +1 -0
- package/lib/module/dot-grid-meter/types.js +4 -0
- package/lib/module/dot-grid-meter/types.js.map +1 -0
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +6 -0
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/profile-card/ProfileCard.js +296 -0
- package/lib/module/profile-card/ProfileCard.js.map +1 -0
- package/lib/module/profile-card/index.js +4 -0
- package/lib/module/profile-card/index.js.map +1 -0
- package/lib/module/profile-card/types.js +4 -0
- package/lib/module/profile-card/types.js.map +1 -0
- package/lib/module/stat-bar/StatBar.js +205 -0
- package/lib/module/stat-bar/StatBar.js.map +1 -0
- package/lib/module/stat-bar/index.js +4 -0
- package/lib/module/stat-bar/index.js.map +1 -0
- package/lib/module/stat-bar/types.js +4 -0
- package/lib/module/stat-bar/types.js.map +1 -0
- package/lib/typescript/commonjs/activity-heatmap/ActivityHeatmap.d.ts +4 -0
- package/lib/typescript/commonjs/activity-heatmap/ActivityHeatmap.d.ts.map +1 -0
- package/lib/typescript/commonjs/activity-heatmap/bucketByDay.d.ts +9 -0
- package/lib/typescript/commonjs/activity-heatmap/bucketByDay.d.ts.map +1 -0
- package/lib/typescript/commonjs/activity-heatmap/index.d.ts +4 -0
- package/lib/typescript/commonjs/activity-heatmap/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/activity-heatmap/types.d.ts +73 -0
- package/lib/typescript/commonjs/activity-heatmap/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/avatar-group/AvatarGroupBase.d.ts.map +1 -1
- package/lib/typescript/commonjs/avatar-group/types.d.ts +15 -1
- package/lib/typescript/commonjs/avatar-group/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/composition-bar/CompositionBar.d.ts +4 -0
- package/lib/typescript/commonjs/composition-bar/CompositionBar.d.ts.map +1 -0
- package/lib/typescript/commonjs/composition-bar/index.d.ts +3 -0
- package/lib/typescript/commonjs/composition-bar/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/composition-bar/types.d.ts +29 -0
- package/lib/typescript/commonjs/composition-bar/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/dot-grid-meter/DotGridMeter.d.ts +4 -0
- package/lib/typescript/commonjs/dot-grid-meter/DotGridMeter.d.ts.map +1 -0
- package/lib/typescript/commonjs/dot-grid-meter/index.d.ts +3 -0
- package/lib/typescript/commonjs/dot-grid-meter/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/dot-grid-meter/types.d.ts +36 -0
- package/lib/typescript/commonjs/dot-grid-meter/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +10 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +10 -0
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/profile-card/ProfileCard.d.ts +4 -0
- package/lib/typescript/commonjs/profile-card/ProfileCard.d.ts.map +1 -0
- package/lib/typescript/commonjs/profile-card/index.d.ts +3 -0
- package/lib/typescript/commonjs/profile-card/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/profile-card/types.d.ts +86 -0
- package/lib/typescript/commonjs/profile-card/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/stat-bar/StatBar.d.ts +4 -0
- package/lib/typescript/commonjs/stat-bar/StatBar.d.ts.map +1 -0
- package/lib/typescript/commonjs/stat-bar/index.d.ts +3 -0
- package/lib/typescript/commonjs/stat-bar/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/stat-bar/types.d.ts +62 -0
- package/lib/typescript/commonjs/stat-bar/types.d.ts.map +1 -0
- package/lib/typescript/module/activity-heatmap/ActivityHeatmap.d.ts +4 -0
- package/lib/typescript/module/activity-heatmap/ActivityHeatmap.d.ts.map +1 -0
- package/lib/typescript/module/activity-heatmap/bucketByDay.d.ts +9 -0
- package/lib/typescript/module/activity-heatmap/bucketByDay.d.ts.map +1 -0
- package/lib/typescript/module/activity-heatmap/index.d.ts +4 -0
- package/lib/typescript/module/activity-heatmap/index.d.ts.map +1 -0
- package/lib/typescript/module/activity-heatmap/types.d.ts +73 -0
- package/lib/typescript/module/activity-heatmap/types.d.ts.map +1 -0
- package/lib/typescript/module/avatar-group/AvatarGroupBase.d.ts.map +1 -1
- package/lib/typescript/module/avatar-group/types.d.ts +15 -1
- package/lib/typescript/module/avatar-group/types.d.ts.map +1 -1
- package/lib/typescript/module/composition-bar/CompositionBar.d.ts +4 -0
- package/lib/typescript/module/composition-bar/CompositionBar.d.ts.map +1 -0
- package/lib/typescript/module/composition-bar/index.d.ts +3 -0
- package/lib/typescript/module/composition-bar/index.d.ts.map +1 -0
- package/lib/typescript/module/composition-bar/types.d.ts +29 -0
- package/lib/typescript/module/composition-bar/types.d.ts.map +1 -0
- package/lib/typescript/module/dot-grid-meter/DotGridMeter.d.ts +4 -0
- package/lib/typescript/module/dot-grid-meter/DotGridMeter.d.ts.map +1 -0
- package/lib/typescript/module/dot-grid-meter/index.d.ts +3 -0
- package/lib/typescript/module/dot-grid-meter/index.d.ts.map +1 -0
- package/lib/typescript/module/dot-grid-meter/types.d.ts +36 -0
- package/lib/typescript/module/dot-grid-meter/types.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +10 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +10 -0
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/profile-card/ProfileCard.d.ts +4 -0
- package/lib/typescript/module/profile-card/ProfileCard.d.ts.map +1 -0
- package/lib/typescript/module/profile-card/index.d.ts +3 -0
- package/lib/typescript/module/profile-card/index.d.ts.map +1 -0
- package/lib/typescript/module/profile-card/types.d.ts +86 -0
- package/lib/typescript/module/profile-card/types.d.ts.map +1 -0
- package/lib/typescript/module/stat-bar/StatBar.d.ts +4 -0
- package/lib/typescript/module/stat-bar/StatBar.d.ts.map +1 -0
- package/lib/typescript/module/stat-bar/index.d.ts +3 -0
- package/lib/typescript/module/stat-bar/index.d.ts.map +1 -0
- package/lib/typescript/module/stat-bar/types.d.ts +62 -0
- package/lib/typescript/module/stat-bar/types.d.ts.map +1 -0
- package/package.json +56 -1
- package/src/__tests__/StatWidgets.test.tsx +184 -0
- package/src/__tests__/public-api-contract.test.ts +15 -0
- package/src/activity-heatmap/ActivityHeatmap.stories.tsx +108 -0
- package/src/activity-heatmap/ActivityHeatmap.tsx +289 -0
- package/src/activity-heatmap/bucketByDay.ts +49 -0
- package/src/activity-heatmap/index.ts +3 -0
- package/src/activity-heatmap/types.ts +74 -0
- package/src/avatar-group/AvatarGroup.stories.tsx +14 -0
- package/src/avatar-group/AvatarGroupBase.tsx +39 -18
- package/src/avatar-group/types.ts +15 -1
- package/src/composition-bar/CompositionBar.stories.tsx +70 -0
- package/src/composition-bar/CompositionBar.tsx +161 -0
- package/src/composition-bar/index.ts +2 -0
- package/src/composition-bar/types.ts +30 -0
- package/src/dot-grid-meter/DotGridMeter.stories.tsx +47 -0
- package/src/dot-grid-meter/DotGridMeter.tsx +71 -0
- package/src/dot-grid-meter/index.ts +2 -0
- package/src/dot-grid-meter/types.ts +36 -0
- package/src/index.ts +24 -0
- package/src/index.web.ts +24 -0
- package/src/profile-card/ProfileCard.stories.tsx +210 -0
- package/src/profile-card/ProfileCard.tsx +303 -0
- package/src/profile-card/index.ts +9 -0
- package/src/profile-card/types.ts +86 -0
- package/src/stat-bar/StatBar.stories.tsx +61 -0
- package/src/stat-bar/StatBar.tsx +156 -0
- package/src/stat-bar/index.ts +7 -0
- package/src/stat-bar/types.ts +65 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import React, { memo } from 'react';
|
|
2
|
+
import { View, StyleSheet } from 'react-native';
|
|
3
|
+
|
|
4
|
+
import { useTheme } from '../theme/use-theme';
|
|
5
|
+
import { Text } from '../typography';
|
|
6
|
+
import type { StatBarProps } from './types';
|
|
7
|
+
|
|
8
|
+
function clampPercent(value: number): number {
|
|
9
|
+
if (Number.isNaN(value)) return 0;
|
|
10
|
+
return Math.max(0, Math.min(100, value));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* A horizontal labeled value bar with two variants:
|
|
15
|
+
*
|
|
16
|
+
* - `progress` — a rounded capsule track with a proportional `value / max`
|
|
17
|
+
* fill, an optional top-right `icon`, and an optional min/max footer row.
|
|
18
|
+
* - `split` — a capsule split at `percent` (left portion active, remainder the
|
|
19
|
+
* track color), a bold percentage right of the label, and a two-sided footer
|
|
20
|
+
* of opposing values (inflow/outflow style).
|
|
21
|
+
*
|
|
22
|
+
* Pure `<View>` composition, so it renders identically on web and native.
|
|
23
|
+
*/
|
|
24
|
+
const StatBarComponent: React.FC<StatBarProps> = (props) => {
|
|
25
|
+
const { colors } = useTheme();
|
|
26
|
+
const { label, fillColor, trackColor, height = 6, icon, style, testID } = props;
|
|
27
|
+
const fill = fillColor ?? colors.primary;
|
|
28
|
+
const track = trackColor ?? colors.backgroundSecondary;
|
|
29
|
+
const radius = height / 2;
|
|
30
|
+
|
|
31
|
+
if (props.variant === 'split') {
|
|
32
|
+
const { percent, leftValue, rightValue, leftColor, rightColor } = props;
|
|
33
|
+
const leftPercent = clampPercent(percent);
|
|
34
|
+
const activeLeft = leftColor ?? fill;
|
|
35
|
+
const remainder = rightColor ?? track;
|
|
36
|
+
|
|
37
|
+
return (
|
|
38
|
+
<View style={[styles.wrap, style]} testID={testID}>
|
|
39
|
+
<View style={styles.labelRow}>
|
|
40
|
+
<Text style={[styles.label, { color: colors.textSecondary }]} numberOfLines={1}>
|
|
41
|
+
{label}
|
|
42
|
+
</Text>
|
|
43
|
+
<Text style={[styles.percent, { color: colors.text }]} numberOfLines={1}>
|
|
44
|
+
{Math.round(leftPercent)}%
|
|
45
|
+
</Text>
|
|
46
|
+
</View>
|
|
47
|
+
|
|
48
|
+
<View style={[styles.track, { height, borderRadius: radius, backgroundColor: remainder }]}>
|
|
49
|
+
<View
|
|
50
|
+
style={{
|
|
51
|
+
width: `${leftPercent}%`,
|
|
52
|
+
height,
|
|
53
|
+
borderRadius: radius,
|
|
54
|
+
backgroundColor: activeLeft,
|
|
55
|
+
}}
|
|
56
|
+
/>
|
|
57
|
+
</View>
|
|
58
|
+
|
|
59
|
+
<View style={styles.footerRow}>
|
|
60
|
+
<Text style={[styles.footerValue, { color: colors.textTertiary }]} numberOfLines={1}>
|
|
61
|
+
{leftValue}
|
|
62
|
+
</Text>
|
|
63
|
+
<Text style={[styles.footerValue, { color: colors.textTertiary }]} numberOfLines={1}>
|
|
64
|
+
{rightValue}
|
|
65
|
+
</Text>
|
|
66
|
+
</View>
|
|
67
|
+
</View>
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const { value, max, minLabel, maxLabel } = props;
|
|
72
|
+
const ratio = max > 0 ? clampPercent((value / max) * 100) : 0;
|
|
73
|
+
const hasFooter = minLabel != null || maxLabel != null;
|
|
74
|
+
|
|
75
|
+
return (
|
|
76
|
+
<View style={[styles.wrap, style]} testID={testID}>
|
|
77
|
+
<View style={styles.labelRow}>
|
|
78
|
+
<Text style={[styles.label, { color: colors.textSecondary }]} numberOfLines={1}>
|
|
79
|
+
{label}
|
|
80
|
+
</Text>
|
|
81
|
+
{icon != null && <View style={styles.icon}>{icon}</View>}
|
|
82
|
+
</View>
|
|
83
|
+
|
|
84
|
+
<View
|
|
85
|
+
style={[styles.track, { height, borderRadius: radius, backgroundColor: track }]}
|
|
86
|
+
accessibilityRole="progressbar"
|
|
87
|
+
accessibilityValue={{ min: 0, max, now: value }}
|
|
88
|
+
>
|
|
89
|
+
<View
|
|
90
|
+
style={{
|
|
91
|
+
width: `${ratio}%`,
|
|
92
|
+
height,
|
|
93
|
+
borderRadius: radius,
|
|
94
|
+
backgroundColor: fill,
|
|
95
|
+
}}
|
|
96
|
+
/>
|
|
97
|
+
</View>
|
|
98
|
+
|
|
99
|
+
{hasFooter && (
|
|
100
|
+
<View style={styles.footerRow}>
|
|
101
|
+
<Text style={[styles.footerValue, { color: colors.textTertiary }]} numberOfLines={1}>
|
|
102
|
+
{minLabel ?? ''}
|
|
103
|
+
</Text>
|
|
104
|
+
<Text style={[styles.footerValue, { color: colors.textTertiary }]} numberOfLines={1}>
|
|
105
|
+
{maxLabel ?? ''}
|
|
106
|
+
</Text>
|
|
107
|
+
</View>
|
|
108
|
+
)}
|
|
109
|
+
</View>
|
|
110
|
+
);
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
const styles = StyleSheet.create({
|
|
114
|
+
wrap: {
|
|
115
|
+
gap: 8,
|
|
116
|
+
},
|
|
117
|
+
labelRow: {
|
|
118
|
+
flexDirection: 'row',
|
|
119
|
+
alignItems: 'center',
|
|
120
|
+
justifyContent: 'space-between',
|
|
121
|
+
gap: 8,
|
|
122
|
+
},
|
|
123
|
+
label: {
|
|
124
|
+
flexShrink: 1,
|
|
125
|
+
fontSize: 13,
|
|
126
|
+
fontWeight: '500',
|
|
127
|
+
},
|
|
128
|
+
percent: {
|
|
129
|
+
fontSize: 14,
|
|
130
|
+
fontWeight: '700',
|
|
131
|
+
letterSpacing: -0.2,
|
|
132
|
+
fontVariant: ['tabular-nums'],
|
|
133
|
+
},
|
|
134
|
+
icon: {
|
|
135
|
+
marginLeft: 8,
|
|
136
|
+
},
|
|
137
|
+
track: {
|
|
138
|
+
width: '100%',
|
|
139
|
+
overflow: 'hidden',
|
|
140
|
+
flexDirection: 'row',
|
|
141
|
+
borderCurve: 'continuous',
|
|
142
|
+
},
|
|
143
|
+
footerRow: {
|
|
144
|
+
flexDirection: 'row',
|
|
145
|
+
alignItems: 'center',
|
|
146
|
+
justifyContent: 'space-between',
|
|
147
|
+
gap: 8,
|
|
148
|
+
},
|
|
149
|
+
footerValue: {
|
|
150
|
+
fontSize: 12,
|
|
151
|
+
fontVariant: ['tabular-nums'],
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
export const StatBar = memo(StatBarComponent);
|
|
156
|
+
StatBar.displayName = 'StatBar';
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
3
|
+
|
|
4
|
+
export type StatBarVariant = 'progress' | 'split';
|
|
5
|
+
|
|
6
|
+
interface StatBarBaseProps {
|
|
7
|
+
/** Label shown at the top-left of the bar. */
|
|
8
|
+
label: string;
|
|
9
|
+
/**
|
|
10
|
+
* Fill color of the (active portion of the) track.
|
|
11
|
+
* @default theme.colors.primary
|
|
12
|
+
*/
|
|
13
|
+
fillColor?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Color of the empty/track portion.
|
|
16
|
+
* @default theme.colors.backgroundSecondary
|
|
17
|
+
*/
|
|
18
|
+
trackColor?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Height of the capsule track in px.
|
|
21
|
+
* @default 6
|
|
22
|
+
*/
|
|
23
|
+
height?: number;
|
|
24
|
+
/** Optional node rendered at the top-right of the label row (e.g. a trophy icon). */
|
|
25
|
+
icon?: ReactNode;
|
|
26
|
+
/** Container style override. */
|
|
27
|
+
style?: StyleProp<ViewStyle>;
|
|
28
|
+
testID?: string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** A labeled progress bar with an optional min/max footer row. */
|
|
32
|
+
export interface StatBarProgressProps extends StatBarBaseProps {
|
|
33
|
+
variant?: 'progress';
|
|
34
|
+
/** Current value; the fill spans `value / max` of the track. */
|
|
35
|
+
value: number;
|
|
36
|
+
/** Maximum value (the full track). */
|
|
37
|
+
max: number;
|
|
38
|
+
/** Optional label shown at the bottom-left (e.g. the range minimum). */
|
|
39
|
+
minLabel?: string;
|
|
40
|
+
/** Optional label shown at the bottom-right (e.g. the range maximum). */
|
|
41
|
+
maxLabel?: string;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** A two-sided split bar showing an inflow/outflow-style ratio. */
|
|
45
|
+
export interface StatBarSplitProps extends StatBarBaseProps {
|
|
46
|
+
variant: 'split';
|
|
47
|
+
/** Share of the track filled from the left, 0–100. Shown right of the label. */
|
|
48
|
+
percent: number;
|
|
49
|
+
/** Value label shown at the bottom-left. */
|
|
50
|
+
leftValue: string;
|
|
51
|
+
/** Value label shown at the bottom-right. */
|
|
52
|
+
rightValue: string;
|
|
53
|
+
/**
|
|
54
|
+
* Color of the left (active) portion.
|
|
55
|
+
* @default fillColor (theme.colors.primary)
|
|
56
|
+
*/
|
|
57
|
+
leftColor?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Color of the right portion.
|
|
60
|
+
* @default trackColor (theme.colors.backgroundSecondary)
|
|
61
|
+
*/
|
|
62
|
+
rightColor?: string;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export type StatBarProps = StatBarProgressProps | StatBarSplitProps;
|