import React from 'react'; import ReactDOM from 'react-dom'; import nodeTypes from 'rendering/types'; const layout = data => { if (typeof data == 'string') { return data; } const { type } = data; if (data.children) { data.children = data.children.map(layout); } return nodeTypes[type].layout({ props: {}, ...data }); }; const getBBox = content => { const container = document.createElement('div'); document.body.appendChild(container); ReactDOM.render( { content } , container); const box = container.querySelector('svg > g').getBBox(); document.body.removeChild(container); return box; }; export default layout; export { getBBox };