diff --git a/shared/static/wasm/sx/adapter-dom.sx b/shared/static/wasm/sx/adapter-dom.sx index 1f2b43a6..2c23bae4 100644 --- a/shared/static/wasm/sx/adapter-dom.sx +++ b/shared/static/wasm/sx/adapter-dom.sx @@ -75,8 +75,10 @@ (scope-emit! "element-attrs" (spread-attrs expr))) expr) - ;; Dict → empty - "dict" (create-fragment) + ;; Dict → check for host DOM node, else empty fragment + "dict" (if (has-key? expr "__host_handle") + expr ;; Host DOM node (text node, element, etc.) — pass through + (create-fragment)) ;; List → dispatch "list" diff --git a/web/adapter-dom.sx b/web/adapter-dom.sx index 1f2b43a6..2c23bae4 100644 --- a/web/adapter-dom.sx +++ b/web/adapter-dom.sx @@ -75,8 +75,10 @@ (scope-emit! "element-attrs" (spread-attrs expr))) expr) - ;; Dict → empty - "dict" (create-fragment) + ;; Dict → check for host DOM node, else empty fragment + "dict" (if (has-key? expr "__host_handle") + expr ;; Host DOM node (text node, element, etc.) — pass through + (create-fragment)) ;; List → dispatch "list"