Current Path : /storage/v11800/testtest/public_html/wp-content/plugins/code-snippets/js/common/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/testtest/public_html/wp-content/plugins/code-snippets/js/common/ConfirmDialog.tsx |
import React, { ReactNode } from 'react'
import { __ } from '@wordpress/i18n'
import { Modal, Flex, Button } from '@wordpress/components'
export interface ConfirmDialogProps {
open?: boolean
title: string
onConfirm?: VoidFunction
onCancel: VoidFunction
confirmLabel?: string
cancelLabel?: string
children?: ReactNode,
confirmButtonClassName?: string
}
export const ConfirmDialog: React.FC<ConfirmDialogProps> = ({
open,
title,
onConfirm,
onCancel,
children,
confirmLabel = __('OK', 'code-snippets'),
cancelLabel = __('Cancel', 'code-snippets'),
confirmButtonClassName
}) =>
open ?
<Modal
title={title}
onRequestClose={onCancel}
closeButtonLabel={cancelLabel}
isDismissible={true}
onKeyDown={event => {
if ('Enter' === event.key) {
onConfirm?.()
}
}}
>
{children}
<Flex direction="row" justify="flex-end">
<Button variant="tertiary" onClick={onCancel}>
{cancelLabel}
</Button>
<Button variant="primary" onClick={onConfirm} className={confirmButtonClassName}>
{confirmLabel}
</Button>
</Flex>
</Modal> :
null