collaborative-ui
Version:
React component library for building real-time collaborative editing applications.
26 lines (25 loc) • 1.53 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.NodeCard = void 0;
const tslib_1 = require("tslib");
const React = tslib_1.__importStar(require("react"));
const MiniTitle_1 = require("nice-ui/lib/3-list-item/MiniTitle");
const Space_1 = require("nice-ui/lib/3-list-item/Space");
const LogicalTimestamp_1 = require("../LogicalTimestamp");
const Code_1 = require("nice-ui/lib/1-inline/Code");
const CardLayout_1 = require("../CardLayout");
const CopyText_1 = require("../CopyText");
const NodeCard = ({ model, node, collapsed, children, right, onClose, onTitleClick }) => {
const api = model.api.wrap(node);
React.useSyncExternalStore(api.events.subscribe, () => model.tick);
return (React.createElement(CardLayout_1.CardLayout, { left: React.createElement(React.Fragment, null,
React.createElement(MiniTitle_1.MiniTitle, null, "Node"),
React.createElement(Space_1.Space, { horizontal: true, size: -2 }),
React.createElement(Code_1.Code, { size: -1, gray: true, nowrap: true, noBg: true }, node.name()),
"\u00A0",
React.createElement(LogicalTimestamp_1.LogicalTimestamp, { sid: node.id.sid, time: node.id.time })), right: right, onClose: onClose, onTitleClick: onTitleClick }, collapsed
? null
: (children ?? (React.createElement("pre", { style: { margin: 0, padding: 0, fontSize: '11px' } },
React.createElement(CopyText_1.CopyText, { src: () => node + '' }))))));
};
exports.NodeCard = NodeCard;