@uiw/react-json-view
Version:
JSON viewer for react.
120 lines • 4.01 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
var _excluded = ["className", "style", "value", "children", "collapsed", "indentWidth", "displayObjectSize", "shortenTextAfterLength", "highlightUpdates", "enableClipboard", "displayDataTypes", "objectSortKeys", "onExpand", "onCopied"];
import { forwardRef } from 'react';
import { Provider } from './store';
import { Container } from './Container';
import { BraceLeft } from './symbol/BraceLeft';
import { BraceRight } from './symbol/BraceRight';
import { BracketsLeft } from './symbol/BracketsLeft';
import { BracketsRight } from './symbol/BracketsRight';
import { Arrow } from './symbol/Arrow';
import { Colon } from './symbol/Colon';
import { Quote } from './symbol/Quote';
import { ValueQuote } from './symbol/ValueQuote';
import { Bigint } from './types/Bigint';
import { Date } from './types/Date';
import { False } from './types/False';
import { Float } from './types/Float';
import { Int } from './types/Int';
import { Map } from './types/Map';
import { Nan } from './types/Nan';
import { Null } from './types/Null';
import { Set } from './types/Set';
import { StringText } from './types/String';
import { True } from './types/True';
import { Undefined } from './types/Undefined';
import { Url } from './types/Url';
import { Copied } from './section/Copied';
import { CountInfo } from './section/CountInfo';
import { CountInfoExtra } from './section/CountInfoExtra';
import { Ellipsis } from './section/Ellipsis';
import { KeyName } from './section/KeyName';
import { Row } from './section/Row';
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
export * from './store';
export * from './store/Expands';
export * from './store/ShowTools';
export * from './store/Symbols';
export * from './store/Types';
export * from './symbol';
var JsonView = /*#__PURE__*/forwardRef((props, ref) => {
var {
className = '',
style,
value,
children,
collapsed,
indentWidth = 15,
displayObjectSize = true,
shortenTextAfterLength = 30,
highlightUpdates = true,
enableClipboard = true,
displayDataTypes = true,
objectSortKeys = false,
onExpand,
onCopied
} = props,
elmProps = _objectWithoutPropertiesLoose(props, _excluded);
var defaultStyle = _extends({
lineHeight: 1.4,
fontFamily: 'var(--w-rjv-font-family, Menlo, monospace)',
color: 'var(--w-rjv-color, #002b36)',
backgroundColor: 'var(--w-rjv-background-color, #00000000)',
fontSize: 13
}, style);
var cls = ['w-json-view-container', 'w-rjv', className].filter(Boolean).join(' ');
return /*#__PURE__*/_jsxs(Provider, {
initialState: {
value,
objectSortKeys,
indentWidth,
displayObjectSize,
collapsed,
enableClipboard,
shortenTextAfterLength,
highlightUpdates,
onCopied,
onExpand
},
initialTypes: {
displayDataTypes
},
children: [/*#__PURE__*/_jsx(Container, _extends({
value: value
}, elmProps, {
ref: ref,
className: cls,
style: defaultStyle
})), children]
});
});
JsonView.Bigint = Bigint;
JsonView.Date = Date;
JsonView.False = False;
JsonView.Float = Float;
JsonView.Int = Int;
JsonView.Map = Map;
JsonView.Nan = Nan;
JsonView.Null = Null;
JsonView.Set = Set;
JsonView.String = StringText;
JsonView.True = True;
JsonView.Undefined = Undefined;
JsonView.Url = Url;
JsonView.ValueQuote = ValueQuote;
JsonView.Arrow = Arrow;
JsonView.Colon = Colon;
JsonView.Quote = Quote;
JsonView.Ellipsis = Ellipsis;
JsonView.BraceLeft = BraceLeft;
JsonView.BraceRight = BraceRight;
JsonView.BracketsLeft = BracketsLeft;
JsonView.BracketsRight = BracketsRight;
JsonView.Copied = Copied;
JsonView.CountInfo = CountInfo;
JsonView.CountInfoExtra = CountInfoExtra;
JsonView.KeyName = KeyName;
JsonView.Row = Row;
JsonView.displayName = 'JVR.JsonView';
export default JsonView;