mirror of
https://github.com/ziex-dev/ziex.git
synced 2026-07-22 11:39:34 -06:00
84 lines
2.4 KiB
Zig
84 lines
2.4 KiB
Zig
pub fn Page(allocator: zx.Allocator) zx.Component {
|
|
var _zx = @import("zx").allocInit(allocator);
|
|
return _zx.ele(
|
|
.main,
|
|
.{
|
|
.allocator = allocator,
|
|
.children = &.{
|
|
_zx.cmp(
|
|
Wrapper,
|
|
.{},
|
|
.{ .children = _zx.ele(.fragment, .{ .children = &.{
|
|
_zx.ele(
|
|
.p,
|
|
.{
|
|
.children = &.{
|
|
_zx.txt("Wrapped content"),
|
|
},
|
|
},
|
|
),
|
|
} }) },
|
|
),
|
|
_zx.cmp(
|
|
Container,
|
|
.{},
|
|
.{ .children = _zx.ele(.fragment, .{ .children = &.{
|
|
_zx.ele(
|
|
.span,
|
|
.{
|
|
.children = &.{
|
|
_zx.txt("First"),
|
|
},
|
|
},
|
|
),
|
|
_zx.ele(
|
|
.span,
|
|
.{
|
|
.children = &.{
|
|
_zx.txt("Second"),
|
|
},
|
|
},
|
|
),
|
|
} }) },
|
|
),
|
|
},
|
|
},
|
|
);
|
|
}
|
|
|
|
const WrapperProps = struct { children: zx.Component };
|
|
fn Wrapper(allocator: zx.Allocator, props: WrapperProps) zx.Component {
|
|
var _zx = @import("zx").allocInit(allocator);
|
|
return _zx.ele(
|
|
.div,
|
|
.{
|
|
.allocator = allocator,
|
|
.attributes = _zx.attrs(.{
|
|
_zx.attr("class", "wrapper"),
|
|
}),
|
|
.children = &.{
|
|
_zx.expr(props.children),
|
|
},
|
|
},
|
|
);
|
|
}
|
|
|
|
const ContainerProps = struct { children: zx.Component };
|
|
fn Container(allocator: zx.Allocator, props: ContainerProps) zx.Component {
|
|
var _zx = @import("zx").allocInit(allocator);
|
|
return _zx.ele(
|
|
.section,
|
|
.{
|
|
.allocator = allocator,
|
|
.attributes = _zx.attrs(.{
|
|
_zx.attr("class", "container"),
|
|
}),
|
|
.children = &.{
|
|
_zx.expr(props.children),
|
|
},
|
|
},
|
|
);
|
|
}
|
|
|
|
const zx = @import("zx");
|