HorizontalStack = (settings = {}) => {
if (settings.modules === undefined) return;
const modules = settings.modules;
const padding = settings.padding === undefined ? 0 : settings.padding;
const border = settings.border === undefined ? false : settings.border;
const root = d3.create('div')
.style('display', 'flex')
.style('flex-direction', 'row')
.style('margin-right', '200px');
for (let i = 0; i < modules.length; i++) {
const m = modules[i];
if (i != 0) m.style.marginLeft = `${padding / 2}px`;
m.style.marginRight = `${padding / 2}px`;
root.node().appendChild(m);
if (border && i < modules.length - 1) {
root.append('div')
.style('padding-right', '35px')
.style('margin-left', '35px')
.style('border-left', '1px solid Grey')
.style('margin-bottom', '5px')
}
}
return root.node();
}