diff --git a/categories/blob/react/.eslintrc b/categories/blob/react/.eslintrc index 7d22244..edad3d1 100644 --- a/categories/blob/react/.eslintrc +++ b/categories/blob/react/.eslintrc @@ -1,5 +1,10 @@ { "root": true, + "rules": { + "quote-props": "off", + "react/jsx-props-no-spreading": "off", + "import/no-extraneous-dependencies": "off" + }, "extends": [ "lxsmnsyc/typescript/react" ], diff --git a/categories/blob/react/src/components/FileSelectBox/index.tsx b/categories/blob/react/src/components/FileSelectBox/index.tsx index 6fb57b1..2d4ad3f 100644 --- a/categories/blob/react/src/components/FileSelectBox/index.tsx +++ b/categories/blob/react/src/components/FileSelectBox/index.tsx @@ -227,7 +227,7 @@ export const FileSelectBox = React.forwardRef = React.useCallback(() => { setAboutToSelect(true); setTimeout(() => { @@ -236,6 +236,13 @@ export const FileSelectBox = React.forwardRef = React.useCallback(() => { + const fileInput = defaultRef.current as FileSelectBoxDerivedElement; + fileInput.showPicker(); + }, [defaultRef]); + const handleDeleteMouseDown: React.MouseEventHandler< HTMLButtonElement > = React.useCallback(() => { @@ -256,7 +263,7 @@ export const FileSelectBox = React.forwardRef { window.removeEventListener('mouseup', handleLabelMouseUp, { capture: true }); }; - }, []); + }, [defaultRef, aboutToSelect]); return (
- {clientSide && ( + {label && ( + )} + {clientSide && ( + )} - {label && ( -
-
- {label} -
-
- )} {filesCount < 1 && clientSide && hint @@ -355,13 +364,13 @@ export const FileSelectBox = React.forwardRef {multiple && ( -
-
- {Array.from(fileList ?? []).map((file, i) => ( +
+
+ {Array.from(fileList ?? []).map((file) => (
)} {!multiple - && Array.from(fileList ?? []).map((file, i) => ( + && Array.from(fileList ?? []).map((file) => (
- +