// components/MergedWidget.ts import { Widget } from './Widget'; export class MergedWidget extends Widget { private children: Widget[] = []; constructor(sizeType: 'default' | 'icon' = 'default') { super(sizeType); } addWidget(widget: Widget): void { this.children.push(widget); } render(): HTMLElement { // Clear current container contents (in case render is called more than once) this.container.innerHTML = ''; for (const widget of this.children) { const rendered = widget.render(); // Move child nodes (not the container itself) while (rendered.firstChild) { this.container.appendChild(rendered.firstChild); } } return this.container; } }