diff --git a/hemx-test/tests/examples_contract.rs b/hemx-test/tests/examples_contract.rs index 8dd8e8d..6085ce7 100644 --- a/hemx-test/tests/examples_contract.rs +++ b/hemx-test/tests/examples_contract.rs @@ -145,6 +145,12 @@ fn public_prelude_does_not_export_low_level_primitives() { "ResourceId", "EffectBatch", "BuildFingerprint", + "Atom", + "ComponentRef", + "EventName", + "GeneratedTarget", + "Handle", + "ParamName", ] { assert!( !exported.contains(&token), diff --git a/hemx/src/lib.rs b/hemx/src/lib.rs index a9a1b01..abecb95 100644 --- a/hemx/src/lib.rs +++ b/hemx/src/lib.rs @@ -6,10 +6,17 @@ use hemx_core::{Effect, KeyedSlot, SafeHtml, Slot}; pub use hemx_core::{ - navigate, push, redirect, replace, Atom, ComponentRef, CssClass, CssClasses, EventName, Form, - FormContract, FormControlKind, FormError, FormField, FormModel, FormValue, FromForm, - GeneratedTarget, Handle, IntoEffect, ParamName, + navigate, push, redirect, replace, CssClass, CssClasses, Form, FormContract, FormControlKind, + FormError, FormField, FormModel, FormValue, FromForm, IntoEffect, }; + +/// Generated metadata tokens used by macros, generated code, integrations, and tests. +/// +/// These stay addressable for compatibility, but ordinary app code should use generated +/// helpers instead of naming raw handles, params, events, atoms, or component refs. +/// req: dx/006 req: public_api/005 +#[doc(hidden)] +pub use hemx_core::{Atom, ComponentRef, EventName, GeneratedTarget, Handle, ParamName}; pub use hemx_derive::{app, component, form, handler, surface}; /// Advanced/raw hemx primitives used by generated code, integrations, and tests. @@ -171,8 +178,8 @@ where pub mod prelude { pub use crate::{page, Html}; pub use hemx_core::{ - navigate, push, redirect, replace, Atom, ComponentRef, CssClass, CssClasses, EventName, - Form, FormModel, FormValue, Handle, IntoEffect, ParamName, + navigate, push, redirect, replace, CssClass, CssClasses, Form, FormModel, FormValue, + IntoEffect, }; pub use hemx_derive::{app, component, form, handler, surface}; }