From 1b1177daaa51d7cc542d59f32dfd1e2956b92a55 Mon Sep 17 00:00:00 2001 From: Sam Thomas Date: Wed, 14 Oct 2020 14:27:38 +0100 Subject: [PATCH] docs: add default props to Dropzone component for react-docgen (#1015) --- src/index.js | 65 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 44 insertions(+), 21 deletions(-) diff --git a/src/index.js b/src/index.js index 49b6ad1b..2a38753e 100755 --- a/src/index.js +++ b/src/index.js @@ -47,6 +47,24 @@ const Dropzone = forwardRef(({ children, ...params }, ref) => { }) Dropzone.displayName = 'Dropzone' + +// Add default props for react-docgen +const defaultProps = { + disabled: false, + getFilesFromEvent: fromEvent, + maxSize: Infinity, + minSize: 0, + multiple: true, + maxFiles: 0, + preventDropOnDocument: true, + noClick: false, + noKeyboard: false, + noDrag: false, + noDragEventsBubbling: false +} + +Dropzone.defaultProps = defaultProps + Dropzone.propTypes = { /** * Render function that exposes the dropzone state and prop getter fns @@ -360,27 +378,32 @@ const initialState = { * * @returns {DropzoneState} */ -export function useDropzone({ - accept, - disabled = false, - getFilesFromEvent = fromEvent, - maxSize = Infinity, - minSize = 0, - multiple = true, - maxFiles = 0, - onDragEnter, - onDragLeave, - onDragOver, - onDrop, - onDropAccepted, - onDropRejected, - onFileDialogCancel, - preventDropOnDocument = true, - noClick = false, - noKeyboard = false, - noDrag = false, - noDragEventsBubbling = false -} = {}) { +export function useDropzone(options = {}) { + const { + accept, + disabled, + getFilesFromEvent, + maxSize, + minSize, + multiple, + maxFiles, + onDragEnter, + onDragLeave, + onDragOver, + onDrop, + onDropAccepted, + onDropRejected, + onFileDialogCancel, + preventDropOnDocument, + noClick, + noKeyboard, + noDrag, + noDragEventsBubbling + } = { + ...defaultProps, + ...options + } + const rootRef = useRef(null) const inputRef = useRef(null)