1 | import * as React from 'react';
|
2 | import {StyletronComponent} from 'styletron-react';
|
3 | import {Override} from '../overrides';
|
4 |
|
5 | export interface STATE_CHANGE_TYPE {
|
6 | change: 'change';
|
7 | }
|
8 |
|
9 | export interface Item {
|
10 | title: React.ReactNode;
|
11 | itemId?: string;
|
12 | subNav?: Item[];
|
13 | disabled?: boolean;
|
14 | }
|
15 |
|
16 | export interface NavigationOverrides {
|
17 | Root?: Override<any>;
|
18 | NavItemContainer?: Override<any>;
|
19 | NavLink?: Override<any>;
|
20 | NavItem?: Override<any>;
|
21 | SubNavContainer?: Override<any>;
|
22 | }
|
23 |
|
24 | export interface NavigationProps {
|
25 | activeItemId: string;
|
26 | activePredicate?: (item: any, activeItemId: string) => boolean;
|
27 | items?: Item[];
|
28 | onChange?: (args: {item: any; event: React.SyntheticEvent<any>}) => any;
|
29 | overrides?: NavigationOverrides;
|
30 | mapItem?: (item: Item) => Item;
|
31 | }
|
32 |
|
33 | export class Navigation extends React.Component<NavigationProps> {
|
34 | activePredicate(item: Item): boolean;
|
35 | }
|
36 |
|
37 | export interface NavItemOverrides {
|
38 | NavLink?: Override<any>;
|
39 | NavItem?: Override<any>;
|
40 | }
|
41 |
|
42 | export interface NavItemProps {
|
43 | $active?: boolean;
|
44 | $level?: number;
|
45 | $selectable?: boolean;
|
46 | item: Item;
|
47 | onSelect?: (args: {item: any; event: Event | KeyboardEvent}) => any;
|
48 | overrides?: NavItemOverrides;
|
49 | }
|
50 |
|
51 | export class NavItem extends React.Component<NavItemProps> {
|
52 | handleClick(event: React.MouseEvent): void;
|
53 | handleKeyDown(event: React.KeyboardEvent): void;
|
54 | }
|
55 |
|
56 | export const StyledRoot: StyletronComponent<any>;
|
57 | export const StyledNavItemContainer: StyletronComponent<any>;
|
58 | export const StyledNavLink: StyletronComponent<any>;
|
59 | export const StyledNavItem: StyletronComponent<any>;
|
60 | export const StyledSubNavContainer: StyletronComponent<any>;
|
61 |
|
62 | export const STATE_CHANGE_TYPE: STATE_CHANGE_TYPE;
|