@uiw/react-json-view
Version:
JSON viewer for react.
124 lines • 4.28 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
var _excluded = ["className", "style", "value", "children", "collapsed", "shouldExpandNodeInitially", "indentWidth", "displayObjectSize", "shortenTextAfterLength", "stringEllipsis", "highlightUpdates", "enableClipboard", "displayDataTypes", "objectSortKeys", "onExpand", "onCopied"];
import { forwardRef } from 'react';
import { Provider } from "./store.js";
import { Container } from "./Container.js";
import { BraceLeft } from "./symbol/BraceLeft.js";
import { BraceRight } from "./symbol/BraceRight.js";
import { BracketsLeft } from "./symbol/BracketsLeft.js";
import { BracketsRight } from "./symbol/BracketsRight.js";
import { Arrow } from "./symbol/Arrow.js";
import { Colon } from "./symbol/Colon.js";
import { Quote } from "./symbol/Quote.js";
import { ValueQuote } from "./symbol/ValueQuote.js";
import { Bigint } from "./types/Bigint.js";
import { Date } from "./types/Date.js";
import { False } from "./types/False.js";
import { Float } from "./types/Float.js";
import { Int } from "./types/Int.js";
import { Map } from "./types/Map.js";
import { Nan } from "./types/Nan.js";
import { Null } from "./types/Null.js";
import { Set } from "./types/Set.js";
import { StringText } from "./types/String.js";
import { True } from "./types/True.js";
import { Undefined } from "./types/Undefined.js";
import { Url } from "./types/Url.js";
import { Copied } from "./section/Copied.js";
import { CountInfo } from "./section/CountInfo.js";
import { CountInfoExtra } from "./section/CountInfoExtra.js";
import { Ellipsis } from "./section/Ellipsis.js";
import { KeyName } from "./section/KeyName.js";
import { Row } from "./section/Row.js";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
export * from "./store.js";
export * from "./store/Expands.js";
export * from "./store/ShowTools.js";
export * from "./store/Symbols.js";
export * from "./store/Types.js";
export * from "./symbol/index.js";
var JsonView = /*#__PURE__*/forwardRef((props, ref) => {
var {
className = '',
style,
value,
children,
collapsed,
shouldExpandNodeInitially,
indentWidth = 15,
displayObjectSize = true,
shortenTextAfterLength = 30,
stringEllipsis,
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,
shouldExpandNodeInitially,
displayObjectSize,
collapsed,
enableClipboard,
shortenTextAfterLength,
stringEllipsis,
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;