@uiw/react-json-view
Version:
JSON viewer for react.
60 lines • 1.93 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
var _excluded = ["className", "children", "parentValue", "keyid", "level", "value", "initialValue", "keys", "keyName"];
import React, { forwardRef } from 'react';
import { NestedClose } from "./comps/NestedClose.js";
import { NestedOpen } from "./comps/NestedOpen.js";
import { KeyValues } from "./comps/KeyValues.js";
import { useIdCompat } from "./comps/useIdCompat.js";
import { useShowToolsDispatch } from "./store/ShowTools.js";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
export var Container = /*#__PURE__*/forwardRef((props, ref) => {
var {
className = '',
parentValue,
level = 1,
value,
initialValue,
keys,
keyName
} = props,
elmProps = _objectWithoutPropertiesLoose(props, _excluded);
var dispatch = useShowToolsDispatch();
var subkeyid = useIdCompat();
var defaultClassNames = [className, 'w-rjv-inner'].filter(Boolean).join(' ');
var reset = {
onMouseEnter: () => dispatch({
[subkeyid]: true
}),
onMouseLeave: () => dispatch({
[subkeyid]: false
})
};
return /*#__PURE__*/_jsxs("div", _extends({
className: defaultClassNames,
ref: ref
}, elmProps, reset, {
children: [/*#__PURE__*/_jsx(NestedOpen, {
expandKey: subkeyid,
value: value,
level: level,
keys: keys,
parentValue: parentValue,
keyName: keyName,
initialValue: initialValue
}), /*#__PURE__*/_jsx(KeyValues, {
expandKey: subkeyid,
value: value,
level: level,
keys: keys,
parentValue: parentValue,
keyName: keyName
}), /*#__PURE__*/_jsx(NestedClose, {
expandKey: subkeyid,
value: value,
level: level,
keys: keys
})]
}));
});
Container.displayName = 'JVR.Container';