pub fn ImportDemo(allocator: zx.Allocator) zx.Component {
    return (
        <main @allocator={allocator}>
            <Button title="Click me" />
            <Card title="Welcome">
                <p>Card content here</p>
            </Card>
        </main>
    );
}

const zx = @import("zx");

// Define components in the same file
const ButtonProps = struct { title: []const u8 };
fn Button(a: zx.Allocator, props: ButtonProps) zx.Component {
    return (<button @allocator={a} class="btn">{props.title}</button>);
}

const CardProps = struct { title: []const u8, children: zx.Component };
fn Card(a: zx.Allocator, props: CardProps) zx.Component {
    return (
        <div @allocator={a} class="card">
            <h2>{props.title}</h2>
            {props.children}
        </div>
    );
}
