@douyinfe/semi-ui
Version:
A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. Maintained by Douyin-fe team.
59 lines (58 loc) • 2.24 kB
TypeScript
import React from 'react';
import JsonViewerFoundation, { JsonViewerOptions, JsonViewerAdapter } from '@douyinfe/semi-foundation/lib/cjs/jsonViewer/foundation';
import '@douyinfe/semi-foundation/lib/cjs/jsonViewer/jsonViewer.css';
import BaseComponent, { BaseProps } from '../_base/baseComponent';
export type { JsonViewerOptions };
export interface JsonViewerProps extends BaseProps {
value: string;
width: number | string;
height: number | string;
showSearch?: boolean;
className?: string;
style?: React.CSSProperties;
onChange?: (value: string) => void;
renderTooltip?: (value: string, el: HTMLElement) => HTMLElement;
options?: JsonViewerOptions;
}
export interface JsonViewerState {
searchOptions: SearchOptions;
showSearchBar: boolean;
customRenderMap: Map<HTMLElement, React.ReactNode>;
}
export interface SearchOptions {
caseSensitive: boolean;
wholeWord: boolean;
regex: boolean;
}
declare class JsonViewerCom extends BaseComponent<JsonViewerProps, JsonViewerState> {
static defaultProps: Partial<JsonViewerProps>;
private editorRef;
private searchInputRef;
private replaceInputRef;
private isComposing;
foundation: JsonViewerFoundation;
constructor(props: JsonViewerProps);
componentDidMount(): void;
componentDidUpdate(prevProps: JsonViewerProps): void;
get adapter(): JsonViewerAdapter<JsonViewerProps, JsonViewerState>;
getValue(): string;
format(): void;
search(searchText: string, caseSensitive?: boolean, wholeWord?: boolean, regex?: boolean): void;
getSearchResults(): import("@douyinfe/semi-json-viewer-core/src/common/model").FindMatch[];
prevSearch(step?: number): void;
nextSearch(step?: number): void;
replace(replaceText: string): void;
replaceAll(replaceText: string): void;
getStyle(): {
width: string | number;
height: string | number;
};
searchHandler: () => void;
changeSearchOptions: (key: string) => void;
renderSearchBox(): React.JSX.Element;
renderSearchOptions(): React.JSX.Element;
renderSearchBar(): React.JSX.Element;
renderReplaceBar(): React.JSX.Element;
render(): React.JSX.Element;
}
export default JsonViewerCom;