From 6f3c97812c6d0ff163567f5c257d4623bc274c69 Mon Sep 17 00:00:00 2001 From: MapleLeaf <19603573+itsMapleLeaf@users.noreply.github.com> Date: Sat, 25 Dec 2021 03:11:01 -0600 Subject: [PATCH] embeds + decentralized element definition --- playground/counter.tsx | 28 ++++++++++++- src.new/button.tsx | 73 ++++++++++++++++++++++++++++++++ src.new/components/button.tsx | 31 -------------- src.new/context.ts | 1 - src.new/embed.tsx | 44 ++++++++++++++++++++ src.new/jsx.d.ts | 5 ++- src.new/node.ts | 24 +++++++++-- src.new/reconciler.ts | 30 ++++++++++---- src.new/renderer.ts | 78 +++++++++++------------------------ src.new/text-node.ts | 4 -- src.new/text.ts | 8 ++++ src/jsx.d.ts | 21 ++++------ 12 files changed, 231 insertions(+), 116 deletions(-) create mode 100644 src.new/button.tsx delete mode 100644 src.new/components/button.tsx delete mode 100644 src.new/context.ts create mode 100644 src.new/embed.tsx delete mode 100644 src.new/text-node.ts create mode 100644 src.new/text.ts diff --git a/playground/counter.tsx b/playground/counter.tsx index 1f642c0..1925c19 100644 --- a/playground/counter.tsx +++ b/playground/counter.tsx @@ -1,12 +1,36 @@ import * as React from "react" -import { Button } from "../src.new/components/button.js" +import { Button } from "../src.new/button.js" +import { Embed } from "../src.new/embed.js" export function Counter() { const [count, setCount] = React.useState(0) + const [embedVisible, setEmbedVisible] = React.useState(false) + return ( <> this button was clicked {count} times -