UNPKG

1.17 kBTypeScriptView Raw
1import * as React from 'react';
2
3type ItemT = any;
4type mapItemToNode = (item: ItemT) => React.ReactNode;
5type mapItemToString = (item: ItemT) => string;
6
7export type MainNavItemT = {
8 active?: boolean;
9 icon?: React.ComponentType<any>;
10 item: ItemT;
11 mapItemToNode?: mapItemToNode;
12 mapItemToString: mapItemToString;
13 nav?: MainNavItemT[];
14 navExitIcon?: React.ComponentType<any>;
15};
16
17export type UserNavItemT = {
18 active?: boolean;
19 icon?: React.ComponentType<any>;
20 item: ItemT;
21 mapItemToNode?: mapItemToNode;
22 mapItemToString: mapItemToString;
23};
24
25export interface AppNavBarPropsT {
26 appDisplayName?: React.ReactNode;
27 // eslint-disable-next-line flowtype/no-weak-type;
28 mainNav?: MainNavItemT[];
29 isNavItemActive: (params: {item: MainNavItemT | UserNavItemT}) => boolean;
30 onNavItemSelect: (params: {item: MainNavItemT | UserNavItemT}) => any;
31 userNav?: UserNavItemT[];
32 username?: string;
33 usernameSubtitle?: React.ReactNode;
34 userImgUrl?: string;
35}
36
37export interface POSITION {
38 horizontal: 'horizontal';
39 vertical: 'vertical';
40}
41
42export class Unstable_AppNavBar extends React.Component<AppNavBarPropsT> {}
43export const POSITION: POSITION;