From e2196482f4c2c98165a6e28d6b515949bee6b1cc Mon Sep 17 00:00:00 2001 From: slhx agent Date: Tue, 2 Jun 2026 00:03:23 +0200 Subject: [PATCH] feat(prelude): export SafeHtml for page composition Make the authoring prelude cover the SafeHtml page-fragment type so generated render/static_fragment helpers can compose without an extra core import. req: dx/006 req: html_safety/002 --- slhx/src/lib.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/slhx/src/lib.rs b/slhx/src/lib.rs index 26b2281..b374fac 100644 --- a/slhx/src/lib.rs +++ b/slhx/src/lib.rs @@ -82,7 +82,7 @@ pub mod prelude { pub use slhx_core::{ navigate, push, redirect, replace, Atom, BuildFingerprint, ComponentRef, CssClass, CssClasses, Effect, EventName, Form, FormModel, FormValue, Handle, IntoEffect, KeyedSlot, - ParamName, Slot, + ParamName, SafeHtml, Slot, }; pub use crate::{render, render_html, RenderKeyedSlotExt, RenderSlotExt}; pub use slhx_derive::{app, component, form, handler, surface}; @@ -105,4 +105,14 @@ mod tests { assert_eq!(crate::render(&InlineView).as_str(), "ok"); assert_eq!(crate::render_html(&InlineView).as_str(), "ok"); } + + #[test] + fn prelude_exports_safe_html_for_page_composition() { + // req: dx/006 req: html_safety/002 + use crate::prelude::*; + + let html = SafeHtml::join([render(&InlineView)]); + + assert_eq!(html.as_str(), "ok"); + } }