diff --git a/CLAUDE.md b/CLAUDE.md index b893a3c4..76ad2851 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -46,10 +46,18 @@ drag a JavaScript bundler along for a CSS file. ### go/ — module `kjol` Packages, imported as `kjol/`: `appenv basic chrono config csv dbutil finance httputil -l4g lexer security snailmail validation jsbundler tw`, plus the **gowasm** web-UI engine (`vdom` -`wasmruntime` `rsc` `wasmdevserver`, and `webui` — a Tailwind-styled component kit ported -from `jsruntime/uikit`; author components in pure Go compiled to WebAssembly; all -stdlib-only), and `cmd/{bundle,twcss,migrate,loc,passgen,typecheck,wasmgen}`. +l4g lexer security snailmail validation jsbundler tw`, plus the **gowasm** web-UI engine +(`wasmruntime` and its sub-packages `wasmruntime/vdom` + `wasmruntime/rsc`, `wasmdevserver`, +and `webui` — a Tailwind-styled component kit ported from `jsruntime/uikit`; author +components in pure Go compiled to WebAssembly; all stdlib-only), and +`cmd/{bundle,twcss,migrate,loc,passgen,typecheck,wasmgen}`. + +`vdom` and `rsc` are **sub-packages of `wasmruntime`** — imported as `kjol/wasmruntime/vdom` +and `kjol/wasmruntime/rsc` (the package names stay `vdom` / `rsc`, so call sites are still +`vdom.VNode`, `rsc.Mount`). They nest cleanly because `vdom` imports nothing and both `rsc` +and `wasmruntime` import only `vdom` — no child imports the parent, so there is no cycle. +`wasmgen` emits these import paths in the `*.gen.go` glue, so if they ever move again, its +templates move with them. `jsbundler` is the **JS** build (TSX → Solid → esbuild + the goja SSR bake). It was called `webbundler`. diff --git a/go/cmd/kjol-website/app/chart.go b/go/cmd/kjol-website/app/chart.go index 1543534e..477db853 100644 --- a/go/cmd/kjol-website/app/chart.go +++ b/go/cmd/kjol-website/app/chart.go @@ -1,7 +1,7 @@ package app import ( - . "kjol/vdom" + . "kjol/wasmruntime/vdom" ui "kjol/webui" ) diff --git a/go/cmd/kjol-website/app/clayer.go b/go/cmd/kjol-website/app/clayer.go index e7807b6e..7ebb1a53 100644 --- a/go/cmd/kjol-website/app/clayer.go +++ b/go/cmd/kjol-website/app/clayer.go @@ -1,7 +1,7 @@ package app import ( - . "kjol/vdom" + . "kjol/wasmruntime/vdom" ) // The C layer's documentation. @@ -471,7 +471,7 @@ const unityTUSnippet = `// The whole layer, as one translation unit — the only // compiler. Order matters: it is textual inclusion, not linking. #include "base/base_inc.c" // core, arena, strings. Everything below needs it. -// The five backends declare their helpers `+ "`internal`" + ` (file-static), so they +// The five backends declare their helpers ` + "`internal`" + ` (file-static), so they // belong in the SAME TU as the dispatch that calls them. #include "lexer/lexer.c" #include "lexer/lexer_c.c" @@ -488,7 +488,7 @@ const unityTUSnippet = `// The whole layer, as one translation unit — the only // ...and then your own program, compiled with all of it: #include "app/app.c"` -const baseCoreSnippet = `// The three meanings of `+ "`static`" + ` in C, given three names. +const baseCoreSnippet = `// The three meanings of ` + "`static`" + ` in C, given three names. #define internal static // a function private to this file #define global static // a variable owned by this translation unit #define local_persist static // a local that survives the call diff --git a/go/cmd/kjol-website/app/client.gen.go b/go/cmd/kjol-website/app/client.gen.go index 9e2daa73..3cbe2f6d 100644 --- a/go/cmd/kjol-website/app/client.gen.go +++ b/go/cmd/kjol-website/app/client.gen.go @@ -5,8 +5,8 @@ package app import ( - "kjol/rsc" - "kjol/vdom" + "kjol/wasmruntime/rsc" + "kjol/wasmruntime/vdom" ) // ServerCounter is a generated client stub for the server component of the same name. diff --git a/go/cmd/kjol-website/app/components.go b/go/cmd/kjol-website/app/components.go index 9ad4fbc2..782d4cb0 100644 --- a/go/cmd/kjol-website/app/components.go +++ b/go/cmd/kjol-website/app/components.go @@ -4,8 +4,8 @@ import ( "strings" "time" - . "kjol/vdom" "kjol/wasmruntime" + . "kjol/wasmruntime/vdom" ui "kjol/webui" ) diff --git a/go/cmd/kjol-website/app/data.go b/go/cmd/kjol-website/app/data.go index 2372cfd4..fa7a1d5c 100644 --- a/go/cmd/kjol-website/app/data.go +++ b/go/cmd/kjol-website/app/data.go @@ -5,7 +5,7 @@ import ( "strings" "kjol/httputil" - . "kjol/vdom" + . "kjol/wasmruntime/vdom" ui "kjol/webui" ) diff --git a/go/cmd/kjol-website/app/docs.go b/go/cmd/kjol-website/app/docs.go index 886b1bf2..bfdfb988 100644 --- a/go/cmd/kjol-website/app/docs.go +++ b/go/cmd/kjol-website/app/docs.go @@ -4,7 +4,7 @@ import ( "strings" "kjol/lexer" // syntax highlighting for the code blocks — a string in, HTML out - . "kjol/vdom" + . "kjol/wasmruntime/vdom" // The host API is dual-build — real under js/wasm, no-ops natively — so neutral page // code can measure the browser and still server-render. This page uses it for exactly // one thing: reading the clock when hydration commits. diff --git a/go/cmd/kjol-website/app/golayer.go b/go/cmd/kjol-website/app/golayer.go index 63fce230..d0a33f00 100644 --- a/go/cmd/kjol-website/app/golayer.go +++ b/go/cmd/kjol-website/app/golayer.go @@ -1,7 +1,7 @@ package app import ( - . "kjol/vdom" + . "kjol/wasmruntime/vdom" ui "kjol/webui" ) diff --git a/go/cmd/kjol-website/app/layers.go b/go/cmd/kjol-website/app/layers.go index ef1e7c1c..002cf84e 100644 --- a/go/cmd/kjol-website/app/layers.go +++ b/go/cmd/kjol-website/app/layers.go @@ -3,7 +3,7 @@ package app import ( "strings" - . "kjol/vdom" + . "kjol/wasmruntime/vdom" ui "kjol/webui" ) diff --git a/go/cmd/kjol-website/app/pages.go b/go/cmd/kjol-website/app/pages.go index e3fd7943..846831ea 100644 --- a/go/cmd/kjol-website/app/pages.go +++ b/go/cmd/kjol-website/app/pages.go @@ -15,7 +15,7 @@ import ( "strconv" "strings" - . "kjol/vdom" + . "kjol/wasmruntime/vdom" ui "kjol/webui" ) diff --git a/go/cmd/kjol-website/app/routes.gen.go b/go/cmd/kjol-website/app/routes.gen.go index 4f99beb9..675a4feb 100644 --- a/go/cmd/kjol-website/app/routes.gen.go +++ b/go/cmd/kjol-website/app/routes.gen.go @@ -1,7 +1,7 @@ // Code generated by wasmgen. DO NOT EDIT. package app -import "kjol/vdom" +import "kjol/wasmruntime/vdom" // Routes maps each //gowasm:page path to its instantiated render function. func Routes(d Deps) map[string]func() *vdom.VNode { diff --git a/go/cmd/kjol-website/app/server.gen.go b/go/cmd/kjol-website/app/server.gen.go index f5a12724..8c1fc384 100644 --- a/go/cmd/kjol-website/app/server.gen.go +++ b/go/cmd/kjol-website/app/server.gen.go @@ -4,7 +4,7 @@ package app -import "kjol/rsc" +import "kjol/wasmruntime/rsc" func init() { rsc.Register("ServerCounter", ServerCounter) diff --git a/go/cmd/kjol-website/app/server_counter.go b/go/cmd/kjol-website/app/server_counter.go index 155d99a1..17da298f 100644 --- a/go/cmd/kjol-website/app/server_counter.go +++ b/go/cmd/kjol-website/app/server_counter.go @@ -6,7 +6,7 @@ import ( "strconv" "time" - . "kjol/vdom" + . "kjol/wasmruntime/vdom" ui "kjol/webui" ) diff --git a/go/cmd/kjol-website/app/ssr_test.go b/go/cmd/kjol-website/app/ssr_test.go index 2bc8f9df..492f9eec 100644 --- a/go/cmd/kjol-website/app/ssr_test.go +++ b/go/cmd/kjol-website/app/ssr_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "kjol/vdom" + "kjol/wasmruntime/vdom" "kjol/webui" ) diff --git a/go/cmd/kjol-website/app/table.go b/go/cmd/kjol-website/app/table.go index 609a0dfd..1a9bc7e4 100644 --- a/go/cmd/kjol-website/app/table.go +++ b/go/cmd/kjol-website/app/table.go @@ -1,7 +1,7 @@ package app import ( - . "kjol/vdom" + . "kjol/wasmruntime/vdom" ui "kjol/webui" ) diff --git a/go/cmd/kjol-website/app/tworuntimes_test.go b/go/cmd/kjol-website/app/tworuntimes_test.go index 85fcaea3..8a3757d1 100644 --- a/go/cmd/kjol-website/app/tworuntimes_test.go +++ b/go/cmd/kjol-website/app/tworuntimes_test.go @@ -4,7 +4,7 @@ import ( "strings" "testing" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // The two-runtime demo.s whole claim is that its two panes are ONE function: the live diff --git a/go/cmd/kjol-website/server/main.go b/go/cmd/kjol-website/server/main.go index 94457267..0b7d0e59 100644 --- a/go/cmd/kjol-website/server/main.go +++ b/go/cmd/kjol-website/server/main.go @@ -16,8 +16,8 @@ import ( "net/http" "kjol/httputil" - "kjol/vdom" "kjol/wasmdevserver" + "kjol/wasmruntime/vdom" "kjol/webui" "kjolwebsite/app" @@ -42,10 +42,10 @@ func main() { Watch: *watch, WatchDirs: []string{ "app", "wasm", "css", // the Go/WASM app - "frontend", // the Solid app — a .tsx save rebuilds the JS bundle - "../../webui", "../../vdom", "../../wasmruntime", "../../rsc", // the wasm engine - "../../lexer", // the code-block highlighter - "../../jsruntime/uikit", "../../jsruntime/styles", // the Solid kit + the shared theme + "frontend", // the Solid app — a .tsx save rebuilds the JS bundle + "../../webui", "../../wasmruntime", // the wasm engine (vdom + rsc now live UNDER wasmruntime, and the watcher walks subdirs) + "../../lexer", // the code-block highlighter + "../../jsruntime/uikit", "../../jsruntime/styles", // the Solid kit + the shared theme }, Build: build.All, BuildCSS: build.Tailwind, // a .css save skips codegen+wasm and hot-swaps the stylesheet diff --git a/go/cmd/kjol-website/wasm/main.go b/go/cmd/kjol-website/wasm/main.go index c90008fc..a5b35481 100644 --- a/go/cmd/kjol-website/wasm/main.go +++ b/go/cmd/kjol-website/wasm/main.go @@ -5,9 +5,9 @@ package main import ( - "kjolwebsite/app" - "kjol/vdom" "kjol/wasmruntime" + "kjol/wasmruntime/vdom" + "kjolwebsite/app" ) func main() { diff --git a/go/cmd/wasmgen/main.go b/go/cmd/wasmgen/main.go index c7bc93eb..5dd95c3a 100644 --- a/go/cmd/wasmgen/main.go +++ b/go/cmd/wasmgen/main.go @@ -155,7 +155,7 @@ func write(path, tmpl string, data genData) { const routesTmpl = `// Code generated by wasmgen. DO NOT EDIT. package app -import "kjol/vdom" +import "kjol/wasmruntime/vdom" // Routes maps each //gowasm:page path to its instantiated render function. func Routes(d Deps) map[string]func() *vdom.VNode { @@ -191,7 +191,7 @@ const serverTmpl = `// Code generated by wasmgen. DO NOT EDIT. package app -import "kjol/rsc" +import "kjol/wasmruntime/rsc" func init() { {{range .Servers}} rsc.Register("{{.}}", {{.}}) @@ -205,8 +205,8 @@ const clientTmpl = `// Code generated by wasmgen. DO NOT EDIT. package app import ( - "kjol/rsc" - "kjol/vdom" + "kjol/wasmruntime/rsc" + "kjol/wasmruntime/vdom" ) {{range .Servers}}// {{.}} is a generated client stub for the server component of the same name. diff --git a/go/wasmdevserver/devserver.go b/go/wasmdevserver/devserver.go index e6140208..0028fe3b 100644 --- a/go/wasmdevserver/devserver.go +++ b/go/wasmdevserver/devserver.go @@ -29,7 +29,7 @@ import ( "sync" "time" - "kjol/rsc" + "kjol/wasmruntime/rsc" ) // Config wires an app into the dev server. Render and Document are called per diff --git a/go/wasmruntime/host_native.go b/go/wasmruntime/host_native.go index 3a99d132..045d723c 100644 --- a/go/wasmruntime/host_native.go +++ b/go/wasmruntime/host_native.go @@ -2,7 +2,7 @@ package wasmruntime -import "kjol/vdom" +import "kjol/wasmruntime/vdom" // The server half of the host API (see host.go). Nothing here touches a browser, // because there isn't one: measurements are zero, listeners are never installed, diff --git a/go/wasmruntime/host_test.go b/go/wasmruntime/host_test.go index 111ea611..99116c8e 100644 --- a/go/wasmruntime/host_test.go +++ b/go/wasmruntime/host_test.go @@ -7,7 +7,7 @@ import ( "syscall/js" "testing" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // Run from kjol/go: diff --git a/go/wasmruntime/host_wasm.go b/go/wasmruntime/host_wasm.go index 65834287..10447445 100644 --- a/go/wasmruntime/host_wasm.go +++ b/go/wasmruntime/host_wasm.go @@ -5,7 +5,7 @@ package wasmruntime import ( "syscall/js" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // The browser half of the host API (see host.go for the contract and the two diff --git a/go/wasmruntime/hydrate_test.go b/go/wasmruntime/hydrate_test.go index c917e00c..c0a29e2b 100644 --- a/go/wasmruntime/hydrate_test.go +++ b/go/wasmruntime/hydrate_test.go @@ -7,7 +7,7 @@ import ( "syscall/js" "testing" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // buildServerDOM fakes what the HTML parser hands us: a real DOM tree, built from diff --git a/go/wasmruntime/mount.go b/go/wasmruntime/mount.go index e8faf4e6..be92e550 100644 --- a/go/wasmruntime/mount.go +++ b/go/wasmruntime/mount.go @@ -5,7 +5,7 @@ package wasmruntime import ( "syscall/js" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) var ( diff --git a/go/wasmruntime/persist_wasm.go b/go/wasmruntime/persist_wasm.go index dcea14ab..cc588b8a 100644 --- a/go/wasmruntime/persist_wasm.go +++ b/go/wasmruntime/persist_wasm.go @@ -5,7 +5,7 @@ package wasmruntime import ( "syscall/js" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // State preservation across an in-place hot swap (see the dev server's diff --git a/go/wasmruntime/props_test.go b/go/wasmruntime/props_test.go index a9d37284..b577f5be 100644 --- a/go/wasmruntime/props_test.go +++ b/go/wasmruntime/props_test.go @@ -6,7 +6,7 @@ import ( "syscall/js" "testing" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // Run from kjol/go: diff --git a/go/wasmruntime/reconcile.go b/go/wasmruntime/reconcile.go index 7e103961..b21ce622 100644 --- a/go/wasmruntime/reconcile.go +++ b/go/wasmruntime/reconcile.go @@ -8,7 +8,7 @@ package wasmruntime import ( "syscall/js" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) var document = js.Global().Get("document") diff --git a/go/wasmruntime/reconcile_test.go b/go/wasmruntime/reconcile_test.go index f434c706..0b61aae4 100644 --- a/go/wasmruntime/reconcile_test.go +++ b/go/wasmruntime/reconcile_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // The reconciler is wasm-only and needs a DOM, so these do not run under a plain diff --git a/go/wasmruntime/router.go b/go/wasmruntime/router.go index 832a53df..bd449ed2 100644 --- a/go/wasmruntime/router.go +++ b/go/wasmruntime/router.go @@ -5,7 +5,7 @@ package wasmruntime import ( "syscall/js" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // Router holds the current path in a signal, so reading Path() during render diff --git a/go/rsc/client_wasm.go b/go/wasmruntime/rsc/client_wasm.go similarity index 99% rename from go/rsc/client_wasm.go rename to go/wasmruntime/rsc/client_wasm.go index 920bed09..c22d32ed 100644 --- a/go/rsc/client_wasm.go +++ b/go/wasmruntime/rsc/client_wasm.go @@ -7,7 +7,7 @@ import ( "encoding/gob" "syscall/js" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // Mount connects to a server component by name and returns a render function. diff --git a/go/rsc/proto.go b/go/wasmruntime/rsc/proto.go similarity index 100% rename from go/rsc/proto.go rename to go/wasmruntime/rsc/proto.go diff --git a/go/rsc/server.go b/go/wasmruntime/rsc/server.go similarity index 99% rename from go/rsc/server.go rename to go/wasmruntime/rsc/server.go index b91b5037..70daa9dc 100644 --- a/go/rsc/server.go +++ b/go/wasmruntime/rsc/server.go @@ -8,7 +8,7 @@ import ( "sort" "sync" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // registry maps a server-component name to its factory (created by generated diff --git a/go/wasmruntime/style_test.go b/go/wasmruntime/style_test.go index 1aefed68..2a1972b8 100644 --- a/go/wasmruntime/style_test.go +++ b/go/wasmruntime/style_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // Floating.Panel and Modal both declare their initial inline style in the style diff --git a/go/wasmruntime/svg_test.go b/go/wasmruntime/svg_test.go index 592cfd2b..c6ebe713 100644 --- a/go/wasmruntime/svg_test.go +++ b/go/wasmruntime/svg_test.go @@ -5,7 +5,7 @@ package wasmruntime import ( "testing" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // An built with document.createElement() is NOT an SVG element — it is an diff --git a/go/vdom/events.go b/go/wasmruntime/vdom/events.go similarity index 100% rename from go/vdom/events.go rename to go/wasmruntime/vdom/events.go diff --git a/go/vdom/mode_native.go b/go/wasmruntime/vdom/mode_native.go similarity index 100% rename from go/vdom/mode_native.go rename to go/wasmruntime/vdom/mode_native.go diff --git a/go/vdom/mode_wasm.go b/go/wasmruntime/vdom/mode_wasm.go similarity index 100% rename from go/vdom/mode_wasm.go rename to go/wasmruntime/vdom/mode_wasm.go diff --git a/go/vdom/ref.go b/go/wasmruntime/vdom/ref.go similarity index 100% rename from go/vdom/ref.go rename to go/wasmruntime/vdom/ref.go diff --git a/go/vdom/signal.go b/go/wasmruntime/vdom/signal.go similarity index 100% rename from go/vdom/signal.go rename to go/wasmruntime/vdom/signal.go diff --git a/go/vdom/tags.go b/go/wasmruntime/vdom/tags.go similarity index 100% rename from go/vdom/tags.go rename to go/wasmruntime/vdom/tags.go diff --git a/go/vdom/vnode.go b/go/wasmruntime/vdom/vnode.go similarity index 100% rename from go/vdom/vnode.go rename to go/wasmruntime/vdom/vnode.go diff --git a/go/vdom/vnode_test.go b/go/wasmruntime/vdom/vnode_test.go similarity index 100% rename from go/vdom/vnode_test.go rename to go/wasmruntime/vdom/vnode_test.go diff --git a/go/webui/accordion.go b/go/webui/accordion.go index 2e9d65b7..e93518a3 100644 --- a/go/webui/accordion.go +++ b/go/webui/accordion.go @@ -1,6 +1,6 @@ package webui -import "kjol/vdom" +import "kjol/wasmruntime/vdom" // Port of web/kit/Accordion.tsx. // diff --git a/go/webui/alerts.go b/go/webui/alerts.go index 7d6a227b..b7761ef2 100644 --- a/go/webui/alerts.go +++ b/go/webui/alerts.go @@ -1,6 +1,6 @@ package webui -import "kjol/vdom" +import "kjol/wasmruntime/vdom" // Port of web/kit/Alerts.tsx. The TSX exports one component per color // (AlertWhite, AlertBlue, …); here that's Alert(color, header, children). diff --git a/go/webui/autotable.go b/go/webui/autotable.go index f15a53e1..86184045 100644 --- a/go/webui/autotable.go +++ b/go/webui/autotable.go @@ -43,8 +43,8 @@ import ( "strings" "time" - "kjol/vdom" "kjol/wasmruntime" + "kjol/wasmruntime/vdom" ) // ColumnPosition is a cell/header alignment (mirrors the TSX 0|1|2 union). diff --git a/go/webui/badges.go b/go/webui/badges.go index 9ddf907c..8a41b817 100644 --- a/go/webui/badges.go +++ b/go/webui/badges.go @@ -1,6 +1,6 @@ package webui -import "kjol/vdom" +import "kjol/wasmruntime/vdom" // Port of web/kit/Badges.tsx. diff --git a/go/webui/buttons.go b/go/webui/buttons.go index 4993e366..a71eef97 100644 --- a/go/webui/buttons.go +++ b/go/webui/buttons.go @@ -1,6 +1,6 @@ package webui -import "kjol/vdom" +import "kjol/wasmruntime/vdom" // Port of web/kit/Buttons.tsx. diff --git a/go/webui/calendar.go b/go/webui/calendar.go index 87c9f801..c9d817b6 100644 --- a/go/webui/calendar.go +++ b/go/webui/calendar.go @@ -5,7 +5,7 @@ import ( "strconv" "time" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // Day-of-week and month labels (module-level in the TSX). Prefixed to stay diff --git a/go/webui/cards.go b/go/webui/cards.go index c2fa5a2f..a034758c 100644 --- a/go/webui/cards.go +++ b/go/webui/cards.go @@ -1,6 +1,6 @@ package webui -import "kjol/vdom" +import "kjol/wasmruntime/vdom" // Port of web/kit/Cards.tsx. The `ui-card`/`no-flex` marker classes are kept so // any page CSS targeting them still applies; baseline styling is Tailwind. diff --git a/go/webui/cellgrid.go b/go/webui/cellgrid.go index 4787ab33..55b68e52 100644 --- a/go/webui/cellgrid.go +++ b/go/webui/cellgrid.go @@ -7,7 +7,7 @@ import ( "strconv" "strings" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // Port of web/kit/CellGrid.tsx — an editable, sortable spreadsheet-style grid. diff --git a/go/webui/chart.go b/go/webui/chart.go index 3555f459..7fd38869 100644 --- a/go/webui/chart.go +++ b/go/webui/chart.go @@ -24,8 +24,8 @@ import ( "strconv" "strings" - "kjol/vdom" "kjol/wasmruntime" + "kjol/wasmruntime/vdom" ) type ChartKind string diff --git a/go/webui/crmtabs.go b/go/webui/crmtabs.go index 1b9852eb..95191e55 100644 --- a/go/webui/crmtabs.go +++ b/go/webui/crmtabs.go @@ -3,7 +3,7 @@ package webui import ( "strconv" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // Port of web/kit/CrmTabs.tsx. diff --git a/go/webui/datepicker.go b/go/webui/datepicker.go index dbaf016f..19aeb211 100644 --- a/go/webui/datepicker.go +++ b/go/webui/datepicker.go @@ -22,8 +22,8 @@ import ( "strings" "time" - "kjol/vdom" "kjol/wasmruntime" + "kjol/wasmruntime/vdom" ) // -- Tailwind class strings, verbatim from DatePicker.tsx (cmd/twcss scans these) -- diff --git a/go/webui/envbadge.go b/go/webui/envbadge.go index a73605bc..2fe0162d 100644 --- a/go/webui/envbadge.go +++ b/go/webui/envbadge.go @@ -5,7 +5,7 @@ package webui import ( "strings" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // IsNonProdEnv reports whether env is a non-empty, non-production deployment diff --git a/go/webui/floating.go b/go/webui/floating.go index 07a83716..a32b7baa 100644 --- a/go/webui/floating.go +++ b/go/webui/floating.go @@ -3,8 +3,8 @@ package webui import ( "strconv" - "kjol/vdom" "kjol/wasmruntime" + "kjol/wasmruntime/vdom" ) // Floating is the live controller for one floating panel — the Go answer to the diff --git a/go/webui/forms.go b/go/webui/forms.go index 166b5ead..70dda058 100644 --- a/go/webui/forms.go +++ b/go/webui/forms.go @@ -4,8 +4,8 @@ import ( "strconv" "strings" - "kjol/vdom" "kjol/wasmruntime" + "kjol/wasmruntime/vdom" ) // Port of web/kit/Forms.tsx. Reactive accessors collapse to plain values, and diff --git a/go/webui/forms_async.go b/go/webui/forms_async.go index 3c2cbe1b..d90a7701 100644 --- a/go/webui/forms_async.go +++ b/go/webui/forms_async.go @@ -3,8 +3,8 @@ package webui import ( "strings" - "kjol/vdom" "kjol/wasmruntime" + "kjol/wasmruntime/vdom" ) // The three form controls the first pass left out, plus the two input masks. All of diff --git a/go/webui/forms_async_test.go b/go/webui/forms_async_test.go index a79431f7..1ab579d6 100644 --- a/go/webui/forms_async_test.go +++ b/go/webui/forms_async_test.go @@ -4,7 +4,7 @@ import ( "strings" "testing" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // ---- input masks ---- diff --git a/go/webui/forms_dropdown_test.go b/go/webui/forms_dropdown_test.go index 3f451436..cdc0f008 100644 --- a/go/webui/forms_dropdown_test.go +++ b/go/webui/forms_dropdown_test.go @@ -5,7 +5,7 @@ import ( "strings" "testing" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // fakeEvent is a vdom.Event with no DOM behind it — enough to drive Floating's diff --git a/go/webui/fuzzymatch.go b/go/webui/fuzzymatch.go index ca08624a..5a9a0950 100644 --- a/go/webui/fuzzymatch.go +++ b/go/webui/fuzzymatch.go @@ -6,7 +6,7 @@ import ( "strings" "unicode" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // Port of web/kit/FuzzyMatch.tsx. diff --git a/go/webui/general.go b/go/webui/general.go index a9456d2c..e0194fc4 100644 --- a/go/webui/general.go +++ b/go/webui/general.go @@ -1,6 +1,6 @@ package webui -import "kjol/vdom" +import "kjol/wasmruntime/vdom" // Port of web/kit/General.tsx. Anchor components render plain ; the app // wires SPA navigation on top (e.g. its layout nav uses Button/OnClick). diff --git a/go/webui/icons.go b/go/webui/icons.go index c5611cbe..a25ebd93 100644 --- a/go/webui/icons.go +++ b/go/webui/icons.go @@ -3,7 +3,7 @@ package webui import ( "strconv" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // Port of web/kit/Icons.tsx. The TSX resolves FontAwesome glyphs from an diff --git a/go/webui/icons_test.go b/go/webui/icons_test.go index acdd8467..1f85b25a 100644 --- a/go/webui/icons_test.go +++ b/go/webui/icons_test.go @@ -8,7 +8,7 @@ import ( "strings" "testing" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // An unregistered icon name renders as an empty box: right size, no glyph. Nothing diff --git a/go/webui/menu.go b/go/webui/menu.go index 4d4b1ce0..d7209b47 100644 --- a/go/webui/menu.go +++ b/go/webui/menu.go @@ -1,6 +1,6 @@ package webui -import "kjol/vdom" +import "kjol/wasmruntime/vdom" // Port of jsruntime/uikit/Menu.tsx, rebuilt on the Floating controller (floating.go). // diff --git a/go/webui/modal.go b/go/webui/modal.go index 91d840e7..77f21f2d 100644 --- a/go/webui/modal.go +++ b/go/webui/modal.go @@ -3,8 +3,8 @@ package webui import ( "strconv" - "kjol/vdom" "kjol/wasmruntime" + "kjol/wasmruntime/vdom" ) // Port of jsruntime/uikit/Modal.tsx. diff --git a/go/webui/popovers.go b/go/webui/popovers.go index dc3885d3..7bd0ed7a 100644 --- a/go/webui/popovers.go +++ b/go/webui/popovers.go @@ -27,7 +27,7 @@ // } package webui -import "kjol/vdom" +import "kjol/wasmruntime/vdom" const popoverCls = "bg-surface rounded-default shadow-lg border border-line" diff --git a/go/webui/prettytable.go b/go/webui/prettytable.go index f07c2131..ac5b9983 100644 --- a/go/webui/prettytable.go +++ b/go/webui/prettytable.go @@ -1,6 +1,6 @@ package webui -import "kjol/vdom" +import "kjol/wasmruntime/vdom" // Port of web/kit/PrettyTable.tsx. // diff --git a/go/webui/remoteupdateflash.go b/go/webui/remoteupdateflash.go index 11fc4a80..cf694ea2 100644 --- a/go/webui/remoteupdateflash.go +++ b/go/webui/remoteupdateflash.go @@ -2,7 +2,7 @@ package webui -import "kjol/vdom" +import "kjol/wasmruntime/vdom" // RemoteFlash is the trigger/signal pair from createRemoteFlash: Fire() shows // the flash, Visible() reports whether it is currently shown, and Clear() hides diff --git a/go/webui/sidebar.go b/go/webui/sidebar.go index a42ac2ba..bf218f09 100644 --- a/go/webui/sidebar.go +++ b/go/webui/sidebar.go @@ -2,7 +2,7 @@ package webui -import "kjol/vdom" +import "kjol/wasmruntime/vdom" const sidebarNavRoot = "bg-surface rounded-default shadow-sm border border-line py-2" const sidebarNavList = "list-none m-0 p-0" diff --git a/go/webui/signaturepad.go b/go/webui/signaturepad.go index c73c4996..c16267bb 100644 --- a/go/webui/signaturepad.go +++ b/go/webui/signaturepad.go @@ -4,8 +4,8 @@ import ( "strconv" "strings" - "kjol/vdom" "kjol/wasmruntime" + "kjol/wasmruntime/vdom" ) // Port of FormSignaturePad (jsruntime/uikit/Forms.tsx) — freehand signing. diff --git a/go/webui/signaturepad_test.go b/go/webui/signaturepad_test.go index 373aca51..cb4c28c3 100644 --- a/go/webui/signaturepad_test.go +++ b/go/webui/signaturepad_test.go @@ -4,7 +4,7 @@ import ( "strings" "testing" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // The pad's value IS the markup it shows — that is the whole reason it draws into an SVG diff --git a/go/webui/tabs.go b/go/webui/tabs.go index e6985ad9..28c9891c 100644 --- a/go/webui/tabs.go +++ b/go/webui/tabs.go @@ -4,7 +4,7 @@ import ( "strconv" "strings" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // Port of web/kit/Tabs.tsx. diff --git a/go/webui/theme.go b/go/webui/theme.go index 882841ed..0350e172 100644 --- a/go/webui/theme.go +++ b/go/webui/theme.go @@ -1,8 +1,8 @@ package webui import ( - "kjol/vdom" "kjol/wasmruntime" + "kjol/wasmruntime/vdom" ) // Dark mode. diff --git a/go/webui/toast.go b/go/webui/toast.go index d2bdf6b9..cade0c8f 100644 --- a/go/webui/toast.go +++ b/go/webui/toast.go @@ -3,8 +3,8 @@ package webui import ( "strconv" - "kjol/vdom" "kjol/wasmruntime" + "kjol/wasmruntime/vdom" ) // Port of jsruntime/uikit/Toast.tsx. diff --git a/go/webui/toggleswitch.go b/go/webui/toggleswitch.go index c2601945..38fb8c01 100644 --- a/go/webui/toggleswitch.go +++ b/go/webui/toggleswitch.go @@ -1,6 +1,6 @@ package webui -import "kjol/vdom" +import "kjol/wasmruntime/vdom" // Port of web/kit/ToggleSwitch.tsx. Reactive accessors collapse to plain values. diff --git a/go/webui/tooltips.go b/go/webui/tooltips.go index b6f3854a..56c3517e 100644 --- a/go/webui/tooltips.go +++ b/go/webui/tooltips.go @@ -35,7 +35,7 @@ // trigger lived inside, which yanked the trigger out from under the cursor. package webui -import "kjol/vdom" +import "kjol/wasmruntime/vdom" const tooltipCls = "bg-neutral-800 text-white text-sm px-2.5 py-1.5 rounded-default shadow-lg max-w-80 relative" diff --git a/go/webui/tutorial.go b/go/webui/tutorial.go index 494aec85..ea654879 100644 --- a/go/webui/tutorial.go +++ b/go/webui/tutorial.go @@ -3,8 +3,8 @@ package webui import ( "strconv" - "kjol/vdom" "kjol/wasmruntime" + "kjol/wasmruntime/vdom" ) // Port of jsruntime/uikit/Tutorial.tsx — a guided tour: it dims the page, cuts a diff --git a/go/webui/usheatmap.go b/go/webui/usheatmap.go index 48229bf6..762b01be 100644 --- a/go/webui/usheatmap.go +++ b/go/webui/usheatmap.go @@ -16,8 +16,8 @@ import ( "strconv" "strings" - "kjol/vdom" "kjol/wasmruntime" + "kjol/wasmruntime/vdom" ) // ── the albersUsa projection (ported from d3-geo; scale 1280, translate [480,300]) ────── diff --git a/go/webui/webui.go b/go/webui/webui.go index 1d09040c..44365d31 100644 --- a/go/webui/webui.go +++ b/go/webui/webui.go @@ -46,7 +46,7 @@ package webui import ( "strings" - "kjol/vdom" + "kjol/wasmruntime/vdom" ) // cx joins non-empty class fragments with single spaces (a tiny clsx). Trailing