collaborative-ui
Version:
React component library for building real-time collaborative editing applications.
25 lines (24 loc) • 1.05 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.JsonBlockClickable = void 0;
const tslib_1 = require("tslib");
const React = tslib_1.__importStar(require("react"));
const nano_theme_1 = require("nano-theme");
const clickable_json_1 = require("clickable-json");
const select_1 = require("../../util/select");
const css = {
block: (0, nano_theme_1.rule)({
mr: 0,
pd: '4px 8px 1px 40px',
w: '100%',
bxz: 'border-box',
}),
};
const JsonBlockClickable = ({ value, path, compact, onChange }) => {
const view = React.useMemo(() => {
return (0, select_1.select)(value, path);
}, [value, path]);
return (React.createElement("div", { className: css.block, style: { paddingLeft: !!view && typeof view === 'object' ? undefined : '1px' } },
React.createElement(clickable_json_1.ClickableJson, { doc: view, compact: true, onChange: onChange, readonly: !onChange, collapsed: compact, fontSize: '12px' })));
};
exports.JsonBlockClickable = JsonBlockClickable;
;