PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.14.6
GiveWP – Donation Plugin and Fundraising Platform v4.14.6
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 / Views / Components / AdminDetailsPage / ConfirmationDialog.tsx
give / src / Views / Components / AdminDetailsPage Last commit date
ErrorBoundary 1 year ago Icons 9 months ago Notifications 11 months ago Tabs 9 months ago store 1 year ago AdminDetailsPage.module.scss 7 months ago AdminSection.tsx 7 months ago ConfirmationDialog.tsx 9 months ago DefaultPrimaryActionButton.tsx 1 year ago index.tsx 5 months ago types.ts 9 months ago
ConfirmationDialog.tsx
82 lines
1 import cx from 'classnames';
2 import {__} from '@wordpress/i18n'
3 import ModalDialog from '@givewp/components/AdminUI/ModalDialog';
4 import {ErrorIcon, WarningIcon} from './Icons';
5 import styles from './AdminDetailsPage.module.scss'
6 import { Spinner } from '@wordpress/components';
7 import ArcSpinner from '@givewp/src/Admin/components/Spinner/ArcSpinner';
8
9 export type ConfirmationDialogProps = {
10 isOpen: boolean;
11 handleClose: () => void;
12 handleConfirm: () => void;
13 title: string;
14 icon?: React.ReactElement;
15 variant?: 'error' | 'regular' | 'syncing';
16 className?: string;
17 actionLabel: string;
18 showCancelButton?: boolean;
19 children: React.ReactNode;
20 isConfirming?: boolean;
21 spinner?: 'regular' | 'arc' | 'none';
22 footer?: React.ReactNode;
23 }
24
25 /**
26 * @since 4.8.0 Add showCancelButton prop
27 * @since 4.4.0
28 */
29 export default function ConfirmationDialog({
30 isOpen,
31 title,
32 icon,
33 variant = 'error',
34 handleClose,
35 handleConfirm,
36 className,
37 actionLabel,
38 showCancelButton = true,
39 children,
40 isConfirming = false,
41 spinner ='none',
42 footer,
43 }: ConfirmationDialogProps) {
44 return (
45 <ModalDialog
46 icon={icon || (variant === 'error' && <ErrorIcon />)}
47 isOpen={isOpen}
48 showHeader={true}
49 handleClose={handleClose}
50 title={title}
51 wrapperClassName={className}
52 >
53 <>
54 <div className={styles.confirmationDialogContent}>
55 {children}
56 </div>
57 <div className={styles.confirmationDialogButtons}>
58 {showCancelButton && (
59 <button
60 className={styles.cancelButton}
61 onClick={handleClose}
62 >
63 {__('Cancel', 'give')}
64 </button>
65 )}
66 <button
67 className={cx(styles.confirmButton, styles[`confirmButton--${variant}`])}
68 onClick={handleConfirm}
69 disabled={isConfirming}
70 >
71 {actionLabel}
72 {isConfirming ? (spinner === 'arc' ? <ArcSpinner /> : <Spinner />) : null}
73 </button>
74 </div>
75 <div className={styles.confirmationDialogFooter}>
76 {footer}
77 </div>
78 </>
79 </ModalDialog>
80 );
81 }
82