@nwebui/react-niagara-px
Version:
React Niagara Px View
29 lines • 987 B
JavaScript
import { createElement } from "react";
import { findBinding } from "./bindings";
import { findWidget } from "./widgets";
export default function render(widget, factory) {
const ts = widget.type.toString();
let type;
if (widget.is("bajaui:Widget")) {
if (factory) {
type = factory(widget) || findWidget(ts);
}
else {
type = findWidget(ts);
}
}
else if (widget.is("bajaui:Binding")) {
type = findBinding(ts);
}
const children = Array.from(widget.childComponents((c) => (c.is("bajaui:Widget") && !c.is("bajaui:ScrollBar")) ||
c.is("bajaui:Binding"))).map((c) => render(c, factory));
const props = {};
if (widget.is("bajaui:Widget")) {
props.nativeWidget = widget;
}
else if (widget.is("bajaui:Binding")) {
props.nativeBinding = widget;
}
return createElement(type, props, ...children);
}
//# sourceMappingURL=render.js.map