Beta
Search
CTRLK

FileList

The Filenest.FileList is used to retrieve and display your files.

The component must be used as a child of <Filenest.Root>

Example Usage

<Filenest.FileList
  children={({ files, isLoading }) => {
    if (isLoading) {
      return <div>Loading...</div>
    }
 
    return (
      <div>
        {files.length === 0 && <div>No files found.</div>}
        {files.map((File, index) => (
          <File.Root
            key={index}
            children={({ file, rootProps, state }) => (
              <div>
                <div {...rootProps}>{file.name}</div>
                <File.Delete
                  children={({ trigger, isDeleting }) => (
                    <button
                      onClick={trigger}
                      disabled={isDeleting}
                    >
                      Delete
                    </button>
                  )}
                />
              </div>
            )}
          />
        ))}
      </div>
    )
  }}
/>

Render Props

PropTypeDefault
files
Array<FileObject>
-
isLoading
boolean
-

Type References

FileObject

PropTypeDefault
Root
(props: FileProps) => JSX.Element
-
Delete
(props: DeleteActionProps) => JSX.Element
-

FileProps

PropTypeDefault
children
React.ReactNode | ((props: RenderProps) => React.ReactNode)
-

RenderProps

PropTypeDefault
file
FilenestFile
-
rootProps
React.ComponentPropsWithoutRef<'div'>
-
state
{ isLoading: boolean, isSelected: boolean }
-

DeleteActionProps

PropTypeDefault
children
React.ReactNode | ((props: RenderProps) => React.ReactNode)
-

RenderProps

PropTypeDefault
trigger
() => void
-
isDeleting
boolean
-

FilenestFile

PropTypeDefault
id
string
-
key
string
-
name
string | undefined
-
size
number
-
extension
string
-
updatedAt
string
-
url
string
-

On this page