@animech-public/chonky
Version:
A File Browser component for React
65 lines (64 loc) • 2.66 kB
TypeScript
import { Nullable } from 'tsdef';
import { Action, Store, ThunkAction, ThunkDispatch } from '@reduxjs/toolkit';
import { GenericFileActionHandler } from './action-handler.types';
import { FileActionMenuItem } from './action-menus.types';
import { FileAction, FileActionMap } from './action.types';
import { ContextMenuConfig } from './context-menu.types';
import { FileViewConfig } from './file-view.types';
import { FileArray, FileIdTrueMap, FileMap } from './file.types';
import { OptionMap } from './options.types';
import { FileSelection } from './selection.types';
import { SortOrder } from './sort.types';
import { CancelSearchCallback, SearchPredicate, SearchInputCallback } from './search.types';
import { RenamingSanitizer } from './rename.types';
export type RootState = {
instanceId: string;
externalFileActionHandler: Nullable<GenericFileActionHandler<FileAction>>;
rawFileActions: FileAction[] | any;
fileActionsErrorMessages: string[];
fileActionMap: FileActionMap;
fileActionIds: string[];
toolbarItems: FileActionMenuItem[];
contextMenuItems: FileActionMenuItem[];
rawFolderChain: Nullable<FileArray> | any;
folderChainErrorMessages: string[];
folderChain: FileArray;
rawFiles: FileArray | any;
filesErrorMessages: string[];
fileMap: FileMap;
fileIds: Nullable<string>[];
cleanFileIds: string[];
sortedFileIds: Nullable<string>[];
hiddenFileIdMap: FileIdTrueMap;
focusSearchInput: Nullable<() => void>;
onSearchInput: Nullable<SearchInputCallback>;
onCancelSearch: Nullable<CancelSearchCallback>;
searchPredicate: Nullable<SearchPredicate>;
searchString: string;
searchMode: 'currentFolder';
selectionMap: FileSelection;
disableSelection: boolean;
disableSimpleDeselection: boolean;
fileViewConfig: FileViewConfig;
sortActionId: Nullable<string>;
sortOrder: SortOrder;
optionMap: OptionMap;
sortCollator: Nullable<Intl.Collator>;
doubleClickDelay: number;
disableDragAndDrop: boolean;
clearSelectionOnOutsideClick: boolean;
forceEnableOpenParent: boolean;
hideToolbarInfo: boolean;
lastClick: Nullable<{
index: number;
fileId: string;
}>;
contextMenuMounted: boolean;
contextMenuConfig: Nullable<ContextMenuConfig>;
renamingFileId: Nullable<string>;
renamingSanitizer: Nullable<RenamingSanitizer>;
disableRenaming: boolean;
};
export type ChonkyThunk<ReturnType = void> = ThunkAction<ReturnType, RootState, null, Action<string>>;
export type ChonkyDispatch = ThunkDispatch<RootState, null, Action<string>>;
export type ChonkyStore = Store<RootState>;