"use client"
import * as React from "react"
import { FileText } from "lucide-react"
import prettyBytes from "pretty-bytes"
import { cn } from "@/lib/utils"
import { Button } from "@/components/ui/button"
import { Progress } from "@/components/ui/progress"
export const FileList = React.forwardRef<
React.ElementRef<"div">,
React.ComponentPropsWithoutRef<"div">
>(({ className, ...props }, ref) => (
))
FileList.displayName = "FileList"
export const FileListItem = React.forwardRef<
React.ElementRef<"div">,
React.ComponentPropsWithoutRef<"div">
>(({ className, ...props }, ref) => (
))
FileListItem.displayName = "FileListItem"
export const FileListHeader = React.forwardRef<
React.ElementRef<"div">,
React.ComponentPropsWithoutRef<"div">
>(({ className, ...props }, ref) => (
))
FileListHeader.displayName = "FileListHeader"
export const FileListIcon = React.forwardRef<
React.ElementRef<"div">,
React.ComponentPropsWithoutRef<"div">
>(({ className, children, ...props }, ref) => (
svg]:size-5",
className
)}
{...props}
>
{children ?? }
))
FileListIcon.displayName = "FileListIcon"
export const FileListInfo = React.forwardRef<
React.ElementRef<"div">,
React.ComponentPropsWithoutRef<"div">
>(({ className, ...props }, ref) => (
))
FileListInfo.displayName = "FileListInfo"
export const FileListName = React.forwardRef<
React.ElementRef<"p">,
React.ComponentPropsWithoutRef<"p">
>(({ className, ...props }, ref) => (
))
FileListName.displayName = "FileListName"
export const FileListDescription = React.forwardRef<
React.ElementRef<"div">,
React.ComponentPropsWithoutRef<"div">
>(({ className, ...props }, ref) => (
))
FileListDescription.displayName = "FileListDescription"
export const FileListDescriptionSeparator = React.forwardRef<
React.ElementRef<"span">,
React.ComponentPropsWithoutRef<"span">
>(({ children, ...props }, ref) => (
{children ?? "•"}
))
FileListDescriptionSeparator.displayName = "FileListDescriptionSeparator"
export interface FileListSizeProps
extends React.ComponentPropsWithoutRef<"span"> {
children: number
}
export const FileListSize = React.forwardRef<
React.ElementRef<"span">,
FileListSizeProps
>(({ children, ...props }, ref) => (
{prettyBytes(children)}
))
FileListSize.displayName = "FileListSize"
export const FileListProgress = React.forwardRef<
React.ElementRef,
React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
))
FileListProgress.displayName = "FileListProgress"
export const FileListDescriptionText = React.forwardRef<
React.ElementRef<"span">,
React.ComponentPropsWithoutRef<"span">
>(({ className, ...props }, ref) => (
svg]:size-3", className)}
{...props}
/>
))
FileListDescriptionText.displayName = "FileListDescriptionText"
export const FileListContent = React.forwardRef<
React.ElementRef<"div">,
React.ComponentPropsWithoutRef<"div">
>((props, ref) => )
FileListContent.displayName = "FileListContent"
export const FileListActions = React.forwardRef<
React.ElementRef<"div">,
React.ComponentPropsWithoutRef<"div">
>(({ className, ...props }, ref) => (
))
FileListActions.displayName = "FileListActions"
export const FileListAction = React.forwardRef<
React.ElementRef,
React.ComponentPropsWithoutRef
>(({ className, variant = "outline", size = "icon", ...props }, ref) => (
))
FileListAction.displayName = "FileListAction"