/* * Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 as published by * the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . */ /// import { EnhancedDialogProps } from '../EnhancedDialog'; import { onSubmittingAndOrPendingChangeProps } from '../../hooks/useEnhancedDialogState'; import { Resource } from '../../models/Resource'; import { SandboxItem } from '../../models/Item'; import { FullSxRecord, PartialSxRecord } from '../../models/CustomRecord'; export interface UninstallPluginDialogBaseProps { pluginId: string; } export interface UninstallPluginDialogProps extends UninstallPluginDialogBaseProps, EnhancedDialogProps { onSubmittingAndOrPendingChange(value: onSubmittingAndOrPendingChangeProps): void; onComplete?(): any; } export interface UninstallPluginDialogContainerProps extends UninstallPluginDialogBaseProps, Pick {} export interface UninstallPluginDialogBodyProps { isSubmitting: boolean; pluginId: string; resource: Resource; password?: string; sx?: UninstallPluginDialogBodyPartialSx; onCloseButtonClick?(e: React.MouseEvent): void; onSubmit(): void; } export type UninstallPluginDialogBodyClassKey = 'content' | 'emphasisedText' | 'loadingStateWrapper'; export type UninstallPluginDialogBodyFullSx = FullSxRecord; export type UninstallPluginDialogBodyPartialSx = PartialSxRecord;