diff --git a/examples/basic/src/main.rs b/examples/basic/src/main.rs
index 54644ca..ffd0f6e 100644
--- a/examples/basic/src/main.rs
+++ b/examples/basic/src/main.rs
@@ -11,7 +11,7 @@ pub fn App(cx: Scope) -> impl IntoView {
let (open, set_open) = create_signal(cx, true);
let (button_type, set_button_type) = create_signal(cx, ButtonType::TEXT);
view! { cx,
-
+
{move || count.get()}
@@ -19,7 +19,7 @@ pub fn App(cx: Scope) -> impl IntoView {
"sd" {move || count.get()}
+
}
}
diff --git a/src/lib.rs b/src/lib.rs
index f5c3362..79897d8 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -2,6 +2,7 @@ mod button;
mod card;
mod modal;
mod progress;
+mod space;
mod table;
mod teleport;
mod theme;
@@ -10,4 +11,5 @@ mod utils;
pub use button::*;
pub use modal::*;
pub use progress::*;
+pub use space::*;
pub use table::*;
diff --git a/src/space/mod.rs b/src/space/mod.rs
new file mode 100644
index 0000000..9c4d143
--- /dev/null
+++ b/src/space/mod.rs
@@ -0,0 +1,41 @@
+use crate::utils::mount_style::mount_style;
+use leptos::*;
+use stylers::style_sheet_str;
+
+#[derive(Default)]
+pub enum SpaceGap {
+ SMALL,
+ #[default]
+ MEDIUM,
+ LARGE,
+ NUMBER(u16),
+ TUPLE(u16, u16),
+}
+
+#[component]
+pub fn Space(cx: Scope, #[prop(optional)] gap: SpaceGap, children: Children) -> impl IntoView {
+ let class_name = mount_style("space", || style_sheet_str!("./src/space/space.css"));
+ let gap = match gap {
+ SpaceGap::SMALL => "gap: 4px 8px".into(),
+ SpaceGap::MEDIUM => "gap: 8px 12px".into(),
+ SpaceGap::LARGE => "gap: 12px 16px".into(),
+ SpaceGap::NUMBER(size) => format!("gap: {size}px {size}px"),
+ SpaceGap::TUPLE(x, y) => format!("gap: {x}px {y}px"),
+ };
+
+ view! {
+ cx, class=class_name,
+
+ {
+ children(cx).nodes.into_iter().map(|node| {
+ view! {
+ cx, class=class_name,
+
+ {node}
+
+ }
+ }).collect::
>()
+ }
+
+ }
+}
diff --git a/src/space/space.css b/src/space/space.css
new file mode 100644
index 0000000..9684a5f
--- /dev/null
+++ b/src/space/space.css
@@ -0,0 +1,7 @@
+.melt-space {
+ display: flex;
+}
+
+.melt-space__item {
+ max-width: 100%;
+}