UNPKG

1.11 kBTypeScriptView Raw
1import * as React from 'react';
2
3export type NavItemT = {
4 active?: boolean;
5 icon?: React.ComponentType<any>;
6 info?: any;
7 label: string;
8 children?: NavItemT[];
9 navExitIcon?: React.ComponentType<any>;
10 navPosition?: {
11 desktop?: POSITION[keyof POSITION];
12 mobile?: POSITION[keyof POSITION];
13 };
14};
15
16export type UserMenuPropsT = {
17 userItems?: NavItemT[];
18 username?: string;
19 usernameSubtitle?: React.ReactNode;
20 userImgUrl?: string;
21 onUserItemSelect?: (item: NavItemT) => mixed;
22};
23
24export type AppNavBarPropsT = UserMenuPropsT & {
25 isMainItemActive?: (item: NavItemT) => boolean;
26 mainItems?: NavItemT[];
27 mapItemToNode?: (item: NavItemT) => React.ReactNode;
28 onMainItemSelect?: (item: NavItemT) => mixed;
29 title?: React.ReactNode;
30};
31
32export interface POSITION {
33 horizontal: 'horizontal';
34 vertical: 'vertical';
35}
36
37export class AppNavBar extends React.Component<AppNavBarPropsT> {}
38export const POSITION: POSITION;
39
40export const setItemActive: (
41 items: NavItemT[],
42 item: NavItemT,
43 getUniqueueIdentifier?: (currentItem: NavItemT) => string | number,
44) => NavItemT[];