File System
retab-ui/file-systemFreeComponent
A document workspace over a flat object-store manifest with list, grid, columns, lazy folders, generated thumbnails, and FileViewer previews.
Install it
npx shadcn@latest add https://ui.retab.com/r/file-system.jsonSource
1"use client";23import * as React from "react";4import { AlertCircle, FileQuestion, RefreshCw } from "lucide-react";56import { cn } from "@/lib/utils";7import { Button } from "@/components/ui/button";8import { FileViewerPreview } from "@/components/ui/file-viewer";9import { Spinner } from "@/components/ui/spinner";1011import {12 FileSystemOpenPreview,13 useFileSystemOpenPreview,14} from "./file-system-open-preview-dialog";15import {16 FileSystemBrowser,17 FileSystemHeader,18 FileSystemSelection,19 useFileSystemBrowser,20 useFileSystemHeader,21 useFileSystemSelectedItem,22 useFileSystemSelectedSource,23 useFileSystemSelection,24 type FileSystemSelectionRenderState,25} from "./file-system-parts";26import {27 FILE_SYSTEM_COLUMNS_SIDEBAR_WIDTH,28 FILE_SYSTEM_SIDEBAR_WIDTH,29} from "./file-system-columns-view";30import { FileSystemProvider, useFileSystem } from "./file-system-provider";31import { FileSystemThumbnail } from "./file-system-thumbnail";32import type {33 FileSystemEntry,34 FileSystemFileItem,35 FileSystemProps,36} from "./file-system-types";37import {38 ViewerBody,39 ViewerHeader,40 ViewerRoot,41 ViewerSidebar,42 ViewerSurface,43} from "./viewer";4445export {46 FileSystemOpenPreview,47 FileSystemProvider,48 FileSystemBrowser,49 FileSystemHeader,50 FileSystemSelection,51 useFileSystem,52 useFileSystemBrowser,53 useFileSystemHeader,54 useFileSystemOpenPreview,55 useFileSystemSelectedItem,56 useFileSystemSelectedSource,57 useFileSystemSelection,58};5960export type {61 FileSystemFileItem,62 FileSystemFolderItem,63 FileSystemItem,64 FileSystemLoadChildrenArgs,65 FileSystemLoadChildrenResult,66 FileSystemProps,67 FileSystemQueryState,68 FileSystemResolveSourceArgs,69 FileSystemView,70} from "./file-system-types";71export type { FileSystemProviderProps } from "./file-system-provider";72export type {73 FileSystemBrowserPartState,74 FileSystemHeaderState,75 FileSystemSelectionRenderState,76 FileSystemSelectionState,77} from "./file-system-parts";7879export function FileSystem({ className, ...providerProps }: FileSystemProps) {80 return (81 <FileSystemProvider {...providerProps}>82 <FileSystemRoot className={className} />83 </FileSystemProvider>84 );85}8687function FileSystemRoot({ className }: { className?: string }) {88 const { browser } = useFileSystem();89 const sidebarWidth =90 browser.view === "columns"91 ? FILE_SYSTEM_COLUMNS_SIDEBAR_WIDTH92 : FILE_SYSTEM_SIDEBAR_WIDTH;9394 return (95 <div data-slot="file-system">96 <ViewerRoot97// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from retab-ui
All 130 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Alertalert | retab-ui | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | retab-ui | Components | Free | 1 dep | |
| Aspect Ratioaspect-ratio | retab-ui | Components | Free | no deps | |
| Attachment Sidebarattachment-sidebar | retab-ui | Components | Free | 1 dep | |
| Autocompleteautocomplete | retab-ui | Components | Free | 2 deps | |
| Calendarcalendar | retab-ui | Components | Free | 2 deps | |
| Code Viewercode-viewer | retab-ui | Components | Free | 2 deps · 32 files | |
| Commandcommand | retab-ui | Components | Free | 2 deps |
