Files
File manager screens with list and grid, uploads with a queue, previews with versions, sharing and storage.
Switch category
Marketing
- Hero17
- Features15
- Logo clouds8
- Stats8
- Pricing11
- Testimonials11
- Call to action11
- FAQ7
- Newsletter12
- Banners9
- Popups and consent7
- Services7
- Use cases6
- Security and trust7
- Changelog and roadmap6
- Launch and waitlist6
- Product tour6
- Press and awards10
- AI features6
- App download5
- Donations and support4
- Problem and solution5
- Objections5
- Calculators10
- Quiz and product finder5
- Free trial5
- Referral and partners10
- Community5
- Open source5
- Manifesto5
- Offer5
- Lead magnet4
- Scroll stories20
- Scroll journeys13
- Scroll effects13
- Scroll reveals and transitions15
Content
- Blog16
- Gallery7
- Team8
- About11
- Content8
- Process7
- Contact8
- Comparison5
- Integrations5
- Error pages5
- Careers7
- Case studies6
- Portfolio6
- Events and webinars6
- Help center6
- Legal pages5
- Documentation4
- Search results5
- Resources and downloads4
- Podcast4
- Editorial15
- Authors and interviews10
- Glossary5
- Recipes5
- Data stories10
- Long reads5
- Surveys and feedback14
- Form states12
- Request forms16
- Applications and sign-ups13
- Address, payment and consent12
App
- Authentication9
- Dashboards6
- Tables6
- Settings5
- AI and chat16
- Calendar5
- Inbox and messages5
- Notifications6
- Files6
- Projects6
- Profiles6
- Onboarding6
- Billing and usage10
- Developer settings15
- Security and access10
- Import, export and history15
- Automation and builders14
- AI answers18
- AI writing and creation13
- AI setup14
- AI assistants9
E-Commerce
Industries
- Menus7
- Appointments6
- Listings6
- Courses6
- Rooms and stays5
- Classes and schedules6
- Medical practice5
- Law firm5
- Salon and spa5
- Automotive5
- Travel5
- Sports club5
- Coworking5
- Museum5
- Cinema5
- School5
- Trades5
- Insurance5
- Banking5
- Personal brand15
- Speakers and media kits10
- Creators15
- Coaching and consulting10
- Artists and musicians15
- Dental practice5
- Veterinary practice5
- Therapy practice5
- Weddings and events5
- Architecture studio5
- Tax advisor5
- Estate agent5
- Florist5
- Winery5
- Daycare5
- Driving school5
- Care services5
- Festival5
Elements
- Buttons20
- Forms and inputs22
- Pickers and selections21
- Special input fields20
- Cards10
- Overlays21
- Navigation elements15
- Menu bars and switchers14
- Data display15
- Progress and states13
- Lists, trees and timelines17
- Charts22
- Comparison charts22
- Statistical charts20
- KPI, live and map charts22
- Text effects15
- Text accents16
- Backgrounds19
- Beams, particles and motion18
- Media19
- Code and JSON8
- Panels and splitters4
Files
Details
What Files brings along, read from the registry and the source.
- Area
- App
- Variants
- 6
- Version
- 1.0.2 · since 1.0.0
- File
- components/ui/files.tsx
- npm packages
- None
- Languages
- English and German, 137 texts of its own
- Studio
- Adjust in code
- Build with AI
- Over MCP in Claude, Cursor, Copilot and Codex
Props
The FilesProps interface from components/ui/files.tsx, with the comments from the code.
variantoptionalFilesVariantlistgriduploadpreviewshare-dialogstorage
sidebaroptionalOmit<SidebarProps, 'children'>The app frame, see Sidebar. Left out, the screen stands on its own.
titlerequiredstringsubtitleoptionalstringactionsoptionalReact.ReactNodeButtons next to the title
todayoptionalstringISO date of today, for "Today, 09:42"
breadcrumbsoptional{ label: string; href?: string }[]foldersoptionalFolderNode[]list: the folder tree
activeFolderoptionalstringfilesoptionalFileItem[]selectedoptionalstring[]Ids selected at the start
uploadsoptionalUploadItem[]upload
destinationoptionalstringdetailsoptionalFileDetailspreview
shareoptionalShareSettingsshare-dialog
storageoptionalStorageInfostorage
currencyoptionalstring
Built-in texts
Files writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.
Show all 137 texts
| Key | English | German |
|---|---|---|
| breadcrumbs | English Folder path | German Ordnerpfad |
| search | English Search files | German Dateien durchsuchen |
| folders | English Folders | German Ordner |
| name | English Name | German Name |
| owner | English Owner | German Besitzer |
| modified | English Modified | German Geändert |
| size | English Size | German Größe |
| sharing | English Sharing | German Freigabe |
| selectAll | English Select all files | German Alle Dateien auswählen |
| select | English Select {name} | German {name} auswählen |
| selected | English {n} selected | German {n} ausgewählt |
| clear | English Clear selection | German Auswahl aufheben |
| share | English Share | German Teilen |
| download | English Download | German Herunterladen |
| move | English Move | German Verschieben |
| delete | English Delete | German Löschen |
| more | English More actions for {name} | German Weitere Aktionen für {name} |
| onlyYou | English Only you | German Nur du |
| people | English {n} people | German {n} Personen |
| anyoneLink | English Anyone with the link | German Alle mit dem Link |
| items | English {n} items | German {n} Elemente |
| today | English Today | German Heute |
| yesterday | English Yesterday | German Gestern |
| deleted | English {n} files moved to the trash | German {n} Dateien in den Papierkorb verschoben |
| undo | English Undo | German Rückgängig |
| empty | English Nothing matches your search. | German Zu deiner Suche passt nichts. |
| sortBy | English Sort by | German Sortieren nach |
| sortName | English Name | German Name |
| sortModified | English Last modified | German Zuletzt geändert |
| sortSize | English Size | German Größe |
| view | English View | German Ansicht |
| gridView | English Grid | German Raster |
| listView | English List | German Liste |
| type | English Type | German Typ |
| all | English All | German Alle |
| images | English Images | German Bilder |
| documents | English Documents | German Dokumente |
| media | English Video and audio | German Video und Audio |
| starred | English Starred | German Markiert |
| play | English Play | German Abspielen |
| drop | English Drop files here to upload | German Dateien hier ablegen zum Hochladen |
| dropOr | English or | German oder |
| choose | English Choose files | German Dateien auswählen |
| chooseHint | English Files and folders up to 5 GB each | German Dateien und Ordner bis je 5 GB |
| chooseTouch | English Choose photos or files | German Fotos oder Dateien wählen |
| release | English Release to add them to the queue | German Loslassen, um sie einzureihen |
| queue | English Upload queue | German Warteschlange |
| uploadedOf | English {done} of {total} uploaded | German {done} von {total} hochgeladen |
| leftTime | English about {min} min left | German noch etwa {min} Min. |
| pauseAll | English Pause all | German Alle anhalten |
| resumeAll | English Resume all | German Alle fortsetzen |
| uploading | English {pct} · {speed}/s | German {pct} · {speed}/s |
| done | English Uploaded | German Hochgeladen |
| failed | English Failed | German Fehlgeschlagen |
| paused | English Paused at {pct} | German Angehalten bei {pct} |
| queued | English Waiting | German Wartet |
| retry | English Try again | German Wiederholen |
| resume | English Resume | German Fortsetzen |
| pause | English Pause | German Anhalten |
| remove | English Remove from queue | German Aus der Warteschlange nehmen |
| destination | English Upload to | German Hochladen nach |
| change | English Change folder | German Ordner ändern |
| options | English Upload options | German Optionen beim Hochladen |
| notify | English Tell the people in this folder | German Personen im Ordner benachrichtigen |
| versions | English Keep older versions | German Ältere Versionen behalten |
| compress | English Shrink large photos | German Große Fotos verkleinern |
| added | English {n} files added to the queue | German {n} Dateien eingereiht |
| back | English Back | German Zurück |
| zoomIn | English Zoom in | German Vergrößern |
| zoomOut | English Zoom out | German Verkleinern |
| page | English Page {n} of {total} | German Seite {n} von {total} |
| pages | English Pages | German Seiten |
| goPage | English Go to page {n} | German Zu Seite {n} |
| details | English Details | German Details |
| history | English Versions | German Versionen |
| comments | English Comments | German Kommentare |
| panel | English File information | German Dateiinformationen |
| showPanel | English Show file information | German Dateiinformationen zeigen |
| hidePanel | English Hide file information | German Dateiinformationen ausblenden |
| kind | English Type | German Typ |
| dimensions | English Format | German Format |
| created | English Created | German Erstellt |
| location | English Location | German Ort |
| tags | English Tags | German Schlagwörter |
| addTag | English Add tag | German Schlagwort hinzufügen |
| newTag | English New tag | German Neues Schlagwort |
| sharedWith | English Shared with | German Geteilt mit |
| current | English Current | German Aktuell |
| restore | English Restore | German Wiederherstellen |
| restored | English {label} is the current version again | German {label} ist wieder die aktuelle Version |
| comment | English Your comment | German Dein Kommentar |
| commentPlaceholder | English Write a comment | German Kommentar schreiben |
| post | English Post comment | German Kommentar senden |
| you | English You | German Du |
| shareTitle | English Share {name} | German {name} teilen |
| invite | English Invite people | German Personen einladen |
| invitePlaceholder | English Add an email address | German E-Mail-Adresse hinzufügen |
| inviteRole | English Role for invited people | German Rolle für Eingeladene |
| inviteBtn | English Invite | German Einladen |
| invalidEmail | English Enter a full email address, like name@company.com. | German Gib eine vollständige E-Mail-Adresse ein, etwa name@firma.de. |
| invited | English {email} can now {role} | German {email} darf jetzt {role} |
| withAccess | English People with access | German Personen mit Zugriff |
| role | English Role for {name} | German Rolle für {name} |
| roleOwner | English Owner | German Besitzer |
| roleEdit | English Can edit | German Darf bearbeiten |
| roleComment | English Can comment | German Darf kommentieren |
| roleView | English Can view | German Darf ansehen |
| removeAccess | English Remove access | German Zugriff entfernen |
| general | English General access | German Allgemeiner Zugriff |
| restricted | English Only people added | German Nur hinzugefügte Personen |
| restrictedHint | English Only the people above can open the file. | German Nur die Personen oben können die Datei öffnen. |
| org | English Anyone at {org} | German Alle bei {org} |
| orgHint | English Everyone in {org} can find and open it. | German Alle bei {org} können sie finden und öffnen. |
| link | English Anyone with the link | German Alle mit dem Link |
| linkHint | English No sign-in needed to open it. | German Zum Öffnen ist keine Anmeldung nötig. |
| linkRole | English What the link allows | German Was der Link erlaubt |
| expiry | English Link expires | German Link läuft ab |
| never | English Never | German Nie |
| days | English After {n} days | German Nach {n} Tagen |
| expiresOn | English Stops working on {date} | German Gilt bis {date} |
| copy | English Copy link | German Link kopieren |
| copied | English Link copied | German Link kopiert |
| doneBtn | English Done | German Fertig |
| close | English Close | German Schließen |
| shareLink | English Link to the file | German Link zur Datei |
| used | English {used} of {total} used | German {used} von {total} belegt |
| free | English Free | German Frei |
| byType | English Usage by type | German Belegung nach Typ |
| growth | English Last six months | German Letzte sechs Monate |
| cleanup | English Free up space | German Platz schaffen |
| canFree | English You can free up {size} | German Du kannst {size} freigeben |
| freed | English {size} freed | German {size} freigegeben |
| largest | English Largest files | German Größte Dateien |
| members | English Usage by person | German Belegung nach Person |
| plan | English Your plan | German Dein Tarif |
| perPeriod | English per {period} | German pro {period} |
| full | English At this pace your storage is full in about {n} months. | German In diesem Tempo ist dein Speicher in etwa {n} Monaten voll. |
Accessibility
Read from the source of the component.
- Files handles the keys Escape, Enter, Arrow up, Arrow down, Arrow left, Arrow right, Home, End, Delete and Space itself.
- Built on the native dialog element. The browser keeps focus inside and closes it with Escape.
- Sets aria-activedescendant, aria-autocomplete, aria-checked, aria-controls, aria-current, aria-describedby, aria-expanded, aria-haspopup, aria-invalid, aria-label, aria-labelledby, aria-level, aria-live, aria-pressed, aria-selected, aria-sort, aria-valuemax, aria-valuemin and aria-valuenow, so screen readers announce purpose and state.
- Uses the roles combobox, img, label, listbox, option, radio, radiogroup, status, switch, tab, tablist, tabpanel, tree and treeitem.
- Announces changes through a live region without moving focus.
- Every field has a label, visible or for screen readers.
- Adds text for screen readers where icons and graphics stand alone.
- Shows a visible focus ring when used with the keyboard.
- The server renders the starting state in full, JavaScript only adds the interaction.
Motion
- Rises in briefly the first time it comes into view (kit-rise, useInView).
- Brings animations of its own, calmly timed and without wobble.
- With reduced motion (prefers-reduced-motion) it stays still. 12 places in the code switch motion off then.
Frequent questions
How do I install Files?
With aiw add @ai-website/files. The command puts components/ui/files.tsx into your project, the code is yours from then on. It brings along button, icon and sidebar. It needs no further npm packages.
Which variants does Files have?
6 variants, List with folder tree, Thumbnail grid, Upload queue, Preview with details, Share dialog and Storage overview. You pick one with the variant prop, for example variant="grid".
Can I translate the texts of Files?
Yes. Files carries 137 texts of its own in English and German, such as “Folder path”, “Search files” and “Folders”. The language follows the KitProvider, single texts change through the labels prop.
Can an AI assistant build with Files?
Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find Files with aiw_components and install it with aiw_add @ai-website/files. Name the variant in your prompt, for example variant="list", and the assistant writes your content straight into the props.
Similar components, Often combined with
Similar components
More from App, the same area of the kit.
Often combined with
Sections that usually sit next to Files on a page.
Loading the source