Merge branch 'feat/inda-383-daily-stat' into 'main'
[ProtonMail-WebClient.git] / applications / drive / src / app / components / FileBrowser / interface.ts
blob2217270cadbfd681cd33f6271e16056cfad45187
1 import type React from 'react';
3 import type { SORT_DIRECTION } from '@proton/shared/lib/constants';
5 export interface DragMoveControls {
6     handleDragOver: (event: React.DragEvent<HTMLTableRowElement>) => void;
7     handleDrop: (e: React.DragEvent<HTMLTableRowElement>) => void;
8     handleDragLeave: () => void;
9     handleDragEnter: (e: React.DragEvent<HTMLTableRowElement>) => void;
10     dragging: boolean;
11     setDragging: (value: boolean) => void;
12     isActiveDropTarget: boolean;
13     selectedItems: FileBrowserBaseItem[];
16 export interface SortParams<T> {
17     sortField: T;
18     sortOrder: SORT_DIRECTION;
21 export interface ContextMenuProps {
22     anchorRef: React.RefObject<HTMLElement>;
23     children?: React.ReactNode;
24     isOpen: boolean;
25     position:
26         | {
27               top: number;
28               left: number;
29           }
30         | undefined;
31     open: () => void;
32     close: () => void;
35 export interface FileBrowserBaseItem {
36     id: string;
37     linkId: string;
38     isLocked?: boolean;
39     isInvitation?: boolean;
40     isBookmark?: boolean;
41     itemRowStyle?: React.CSSProperties;
44 export enum HeaderCellsPresets {
45     Checkbox,
46     Placeholder,
49 export interface ListViewHeaderItem {
50     type: string | HeaderCellsPresets;
51     text?: string;
52     props?: React.HTMLProps<HTMLDivElement>;
53     sorting?: boolean;
56 export type BrowserItemId = string;