import { Upload, UploadState } from '../../../Upload'
const UploadLightHouse = () => {
// Create mock File objects for examples
const createMockFile = (name: string, type: string): File => {
const blob = new Blob([''], { type })
return new File([blob], name, { type, lastModified: Date.now() })
}
const mockFile1 = createMockFile('document.pdf', 'application/pdf')
const mockFile2 = createMockFile('image.jpg', 'image/jpeg')
const mockFile3 = createMockFile(
'spreadsheet.xlsx',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
)
return (
<>
{/* Basic Upload - Single */}
{/* Basic Upload - Multiple */}
{/* With Label */}
{/* With Sublabel */}
{/* With Help Icon */}
{/* Required */}
{/* Disabled */}
{/* With Description */}
{/* With Accept Types */}
{/* With Multiple Accept Types */}
{/* With Max Size */}
{/* With Max Files */}
{/* With Error Text */}
{/* With Custom Children */}
Custom upload content
Click or drag files here
{/* Controlled Value - Single File */}
{
console.log('Value changed:', value)
}}
/>
{/* Controlled Value - Multiple Files */}
{
console.log('Value changed:', value)
}}
/>
{/* With State - Idle */}
{/* With State - Uploading */}
{/* With State - Success */}
{/* With State - Error */}
{/* Multiple Files - Success */}
{/* Multiple Files - Mixed State */}
{/* With Handlers */}
{
console.log('Accepted:', acceptedFiles)
console.log('Rejected:', rejectedFiles)
}}
onDropAccepted={(files) => {
console.log('Accepted files:', files)
}}
onDropRejected={(rejections) => {
console.log('Rejected files:', rejections)
}}
onFileRemove={(fileId) => {
console.log('File removed:', fileId)
}}
onReplaceFile={() => {
console.log('File replaced')
}}
/>
{/* Complex Example */}
{
console.log('Value changed:', value)
}}
onDrop={(acceptedFiles, rejectedFiles) => {
console.log('Drop:', { acceptedFiles, rejectedFiles })
}}
onFileRemove={(fileId) => {
console.log('Remove:', fileId)
}}
/>
{/* With Controlled Drag State */}
{/* With Drag Reject */}
{/* Single File with Max Files */}
>
)
}
export default UploadLightHouse