PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.8.0
GiveWP – Donation Plugin and Fundraising Platform v4.8.0
4.16.4 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 / Views / Components / AdminDetailsPage / ConfirmationDialog.tsx
give / src / Views / Components / AdminDetailsPage Last commit date
ErrorBoundary 1 year ago Icons 10 months ago Notifications 11 months ago Tabs 10 months ago store 1 year ago AdminDetailsPage.module.scss 10 months ago AdminSection.tsx 1 year ago ConfirmationDialog.tsx 10 months ago DefaultPrimaryActionButton.tsx 1 year ago index.tsx 10 months ago types.ts 10 months ago utils.ts 10 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