diff --git a/examples/basic/src/app.rs b/examples/basic/src/app.rs
index 05227f6..33517dc 100644
--- a/examples/basic/src/app.rs
+++ b/examples/basic/src/app.rs
@@ -34,6 +34,9 @@ pub fn App(cx: Scope) -> impl IntoView {
} />
+
+ } />
diff --git a/examples/basic/src/demo_modal.rs b/examples/basic/src/demo_modal.rs
deleted file mode 100644
index cd19b9c..0000000
--- a/examples/basic/src/demo_modal.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-use leptos::*;
-use melt_ui::*;
-
-#[component]
-pub fn DemoModal(cx: Scope) -> impl IntoView {
- let (open, set_open) = create_signal(cx, false);
- let on_cancel = SignalSetter::map(cx, move |_| {
- set_open.set(false);
- });
- view! { cx,
-
-
- "sd"
-
- }
-}
\ No newline at end of file
diff --git a/examples/basic/src/main.rs b/examples/basic/src/main.rs
index b3334f8..95066d0 100644
--- a/examples/basic/src/main.rs
+++ b/examples/basic/src/main.rs
@@ -1,7 +1,6 @@
mod app;
mod demo_button;
mod demo_checkbox;
-mod demo_modal;
mod demo_slider;
mod pages;
diff --git a/examples/basic/src/pages/components.rs b/examples/basic/src/pages/components.rs
index 572eb76..5c836cf 100644
--- a/examples/basic/src/pages/components.rs
+++ b/examples/basic/src/pages/components.rs
@@ -38,6 +38,7 @@ pub fn ComponentsPage(cx: Scope) -> impl IntoView {
+
diff --git a/examples/basic/src/pages/home.rs b/examples/basic/src/pages/home.rs
index 2afd747..d16d953 100644
--- a/examples/basic/src/pages/home.rs
+++ b/examples/basic/src/pages/home.rs
@@ -1,6 +1,5 @@
use crate::demo_button::*;
use crate::demo_checkbox::*;
-use crate::demo_modal::*;
use crate::demo_slider::*;
use leptos::*;
use leptos_router::use_navigate;
@@ -43,8 +42,6 @@ pub fn Home(cx: Scope) -> impl IntoView {
-
-
diff --git a/examples/basic/src/pages/mod.rs b/examples/basic/src/pages/mod.rs
index 3279db1..6db75d7 100644
--- a/examples/basic/src/pages/mod.rs
+++ b/examples/basic/src/pages/mod.rs
@@ -4,6 +4,7 @@ mod image;
mod input;
mod menu;
mod mobile;
+mod modal;
mod slider;
mod tabbar;
@@ -13,5 +14,6 @@ pub use image::*;
pub use input::*;
pub use menu::*;
pub use mobile::*;
+pub use modal::*;
pub use slider::*;
pub use tabbar::*;
diff --git a/examples/basic/src/pages/modal/mod.rs b/examples/basic/src/pages/modal/mod.rs
new file mode 100644
index 0000000..4004cdf
--- /dev/null
+++ b/examples/basic/src/pages/modal/mod.rs
@@ -0,0 +1,15 @@
+use leptos::*;
+use melt_ui::*;
+
+#[component]
+pub fn ModalPage(cx: Scope) -> impl IntoView {
+ let show = create_rw_signal(cx, false);
+ view! { cx,
+
+
+ "sd"
+
+ }
+}
\ No newline at end of file
diff --git a/src/modal/mod.rs b/src/modal/mod.rs
index 1f80b6f..b3917c5 100644
--- a/src/modal/mod.rs
+++ b/src/modal/mod.rs
@@ -11,8 +11,7 @@ pub fn Modal(
#[prop(optional, into)] title: Option>,
children: Children,
#[prop(optional)] footer: Option,
- #[prop(optional, into)] open: MaybeSignal,
- #[prop(optional)] on_cancel: Option>,
+ #[prop(into)] show: RwSignal,
) -> impl IntoView {
let class_name = mount_style("modal", || style_sheet_str!("./src/modal/modal.css"));
let header = move |cx| {
@@ -30,7 +29,7 @@ pub fn Modal(
view! {
cx,
<>
-
+
>
@@ -39,7 +38,7 @@ pub fn Modal(
view! {
cx, class=class_name,
-