collaborative-ui
Version:
React component library for building real-time collaborative editing applications.
28 lines (27 loc) • 916 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.CollaborativeInput = void 0;
const tslib_1 = require("tslib");
const React = tslib_1.__importStar(require("react"));
const collaborative_input_1 = require("collaborative-input");
const CollaborativeInput = ({ inp, str, polling, multiline, ...rest }) => {
const ref = React.useRef(null);
React.useEffect(() => {
const input = ref.current;
if (!input)
return;
const unbind = (0, collaborative_input_1.bind)(str, input, !!polling);
return () => {
unbind();
};
});
rest.ref = (el) => {
ref.current = el;
if (typeof inp === 'function')
inp(el);
else if (inp)
inp.current = el;
};
return React.createElement(multiline ? 'textarea' : 'input', rest);
};
exports.CollaborativeInput = CollaborativeInput;
;