diff --git a/Cargo.lock b/Cargo.lock index a479b7ef..7c015472 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3015,6 +3015,13 @@ dependencies = [ "radix-leptos-label", ] +[[package]] +name = "radix-leptos-compose-refs" +version = "0.0.2" +dependencies = [ + "leptos", +] + [[package]] name = "radix-leptos-direction" version = "0.0.2" diff --git a/Cargo.toml b/Cargo.toml index ce06992c..d55cc769 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,6 +16,7 @@ members = [ "packages/primitives/leptos/accessible-icon", "packages/primitives/leptos/arrow", "packages/primitives/leptos/aspect-ratio", + "packages/primitives/leptos/compose-refs", "packages/primitives/leptos/direction", "packages/primitives/leptos/id", "packages/primitives/leptos/label", diff --git a/packages/primitives/leptos/compose-refs/src/compose_refs.rs b/packages/primitives/leptos/compose-refs/src/compose_refs.rs index 2529cdf0..e9437edf 100644 --- a/packages/primitives/leptos/compose-refs/src/compose_refs.rs +++ b/packages/primitives/leptos/compose-refs/src/compose_refs.rs @@ -1,6 +1,9 @@ -use leptos::{html::ElementDescriptor, Effect, NodeRef}; +use leptos::web_sys::Element; +use leptos::{html::ElementType, prelude::*, tachys::html::node_ref::NodeRefContainer}; -fn compose_refs(refs: Vec>) -> NodeRef { +fn compose_refs + Clone + 'static>( + refs: Vec>, +) -> NodeRef { let composed_ref = NodeRef::new(); Effect::new(move |_| { @@ -14,7 +17,7 @@ fn compose_refs(refs: Vec>) - composed_ref } -pub fn use_composed_refs( +pub fn use_composed_refs + Clone + 'static>( refs: Vec>, ) -> NodeRef { compose_refs(refs)