From 1bc8849ed26928654051e1b978ee78eb4b041ebd Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 01:23:24 +0000 Subject: [PATCH 01/15] feat: add rightpanel layout - Implement RightPanel layout in `rightpanel/` sub-package. - Add `Module` interface for ID provision. - Implement `Render()` using `tinywasm/dom`. - Add `rightpanel.css` with responsive design. - Add SSR support via `ssr.go`. - Add unit tests in `rightpanel_test.go`. - Update root `layout.go` for package documentation. Co-authored-by: cdvelop <44058491+cdvelop@users.noreply.github.com> --- go.mod | 4 ++ go.sum | 4 ++ layout.go | 9 +-- rightpanel/rightpanel.css | 130 ++++++++++++++++++++++++++++++++++ rightpanel/rightpanel.go | 116 ++++++++++++++++++++++++++++++ rightpanel/rightpanel_test.go | 87 +++++++++++++++++++++++ rightpanel/ssr.go | 14 ++++ 7 files changed, 358 insertions(+), 6 deletions(-) create mode 100644 go.sum create mode 100644 rightpanel/rightpanel.css create mode 100644 rightpanel/rightpanel.go create mode 100644 rightpanel/rightpanel_test.go create mode 100644 rightpanel/ssr.go diff --git a/go.mod b/go.mod index 8403f74..43edaf2 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,7 @@ module github.com/tinywasm/layout go 1.25.2 + +require github.com/tinywasm/dom v0.7.0 + +require github.com/tinywasm/fmt v0.23.2 // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..ba05431 --- /dev/null +++ b/go.sum @@ -0,0 +1,4 @@ +github.com/tinywasm/dom v0.7.0 h1:drVhHRUptrBTLun/uZA3n+lbrS6vX5Q5iIDek2ZnGko= +github.com/tinywasm/dom v0.7.0/go.mod h1:9c27al9CgnLgQQg1CIhxbfxHSDeYP0R4MasOEW7O2bs= +github.com/tinywasm/fmt v0.23.2 h1:NWHfT3Lpi57V5yMytfCuyM65tqHBNrT5HDeqo+Nh//Q= +github.com/tinywasm/fmt v0.23.2/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= diff --git a/layout.go b/layout.go index 4c26c63..c380162 100644 --- a/layout.go +++ b/layout.go @@ -1,7 +1,4 @@ +// Package layout provides pre-built, consistent, reusable UI layout skeletons for +// tinywasm modules. A layout defines WHERE elements are placed (structure, grid, spacing) +// but NOT what those elements contain — that is the consumer's responsibility. package layout - -type Layout struct {} - -func New() *Layout { - return &Layout{} -} diff --git a/rightpanel/rightpanel.css b/rightpanel/rightpanel.css new file mode 100644 index 0000000..172b8a3 --- /dev/null +++ b/rightpanel/rightpanel.css @@ -0,0 +1,130 @@ +/* ── RightPanel layout tokens (with fallbacks) ───────────────── */ +:root { + --rp-title-height: var(--title-height, 8vh); + --rp-content-height: var(--content-height, 89vh); + --rp-controls-height: var(--controls-height, 3vh); + --rp-main-width: 66vw; + --rp-aside-width: 30vw; + --rp-gap: var(--mag-pri, 0.5rem); + --rp-border-color: var(--color-tertiary, #94a3b8); + --rp-bg: var(--color-gray, #f8fafc); + --rp-aside-bg: var(--color-quaternary,#1e293b); + --rp-title-color: var(--color-secondary, #7c3aed); +} + +/* ── Wrapper ─────────────────────────────────────────────────── */ +.rp-wrapper { + display: flex; + flex-direction: row; + width: 100%; + height: var(--rp-content-height); + overflow: hidden; +} + +/* ── Main section ────────────────────────────────────────────── */ +.rp-main { + display: grid; + grid-template-rows: + auto /* rp-header */ + 1fr; /* rp-article */ + width: var(--rp-main-width); + height: 100%; + overflow: hidden; + border-right: 0.1vw solid var(--rp-border-color); +} + +/* ── Header ──────────────────────────────────────────────────── */ +.rp-header { + display: flex; + flex-direction: column; + background: var(--rp-bg); + padding: var(--mag-sec, 0.2rem) var(--mag-pri, 0.5rem); +} + +.rp-title-row { + display: flex; + flex-direction: row; + align-items: center; + gap: var(--rp-gap); + min-height: var(--rp-title-height); +} + +.rp-title-row h1 { + font-size: 1.5rem; + color: var(--rp-title-color); + margin: 0; +} + +.rp-head-controls { + display: flex; + flex-direction: row; + align-items: center; + min-height: var(--rp-controls-height); + padding-bottom: var(--mag-sec, 0.2rem); +} + +/* ── Article ─────────────────────────────────────────────────── */ +.rp-article { + overflow-y: auto; + padding: var(--mag-pri, 0.5rem); + background: var(--color-gray, #f8fafc); + border-radius: 0.4em 0.4em 0 0; +} + +.rp-article::-webkit-scrollbar { width: 0.2em; background: none; } +.rp-article::-webkit-scrollbar-thumb { background: var(--color-tertiary, #94a3b8); border-radius: 0.1em; } + +/* ── Aside panel ─────────────────────────────────────────────── */ +.rp-aside { + display: grid; + grid-template-rows: + auto /* rp-aside-header */ + 1fr; /* rp-aside-content */ + width: var(--rp-aside-width); + height: 100%; + overflow: hidden; +} + +.rp-aside-header { + display: flex; + flex-direction: row; + align-items: center; + min-height: var(--rp-controls-height); + padding: var(--mag-sec, 0.2rem) var(--mag-pri, 0.5rem); + background: var(--rp-aside-bg); +} + +.rp-aside-content { + overflow-y: auto; + padding: var(--mag-pri, 0.5rem); + background: var(--rp-aside-bg); +} + +.rp-aside-content::-webkit-scrollbar { width: 0.2em; background: none; } +.rp-aside-content::-webkit-scrollbar-thumb { background: var(--color-tertiary, #94a3b8); border-radius: 0.1em; } + +/* ── Mobile (<640px): stack vertically ───────────────────────── */ +@media (max-width: 640px) { + .rp-wrapper { + flex-direction: column; + height: auto; + } + + .rp-main { + width: 100%; + height: auto; + } + + .rp-aside { + width: 100%; + height: auto; + } + + .rp-article { + overflow-y: visible; + } + + .rp-aside-content { + overflow-y: visible; + } +} diff --git a/rightpanel/rightpanel.go b/rightpanel/rightpanel.go new file mode 100644 index 0000000..16190f9 --- /dev/null +++ b/rightpanel/rightpanel.go @@ -0,0 +1,116 @@ +package rightpanel + +import "github.com/tinywasm/dom" + +// Module is the interface the consumer must satisfy to provide the layout ID. +// Any struct with a ModelName() string method qualifies (e.g. ORM model structs). +type Module interface { + ModelName() string +} + +// RightPanel is a two-column layout skeleton: +// - Left: main content area with header (title + controls) and article. +// - Right: aside panel with its own header (controls) and content. +// +// All slots are optional. A nil slot is simply not rendered. +// The layout does not define what the slots contain — that is the consumer's job. +// +// Usage: +// +// panel := &rightpanel.RightPanel{ +// Module: myModel, // implements ModelName() string +// Title: "Users", +// HeadControls: mySelectSearch, +// Article: myTable, +// AsideControls: myFilterBar, +// Aside: myDetailPanel, +// } +// panel.Render() +type RightPanel struct { + *dom.Element + + // Module provides the ID for the root wrapper element. + Module Module + + // Title is rendered as

in the header. + Title string + + // Head is rendered beside the

(e.g. status badge, icon). + Head dom.Component + + // HeadControls is rendered below the title row (e.g. select with search). + HeadControls dom.Component + + // Article is the main content area. + Article dom.Component + + // AsideControls is rendered at the top of the aside panel (e.g. search + filter). + AsideControls dom.Component + + // Aside is the content area of the aside panel (e.g. detail view, info card). + Aside dom.Component +} + +// Render builds the layout element tree. +// Implements dom.ViewRenderer. +func (r *RightPanel) Render() *dom.Element { + if r.Element == nil { + r.Element = &dom.Element{} + } + + // ── root wrapper ───────────────────────────────────────────────────────── + id := "" + if r.Module != nil { + id = r.Module.ModelName() + } + + wrapper := dom.Div().Class("rp-wrapper") + if id != "" { + wrapper.ID(id) + } + + // ── main section ───────────────────────────────────────────────────────── + main := dom.Section().Class("rp-main") + + // header row: title + Head slot + HeadControls slot + header := dom.Div().Class("rp-header") + + titleRow := dom.Div().Class("rp-title-row") + if r.Title != "" { + titleRow.Add(dom.H1().Text(r.Title)) + } + if r.Head != nil { + titleRow.Add(r.Head) + } + header.Add(titleRow) + + if r.HeadControls != nil { + header.Add(dom.Div().Class("rp-head-controls").Add(r.HeadControls)) + } + main.Add(header) + + // article + if r.Article != nil { + main.Add(dom.Article().Class("rp-article").Add(r.Article)) + } else { + main.Add(dom.Article().Class("rp-article")) + } + + wrapper.Add(main) + + // ── aside panel ────────────────────────────────────────────────────────── + if r.AsideControls != nil || r.Aside != nil { + aside := dom.Aside().Class("rp-aside") + + if r.AsideControls != nil { + aside.Add(dom.Div().Class("rp-aside-header").Add(r.AsideControls)) + } + if r.Aside != nil { + aside.Add(dom.Div().Class("rp-aside-content").Add(r.Aside)) + } + + wrapper.Add(aside) + } + + return wrapper +} diff --git a/rightpanel/rightpanel_test.go b/rightpanel/rightpanel_test.go new file mode 100644 index 0000000..d25d54e --- /dev/null +++ b/rightpanel/rightpanel_test.go @@ -0,0 +1,87 @@ +package rightpanel_test + +import ( + "strings" + "testing" + + "github.com/tinywasm/dom" + "github.com/tinywasm/layout/rightpanel" +) + +// stubModule implements Module for tests. +type stubModule struct{ name string } + +func (s stubModule) ModelName() string { return s.name } + +// stubComponent implements dom.Component for tests. +type stubComponent struct{ html string } + +func (s *stubComponent) GetID() string { return "stub" } +func (s *stubComponent) SetID(_ string) {} +func (s *stubComponent) RenderHTML() string { return s.html } +func (s *stubComponent) Children() []dom.Component { return nil } + +func TestRightPanel_RenderHTML_WithAllSlots(t *testing.T) { + panel := &rightpanel.RightPanel{ + Module: stubModule{"users"}, + Title: "Users", + Head: &stubComponent{"badge"}, + HeadControls: &stubComponent{""}, + Article: &stubComponent{"
"}, + AsideControls: &stubComponent{""}, + Aside: &stubComponent{""}, + } + + el := panel.Render() + html := el.RenderHTML() + + checks := []struct { + label, want string + }{ + {"root id", "id='users'"}, + {"wrapper class", "class='rp-wrapper'"}, + {"main class", "class='rp-main'"}, + {"header class", "class='rp-header'"}, + {"title row", "class='rp-title-row'"}, + {"h1 title", "

Users

"}, + {"Head slot", "badge"}, + {"HeadControls slot", ""}, + {"article class", "class='rp-article'"}, + {"Article slot", "
"}, + {"aside class", "class='rp-aside'"}, + {"aside header", "class='rp-aside-header'"}, + {"AsideControls slot", ""}, + {"aside content", "class='rp-aside-content'"}, + {"Aside slot", ""}, + } + + for _, c := range checks { + if !strings.Contains(html, c.want) { + t.Errorf("[%s] expected %q in HTML:\n%s", c.label, c.want, html) + } + } +} + +func TestRightPanel_RenderHTML_AsideOmittedWhenNil(t *testing.T) { + panel := &rightpanel.RightPanel{ + Module: stubModule{"orders"}, + Title: "Orders", + Article: &stubComponent{"
"}, + // No AsideControls, no Aside + } + + html := panel.Render().RenderHTML() + + if strings.Contains(html, "rp-aside") { + t.Error("expected rp-aside to be absent when both AsideControls and Aside are nil") + } +} + +func TestRightPanel_RenderHTML_NoModuleNoID(t *testing.T) { + panel := &rightpanel.RightPanel{Title: "No ID"} + html := panel.Render().RenderHTML() + + if strings.Contains(html, "id=") { + t.Error("expected no id attribute when Module is nil") + } +} diff --git a/rightpanel/ssr.go b/rightpanel/ssr.go new file mode 100644 index 0000000..cb9c489 --- /dev/null +++ b/rightpanel/ssr.go @@ -0,0 +1,14 @@ +//go:build !wasm + +package rightpanel + +import _ "embed" + +//go:embed rightpanel.css +var css string + +// RenderCSS implements dom.CSSProvider. +// tinywasm/site collects this during SSR to inject into . +func (r *RightPanel) RenderCSS() string { + return css +} From 87391f56c8135e99117a02bc6327b8a7f5102d0c Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Thu, 16 Apr 2026 11:18:24 -0400 Subject: [PATCH 02/15] deps: update fmt to v0.23.3 --- README.md | 1 + docs/{PLAN.md => CHECK_PLAN.md} | 0 docs/img/badges.svg | 83 +++++++++++++++++++++++++++++++++ go.mod | 2 +- go.sum | 4 +- 5 files changed, 87 insertions(+), 3 deletions(-) rename docs/{PLAN.md => CHECK_PLAN.md} (100%) create mode 100644 docs/img/badges.svg diff --git a/README.md b/README.md index 0b04a91..ecc6f02 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ # layout + Predefined UI layouts for tinywasm modules diff --git a/docs/PLAN.md b/docs/CHECK_PLAN.md similarity index 100% rename from docs/PLAN.md rename to docs/CHECK_PLAN.md diff --git a/docs/img/badges.svg b/docs/img/badges.svg new file mode 100644 index 0000000..989509e --- /dev/null +++ b/docs/img/badges.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + License + + MIT + + + + + + + + + Go + + 1.25.2 + + + + + + + + + Tests + + Passing + + + + + + + + + Coverage + + 96.9% + + + + + + + + + Race + + Clean + + + + + + + + + Vet + + OK + + + \ No newline at end of file diff --git a/go.mod b/go.mod index 43edaf2..38c63b6 100644 --- a/go.mod +++ b/go.mod @@ -4,4 +4,4 @@ go 1.25.2 require github.com/tinywasm/dom v0.7.0 -require github.com/tinywasm/fmt v0.23.2 // indirect +require github.com/tinywasm/fmt v0.23.3 // indirect diff --git a/go.sum b/go.sum index ba05431..af6fcd1 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ github.com/tinywasm/dom v0.7.0 h1:drVhHRUptrBTLun/uZA3n+lbrS6vX5Q5iIDek2ZnGko= github.com/tinywasm/dom v0.7.0/go.mod h1:9c27al9CgnLgQQg1CIhxbfxHSDeYP0R4MasOEW7O2bs= -github.com/tinywasm/fmt v0.23.2 h1:NWHfT3Lpi57V5yMytfCuyM65tqHBNrT5HDeqo+Nh//Q= -github.com/tinywasm/fmt v0.23.2/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= +github.com/tinywasm/fmt v0.23.3 h1:THlrMnZaxfRWh0++Klx7iHcEmfHGc2pX8uFk4PyYWBE= +github.com/tinywasm/fmt v0.23.3/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= From 96781fa1834c02c5a19bc7552f66fb35a6653639 Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Sat, 18 Apr 2026 10:10:58 -0400 Subject: [PATCH 03/15] deps: update fmt to v0.23.4 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 38c63b6..7b630c2 100644 --- a/go.mod +++ b/go.mod @@ -4,4 +4,4 @@ go 1.25.2 require github.com/tinywasm/dom v0.7.0 -require github.com/tinywasm/fmt v0.23.3 // indirect +require github.com/tinywasm/fmt v0.23.4 // indirect diff --git a/go.sum b/go.sum index af6fcd1..77f0bc7 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ github.com/tinywasm/dom v0.7.0 h1:drVhHRUptrBTLun/uZA3n+lbrS6vX5Q5iIDek2ZnGko= github.com/tinywasm/dom v0.7.0/go.mod h1:9c27al9CgnLgQQg1CIhxbfxHSDeYP0R4MasOEW7O2bs= -github.com/tinywasm/fmt v0.23.3 h1:THlrMnZaxfRWh0++Klx7iHcEmfHGc2pX8uFk4PyYWBE= -github.com/tinywasm/fmt v0.23.3/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= +github.com/tinywasm/fmt v0.23.4 h1:55wPqse8p66MW2U275OqNb48hjgIv92C28zr7tBVXig= +github.com/tinywasm/fmt v0.23.4/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= From 632ac28e7cef3012697e311c3413ef13d7be2f50 Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Tue, 21 Apr 2026 11:59:29 -0400 Subject: [PATCH 04/15] deps: update fmt to v0.23.5 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7b630c2..d2d14d2 100644 --- a/go.mod +++ b/go.mod @@ -4,4 +4,4 @@ go 1.25.2 require github.com/tinywasm/dom v0.7.0 -require github.com/tinywasm/fmt v0.23.4 // indirect +require github.com/tinywasm/fmt v0.23.5 // indirect diff --git a/go.sum b/go.sum index 77f0bc7..eb069ab 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ github.com/tinywasm/dom v0.7.0 h1:drVhHRUptrBTLun/uZA3n+lbrS6vX5Q5iIDek2ZnGko= github.com/tinywasm/dom v0.7.0/go.mod h1:9c27al9CgnLgQQg1CIhxbfxHSDeYP0R4MasOEW7O2bs= -github.com/tinywasm/fmt v0.23.4 h1:55wPqse8p66MW2U275OqNb48hjgIv92C28zr7tBVXig= -github.com/tinywasm/fmt v0.23.4/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= +github.com/tinywasm/fmt v0.23.5 h1:Z4KG6xQ0bvFXrJAKz/GjAb1FkLcH0Ckwmdn4KCXLnUo= +github.com/tinywasm/fmt v0.23.5/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= From 483cd48c94c23fc6adc267a7d2f3b139fa917963 Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Wed, 22 Apr 2026 13:01:04 -0400 Subject: [PATCH 05/15] deps: update dom to v0.7.1 --- docs/PLAN.md | 37 +++++++++++++++++++++++++++++++++++++ go.mod | 2 +- go.sum | 4 ++-- rightpanel/rightpanel.go | 3 +++ 4 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 docs/PLAN.md diff --git a/docs/PLAN.md b/docs/PLAN.md new file mode 100644 index 0000000..55e2bcd --- /dev/null +++ b/docs/PLAN.md @@ -0,0 +1,37 @@ +# PLAN: layout/rightpanel — Component slot embedding rule + +## Problem + +Passing a `dom.Component` implementor with a nil `*dom.Element` pointer to any RightPanel slot +(Head, HeadControls, Article, AsideControls, Aside) causes a nil pointer panic in `dom` during render. + +**Root cause:** documented in `tinywasm/dom/docs/PLAN.md`. Summary: `dom.renderToHTML` calls +`GetID()` on every Component child before rendering, which panics on a nil embedded pointer. + +## Rule for consumers of RightPanel + +All structs passed as RightPanel slots must embed `dom.Element` as a **value**, not a pointer. + +```go +// ❌ Will panic at runtime +type MyArticle struct { + *dom.Element + ... +} + +// ✅ Correct +type MyArticle struct { + dom.Element + ... +} +``` + +## Action items + +- [x] Add this rule to the RightPanel usage docs in `rightpanel.go` + - Added IMPORTANT note in RightPanel docstring referencing tinywasm/dom rules +- [ ] Add a compile-time or runtime check that rejects nil-embedded components + - Deferred: runtime guard in dom_frontend.go is sufficient for now +- [ ] Consider accepting `dom.ViewRenderer` instead of (or in addition to) `dom.Component` + for slots, since all practical consumers implement `Render() *dom.Element` + - Deferred: architectural decision, beyond immediate scope diff --git a/go.mod b/go.mod index d2d14d2..8fcacb5 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,6 @@ module github.com/tinywasm/layout go 1.25.2 -require github.com/tinywasm/dom v0.7.0 +require github.com/tinywasm/dom v0.7.1 require github.com/tinywasm/fmt v0.23.5 // indirect diff --git a/go.sum b/go.sum index eb069ab..9cfc0b8 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ -github.com/tinywasm/dom v0.7.0 h1:drVhHRUptrBTLun/uZA3n+lbrS6vX5Q5iIDek2ZnGko= -github.com/tinywasm/dom v0.7.0/go.mod h1:9c27al9CgnLgQQg1CIhxbfxHSDeYP0R4MasOEW7O2bs= +github.com/tinywasm/dom v0.7.1 h1:BFtUeZwRQU6ZN09odeWrNn2mJ8ImvDGEWLrVdnBJ9Uo= +github.com/tinywasm/dom v0.7.1/go.mod h1:/Ob8r/cDtjJzwKLXz9zaTeHG1FmxwEXCz45VDDMxiKo= github.com/tinywasm/fmt v0.23.5 h1:Z4KG6xQ0bvFXrJAKz/GjAb1FkLcH0Ckwmdn4KCXLnUo= github.com/tinywasm/fmt v0.23.5/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= diff --git a/rightpanel/rightpanel.go b/rightpanel/rightpanel.go index 16190f9..d944757 100644 --- a/rightpanel/rightpanel.go +++ b/rightpanel/rightpanel.go @@ -15,6 +15,9 @@ type Module interface { // All slots are optional. A nil slot is simply not rendered. // The layout does not define what the slots contain — that is the consumer's job. // +// IMPORTANT: All dom.Component implementors passed as slots MUST embed dom.Element as a value, +// not as a pointer. See tinywasm/dom interface.dom.go for details. +// // Usage: // // panel := &rightpanel.RightPanel{ From 86ffc9827816a86746258a0d776f50ebe0ec871c Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Wed, 22 Apr 2026 20:29:56 -0400 Subject: [PATCH 06/15] deps: update dom to v0.7.2 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8fcacb5..be515a0 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,6 @@ module github.com/tinywasm/layout go 1.25.2 -require github.com/tinywasm/dom v0.7.1 +require github.com/tinywasm/dom v0.7.2 require github.com/tinywasm/fmt v0.23.5 // indirect diff --git a/go.sum b/go.sum index 9cfc0b8..88577eb 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ -github.com/tinywasm/dom v0.7.1 h1:BFtUeZwRQU6ZN09odeWrNn2mJ8ImvDGEWLrVdnBJ9Uo= -github.com/tinywasm/dom v0.7.1/go.mod h1:/Ob8r/cDtjJzwKLXz9zaTeHG1FmxwEXCz45VDDMxiKo= +github.com/tinywasm/dom v0.7.2 h1:0Lxl5BSIh1tqp1ZXyuoU/W27O2m6hhktoNfKz1Y7wlU= +github.com/tinywasm/dom v0.7.2/go.mod h1:/Ob8r/cDtjJzwKLXz9zaTeHG1FmxwEXCz45VDDMxiKo= github.com/tinywasm/fmt v0.23.5 h1:Z4KG6xQ0bvFXrJAKz/GjAb1FkLcH0Ckwmdn4KCXLnUo= github.com/tinywasm/fmt v0.23.5/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= From 9d77721aa482fa78676760959222ef40abb73492 Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Thu, 23 Apr 2026 19:51:11 -0400 Subject: [PATCH 07/15] deps: update dom to v0.7.3 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index be515a0..b41e4dc 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,6 @@ module github.com/tinywasm/layout go 1.25.2 -require github.com/tinywasm/dom v0.7.2 +require github.com/tinywasm/dom v0.7.3 require github.com/tinywasm/fmt v0.23.5 // indirect diff --git a/go.sum b/go.sum index 88577eb..3112983 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ -github.com/tinywasm/dom v0.7.2 h1:0Lxl5BSIh1tqp1ZXyuoU/W27O2m6hhktoNfKz1Y7wlU= -github.com/tinywasm/dom v0.7.2/go.mod h1:/Ob8r/cDtjJzwKLXz9zaTeHG1FmxwEXCz45VDDMxiKo= +github.com/tinywasm/dom v0.7.3 h1:d30m9mvjk4VRwjq2x9w6tRsZaZOUJ8burN2Ou7U9v6U= +github.com/tinywasm/dom v0.7.3/go.mod h1:/Ob8r/cDtjJzwKLXz9zaTeHG1FmxwEXCz45VDDMxiKo= github.com/tinywasm/fmt v0.23.5 h1:Z4KG6xQ0bvFXrJAKz/GjAb1FkLcH0Ckwmdn4KCXLnUo= github.com/tinywasm/fmt v0.23.5/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= From 280d7bba36513a051480c68d9b9827963c2187c0 Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Sat, 25 Apr 2026 11:52:25 -0400 Subject: [PATCH 08/15] deps: update fmt to v0.23.6 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b41e4dc..5309c90 100644 --- a/go.mod +++ b/go.mod @@ -4,4 +4,4 @@ go 1.25.2 require github.com/tinywasm/dom v0.7.3 -require github.com/tinywasm/fmt v0.23.5 // indirect +require github.com/tinywasm/fmt v0.23.6 // indirect diff --git a/go.sum b/go.sum index 3112983..ad0f885 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ github.com/tinywasm/dom v0.7.3 h1:d30m9mvjk4VRwjq2x9w6tRsZaZOUJ8burN2Ou7U9v6U= github.com/tinywasm/dom v0.7.3/go.mod h1:/Ob8r/cDtjJzwKLXz9zaTeHG1FmxwEXCz45VDDMxiKo= -github.com/tinywasm/fmt v0.23.5 h1:Z4KG6xQ0bvFXrJAKz/GjAb1FkLcH0Ckwmdn4KCXLnUo= -github.com/tinywasm/fmt v0.23.5/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= +github.com/tinywasm/fmt v0.23.6 h1:DXugqAD98VEeBKeguQqAWHzUnxhuESHRTDinyNHlSpk= +github.com/tinywasm/fmt v0.23.6/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= From 085d787f966f629c3ad40cc746a2e8e7b6b76582 Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Mon, 27 Apr 2026 11:16:24 -0400 Subject: [PATCH 09/15] deps: update dom to v0.7.4 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5309c90..5d71af7 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,6 @@ module github.com/tinywasm/layout go 1.25.2 -require github.com/tinywasm/dom v0.7.3 +require github.com/tinywasm/dom v0.7.4 require github.com/tinywasm/fmt v0.23.6 // indirect diff --git a/go.sum b/go.sum index ad0f885..b79062d 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ -github.com/tinywasm/dom v0.7.3 h1:d30m9mvjk4VRwjq2x9w6tRsZaZOUJ8burN2Ou7U9v6U= -github.com/tinywasm/dom v0.7.3/go.mod h1:/Ob8r/cDtjJzwKLXz9zaTeHG1FmxwEXCz45VDDMxiKo= +github.com/tinywasm/dom v0.7.4 h1:qpREsvZDS8RVvPTfUC6HpynEDNxtENTQ969BSmmmSLY= +github.com/tinywasm/dom v0.7.4/go.mod h1:z2iJL8qpP4dwcaIm441jc9XfM5bGUVtlH2YG+pfG45c= github.com/tinywasm/fmt v0.23.6 h1:DXugqAD98VEeBKeguQqAWHzUnxhuESHRTDinyNHlSpk= github.com/tinywasm/fmt v0.23.6/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= From c89646c927d3f02c045c3d0459a28d2ef8edd2d8 Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Mon, 27 Apr 2026 12:34:39 -0400 Subject: [PATCH 10/15] deps: update dom to v0.7.5 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5d71af7..dd7365e 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,6 @@ module github.com/tinywasm/layout go 1.25.2 -require github.com/tinywasm/dom v0.7.4 +require github.com/tinywasm/dom v0.7.5 require github.com/tinywasm/fmt v0.23.6 // indirect diff --git a/go.sum b/go.sum index b79062d..7a44e8c 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ -github.com/tinywasm/dom v0.7.4 h1:qpREsvZDS8RVvPTfUC6HpynEDNxtENTQ969BSmmmSLY= -github.com/tinywasm/dom v0.7.4/go.mod h1:z2iJL8qpP4dwcaIm441jc9XfM5bGUVtlH2YG+pfG45c= +github.com/tinywasm/dom v0.7.5 h1:mfPu/CoCy9rl5rGnA0/jEcLytoprqDXtJWjYaw7hnHI= +github.com/tinywasm/dom v0.7.5/go.mod h1:z2iJL8qpP4dwcaIm441jc9XfM5bGUVtlH2YG+pfG45c= github.com/tinywasm/fmt v0.23.6 h1:DXugqAD98VEeBKeguQqAWHzUnxhuESHRTDinyNHlSpk= github.com/tinywasm/fmt v0.23.6/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= From 86cac23bf79537b60ace7f418a280faab7c6cbc7 Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Mon, 27 Apr 2026 13:30:15 -0400 Subject: [PATCH 11/15] deps: update dom to v0.7.6 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index dd7365e..a95dcd3 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,6 @@ module github.com/tinywasm/layout go 1.25.2 -require github.com/tinywasm/dom v0.7.5 +require github.com/tinywasm/dom v0.7.6 require github.com/tinywasm/fmt v0.23.6 // indirect diff --git a/go.sum b/go.sum index 7a44e8c..2f6ebe3 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ -github.com/tinywasm/dom v0.7.5 h1:mfPu/CoCy9rl5rGnA0/jEcLytoprqDXtJWjYaw7hnHI= -github.com/tinywasm/dom v0.7.5/go.mod h1:z2iJL8qpP4dwcaIm441jc9XfM5bGUVtlH2YG+pfG45c= +github.com/tinywasm/dom v0.7.6 h1:whZS4TPdqKF2wzQdFdflxuuPYevHN0OiwmzN0a4071g= +github.com/tinywasm/dom v0.7.6/go.mod h1:z2iJL8qpP4dwcaIm441jc9XfM5bGUVtlH2YG+pfG45c= github.com/tinywasm/fmt v0.23.6 h1:DXugqAD98VEeBKeguQqAWHzUnxhuESHRTDinyNHlSpk= github.com/tinywasm/fmt v0.23.6/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= From eaf9928aeac917d2b34201699cedfd0d43513bdc Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Mon, 27 Apr 2026 13:35:21 -0400 Subject: [PATCH 12/15] deps: update dom to v0.7.7 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a95dcd3..869d0e1 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,6 @@ module github.com/tinywasm/layout go 1.25.2 -require github.com/tinywasm/dom v0.7.6 +require github.com/tinywasm/dom v0.7.7 require github.com/tinywasm/fmt v0.23.6 // indirect diff --git a/go.sum b/go.sum index 2f6ebe3..8986702 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ -github.com/tinywasm/dom v0.7.6 h1:whZS4TPdqKF2wzQdFdflxuuPYevHN0OiwmzN0a4071g= -github.com/tinywasm/dom v0.7.6/go.mod h1:z2iJL8qpP4dwcaIm441jc9XfM5bGUVtlH2YG+pfG45c= +github.com/tinywasm/dom v0.7.7 h1:6NLFq14c/ao4AzyUu2vqvvb2hQQHslyZpCEipUGkCGw= +github.com/tinywasm/dom v0.7.7/go.mod h1:z2iJL8qpP4dwcaIm441jc9XfM5bGUVtlH2YG+pfG45c= github.com/tinywasm/fmt v0.23.6 h1:DXugqAD98VEeBKeguQqAWHzUnxhuESHRTDinyNHlSpk= github.com/tinywasm/fmt v0.23.6/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= From 9fdaf7eecfc701a1f30662790d662eee6e36b47c Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:30:26 -0400 Subject: [PATCH 13/15] deps: update dom to v0.7.8 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 869d0e1..122613c 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,6 @@ module github.com/tinywasm/layout go 1.25.2 -require github.com/tinywasm/dom v0.7.7 +require github.com/tinywasm/dom v0.7.8 require github.com/tinywasm/fmt v0.23.6 // indirect diff --git a/go.sum b/go.sum index 8986702..7f2c5b3 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ -github.com/tinywasm/dom v0.7.7 h1:6NLFq14c/ao4AzyUu2vqvvb2hQQHslyZpCEipUGkCGw= -github.com/tinywasm/dom v0.7.7/go.mod h1:z2iJL8qpP4dwcaIm441jc9XfM5bGUVtlH2YG+pfG45c= +github.com/tinywasm/dom v0.7.8 h1:PPZjzJjnUXAqBdho9gG7fsiDtySQcOPmVxxQhSOPGaI= +github.com/tinywasm/dom v0.7.8/go.mod h1:z2iJL8qpP4dwcaIm441jc9XfM5bGUVtlH2YG+pfG45c= github.com/tinywasm/fmt v0.23.6 h1:DXugqAD98VEeBKeguQqAWHzUnxhuESHRTDinyNHlSpk= github.com/tinywasm/fmt v0.23.6/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= From 44570af5a0c4cbee5d9fac070ef0e7f00ab1564e Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:55:06 -0400 Subject: [PATCH 14/15] deps: update dom to v0.7.9 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 122613c..5c1dcf1 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,6 @@ module github.com/tinywasm/layout go 1.25.2 -require github.com/tinywasm/dom v0.7.8 +require github.com/tinywasm/dom v0.7.9 require github.com/tinywasm/fmt v0.23.6 // indirect diff --git a/go.sum b/go.sum index 7f2c5b3..84f443e 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ -github.com/tinywasm/dom v0.7.8 h1:PPZjzJjnUXAqBdho9gG7fsiDtySQcOPmVxxQhSOPGaI= -github.com/tinywasm/dom v0.7.8/go.mod h1:z2iJL8qpP4dwcaIm441jc9XfM5bGUVtlH2YG+pfG45c= +github.com/tinywasm/dom v0.7.9 h1:b3sxrHZlwofhJAmugiE7ZRP1q+qVMYoNT1Jsm2eBwIc= +github.com/tinywasm/dom v0.7.9/go.mod h1:z2iJL8qpP4dwcaIm441jc9XfM5bGUVtlH2YG+pfG45c= github.com/tinywasm/fmt v0.23.6 h1:DXugqAD98VEeBKeguQqAWHzUnxhuESHRTDinyNHlSpk= github.com/tinywasm/fmt v0.23.6/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY= From 6df2f1f55a8aac63c10e0f1de91a94f70cf76447 Mon Sep 17 00:00:00 2001 From: Cesar Solis <44058491+cdvelop@users.noreply.github.com> Date: Thu, 30 Apr 2026 10:48:52 -0400 Subject: [PATCH 15/15] deps: update dom to v0.7.10 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5c1dcf1..25e0d66 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,6 @@ module github.com/tinywasm/layout go 1.25.2 -require github.com/tinywasm/dom v0.7.9 +require github.com/tinywasm/dom v0.7.10 require github.com/tinywasm/fmt v0.23.6 // indirect diff --git a/go.sum b/go.sum index 84f443e..0965d24 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ -github.com/tinywasm/dom v0.7.9 h1:b3sxrHZlwofhJAmugiE7ZRP1q+qVMYoNT1Jsm2eBwIc= -github.com/tinywasm/dom v0.7.9/go.mod h1:z2iJL8qpP4dwcaIm441jc9XfM5bGUVtlH2YG+pfG45c= +github.com/tinywasm/dom v0.7.10 h1:ioiZ0ZsdXyzss83AkHKs98yDEjFk5fbAO3sODerPyTU= +github.com/tinywasm/dom v0.7.10/go.mod h1:z2iJL8qpP4dwcaIm441jc9XfM5bGUVtlH2YG+pfG45c= github.com/tinywasm/fmt v0.23.6 h1:DXugqAD98VEeBKeguQqAWHzUnxhuESHRTDinyNHlSpk= github.com/tinywasm/fmt v0.23.6/go.mod h1:L2GCAi6asgytPV6TVvGrRq5Ml+DkUt1Ijo5i/2J1jOY=