PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Admin / components / StatWidget / index.tsx
give / src / Admin / components / StatWidget Last commit date
index.tsx 9 months ago styles.module.scss 9 months ago
index.tsx
65 lines
1 import {Spinner} from '@givewp/components';
2 import {HeaderText} from '../Header';
3 import PercentChangePill
4 from '@givewp/campaigns/admin/components/CampaignDetailsPage/Components/CampaignStats/PercentChangePill';
5 import classnames from 'classnames';
6 import styles from './styles.module.scss';
7 import { __ } from '@wordpress/i18n';
8
9 /**
10 * @since 4.10.0 replace inActive with upgrade object.
11 * @since 4.6.0 add href & inActive props to handle Fee Recovery widget.
12 * @since 4.4.0
13 */
14 export type StatWidgetProps = {
15 label: string;
16 value: string | React.ReactNode;
17 description?: string;
18 loading?: boolean;
19 className?: string;
20 upgrade?: {
21 href: string;
22 tooltip: string;
23 };
24 };
25
26 /**
27 * @since 4.10.0 use upgrade object instead of inActive.
28 * @since 4.6.0 use new props to handle Fee Recovery widget.
29 * @since 4.4.0
30 */
31 export default function StatWidget({
32 label,
33 value,
34 description,
35 upgrade = null,
36 loading = false,
37 className,
38 }: StatWidgetProps) {
39 return (
40 <div className={classnames(styles.statWidget, className)}>
41 <header>
42 <HeaderText>{label}</HeaderText>
43 </header>
44 <div className={styles.statWidgetAmount}>
45 <div className={classnames(styles.statWidgetDisplay, {[styles.requiresUpgrade]: upgrade})}>
46 {!loading ? (
47 value
48 ) : (
49 <span>
50 <Spinner size="small" />
51 </span>
52 )}
53 {upgrade && (<a className={styles.upgradeLink} href={upgrade?.href} data-addon-tooltip={upgrade?.tooltip}>{__('Upgrade', 'give')}</a>)}
54 </div>
55 </div>
56 {description && (
57 <footer>
58 <div>{description}</div>
59 </footer>
60 )}
61
62 </div>
63 );
64 }
65