@sqlrooms/dropzone 0.0.1 → 0.0.3

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.
@@ -1,11 +1,48 @@
1
1
  import { FC } from 'react';
2
- export type Props = {
2
+ /**
3
+ * A customizable file dropzone component that handles file uploads through drag-and-drop or click interactions.
4
+ *
5
+ * @component
6
+ * @example
7
+ * ```tsx
8
+ * // Basic usage
9
+ * <FileDropzone
10
+ * onDrop={async (files) => {
11
+ * console.log('Dropped files:', files);
12
+ * // Handle file upload
13
+ * }}
14
+ * />
15
+ *
16
+ * // With file type restrictions and single file upload
17
+ * <FileDropzone
18
+ * multiple={false}
19
+ * acceptedFormats={{
20
+ * 'text/csv': ['.csv'],
21
+ * 'application/json': ['.json']
22
+ * }}
23
+ * onDrop={async (files) => {
24
+ * const file = files[0];
25
+ * // Handle single file upload
26
+ * }}
27
+ * >
28
+ * <p>Custom dropzone content</p>
29
+ * </FileDropzone>
30
+ * ```
31
+ *
32
+ * @param props - Component props
33
+ * @param props.className - Optional CSS class name for styling
34
+ * @param props.isInvalid - Optional flag to indicate validation error state
35
+ * @param props.onDrop - Async callback function called when files are dropped or selected
36
+ * @param props.multiple - Optional flag to allow multiple file selection (default: true)
37
+ * @param props.acceptedFormats - Optional object defining accepted MIME types and their extensions
38
+ * @param props.children - Optional React nodes to render inside the dropzone
39
+ */
40
+ export declare const FileDropzone: FC<{
3
41
  className?: string;
4
42
  isInvalid?: boolean;
5
43
  onDrop: (files: File[]) => Promise<void>;
6
44
  multiple?: boolean;
7
45
  acceptedFormats?: Record<string, string[]>;
8
46
  children?: React.ReactNode;
9
- };
10
- export declare const FileDropzone: FC<Props>;
47
+ }>;
11
48
  //# sourceMappingURL=file-dropzone.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-dropzone.d.ts","sourceRoot":"","sources":["../src/file-dropzone.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAW,MAAM,OAAO,CAAC;AAKnC,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,KAAK,CAsElC,CAAC"}
1
+ {"version":3,"file":"file-dropzone.d.ts","sourceRoot":"","sources":["../src/file-dropzone.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAW,MAAM,OAAO,CAAC;AAKnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAsEA,CAAC"}
@@ -3,6 +3,44 @@ import { useState } from 'react';
3
3
  import { useDropzone } from 'react-dropzone';
4
4
  import { Plus } from 'lucide-react';
5
5
  import { cn, Spinner } from '@sqlrooms/ui';
6
+ /**
7
+ * A customizable file dropzone component that handles file uploads through drag-and-drop or click interactions.
8
+ *
9
+ * @component
10
+ * @example
11
+ * ```tsx
12
+ * // Basic usage
13
+ * <FileDropzone
14
+ * onDrop={async (files) => {
15
+ * console.log('Dropped files:', files);
16
+ * // Handle file upload
17
+ * }}
18
+ * />
19
+ *
20
+ * // With file type restrictions and single file upload
21
+ * <FileDropzone
22
+ * multiple={false}
23
+ * acceptedFormats={{
24
+ * 'text/csv': ['.csv'],
25
+ * 'application/json': ['.json']
26
+ * }}
27
+ * onDrop={async (files) => {
28
+ * const file = files[0];
29
+ * // Handle single file upload
30
+ * }}
31
+ * >
32
+ * <p>Custom dropzone content</p>
33
+ * </FileDropzone>
34
+ * ```
35
+ *
36
+ * @param props - Component props
37
+ * @param props.className - Optional CSS class name for styling
38
+ * @param props.isInvalid - Optional flag to indicate validation error state
39
+ * @param props.onDrop - Async callback function called when files are dropped or selected
40
+ * @param props.multiple - Optional flag to allow multiple file selection (default: true)
41
+ * @param props.acceptedFormats - Optional object defining accepted MIME types and their extensions
42
+ * @param props.children - Optional React nodes to render inside the dropzone
43
+ */
6
44
  export const FileDropzone = (props) => {
7
45
  const { isInvalid, onDrop, multiple = true, className, acceptedFormats, children, } = props;
8
46
  const [isAddingDropped, setIsAddingDropped] = useState(false);
package/package.json CHANGED
@@ -1,8 +1,17 @@
1
1
  {
2
2
  "name": "@sqlrooms/dropzone",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "type": "module",
5
5
  "private": false,
6
+ "author": "Ilya Boyandin <ilya@boyandin.me>",
7
+ "license": "MIT",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/sqlrooms/sqlrooms.git"
11
+ },
12
+ "files": [
13
+ "dist"
14
+ ],
6
15
  "publishConfig": {
7
16
  "access": "public"
8
17
  },
@@ -19,12 +28,13 @@
19
28
  "scripts": {
20
29
  "dev": "tsc -w",
21
30
  "build": "tsc",
22
- "lint": "eslint ."
31
+ "lint": "eslint .",
32
+ "typedoc": "typedoc"
23
33
  },
24
34
  "dependencies": {
25
- "@sqlrooms/ui": "0.0.1",
35
+ "@sqlrooms/ui": "0.0.3",
26
36
  "lucide-react": "^0.473.0",
27
37
  "react-dropzone": "^14.3.5"
28
38
  },
29
- "gitHead": "5d8893a604a91d109dc5b5f80b4a3e937b4cf520"
39
+ "gitHead": "4269a3efdb5a903cb2498c126e9c36683b3bbae0"
30
40
  }
package/CHANGELOG.md DELETED
@@ -1,14 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [0.0.1](https://github.com/ilyabo/sqlrooms/compare/v0.0.1-alpha.0...v0.0.1) (2025-01-30)
7
-
8
- **Note:** Version bump only for package @sqlrooms/dropzone
9
-
10
- ## 0.0.1-alpha.0 (2025-01-30)
11
-
12
- **Note:** Version bump only for package @sqlrooms/dropzone
13
-
14
- **Note:** Version bump only for package @sqlrooms/dropzone