@jay-js/ui
Version:
A library of UI components for Jay JS with Tailwind CSS and daisyUI.
54 lines (53 loc) • 2.04 kB
JavaScript
function _define_property(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _object_spread(target) {
for(var i = 1; i < arguments.length; i++){
var source = arguments[i] != null ? arguments[i] : {};
var ownKeys = Object.keys(source);
if (typeof Object.getOwnPropertySymbols === "function") {
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
}));
}
ownKeys.forEach(function(key) {
_define_property(target, key, source[key]);
});
}
return target;
}
export function RenderElements({ data, targetElement }) {
if (!targetElement) {
targetElement = document.createElement("div");
}
targetElement.innerHTML = "";
function RenderElement(data, target) {
if (!Array.isArray(data)) return;
data.forEach((item)=>{
var _item_props, _item_props1;
const element = item.component(_object_spread({
id: item.id
}, item.props));
if (((_item_props = item.props) === null || _item_props === void 0 ? void 0 : _item_props.children) && ((_item_props1 = item.props) === null || _item_props1 === void 0 ? void 0 : _item_props1.children.length) > 0) {
var _item_component;
if (((_item_component = item.component) === null || _item_component === void 0 ? void 0 : _item_component.name) === "Section" || item.name === "Section") {
element.innerHTML = "";
}
RenderElement(item.props.children, element);
}
target.append(element);
});
}
RenderElement(data, targetElement);
return targetElement;
}