json_as_html/src/demo.mjs

40 lines
672 B
JavaScript

import { json_as_html } from "./core.mjs";
const demo = [
"div",
[
["id", "wrapper"],
["class", "demo_div"],
],
[
["h1", [], "header :)"],
["p", [], "paragraph! meow"],
["p", [], "another paragraph!! this is so cool"],
state => ["button", [
["onclick", _ => {
state.set("clicked", true);
render();
}]
], "it can even do buttons!"],
state => ["p", [], state.get("clicked") ? "clicked" : "not clicked"],
["ul",
[],
[
["li", [], "meow"],
["li", [], "uwu"],
],
],
],
];
const state = new Map();
function render () {
document.body.innerHTML = "";
document.body.appendChild(json_as_html(demo, state));
}
render();