UNPKG

@craftercms/studio-ui

Version:

Services, components, models & utils to build CrafterCMS authoring extensions.

71 lines (69 loc) 2.72 kB
/* * 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 <http://www.gnu.org/licenses/>. */ import StandardAction from '../../models/StandardAction'; import { PropsWithChildren } from 'react'; import { XHRUploadOptions } from '@uppy/xhr-upload'; import { SuccessResponse, Uppy } from '@uppy/core'; import { UppyFile } from '@uppy/utils'; import UppyDashboardProps from '../UppyDashboard/UppyDashboardProps'; import { IntlShape } from 'react-intl'; export interface UploadDialogBaseProps { open: boolean; path: string; site: string; maxSimultaneousUploads?: number; endpoint?: string; method?: XHRUploadOptions['method']; headers?: XHRUploadOptions['headers']; meta?: Record<string, unknown>; allowedMetaFields?: XHRUploadOptions['allowedMetaFields']; useFormData?: boolean; fieldName?: string; showRemoveButtonAfterComplete?: boolean; successfulUploadButton?: UppyDashboardProps['options']['successfulUploadButton']; autoProceed?: boolean; } export type UploadDialogProps = PropsWithChildren< UploadDialogBaseProps & { onClose(): void; onClosed?(): void; onFileAdded?(data: { file: UppyFile; uppy: Uppy }): void; onUploadSuccess?(data: { file: UppyFile | undefined; response: SuccessResponse }): void; validateStatus?(statusCode: number, responseText: string, response: unknown): boolean; getResponseData?(responseText: string, response: unknown): any; getResponseError?(responseText: string, xhr: unknown): Error; } >; export interface UploadDialogStateProps extends UploadDialogBaseProps { onClose?: StandardAction; onClosed?: StandardAction; onFileAdded?: StandardAction<{ file: UppyFile; uppy: Uppy; [key: string]: unknown; }>; onUploadSuccess?: StandardAction<{ file: UppyFile; response: SuccessResponse; [key: string]: unknown; }>; } export interface UploadDialogContainerProps extends UploadDialogProps { hasPendingChanges: boolean; setPendingChanges?(pending: boolean): void; onMinimized?(): void; } export declare const getResponseError: (responseText: string, formatMessage: IntlShape['formatMessage']) => Error;