@mantine/dropzone 7.13.5-alpha.1 → 7.13.5-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/Dropzone.cjs +178 -0
- package/cjs/Dropzone.cjs.map +1 -0
- package/cjs/Dropzone.context.cjs +12 -0
- package/cjs/Dropzone.context.cjs.map +1 -0
- package/cjs/Dropzone.module.css.cjs +7 -0
- package/cjs/Dropzone.module.css.cjs.map +1 -0
- package/cjs/DropzoneFullScreen.cjs +114 -0
- package/cjs/DropzoneFullScreen.cjs.map +1 -0
- package/cjs/DropzoneStatus.cjs +30 -0
- package/cjs/DropzoneStatus.cjs.map +1 -0
- package/cjs/index.cjs +23 -0
- package/cjs/index.cjs.map +1 -0
- package/cjs/mime-types.cjs +52 -0
- package/cjs/mime-types.cjs.map +1 -0
- package/esm/Dropzone.context.mjs +9 -0
- package/esm/Dropzone.context.mjs.map +1 -0
- package/esm/Dropzone.mjs +176 -0
- package/esm/Dropzone.mjs.map +1 -0
- package/esm/Dropzone.module.css.mjs +5 -0
- package/esm/Dropzone.module.css.mjs.map +1 -0
- package/esm/DropzoneFullScreen.mjs +112 -0
- package/esm/DropzoneFullScreen.mjs.map +1 -0
- package/esm/DropzoneStatus.mjs +26 -0
- package/esm/DropzoneStatus.mjs.map +1 -0
- package/esm/index.mjs +10 -0
- package/esm/index.mjs.map +1 -0
- package/esm/mime-types.mjs +44 -0
- package/esm/mime-types.mjs.map +1 -0
- package/lib/Dropzone.context.d.ts +9 -0
- package/lib/Dropzone.d.ts +97 -0
- package/lib/DropzoneFullScreen.d.ts +26 -0
- package/lib/DropzoneStatus.d.ts +11 -0
- package/lib/index.d.mts +20 -0
- package/lib/index.d.ts +20 -0
- package/lib/mime-types.d.ts +29 -0
- package/package.json +3 -3
package/esm/Dropzone.mjs
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { useDropzone } from 'react-dropzone-esm';
|
|
4
|
+
import { createVarsResolver, getRadius, factory, useProps, useStyles, Box, LoadingOverlay } from '@mantine/core';
|
|
5
|
+
import { assignRef } from '@mantine/hooks';
|
|
6
|
+
import { DropzoneProvider } from './Dropzone.context.mjs';
|
|
7
|
+
import { DropzoneAccept, DropzoneIdle, DropzoneReject } from './DropzoneStatus.mjs';
|
|
8
|
+
import classes from './Dropzone.module.css.mjs';
|
|
9
|
+
|
|
10
|
+
const defaultProps = {
|
|
11
|
+
loading: false,
|
|
12
|
+
multiple: true,
|
|
13
|
+
maxSize: Infinity,
|
|
14
|
+
autoFocus: false,
|
|
15
|
+
activateOnClick: true,
|
|
16
|
+
activateOnDrag: true,
|
|
17
|
+
dragEventsBubbling: true,
|
|
18
|
+
activateOnKeyboard: true,
|
|
19
|
+
useFsAccessApi: true,
|
|
20
|
+
variant: "light",
|
|
21
|
+
rejectColor: "red"
|
|
22
|
+
};
|
|
23
|
+
const varsResolver = createVarsResolver(
|
|
24
|
+
(theme, { radius, variant, acceptColor, rejectColor }) => {
|
|
25
|
+
const acceptColors = theme.variantColorResolver({
|
|
26
|
+
color: acceptColor || theme.primaryColor,
|
|
27
|
+
theme,
|
|
28
|
+
variant
|
|
29
|
+
});
|
|
30
|
+
const rejectColors = theme.variantColorResolver({
|
|
31
|
+
color: rejectColor || "red",
|
|
32
|
+
theme,
|
|
33
|
+
variant
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
root: {
|
|
37
|
+
"--dropzone-radius": getRadius(radius),
|
|
38
|
+
"--dropzone-accept-color": acceptColors.color,
|
|
39
|
+
"--dropzone-accept-bg": acceptColors.background,
|
|
40
|
+
"--dropzone-reject-color": rejectColors.color,
|
|
41
|
+
"--dropzone-reject-bg": rejectColors.background
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
const Dropzone = factory((_props, ref) => {
|
|
47
|
+
const props = useProps("Dropzone", defaultProps, _props);
|
|
48
|
+
const {
|
|
49
|
+
classNames,
|
|
50
|
+
className,
|
|
51
|
+
style,
|
|
52
|
+
styles,
|
|
53
|
+
unstyled,
|
|
54
|
+
vars,
|
|
55
|
+
radius,
|
|
56
|
+
disabled,
|
|
57
|
+
loading,
|
|
58
|
+
multiple,
|
|
59
|
+
maxSize,
|
|
60
|
+
accept,
|
|
61
|
+
children,
|
|
62
|
+
onDropAny,
|
|
63
|
+
onDrop,
|
|
64
|
+
onReject,
|
|
65
|
+
openRef,
|
|
66
|
+
name,
|
|
67
|
+
maxFiles,
|
|
68
|
+
autoFocus,
|
|
69
|
+
activateOnClick,
|
|
70
|
+
activateOnDrag,
|
|
71
|
+
dragEventsBubbling,
|
|
72
|
+
activateOnKeyboard,
|
|
73
|
+
onDragEnter,
|
|
74
|
+
onDragLeave,
|
|
75
|
+
onDragOver,
|
|
76
|
+
onFileDialogCancel,
|
|
77
|
+
onFileDialogOpen,
|
|
78
|
+
preventDropOnDocument,
|
|
79
|
+
useFsAccessApi,
|
|
80
|
+
getFilesFromEvent,
|
|
81
|
+
validator,
|
|
82
|
+
rejectColor,
|
|
83
|
+
acceptColor,
|
|
84
|
+
enablePointerEvents,
|
|
85
|
+
loaderProps,
|
|
86
|
+
inputProps,
|
|
87
|
+
mod,
|
|
88
|
+
...others
|
|
89
|
+
} = props;
|
|
90
|
+
const getStyles = useStyles({
|
|
91
|
+
name: "Dropzone",
|
|
92
|
+
classes,
|
|
93
|
+
props,
|
|
94
|
+
className,
|
|
95
|
+
style,
|
|
96
|
+
classNames,
|
|
97
|
+
styles,
|
|
98
|
+
unstyled,
|
|
99
|
+
vars,
|
|
100
|
+
varsResolver
|
|
101
|
+
});
|
|
102
|
+
const { getRootProps, getInputProps, isDragAccept, isDragReject, open } = useDropzone({
|
|
103
|
+
onDrop: onDropAny,
|
|
104
|
+
onDropAccepted: onDrop,
|
|
105
|
+
onDropRejected: onReject,
|
|
106
|
+
disabled: disabled || loading,
|
|
107
|
+
accept: Array.isArray(accept) ? accept.reduce((r, key) => ({ ...r, [key]: [] }), {}) : accept,
|
|
108
|
+
multiple,
|
|
109
|
+
maxSize,
|
|
110
|
+
maxFiles,
|
|
111
|
+
autoFocus,
|
|
112
|
+
noClick: !activateOnClick,
|
|
113
|
+
noDrag: !activateOnDrag,
|
|
114
|
+
noDragEventsBubbling: !dragEventsBubbling,
|
|
115
|
+
noKeyboard: !activateOnKeyboard,
|
|
116
|
+
onDragEnter,
|
|
117
|
+
onDragLeave,
|
|
118
|
+
onDragOver,
|
|
119
|
+
onFileDialogCancel,
|
|
120
|
+
onFileDialogOpen,
|
|
121
|
+
preventDropOnDocument,
|
|
122
|
+
useFsAccessApi,
|
|
123
|
+
validator,
|
|
124
|
+
...getFilesFromEvent ? { getFilesFromEvent } : null
|
|
125
|
+
});
|
|
126
|
+
assignRef(openRef, open);
|
|
127
|
+
const isIdle = !isDragAccept && !isDragReject;
|
|
128
|
+
return /* @__PURE__ */ jsx(DropzoneProvider, { value: { accept: isDragAccept, reject: isDragReject, idle: isIdle }, children: /* @__PURE__ */ jsxs(
|
|
129
|
+
Box,
|
|
130
|
+
{
|
|
131
|
+
...getRootProps(),
|
|
132
|
+
...getStyles("root", { focusable: true }),
|
|
133
|
+
...others,
|
|
134
|
+
mod: [
|
|
135
|
+
{
|
|
136
|
+
accept: isDragAccept,
|
|
137
|
+
reject: isDragReject,
|
|
138
|
+
idle: isIdle,
|
|
139
|
+
disabled,
|
|
140
|
+
loading,
|
|
141
|
+
"activate-on-click": activateOnClick
|
|
142
|
+
},
|
|
143
|
+
mod
|
|
144
|
+
],
|
|
145
|
+
children: [
|
|
146
|
+
/* @__PURE__ */ jsx(
|
|
147
|
+
LoadingOverlay,
|
|
148
|
+
{
|
|
149
|
+
visible: loading,
|
|
150
|
+
overlayProps: { radius },
|
|
151
|
+
unstyled,
|
|
152
|
+
loaderProps
|
|
153
|
+
}
|
|
154
|
+
),
|
|
155
|
+
/* @__PURE__ */ jsx("input", { ...getInputProps(inputProps), name }),
|
|
156
|
+
/* @__PURE__ */ jsx(
|
|
157
|
+
"div",
|
|
158
|
+
{
|
|
159
|
+
...getStyles("inner"),
|
|
160
|
+
ref,
|
|
161
|
+
"data-enable-pointer-events": enablePointerEvents || void 0,
|
|
162
|
+
children
|
|
163
|
+
}
|
|
164
|
+
)
|
|
165
|
+
]
|
|
166
|
+
}
|
|
167
|
+
) });
|
|
168
|
+
});
|
|
169
|
+
Dropzone.classes = classes;
|
|
170
|
+
Dropzone.displayName = "@mantine/dropzone/Dropzone";
|
|
171
|
+
Dropzone.Accept = DropzoneAccept;
|
|
172
|
+
Dropzone.Idle = DropzoneIdle;
|
|
173
|
+
Dropzone.Reject = DropzoneReject;
|
|
174
|
+
|
|
175
|
+
export { Dropzone };
|
|
176
|
+
//# sourceMappingURL=Dropzone.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropzone.mjs","sources":["../src/Dropzone.tsx"],"sourcesContent":["import {\n Accept,\n DropEvent,\n FileError,\n FileRejection,\n FileWithPath,\n useDropzone,\n} from 'react-dropzone-esm';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getRadius,\n LoaderProps,\n LoadingOverlay,\n MantineColor,\n MantineRadius,\n StylesApiProps,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport { assignRef } from '@mantine/hooks';\nimport { DropzoneProvider } from './Dropzone.context';\nimport type { DropzoneFullScreenType } from './DropzoneFullScreen';\nimport { DropzoneAccept, DropzoneIdle, DropzoneReject } from './DropzoneStatus';\nimport classes from './Dropzone.module.css';\n\nexport type DropzoneStylesNames = 'root' | 'inner';\nexport type DropzoneVariant = 'filled' | 'light';\nexport type DropzoneCssVariables = {\n root:\n | '--dropzone-radius'\n | '--dropzone-accept-color'\n | '--dropzone-accept-bg'\n | '--dropzone-reject-color'\n | '--dropzone-reject-bg';\n};\n\nexport interface DropzoneProps\n extends BoxProps,\n StylesApiProps<DropzoneFactory>,\n ElementProps<'div', 'onDrop'> {\n /** Key of `theme.colors` or any valid CSS color to set colors of `Dropzone.Accept`, `theme.primaryColor` by default */\n acceptColor?: MantineColor;\n\n /** Key of `theme.colors` or any valid CSS color to set colors of `Dropzone.Reject`, `'red'` by default */\n rejectColor?: MantineColor;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem, `theme.defaultRadius` by default */\n radius?: MantineRadius;\n\n /** Determines whether files capturing should be disabled, `false` by default */\n disabled?: boolean;\n\n /** Called when any files are dropped to the dropzone */\n onDropAny?: (files: FileWithPath[], fileRejections: FileRejection[]) => void;\n\n /** Called when valid files are dropped to the dropzone */\n onDrop: (files: FileWithPath[]) => void;\n\n /** Called when dropped files do not meet file restrictions */\n onReject?: (fileRejections: FileRejection[]) => void;\n\n /** Determines whether a loading overlay should be displayed over the dropzone, `false` by default */\n loading?: boolean;\n\n /** Mime types of the files that dropzone can accepts. By default, dropzone accepts all file types. */\n accept?: Accept | string[];\n\n /** A ref function which when called opens the file system file picker */\n openRef?: React.ForwardedRef<() => void | undefined>;\n\n /** Determines whether multiple files can be dropped to the dropzone or selected from file system picker, `true` by default */\n multiple?: boolean;\n\n /** Maximum file size in bytes */\n maxSize?: number;\n\n /** Name of the form control. Submitted with the form as part of a name/value pair. */\n name?: string;\n\n /** Maximum number of files that can be picked at once */\n maxFiles?: number;\n\n /** Set to autofocus the root element */\n autoFocus?: boolean;\n\n /** If `false`, disables click to open the native file selection dialog */\n activateOnClick?: boolean;\n\n /** If `false`, disables drag 'n' drop */\n activateOnDrag?: boolean;\n\n /** If `false`, disables Space/Enter to open the native file selection dialog. Note that it also stops tracking the focus state. */\n activateOnKeyboard?: boolean;\n\n /** If `false`, stops drag event propagation to parents */\n dragEventsBubbling?: boolean;\n\n /** Called when the `dragenter` event occurs */\n onDragEnter?: (event: React.DragEvent<HTMLElement>) => void;\n\n /** Called when the `dragleave` event occurs */\n onDragLeave?: (event: React.DragEvent<HTMLElement>) => void;\n\n /** Called when the `dragover` event occurs */\n onDragOver?: (event: React.DragEvent<HTMLElement>) => void;\n\n /** Called when user closes the file selection dialog with no selection */\n onFileDialogCancel?: () => void;\n\n /** Called when user opens the file selection dialog */\n onFileDialogOpen?: () => void;\n\n /** If `false`, allow dropped items to take over the current browser window */\n preventDropOnDocument?: boolean;\n\n /** Set to true to use the File System Access API to open the file picker instead of using an <input type=\"file\"> click event, defaults to true */\n useFsAccessApi?: boolean;\n\n /** Use this to provide a custom file aggregator */\n getFilesFromEvent?: (event: DropEvent) => Promise<Array<File | DataTransferItem>>;\n\n /** Custom validation function. It must return null if there's no errors. */\n validator?: <T extends File>(file: T) => FileError | FileError[] | null;\n\n /** Determines whether pointer events should be enabled on the inner element, `false` by default */\n enablePointerEvents?: boolean;\n\n /** Props passed down to the Loader component */\n loaderProps?: LoaderProps;\n\n /** Props passed down to the internal Input component */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n}\n\nexport type DropzoneFactory = Factory<{\n props: DropzoneProps;\n ref: HTMLDivElement;\n stylesNames: DropzoneStylesNames;\n vars: DropzoneCssVariables;\n staticComponents: {\n Accept: typeof DropzoneAccept;\n Idle: typeof DropzoneIdle;\n Reject: typeof DropzoneReject;\n FullScreen: DropzoneFullScreenType;\n };\n}>;\n\nconst defaultProps: Partial<DropzoneProps> = {\n loading: false,\n multiple: true,\n maxSize: Infinity,\n autoFocus: false,\n activateOnClick: true,\n activateOnDrag: true,\n dragEventsBubbling: true,\n activateOnKeyboard: true,\n useFsAccessApi: true,\n variant: 'light',\n rejectColor: 'red',\n};\n\nconst varsResolver = createVarsResolver<DropzoneFactory>(\n (theme, { radius, variant, acceptColor, rejectColor }) => {\n const acceptColors = theme.variantColorResolver({\n color: acceptColor || theme.primaryColor,\n theme,\n variant: variant!,\n });\n\n const rejectColors = theme.variantColorResolver({\n color: rejectColor || 'red',\n theme,\n variant: variant!,\n });\n\n return {\n root: {\n '--dropzone-radius': getRadius(radius),\n '--dropzone-accept-color': acceptColors.color,\n '--dropzone-accept-bg': acceptColors.background,\n '--dropzone-reject-color': rejectColors.color,\n '--dropzone-reject-bg': rejectColors.background,\n },\n };\n }\n);\n\nexport const Dropzone = factory<DropzoneFactory>((_props, ref) => {\n const props = useProps('Dropzone', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n radius,\n disabled,\n loading,\n multiple,\n maxSize,\n accept,\n children,\n onDropAny,\n onDrop,\n onReject,\n openRef,\n name,\n maxFiles,\n autoFocus,\n activateOnClick,\n activateOnDrag,\n dragEventsBubbling,\n activateOnKeyboard,\n onDragEnter,\n onDragLeave,\n onDragOver,\n onFileDialogCancel,\n onFileDialogOpen,\n preventDropOnDocument,\n useFsAccessApi,\n getFilesFromEvent,\n validator,\n rejectColor,\n acceptColor,\n enablePointerEvents,\n loaderProps,\n inputProps,\n mod,\n ...others\n } = props;\n\n const getStyles = useStyles<DropzoneFactory>({\n name: 'Dropzone',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { getRootProps, getInputProps, isDragAccept, isDragReject, open } = useDropzone({\n onDrop: onDropAny,\n onDropAccepted: onDrop,\n onDropRejected: onReject,\n disabled: disabled || loading,\n accept: Array.isArray(accept) ? accept.reduce((r, key) => ({ ...r, [key]: [] }), {}) : accept,\n multiple,\n maxSize,\n maxFiles,\n autoFocus,\n noClick: !activateOnClick,\n noDrag: !activateOnDrag,\n noDragEventsBubbling: !dragEventsBubbling,\n noKeyboard: !activateOnKeyboard,\n onDragEnter,\n onDragLeave,\n onDragOver,\n onFileDialogCancel,\n onFileDialogOpen,\n preventDropOnDocument,\n useFsAccessApi,\n validator,\n ...(getFilesFromEvent ? { getFilesFromEvent } : null),\n });\n\n assignRef(openRef, open);\n\n const isIdle = !isDragAccept && !isDragReject;\n\n return (\n <DropzoneProvider value={{ accept: isDragAccept, reject: isDragReject, idle: isIdle }}>\n <Box\n {...getRootProps()}\n {...getStyles('root', { focusable: true })}\n {...others}\n mod={[\n {\n accept: isDragAccept,\n reject: isDragReject,\n idle: isIdle,\n disabled,\n loading,\n 'activate-on-click': activateOnClick,\n },\n mod,\n ]}\n >\n <LoadingOverlay\n visible={loading}\n overlayProps={{ radius }}\n unstyled={unstyled}\n loaderProps={loaderProps}\n />\n <input {...getInputProps(inputProps)} name={name} />\n <div\n {...getStyles('inner')}\n ref={ref}\n data-enable-pointer-events={enablePointerEvents || undefined}\n >\n {children}\n </div>\n </Box>\n </DropzoneProvider>\n );\n});\n\nDropzone.classes = classes;\nDropzone.displayName = '@mantine/dropzone/Dropzone';\nDropzone.Accept = DropzoneAccept;\nDropzone.Idle = DropzoneIdle;\nDropzone.Reject = DropzoneReject;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropzone.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
import { getDefaultZIndex, factory, useProps, useStyles, useResolvedStylesApi, OptionalPortal, Box } from '@mantine/core';
|
|
5
|
+
import { useDisclosure } from '@mantine/hooks';
|
|
6
|
+
import { Dropzone } from './Dropzone.mjs';
|
|
7
|
+
import classes from './Dropzone.module.css.mjs';
|
|
8
|
+
|
|
9
|
+
const defaultProps = {
|
|
10
|
+
loading: false,
|
|
11
|
+
maxSize: Infinity,
|
|
12
|
+
activateOnClick: false,
|
|
13
|
+
activateOnDrag: true,
|
|
14
|
+
dragEventsBubbling: true,
|
|
15
|
+
activateOnKeyboard: true,
|
|
16
|
+
active: true,
|
|
17
|
+
zIndex: getDefaultZIndex("max"),
|
|
18
|
+
withinPortal: true
|
|
19
|
+
};
|
|
20
|
+
const DropzoneFullScreen = factory((_props, ref) => {
|
|
21
|
+
const props = useProps("DropzoneFullScreen", defaultProps, _props);
|
|
22
|
+
const {
|
|
23
|
+
classNames,
|
|
24
|
+
className,
|
|
25
|
+
style,
|
|
26
|
+
styles,
|
|
27
|
+
unstyled,
|
|
28
|
+
vars,
|
|
29
|
+
active,
|
|
30
|
+
onDrop,
|
|
31
|
+
onReject,
|
|
32
|
+
zIndex,
|
|
33
|
+
withinPortal,
|
|
34
|
+
portalProps,
|
|
35
|
+
...others
|
|
36
|
+
} = props;
|
|
37
|
+
const getStyles = useStyles({
|
|
38
|
+
name: "DropzoneFullScreen",
|
|
39
|
+
classes,
|
|
40
|
+
props,
|
|
41
|
+
className,
|
|
42
|
+
style,
|
|
43
|
+
classNames,
|
|
44
|
+
styles,
|
|
45
|
+
unstyled,
|
|
46
|
+
rootSelector: "fullScreen"
|
|
47
|
+
});
|
|
48
|
+
const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
|
|
49
|
+
classNames,
|
|
50
|
+
styles,
|
|
51
|
+
props
|
|
52
|
+
});
|
|
53
|
+
const [counter, setCounter] = useState(0);
|
|
54
|
+
const [visible, { open, close }] = useDisclosure(false);
|
|
55
|
+
const handleDragEnter = (event) => {
|
|
56
|
+
if (event.dataTransfer?.types.includes("Files")) {
|
|
57
|
+
setCounter((prev) => prev + 1);
|
|
58
|
+
open();
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const handleDragLeave = () => {
|
|
62
|
+
setCounter((prev) => prev - 1);
|
|
63
|
+
};
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
counter === 0 && close();
|
|
66
|
+
}, [counter]);
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
if (!active) {
|
|
69
|
+
return void 0;
|
|
70
|
+
}
|
|
71
|
+
document.addEventListener("dragenter", handleDragEnter, false);
|
|
72
|
+
document.addEventListener("dragleave", handleDragLeave, false);
|
|
73
|
+
return () => {
|
|
74
|
+
document.removeEventListener("dragenter", handleDragEnter, false);
|
|
75
|
+
document.removeEventListener("dragleave", handleDragLeave, false);
|
|
76
|
+
};
|
|
77
|
+
}, [active]);
|
|
78
|
+
return /* @__PURE__ */ jsx(OptionalPortal, { ...portalProps, withinPortal, children: /* @__PURE__ */ jsx(
|
|
79
|
+
Box,
|
|
80
|
+
{
|
|
81
|
+
...getStyles("fullScreen", {
|
|
82
|
+
style: { opacity: visible ? 1 : 0, pointerEvents: visible ? "all" : "none", zIndex }
|
|
83
|
+
}),
|
|
84
|
+
ref,
|
|
85
|
+
children: /* @__PURE__ */ jsx(
|
|
86
|
+
Dropzone,
|
|
87
|
+
{
|
|
88
|
+
...others,
|
|
89
|
+
classNames: resolvedClassNames,
|
|
90
|
+
styles: resolvedStyles,
|
|
91
|
+
unstyled,
|
|
92
|
+
className: classes.dropzone,
|
|
93
|
+
onDrop: (files) => {
|
|
94
|
+
onDrop?.(files);
|
|
95
|
+
close();
|
|
96
|
+
setCounter(0);
|
|
97
|
+
},
|
|
98
|
+
onReject: (files) => {
|
|
99
|
+
onReject?.(files);
|
|
100
|
+
close();
|
|
101
|
+
setCounter(0);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
}
|
|
106
|
+
) });
|
|
107
|
+
});
|
|
108
|
+
DropzoneFullScreen.classes = classes;
|
|
109
|
+
DropzoneFullScreen.displayName = "@mantine/dropzone/DropzoneFullScreen";
|
|
110
|
+
|
|
111
|
+
export { DropzoneFullScreen };
|
|
112
|
+
//# sourceMappingURL=DropzoneFullScreen.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropzoneFullScreen.mjs","sources":["../src/DropzoneFullScreen.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport {\n Box,\n BoxProps,\n ElementProps,\n factory,\n Factory,\n getDefaultZIndex,\n OptionalPortal,\n PortalProps,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '@mantine/core';\nimport { useDisclosure } from '@mantine/hooks';\nimport { Dropzone, DropzoneProps, DropzoneStylesNames, DropzoneVariant } from './Dropzone';\nimport classes from './Dropzone.module.css';\n\nexport type DropzoneFullScreenStylesNames = DropzoneStylesNames | 'fullScreen';\n\nexport interface DropzoneFullScreenProps\n extends BoxProps,\n Omit<DropzoneProps, 'styles' | 'classNames' | 'vars' | 'variant'>,\n StylesApiProps<DropzoneFullScreenFactory>,\n ElementProps<'div', 'onDragLeave' | 'onDragOver' | 'onDrop' | 'onDragEnter'> {\n /** Determines whether user can drop files to browser window, true by default */\n active?: boolean;\n\n /** Z-index value, 9999 by default */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** Determines whether component should be rendered within Portal, true by default */\n withinPortal?: boolean;\n\n /** Props to pass down to the portal when withinPortal is true */\n portalProps?: Omit<PortalProps, 'children' | 'withinPortal'>;\n}\n\nexport type DropzoneFullScreenFactory = Factory<{\n props: DropzoneFullScreenProps;\n ref: HTMLDivElement;\n stylesNames: DropzoneFullScreenStylesNames;\n variant: DropzoneVariant;\n}>;\n\nconst defaultProps: Partial<DropzoneFullScreenProps> = {\n loading: false,\n maxSize: Infinity,\n activateOnClick: false,\n activateOnDrag: true,\n dragEventsBubbling: true,\n activateOnKeyboard: true,\n active: true,\n zIndex: getDefaultZIndex('max'),\n withinPortal: true,\n};\n\nexport const DropzoneFullScreen = factory<DropzoneFullScreenFactory>((_props, ref) => {\n const props = useProps('DropzoneFullScreen', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n active,\n onDrop,\n onReject,\n zIndex,\n withinPortal,\n portalProps,\n ...others\n } = props;\n\n const getStyles = useStyles<DropzoneFullScreenFactory>({\n name: 'DropzoneFullScreen',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n rootSelector: 'fullScreen',\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<DropzoneFullScreenFactory>({\n classNames,\n styles,\n props,\n });\n\n const [counter, setCounter] = useState(0);\n const [visible, { open, close }] = useDisclosure(false);\n\n const handleDragEnter = (event: DragEvent) => {\n if (event.dataTransfer?.types.includes('Files')) {\n setCounter((prev) => prev + 1);\n open();\n }\n };\n\n const handleDragLeave = () => {\n setCounter((prev) => prev - 1);\n };\n\n useEffect(() => {\n counter === 0 && close();\n }, [counter]);\n\n useEffect(() => {\n if (!active) {\n return undefined;\n }\n\n document.addEventListener('dragenter', handleDragEnter, false);\n document.addEventListener('dragleave', handleDragLeave, false);\n\n return () => {\n document.removeEventListener('dragenter', handleDragEnter, false);\n document.removeEventListener('dragleave', handleDragLeave, false);\n };\n }, [active]);\n\n return (\n <OptionalPortal {...portalProps} withinPortal={withinPortal}>\n <Box\n {...getStyles('fullScreen', {\n style: { opacity: visible ? 1 : 0, pointerEvents: visible ? 'all' : 'none', zIndex },\n })}\n ref={ref}\n >\n <Dropzone\n {...others}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n className={classes.dropzone}\n onDrop={(files: any) => {\n onDrop?.(files);\n close();\n setCounter(0);\n }}\n onReject={(files: any) => {\n onReject?.(files);\n close();\n setCounter(0);\n }}\n />\n </Box>\n </OptionalPortal>\n );\n});\n\nDropzoneFullScreen.classes = classes;\nDropzoneFullScreen.displayName = '@mantine/dropzone/DropzoneFullScreen';\n\nexport type DropzoneFullScreenType = typeof DropzoneFullScreen;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { cloneElement } from 'react';
|
|
4
|
+
import { useProps, isElement } from '@mantine/core';
|
|
5
|
+
import { upperFirst } from '@mantine/hooks';
|
|
6
|
+
import { useDropzoneContext } from './Dropzone.context.mjs';
|
|
7
|
+
|
|
8
|
+
function createDropzoneStatus(status) {
|
|
9
|
+
const Component = (props) => {
|
|
10
|
+
const { children, ...others } = useProps(`Dropzone${upperFirst(status)}`, {}, props);
|
|
11
|
+
const ctx = useDropzoneContext();
|
|
12
|
+
const _children = isElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
|
|
13
|
+
if (ctx[status]) {
|
|
14
|
+
return cloneElement(_children, others);
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
};
|
|
18
|
+
Component.displayName = `@mantine/dropzone/${upperFirst(status)}`;
|
|
19
|
+
return Component;
|
|
20
|
+
}
|
|
21
|
+
const DropzoneAccept = createDropzoneStatus("accept");
|
|
22
|
+
const DropzoneReject = createDropzoneStatus("reject");
|
|
23
|
+
const DropzoneIdle = createDropzoneStatus("idle");
|
|
24
|
+
|
|
25
|
+
export { DropzoneAccept, DropzoneIdle, DropzoneReject };
|
|
26
|
+
//# sourceMappingURL=DropzoneStatus.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropzoneStatus.mjs","sources":["../src/DropzoneStatus.tsx"],"sourcesContent":["import { cloneElement } from 'react';\nimport { isElement, useProps } from '@mantine/core';\nimport { upperFirst } from '@mantine/hooks';\nimport { DropzoneContextValue, useDropzoneContext } from './Dropzone.context';\n\nexport interface DropzoneStatusProps {\n children: React.ReactNode;\n}\n\ntype DropzoneStatusComponent = React.FC<DropzoneStatusProps>;\n\nfunction createDropzoneStatus(status: keyof DropzoneContextValue) {\n const Component: DropzoneStatusComponent = (props) => {\n const { children, ...others } = useProps(`Dropzone${upperFirst(status)}`, {}, props);\n\n const ctx = useDropzoneContext();\n const _children = isElement(children) ? children : <span>{children}</span>;\n\n if (ctx[status]) {\n return cloneElement(_children as JSX.Element, others);\n }\n\n return null;\n };\n\n Component.displayName = `@mantine/dropzone/${upperFirst(status)}`;\n\n return Component;\n}\n\nexport const DropzoneAccept = createDropzoneStatus('accept');\nexport const DropzoneReject = createDropzoneStatus('reject');\nexport const DropzoneIdle = createDropzoneStatus('idle');\n\nexport type DropzoneAcceptProps = DropzoneStatusProps;\nexport type DropzoneRejectProps = DropzoneStatusProps;\nexport type DropzoneIdleProps = DropzoneStatusProps;\n"],"names":[],"mappings":"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,CAAA,CAAA,CAAC,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}
|
package/esm/index.mjs
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Dropzone as Dropzone$1 } from './Dropzone.mjs';
|
|
2
|
+
import { DropzoneFullScreen } from './DropzoneFullScreen.mjs';
|
|
3
|
+
export { DropzoneAccept, DropzoneIdle, DropzoneReject } from './DropzoneStatus.mjs';
|
|
4
|
+
export { EXE_MIME_TYPE, IMAGE_MIME_TYPE, MIME_TYPES, MS_EXCEL_MIME_TYPE, MS_POWERPOINT_MIME_TYPE, MS_WORD_MIME_TYPE, PDF_MIME_TYPE } from './mime-types.mjs';
|
|
5
|
+
|
|
6
|
+
Dropzone$1.FullScreen = DropzoneFullScreen;
|
|
7
|
+
const Dropzone = Dropzone$1;
|
|
8
|
+
|
|
9
|
+
export { Dropzone, DropzoneFullScreen };
|
|
10
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import { Dropzone as _Dropzone } from './Dropzone';\nimport { DropzoneFullScreen } from './DropzoneFullScreen';\n\n_Dropzone.FullScreen = DropzoneFullScreen;\nexport const Dropzone = _Dropzone;\n\nexport { DropzoneFullScreen };\nexport { DropzoneAccept, DropzoneIdle, DropzoneReject } from './DropzoneStatus';\nexport * from './mime-types';\n\nexport type {\n DropzoneStylesNames,\n DropzoneProps,\n DropzoneCssVariables,\n DropzoneFactory,\n DropzoneVariant,\n} from './Dropzone';\nexport type {\n DropzoneFullScreenProps,\n DropzoneFullScreenStylesNames,\n DropzoneFullScreenFactory,\n} from './DropzoneFullScreen';\nexport type { DropzoneAcceptProps, DropzoneRejectProps, DropzoneIdleProps } from './DropzoneStatus';\nexport type { FileWithPath, FileRejection } from 'react-dropzone-esm';\n"],"names":["_Dropzone"],"mappings":";;;;;AAGAA,UAAS,CAAC,UAAU,GAAG,kBAAkB;AAC7B,MAAC,QAAQ,GAAGA;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
const MIME_TYPES = {
|
|
3
|
+
// Images
|
|
4
|
+
png: "image/png",
|
|
5
|
+
gif: "image/gif",
|
|
6
|
+
jpeg: "image/jpeg",
|
|
7
|
+
svg: "image/svg+xml",
|
|
8
|
+
webp: "image/webp",
|
|
9
|
+
avif: "image/avif",
|
|
10
|
+
heic: "image/heic",
|
|
11
|
+
heif: "image/heif",
|
|
12
|
+
// Documents
|
|
13
|
+
mp4: "video/mp4",
|
|
14
|
+
zip: "application/zip",
|
|
15
|
+
rar: "application/x-rar",
|
|
16
|
+
"7z": "application/x-7z-compressed",
|
|
17
|
+
csv: "text/csv",
|
|
18
|
+
pdf: "application/pdf",
|
|
19
|
+
doc: "application/msword",
|
|
20
|
+
docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
21
|
+
xls: "application/vnd.ms-excel",
|
|
22
|
+
xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
23
|
+
ppt: "application/vnd.ms-powerpoint",
|
|
24
|
+
pptx: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
25
|
+
exe: "application/vnd.microsoft.portable-executable"
|
|
26
|
+
};
|
|
27
|
+
const IMAGE_MIME_TYPE = [
|
|
28
|
+
MIME_TYPES.png,
|
|
29
|
+
MIME_TYPES.gif,
|
|
30
|
+
MIME_TYPES.jpeg,
|
|
31
|
+
MIME_TYPES.svg,
|
|
32
|
+
MIME_TYPES.webp,
|
|
33
|
+
MIME_TYPES.avif,
|
|
34
|
+
MIME_TYPES.heic,
|
|
35
|
+
MIME_TYPES.heif
|
|
36
|
+
];
|
|
37
|
+
const PDF_MIME_TYPE = [MIME_TYPES.pdf];
|
|
38
|
+
const MS_WORD_MIME_TYPE = [MIME_TYPES.doc, MIME_TYPES.docx];
|
|
39
|
+
const MS_EXCEL_MIME_TYPE = [MIME_TYPES.xls, MIME_TYPES.xlsx];
|
|
40
|
+
const MS_POWERPOINT_MIME_TYPE = [MIME_TYPES.ppt, MIME_TYPES.pptx];
|
|
41
|
+
const EXE_MIME_TYPE = [MIME_TYPES.exe];
|
|
42
|
+
|
|
43
|
+
export { EXE_MIME_TYPE, IMAGE_MIME_TYPE, MIME_TYPES, MS_EXCEL_MIME_TYPE, MS_POWERPOINT_MIME_TYPE, MS_WORD_MIME_TYPE, PDF_MIME_TYPE };
|
|
44
|
+
//# sourceMappingURL=mime-types.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mime-types.mjs","sources":["../src/mime-types.ts"],"sourcesContent":["export const MIME_TYPES = {\n // Images\n png: 'image/png',\n gif: 'image/gif',\n jpeg: 'image/jpeg',\n svg: 'image/svg+xml',\n webp: 'image/webp',\n avif: 'image/avif',\n heic: 'image/heic',\n heif: 'image/heif',\n\n // Documents\n mp4: 'video/mp4',\n zip: 'application/zip',\n rar: 'application/x-rar',\n '7z': 'application/x-7z-compressed',\n csv: 'text/csv',\n pdf: 'application/pdf',\n doc: 'application/msword',\n docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n xls: 'application/vnd.ms-excel',\n xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n ppt: 'application/vnd.ms-powerpoint',\n pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n exe: 'application/vnd.microsoft.portable-executable',\n} as const;\n\nexport const IMAGE_MIME_TYPE = [\n MIME_TYPES.png,\n MIME_TYPES.gif,\n MIME_TYPES.jpeg,\n MIME_TYPES.svg,\n MIME_TYPES.webp,\n MIME_TYPES.avif,\n MIME_TYPES.heic,\n MIME_TYPES.heif,\n];\n\nexport const PDF_MIME_TYPE = [MIME_TYPES.pdf];\nexport const MS_WORD_MIME_TYPE = [MIME_TYPES.doc, MIME_TYPES.docx];\nexport const MS_EXCEL_MIME_TYPE = [MIME_TYPES.xls, MIME_TYPES.xlsx];\nexport const MS_POWERPOINT_MIME_TYPE = [MIME_TYPES.ppt, MIME_TYPES.pptx];\nexport const EXE_MIME_TYPE = [MIME_TYPES.exe];\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface DropzoneContextValue {
|
|
2
|
+
idle: boolean;
|
|
3
|
+
accept: boolean;
|
|
4
|
+
reject: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const DropzoneProvider: ({ children, value }: {
|
|
7
|
+
value: DropzoneContextValue;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
}) => import("react/jsx-runtime").JSX.Element, useDropzoneContext: () => DropzoneContextValue;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Accept, DropEvent, FileError, FileRejection, FileWithPath } from 'react-dropzone-esm';
|
|
2
|
+
import { BoxProps, ElementProps, Factory, LoaderProps, MantineColor, MantineRadius, StylesApiProps } from '@mantine/core';
|
|
3
|
+
import type { DropzoneFullScreenType } from './DropzoneFullScreen';
|
|
4
|
+
import { DropzoneAccept, DropzoneIdle, DropzoneReject } from './DropzoneStatus';
|
|
5
|
+
export type DropzoneStylesNames = 'root' | 'inner';
|
|
6
|
+
export type DropzoneVariant = 'filled' | 'light';
|
|
7
|
+
export type DropzoneCssVariables = {
|
|
8
|
+
root: '--dropzone-radius' | '--dropzone-accept-color' | '--dropzone-accept-bg' | '--dropzone-reject-color' | '--dropzone-reject-bg';
|
|
9
|
+
};
|
|
10
|
+
export interface DropzoneProps extends BoxProps, StylesApiProps<DropzoneFactory>, ElementProps<'div', 'onDrop'> {
|
|
11
|
+
/** Key of `theme.colors` or any valid CSS color to set colors of `Dropzone.Accept`, `theme.primaryColor` by default */
|
|
12
|
+
acceptColor?: MantineColor;
|
|
13
|
+
/** Key of `theme.colors` or any valid CSS color to set colors of `Dropzone.Reject`, `'red'` by default */
|
|
14
|
+
rejectColor?: MantineColor;
|
|
15
|
+
/** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem, `theme.defaultRadius` by default */
|
|
16
|
+
radius?: MantineRadius;
|
|
17
|
+
/** Determines whether files capturing should be disabled, `false` by default */
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
/** Called when any files are dropped to the dropzone */
|
|
20
|
+
onDropAny?: (files: FileWithPath[], fileRejections: FileRejection[]) => void;
|
|
21
|
+
/** Called when valid files are dropped to the dropzone */
|
|
22
|
+
onDrop: (files: FileWithPath[]) => void;
|
|
23
|
+
/** Called when dropped files do not meet file restrictions */
|
|
24
|
+
onReject?: (fileRejections: FileRejection[]) => void;
|
|
25
|
+
/** Determines whether a loading overlay should be displayed over the dropzone, `false` by default */
|
|
26
|
+
loading?: boolean;
|
|
27
|
+
/** Mime types of the files that dropzone can accepts. By default, dropzone accepts all file types. */
|
|
28
|
+
accept?: Accept | string[];
|
|
29
|
+
/** A ref function which when called opens the file system file picker */
|
|
30
|
+
openRef?: React.ForwardedRef<() => void | undefined>;
|
|
31
|
+
/** Determines whether multiple files can be dropped to the dropzone or selected from file system picker, `true` by default */
|
|
32
|
+
multiple?: boolean;
|
|
33
|
+
/** Maximum file size in bytes */
|
|
34
|
+
maxSize?: number;
|
|
35
|
+
/** Name of the form control. Submitted with the form as part of a name/value pair. */
|
|
36
|
+
name?: string;
|
|
37
|
+
/** Maximum number of files that can be picked at once */
|
|
38
|
+
maxFiles?: number;
|
|
39
|
+
/** Set to autofocus the root element */
|
|
40
|
+
autoFocus?: boolean;
|
|
41
|
+
/** If `false`, disables click to open the native file selection dialog */
|
|
42
|
+
activateOnClick?: boolean;
|
|
43
|
+
/** If `false`, disables drag 'n' drop */
|
|
44
|
+
activateOnDrag?: boolean;
|
|
45
|
+
/** If `false`, disables Space/Enter to open the native file selection dialog. Note that it also stops tracking the focus state. */
|
|
46
|
+
activateOnKeyboard?: boolean;
|
|
47
|
+
/** If `false`, stops drag event propagation to parents */
|
|
48
|
+
dragEventsBubbling?: boolean;
|
|
49
|
+
/** Called when the `dragenter` event occurs */
|
|
50
|
+
onDragEnter?: (event: React.DragEvent<HTMLElement>) => void;
|
|
51
|
+
/** Called when the `dragleave` event occurs */
|
|
52
|
+
onDragLeave?: (event: React.DragEvent<HTMLElement>) => void;
|
|
53
|
+
/** Called when the `dragover` event occurs */
|
|
54
|
+
onDragOver?: (event: React.DragEvent<HTMLElement>) => void;
|
|
55
|
+
/** Called when user closes the file selection dialog with no selection */
|
|
56
|
+
onFileDialogCancel?: () => void;
|
|
57
|
+
/** Called when user opens the file selection dialog */
|
|
58
|
+
onFileDialogOpen?: () => void;
|
|
59
|
+
/** If `false`, allow dropped items to take over the current browser window */
|
|
60
|
+
preventDropOnDocument?: boolean;
|
|
61
|
+
/** Set to true to use the File System Access API to open the file picker instead of using an <input type="file"> click event, defaults to true */
|
|
62
|
+
useFsAccessApi?: boolean;
|
|
63
|
+
/** Use this to provide a custom file aggregator */
|
|
64
|
+
getFilesFromEvent?: (event: DropEvent) => Promise<Array<File | DataTransferItem>>;
|
|
65
|
+
/** Custom validation function. It must return null if there's no errors. */
|
|
66
|
+
validator?: <T extends File>(file: T) => FileError | FileError[] | null;
|
|
67
|
+
/** Determines whether pointer events should be enabled on the inner element, `false` by default */
|
|
68
|
+
enablePointerEvents?: boolean;
|
|
69
|
+
/** Props passed down to the Loader component */
|
|
70
|
+
loaderProps?: LoaderProps;
|
|
71
|
+
/** Props passed down to the internal Input component */
|
|
72
|
+
inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
|
|
73
|
+
}
|
|
74
|
+
export type DropzoneFactory = Factory<{
|
|
75
|
+
props: DropzoneProps;
|
|
76
|
+
ref: HTMLDivElement;
|
|
77
|
+
stylesNames: DropzoneStylesNames;
|
|
78
|
+
vars: DropzoneCssVariables;
|
|
79
|
+
staticComponents: {
|
|
80
|
+
Accept: typeof DropzoneAccept;
|
|
81
|
+
Idle: typeof DropzoneIdle;
|
|
82
|
+
Reject: typeof DropzoneReject;
|
|
83
|
+
FullScreen: DropzoneFullScreenType;
|
|
84
|
+
};
|
|
85
|
+
}>;
|
|
86
|
+
export declare const Dropzone: import("@mantine/core").MantineComponent<{
|
|
87
|
+
props: DropzoneProps;
|
|
88
|
+
ref: HTMLDivElement;
|
|
89
|
+
stylesNames: DropzoneStylesNames;
|
|
90
|
+
vars: DropzoneCssVariables;
|
|
91
|
+
staticComponents: {
|
|
92
|
+
Accept: typeof DropzoneAccept;
|
|
93
|
+
Idle: typeof DropzoneIdle;
|
|
94
|
+
Reject: typeof DropzoneReject;
|
|
95
|
+
FullScreen: DropzoneFullScreenType;
|
|
96
|
+
};
|
|
97
|
+
}>;
|