"use client"; /* * Documentation: * Button — https://app.subframe.com/f023064a5ca0/library?component=Button_3b777358-b86b-40af-9327-891efc6826fe * File Upload — https://app.subframe.com/f023064a5ca0/library?component=File+Upload_28a3336a-2bdd-4d1c-8dc1-75c9d6eef452 * Progress — https://app.subframe.com/f023064a5ca0/library?component=Progress_60964db0-a1bf-428b-b9d5-f34cdf58ea77 */ import React from "react"; import { FeatherFile } from "@subframe/core"; import { FeatherUpload } from "@subframe/core"; import { FeatherX } from "@subframe/core"; import * as SubframeUtils from "../../utils"; import { Button } from "../Button"; import { Progress } from "../Progress"; export interface FileUploadRootProps extends React.HTMLAttributes { fullwith?: boolean; state?: "default" | "hover" | "uploading" | "error" | "uploaded"; filename?: React.ReactNode; fileSize?: React.ReactNode; uploadProgress?: number; progressText?: React.ReactNode; errorMessage?: React.ReactNode; browseLabel?: React.ReactNode; cancelLabel?: React.ReactNode; className?: string; } const FileUploadRoot = React.forwardRef( function FileUploadRoot( { fullwith = false, state = "default", filename, fileSize, uploadProgress = 60, progressText, errorMessage, browseLabel, cancelLabel, className, ...otherProps }: FileUploadRootProps, ref ) { return (
Drop your invoice file here
Drop your invoice file here or
{errorMessage ? ( {errorMessage} ) : null}
{filename ? ( {filename} ) : null}
{progressText ? ( {progressText} ) : null}
{filename ? ( {filename} ) : null} {fileSize ? ( {fileSize} ) : null}
); } ); export const FileUpload = FileUploadRoot;