102 lines
3.2 KiB
TypeScript
102 lines
3.2 KiB
TypeScript
import {
|
|
CheckIcon,
|
|
ClockIcon,
|
|
FileTextIcon,
|
|
FileWarningIcon,
|
|
RefreshCwIcon,
|
|
XIcon,
|
|
} from "lucide-react"
|
|
|
|
import {
|
|
Attachment,
|
|
AttachmentAction,
|
|
AttachmentActions,
|
|
AttachmentContent,
|
|
AttachmentDescription,
|
|
AttachmentMedia,
|
|
AttachmentTitle,
|
|
} from "@/styles/radix-rhea/ui/attachment"
|
|
import { Spinner } from "@/styles/radix-rhea/ui/spinner"
|
|
|
|
export function AttachmentStates() {
|
|
return (
|
|
<div className="mx-auto flex w-full max-w-sm flex-col gap-2 py-12">
|
|
<Attachment state="idle" className="w-full">
|
|
<AttachmentMedia>
|
|
<ClockIcon />
|
|
</AttachmentMedia>
|
|
<AttachmentContent>
|
|
<AttachmentTitle>selected-file.pdf</AttachmentTitle>
|
|
<AttachmentDescription>Ready to upload</AttachmentDescription>
|
|
</AttachmentContent>
|
|
<AttachmentActions>
|
|
<AttachmentAction aria-label="Remove selected-file.pdf">
|
|
<XIcon />
|
|
</AttachmentAction>
|
|
</AttachmentActions>
|
|
</Attachment>
|
|
<Attachment state="uploading" className="w-full">
|
|
<AttachmentMedia>
|
|
<Spinner />
|
|
</AttachmentMedia>
|
|
<AttachmentContent>
|
|
<AttachmentTitle>design-system.zip</AttachmentTitle>
|
|
<AttachmentDescription>Uploading · 64%</AttachmentDescription>
|
|
</AttachmentContent>
|
|
<AttachmentActions>
|
|
<AttachmentAction aria-label="Cancel upload">
|
|
<XIcon />
|
|
</AttachmentAction>
|
|
</AttachmentActions>
|
|
</Attachment>
|
|
<Attachment state="processing" className="w-full">
|
|
<AttachmentMedia>
|
|
<FileTextIcon />
|
|
</AttachmentMedia>
|
|
<AttachmentContent>
|
|
<AttachmentTitle>market-research.pdf</AttachmentTitle>
|
|
<AttachmentDescription>Processing document</AttachmentDescription>
|
|
</AttachmentContent>
|
|
<AttachmentActions>
|
|
<AttachmentAction aria-label="Remove market-research.pdf">
|
|
<XIcon />
|
|
</AttachmentAction>
|
|
</AttachmentActions>
|
|
</Attachment>
|
|
<Attachment state="error" className="w-full">
|
|
<AttachmentMedia>
|
|
<FileWarningIcon />
|
|
</AttachmentMedia>
|
|
<AttachmentContent>
|
|
<AttachmentTitle>financial-model.xlsx</AttachmentTitle>
|
|
<AttachmentDescription>
|
|
Upload failed. Try again.
|
|
</AttachmentDescription>
|
|
</AttachmentContent>
|
|
<AttachmentActions>
|
|
<AttachmentAction aria-label="Retry upload">
|
|
<RefreshCwIcon />
|
|
</AttachmentAction>
|
|
<AttachmentAction aria-label="Remove financial-model.xlsx">
|
|
<XIcon />
|
|
</AttachmentAction>
|
|
</AttachmentActions>
|
|
</Attachment>
|
|
<Attachment state="done" className="w-full">
|
|
<AttachmentMedia>
|
|
<CheckIcon />
|
|
</AttachmentMedia>
|
|
<AttachmentContent>
|
|
<AttachmentTitle>uploaded-report.pdf</AttachmentTitle>
|
|
<AttachmentDescription>Uploaded · 1.8 MB</AttachmentDescription>
|
|
</AttachmentContent>
|
|
<AttachmentActions>
|
|
<AttachmentAction aria-label="Remove uploaded-report.pdf">
|
|
<XIcon />
|
|
</AttachmentAction>
|
|
</AttachmentActions>
|
|
</Attachment>
|
|
</div>
|
|
)
|
|
}
|