@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
24 lines (23 loc) • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = BasicValue;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const material_1 = require("@mui/material");
const mui_1 = require("tss-react/mui");
const ui_1 = require("../../ui");
const util_1 = require("../../util");
const useStyles = (0, mui_1.makeStyles)()(theme => ({
fieldValue: {
wordBreak: 'break-word',
maxHeight: 300,
fontSize: 12,
padding: theme.spacing(0.5),
overflow: 'auto',
},
}));
function BasicValue({ value }) {
const { classes } = useStyles();
const isLink = /^https?:\/\//.exec(`${value}`);
return ((0, jsx_runtime_1.jsx)("div", { className: classes.fieldValue, children: (0, react_1.isValidElement)(value) ? (value) : isLink ? ((0, jsx_runtime_1.jsx)(material_1.Link, { href: `${value}`, children: `${value}` })) : ((0, jsx_runtime_1.jsx)(ui_1.SanitizedHTML, { html: (0, util_1.isObject)(value) ? JSON.stringify(value) : String(value) })) }));
}