diff --git a/examples/basic/src/app.rs b/examples/basic/src/app.rs
index 13c45eb..05227f6 100644
--- a/examples/basic/src/app.rs
+++ b/examples/basic/src/app.rs
@@ -31,6 +31,9 @@ pub fn App(cx: Scope) -> impl IntoView {
} />
+
+ } />
diff --git a/examples/basic/src/pages/components.rs b/examples/basic/src/pages/components.rs
index c429c10..572eb76 100644
--- a/examples/basic/src/pages/components.rs
+++ b/examples/basic/src/pages/components.rs
@@ -37,6 +37,7 @@ pub fn ComponentsPage(cx: Scope) -> impl IntoView {
+
diff --git a/examples/basic/src/pages/image/mod.rs b/examples/basic/src/pages/image/mod.rs
new file mode 100644
index 0000000..f98e30a
--- /dev/null
+++ b/examples/basic/src/pages/image/mod.rs
@@ -0,0 +1,12 @@
+use leptos::*;
+use melt_ui::*;
+
+#[component]
+pub fn ImagePage(cx: Scope) -> impl IntoView {
+ view! { cx,
+ <>
+
+
+ >
+ }
+}
\ No newline at end of file
diff --git a/examples/basic/src/pages/mod.rs b/examples/basic/src/pages/mod.rs
index c240f76..3279db1 100644
--- a/examples/basic/src/pages/mod.rs
+++ b/examples/basic/src/pages/mod.rs
@@ -1,5 +1,6 @@
mod components;
mod home;
+mod image;
mod input;
mod menu;
mod mobile;
@@ -8,6 +9,7 @@ mod tabbar;
pub use components::*;
pub use home::*;
+pub use image::*;
pub use input::*;
pub use menu::*;
pub use mobile::*;
diff --git a/src/image/mod.rs b/src/image/mod.rs
new file mode 100644
index 0000000..c6cef32
--- /dev/null
+++ b/src/image/mod.rs
@@ -0,0 +1,39 @@
+
+use leptos::*;
+
+#[component]
+pub fn Image(
+ cx: Scope,
+ #[prop(optional, into)] src: MaybeSignal,
+ #[prop(optional, into)] alt: MaybeSignal,
+ #[prop(optional, into)] width: MaybeSignal,
+ #[prop(optional, into)] height: MaybeSignal,
+ #[prop(optional, into)] border_radius: MaybeSignal,
+ #[prop(optional, into)] object_fit: MaybeSignal,
+) -> impl IntoView {
+
+ let style = move || {
+ let mut style = String::new();
+
+ let width = width.get();
+ if !width.is_empty() {
+ style.push_str(&format!("width: {width};"))
+ }
+
+ let height = height.get();
+ if !height.is_empty() {
+ style.push_str(&format!("height: {height};"))
+ }
+
+ let border_radius = border_radius.get();
+ if !border_radius.is_empty() {
+ style.push_str(&format!("border-radius: {border_radius};"))
+ }
+
+ style
+ };
+ view! {
+ cx,
+
+ }
+}
\ No newline at end of file
diff --git a/src/lib.rs b/src/lib.rs
index e51a366..620cc65 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -2,6 +2,7 @@ mod button;
mod card;
mod checkbox;
mod components;
+mod image;
mod input;
mod menu;
pub mod mobile;
@@ -17,6 +18,7 @@ mod wave;
pub use button::*;
pub use checkbox::*;
+pub use image::*;
pub use input::*;
pub use menu::*;
pub use modal::*;