UNPKG

1.71 kBTypeScriptView Raw
1import React from 'react';
2import PropTypes from 'prop-types';
3import { StylingFunction, StylingValue, Theme } from 'react-base16-styling';
4import { CircularPropsPassedThroughJSONTree } from './types';
5interface Props extends CircularPropsPassedThroughJSONTree {
6 data: any;
7 theme?: Theme;
8 invertTheme: boolean;
9}
10interface State {
11 styling: StylingFunction;
12}
13export default class JSONTree extends React.Component<Props, State> {
14 static propTypes: {
15 data: PropTypes.Requireable<any>;
16 hideRoot: PropTypes.Requireable<boolean>;
17 theme: PropTypes.Requireable<string | object>;
18 invertTheme: PropTypes.Requireable<boolean>;
19 keyPath: PropTypes.Requireable<(string | number | null | undefined)[]>;
20 postprocessValue: PropTypes.Requireable<(...args: any[]) => any>;
21 sortObjectKeys: PropTypes.Requireable<boolean | ((...args: any[]) => any)>;
22 };
23 static defaultProps: {
24 shouldExpandNode: (keyPath: (string | number)[], data: any, level: number) => boolean;
25 hideRoot: boolean;
26 keyPath: string[];
27 getItemString: (type: string, data: any, itemType: React.ReactNode, itemString: string) => JSX.Element;
28 labelRenderer: ([label]: (string | number)[]) => JSX.Element;
29 valueRenderer: (value: any) => any;
30 postprocessValue: (value: any) => any;
31 isCustomNode: () => boolean;
32 collectionLimit: number;
33 invertTheme: boolean;
34 };
35 constructor(props: Props);
36 UNSAFE_componentWillReceiveProps(nextProps: Props): void;
37 shouldComponentUpdate(nextProps: Props): boolean;
38 render(): JSX.Element;
39}
40export { StylingValue };