feat(web): add import flow functionality
This commit is contained in:
38
packages/web/src/components/FileUploadInput/index.js
Normal file
38
packages/web/src/components/FileUploadInput/index.js
Normal file
@@ -0,0 +1,38 @@
|
||||
import * as React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { styled } from '@mui/material/styles';
|
||||
import Button from '@mui/material/Button';
|
||||
import AttachFileIcon from '@mui/icons-material/AttachFile';
|
||||
|
||||
const VisuallyHiddenInput = styled('input')({
|
||||
clip: 'rect(0 0 0 0)',
|
||||
clipPath: 'inset(50%)',
|
||||
height: 1,
|
||||
overflow: 'hidden',
|
||||
position: 'absolute',
|
||||
bottom: 0,
|
||||
left: 0,
|
||||
whiteSpace: 'nowrap',
|
||||
width: 1,
|
||||
});
|
||||
|
||||
export default function FileUploadInput(props) {
|
||||
return (
|
||||
<Button
|
||||
component="label"
|
||||
role={undefined}
|
||||
variant="contained"
|
||||
tabIndex={-1}
|
||||
startIcon={<AttachFileIcon />}
|
||||
>
|
||||
{props.children}
|
||||
|
||||
<VisuallyHiddenInput type="file" onChange={props.onChange} />
|
||||
</Button>
|
||||
);
|
||||
}
|
||||
|
||||
FileUploadInput.propTypes = {
|
||||
onChange: PropTypes.func.isRequired,
|
||||
children: PropTypes.node.isRequired,
|
||||
};
|
||||
Reference in New Issue
Block a user