@zextras/carbonio-shell-ui
Version:
The Zextras Carbonio web client
103 lines (102 loc) • 2.68 kB
TypeScript
import type { To } from 'react-router-dom';
import type { PanelMode } from '../apps';
export type HistoryParams = {
path: To;
route?: string;
} | string;
export type UtilityBarStore = {
mode: PanelMode;
setMode: (mode: PanelMode) => void;
current?: string;
setCurrent: (current: string) => void;
secondaryBarState: boolean;
setSecondaryBarState: (state: boolean) => void;
};
export type AccountProps = {
accountId?: string;
type?: string;
id?: number;
email?: string;
label?: string;
personaLabel?: string;
identityId?: string;
};
type Meta<T extends Record<string, unknown>> = {
section?: string;
_attrs: T;
};
export type Grant = {
perm: string;
gt: 'usr' | 'grp' | 'dom' | 'cos' | 'all' | 'guest' | 'key' | 'pub';
zid: string;
expiry?: string;
d?: string;
pw?: string;
key?: string;
};
export type SoapPolicy = {
type?: 'user' | 'system';
id?: string;
name?: string;
lifetime?: string;
};
export type SoapRetentionPolicy = Array<{
keep: Array<{
policy: SoapPolicy;
}>;
purge: Array<{
policy: SoapPolicy;
}>;
}>;
export type FolderView = 'search folder' | 'tag' | 'conversation' | 'message' | 'contact' | 'document' | 'appointment' | 'virtual conversation' | 'remote folder' | 'wiki' | 'task' | 'chat';
export type BaseFolder = {
id: string;
uuid: string;
name: string;
absFolderPath?: string;
l?: string;
luuid?: string;
f?: string;
color?: number;
rgb?: string;
u?: number;
i4u?: number;
view?: FolderView;
rev?: number;
ms?: number;
md?: number;
n?: number;
i4n?: number;
s?: number;
i4ms?: number;
i4next?: number;
url?: string;
activesyncdisabled: boolean;
webOfflineSyncDays?: number;
perm?: string;
recursive: boolean;
rest?: string;
deletable: boolean;
meta?: Array<Meta<Record<string, unknown>>>;
acl?: {
grant: Array<Grant>;
};
retentionPolicy?: SoapRetentionPolicy;
checked?: boolean;
};
export type LinkFolderFields = {
owner?: string;
zid?: string;
rid?: string;
ruuid?: string;
oname?: string;
reminder: boolean;
broken: boolean;
};
export type SearchFolderFields = {
query?: string;
sortBy?: SortBy;
types?: string;
};
export type SortBy = 'dateDesc' | 'dateAsc' | 'idDesc' | 'idAsc' | 'subjDesc' | 'subjAsc' | 'nameDesc' | 'nameAsc' | 'durDesc' | 'durAsc' | 'none' | 'taskDueAsc' | 'taskDueDesc' | 'taskStatusAsc' | 'taskStatusDesc' | 'taskPercCompletedAsc' | 'taskPercCompletedDesc' | 'rcptAsc' | 'rcptDesc' | 'readAsc' | 'readDesc';
export {};