@unisim/sdk 0.89.0 → 0.89.1
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/dist/useFileDrop.d.ts +12 -3
- package/dist/useFileDrop.d.ts.map +1 -1
- package/dist/useFileDrop.js +4 -1
- package/dist/useFileDrop.js.map +1 -1
- package/package.json +1 -1
package/dist/useFileDrop.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DragEvent, KeyboardEvent
|
|
1
|
+
import type { DragEvent, KeyboardEvent } from 'react';
|
|
2
2
|
/**
|
|
3
3
|
* The mechanics of a file drop target, with no opinion about how it looks.
|
|
4
4
|
*
|
|
@@ -54,9 +54,18 @@ export interface FileDrop {
|
|
|
54
54
|
tabIndex?: number;
|
|
55
55
|
'aria-label'?: string;
|
|
56
56
|
};
|
|
57
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* Spread onto a visually hidden `<input type="file">`.
|
|
59
|
+
*
|
|
60
|
+
* ⚠️ `ref` is a CALLBACK ref, not a `RefObject`, and that is not a style
|
|
61
|
+
* choice. React 18 types `useRef<T>(null)` as `RefObject<T>` where `current`
|
|
62
|
+
* is non-null, while React 19 types it as `RefObject<T | null>`; the SDK is
|
|
63
|
+
* compiled once against one of them and its `.d.ts` then fails to typecheck
|
|
64
|
+
* in apps on the other. A `RefCallback` has no such variance, so one build
|
|
65
|
+
* satisfies both — and this package supports `react ^18 || ^19`.
|
|
66
|
+
*/
|
|
58
67
|
inputProps: {
|
|
59
|
-
ref:
|
|
68
|
+
ref: (el: HTMLInputElement | null) => void;
|
|
60
69
|
type: 'file';
|
|
61
70
|
accept?: string;
|
|
62
71
|
multiple: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFileDrop.d.ts","sourceRoot":"","sources":["../src/useFileDrop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"useFileDrop.d.ts","sourceRoot":"","sources":["../src/useFileDrop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,4EAA4E;IAC5E,IAAI,EAAE,OAAO,CAAA;IACb,2EAA2E;IAC3E,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,mCAAmC;IACnC,aAAa,EAAE;QACb,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAA;QACnC,UAAU,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAA;QAClC,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAA;QACnC,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAA;QAC9B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;QACpB,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAA;QACtC,IAAI,CAAC,EAAE,QAAQ,CAAA;QACf,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;IACD;;;;;;;;;OASG;IACH,UAAU,EAAE;QACV,GAAG,EAAE,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAA;QAC1C,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,OAAO,CAAA;QACjB,QAAQ,EAAE,CAAC,CAAC,EAAE;YAAE,MAAM,EAAE,gBAAgB,CAAA;SAAE,KAAK,IAAI,CAAA;KACpD,CAAA;CACF;AAED,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,MAAM,EACN,QAAe,EACf,aAAoB,EACpB,KAA6C,EAC7C,QAAgB,GACjB,EAAE,kBAAkB,GAAG,QAAQ,CA8E/B"}
|
package/dist/useFileDrop.js
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
import { useCallback, useRef, useState } from 'react';
|
|
3
3
|
export function useFileDrop({ onFiles, accept, multiple = true, clickToBrowse = true, label = 'Drop files here, or click to browse', disabled = false, }) {
|
|
4
4
|
const inputRef = useRef(null);
|
|
5
|
+
const setInputRef = useCallback((el) => {
|
|
6
|
+
inputRef.current = el;
|
|
7
|
+
}, []);
|
|
5
8
|
const [over, setOver] = useState(false);
|
|
6
9
|
// How many nested elements the drag is currently inside. See the note above:
|
|
7
10
|
// moving between children fires leave on the old one before enter on the new,
|
|
@@ -62,7 +65,7 @@ export function useFileDrop({ onFiles, accept, multiple = true, clickToBrowse =
|
|
|
62
65
|
: {}),
|
|
63
66
|
},
|
|
64
67
|
inputProps: {
|
|
65
|
-
ref:
|
|
68
|
+
ref: setInputRef,
|
|
66
69
|
type: 'file',
|
|
67
70
|
accept,
|
|
68
71
|
multiple,
|
package/dist/useFileDrop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFileDrop.js","sourceRoot":"","sources":["../src/useFileDrop.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"useFileDrop.js","sourceRoot":"","sources":["../src/useFileDrop.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED