@uiw/react-json-view
Version:
JSON viewer for react.
33 lines • 1.15 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
var _excluded = ["children", "onEdit", "editable"];
import { forwardRef } from 'react';
import JsonView from "../index.js";
import { KeyNameRender } from "./KeyName.js";
import { Context, Dispatch, useStoreReducer } from "./store.js";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
var JsonViewEditor = /*#__PURE__*/forwardRef((props, ref) => {
var {
children,
onEdit,
editable = true
} = props,
reset = _objectWithoutPropertiesLoose(props, _excluded);
var [state, dispatch] = useStoreReducer({
onEdit
});
return /*#__PURE__*/_jsx(Context.Provider, {
value: state,
children: /*#__PURE__*/_jsx(Dispatch.Provider, {
value: dispatch,
children: /*#__PURE__*/_jsxs(JsonView, _extends({}, reset, {
shortenTextAfterLength: 0,
ref: ref,
children: [editable && /*#__PURE__*/_jsx(JsonView.KeyName, {
render: KeyNameRender
}), children]
}))
})
});
});
export default JsonViewEditor;