The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/packages/livechat/svg-component-loader.js

25 lines
611 B

module.exports = (content) => `
var preact = require('preact');
var hooks = require('preact/hooks');
${content}
var attributes = module.exports.attributes;
var content = module.exports.content;
module.exports = function (props) {
var ref = hooks.useRef();
hooks.useEffect(function () {
var div = document.createElement('div');
div.innerHTML = '<svg>' + content + '</svg>';
var source = div.firstChild;
var dest = ref.current;
while (source.firstChild) {
dest && dest.appendChild(source.firstChild);
}
}, []);
return preact.h('svg', Object.assign({ ref: ref }, attributes, props));
};
`;