1 | import { __rest } from "tslib";
|
2 | import * as React from 'react';
|
3 | import Dropzone from 'react-dropzone';
|
4 | import styles from '@patternfly/react-styles/css/components/MultipleFileUpload/multiple-file-upload';
|
5 | import { css } from '@patternfly/react-styles';
|
6 | export const MultipleFileUploadContext = React.createContext({
|
7 | open: () => { }
|
8 | });
|
9 | export const MultipleFileUpload = (_a) => {
|
10 | var { className, children, dropzoneProps = {}, isHorizontal, onFileDrop = () => { } } = _a, props = __rest(_a, ["className", "children", "dropzoneProps", "isHorizontal", "onFileDrop"]);
|
11 | const onDropAccepted = (acceptedFiles, event) => {
|
12 | onFileDrop(acceptedFiles);
|
13 |
|
14 | dropzoneProps.onDropAccepted && dropzoneProps.onDropAccepted(acceptedFiles, event);
|
15 | };
|
16 | const onDropRejected = (rejectedFiles, event) => {
|
17 | dropzoneProps.onDropRejected && (dropzoneProps === null || dropzoneProps === void 0 ? void 0 : dropzoneProps.onDropRejected(rejectedFiles, event));
|
18 | };
|
19 | return (React.createElement(Dropzone, Object.assign({ multiple: true }, dropzoneProps, { onDropAccepted: onDropAccepted, onDropRejected: onDropRejected }), ({ getRootProps, getInputProps, isDragActive, open }) => {
|
20 | const rootProps = getRootProps(Object.assign(Object.assign({}, props), { onClick: event => event.preventDefault()
|
21 | }));
|
22 | const inputProps = getInputProps();
|
23 | return (React.createElement(MultipleFileUploadContext.Provider, { value: { open } },
|
24 | React.createElement("div", Object.assign({ className: css(styles.multipleFileUpload, isDragActive && styles.modifiers.dragOver, isHorizontal && styles.modifiers.horizontal, className) }, rootProps, props),
|
25 | React.createElement("input", Object.assign({}, inputProps)),
|
26 | children)));
|
27 | }));
|
28 | };
|
29 | MultipleFileUpload.displayName = 'MultipleFileUpload';
|
30 |
|
\ | No newline at end of file |