tsx-dom
Version:
A simple way to use tsx syntax to create native dom elements using document.createElement.
20 lines (19 loc) • 782 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.createRef = exports.h = void 0;
exports.createElement = createElement;
const setAttributes_1 = require("./setAttributes");
const utils_1 = require("./utils");
function createElement(tag, attrs, ...children) {
if (typeof tag === "function")
return tag({ ...attrs, children });
const { finalTag, finalAttrs } = (0, utils_1.applyTsxTag)(tag, attrs);
const element = (0, utils_1.createDomElement)(finalTag, finalAttrs);
if (finalAttrs)
(0, setAttributes_1.setAttributes)(element, finalAttrs);
(0, utils_1.applyChildren)(element, children);
return element;
}
exports.h = createElement;
const createRef = () => ({ current: null });
exports.createRef = createRef;
;