Chonky v2.1.0 Docs
IntroductionInstallation & usageFile Browser demosMigrating from 1.xFAQ
Basics

Component hierarchy

You already saw the FullFileBrowser component on the Installation & usage page:

import { FullFileBrowser } from 'chonky';
export const MyFileBrowser = () => {
const files = [];
return <FullFileBrowser files={files} />;
};

FullFileBrowser is actually just a convenient shorthand to the code shown below. It is a good idea to use FullFileBrowser if you want all Chonky's features. Plus, using it means new components Chonky introduces will be automatically enabled in your app!

import {
FileBrowser,
FileContextMenu,
FileList,
FileNavbar,
FileToolbar,
} from 'chonky';
export const MyFileBrowser = () => {
const files = [];
return (
<FileBrowser files={files}>
<FileNavbar />
<FileToolbar />
<FileList />
<FileContextMenu />
</FileBrowser>
);
};

However, there are situations where you might want to disable some Chonky components, e.g. if you want to provide your own context menu.

The only required component is FileBrowser, which should appear on top level. All other components are optional - for example, if you just want to show a list of files, without toolbars or navigation, you would use:

<FileBrowser files={[]}>
<FileList />
</FileBrowser>

Power users might also want to provide their own implementations of different components. For example, someone could make a custom MyToolbar component by cloning Chonky's FileToolbar:

<FileBrowser files={[]}>
<MyToolbar />
<FileList />
</FileBrowser>

Component breakdown

  • FileBrowser - the top level component. It provides several React contexts for its children, including Redux store and JSS theme.
  • FileNavbar - navigation component. It shows the path to the current folder.
  • FileToolbar - main controls component. It contains a search bar and file action buttons.
  • FileList - file list component (duh). It shows files to users and lets them make selection or drag & drop things.
  • FileContextMenu - menu component. It provides the right-click menu with file actions.
Chonky component hierarchy
If you have a question, want to request a feature or report a bug, please create an issue on GitHub. You can also report inaccurate or unclear documentation on Chonky's Discord server.