ziko-wrapper
Version:
integrate zikojs elements within other ui framework like vue react solidjs svelte astro ...
22 lines (21 loc) • 710 B
JavaScript
import {createRoot} from "react-dom/client";
import { isValidElement,createElement } from "react";
import { UIElementom "ziko"
export const ReactWrapper = (Component, props = {}) => {
const container = document.createElement("div");
const root = createRoot(container);
const isJsx = isValidElement(Component);
root.render(isJsx ? Component : createElement(Component, props));
const ui = new UIElementtainer).style({
display : "contents"
}).setAttr({
dataWrapper : "react"
});
Object.defineProperty(ui, 'element', {
get() {
return this.__ele__.firstChild;
},
configurable: false,
});
return ui;
};