chonky
Version:
A File Browser component for React
104 lines (88 loc) • 2.28 kB
text/typescript
import React from 'react';
export enum ChonkyIconName {
// Misc
loading = 'loading',
dropdown = 'dropdown',
placeholder = 'placeholder',
// File Actions: Drag & drop
dndDragging = 'dndDragging',
dndCanDrop = 'dndCanDrop',
dndCannotDrop = 'dndCannotDrop',
// File Actions: File operations
openFiles = 'openFiles',
openParentFolder = 'openParentFolder',
copy = 'copy',
paste = 'paste',
share = 'share',
search = 'search',
selectAllFiles = 'selectAllFiles',
clearSelection = 'clearSelection',
// File Actions: Sorting & options
sortAsc = 'sortAsc',
sortDesc = 'sortDesc',
toggleOn = 'toggleOn',
toggleOff = 'toggleOff',
// File Actions: File Views
list = 'list',
compact = 'compact',
smallThumbnail = 'smallThumbnail',
largeThumbnail = 'largeThumbnail',
// File Actions: Unsorted
folder = 'folder',
folderCreate = 'folderCreate',
folderOpen = 'folderOpen',
folderChainSeparator = 'folderChainSeparator',
download = 'download',
upload = 'upload',
trash = 'trash',
fallbackIcon = 'fallbackIcon',
// File modifiers
symlink = 'symlink',
hidden = 'hidden',
// Generic file types
file = 'file',
license = 'license',
code = 'code',
config = 'config',
model = 'model',
database = 'database',
text = 'text',
archive = 'archive',
image = 'image',
video = 'video',
info = 'info',
key = 'key',
lock = 'lock',
music = 'music',
terminal = 'terminal',
users = 'users',
// OS file types
linux = 'linux',
ubuntu = 'ubuntu',
windows = 'windows',
// Programming language file types
rust = 'rust',
python = 'python',
nodejs = 'nodejs',
php = 'php',
// Development tools file types
git = 'git',
// Brands file types
adobe = 'adobe',
// Other program file types
pdf = 'pdf',
excel = 'excel',
word = 'word',
flash = 'flash',
}
export interface FileIconData {
icon: ChonkyIconName | string;
colorCode: number;
}
export interface ChonkyIconProps {
icon: ChonkyIconName | string;
spin?: boolean;
className?: string;
fixedWidth?: boolean;
style?: React.CSSProperties;
}