From d552a5d0f5f058cc9365899dbe6795e1cbb84519 Mon Sep 17 00:00:00 2001
From: Israel Barbara
Date: Tue, 17 Dec 2024 16:38:04 -0300
Subject: [PATCH 01/10] Initial Project breadcrumb
---
Cargo.lock | 12 ++++++++++++
packages/leptos/README.md | 21 +++++++++++++++++++++
packages/leptos/breadcrumb/Cargo.toml | 19 +++++++++++++++++++
packages/leptos/breadcrumb/src/lib.rs | 14 ++++++++++++++
4 files changed, 66 insertions(+)
create mode 100644 packages/leptos/README.md
create mode 100644 packages/leptos/breadcrumb/Cargo.toml
create mode 100644 packages/leptos/breadcrumb/src/lib.rs
diff --git a/Cargo.lock b/Cargo.lock
index f8a2c06..2bce05f 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3561,6 +3561,18 @@ dependencies = [
"shadcn-ui-leptos-card",
]
+[[package]]
+name = "shadcn-ui-leptos-breadcrumb"
+version = "0.0.1"
+dependencies = [
+ "lucide-yew",
+ "radix-yew-icons",
+ "tailwind_fuse",
+ "yew",
+ "yew-struct-component",
+ "yew-style",
+]
+
[[package]]
name = "shadcn-ui-leptos-button"
version = "0.0.1"
diff --git a/packages/leptos/README.md b/packages/leptos/README.md
new file mode 100644
index 0000000..87f83a0
--- /dev/null
+++ b/packages/leptos/README.md
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+shadcn-ui-yew-breaddcrumb
+
+Displays the path to the current resource using a hierarchy of links.
+
+[Rust shadcn/ui](https://github.com/RustForWeb/shadcn-ui) is a Rust port of [shadcn/ui](https://ui.shadcn.com/).
+
+## Documentation
+
+See [the Rust shadcn/ui book](https://shadcn-ui.rustforweb.org/) for documentation.
+
+## Rust For Web
+
+The Rust shadcn/ui project is part of the [Rust For Web](https://github.com/RustForWeb).
+
+[Rust For Web](https://github.com/RustForWeb) creates and ports web UI libraries for Rust. All projects are free and open source.
diff --git a/packages/leptos/breadcrumb/Cargo.toml b/packages/leptos/breadcrumb/Cargo.toml
new file mode 100644
index 0000000..cca47a4
--- /dev/null
+++ b/packages/leptos/breadcrumb/Cargo.toml
@@ -0,0 +1,19 @@
+[package]
+name = "shadcn-ui-leptos-breadcrumb"
+description = "Leptos port of shadcn/ui Breadcrumb."
+homepage = "https://shadcn-ui.rustforweb.org/components/breadcrumb.html"
+publish = false
+
+authors.workspace = true
+edition.workspace = true
+license.workspace = true
+repository.workspace = true
+version.workspace = true
+
+[dependencies]
+lucide-yew.workspace = true
+radix-yew-icons = { workspace = true }
+tailwind_fuse.workspace = true
+yew.workspace = true
+yew-struct-component.workspace = true
+yew-style.workspace = true
diff --git a/packages/leptos/breadcrumb/src/lib.rs b/packages/leptos/breadcrumb/src/lib.rs
new file mode 100644
index 0000000..b93cf3f
--- /dev/null
+++ b/packages/leptos/breadcrumb/src/lib.rs
@@ -0,0 +1,14 @@
+pub fn add(left: u64, right: u64) -> u64 {
+ left + right
+}
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+
+ #[test]
+ fn it_works() {
+ let result = add(2, 2);
+ assert_eq!(result, 4);
+ }
+}
From fed56e97abe812e966fd0d5b2a9c812b30c12e8c Mon Sep 17 00:00:00 2001
From: Israel Barbara
Date: Tue, 17 Dec 2024 22:38:28 -0300
Subject: [PATCH 02/10] Add leptos breadcrumb implementation
---
Cargo.lock | 11 +-
packages/leptos/README.md | 2 +-
packages/leptos/breadcrumb/Cargo.toml | 11 +-
packages/leptos/breadcrumb/src/default.rs | 210 +++++++++++++++++++++
packages/leptos/breadcrumb/src/lib.rs | 20 +-
packages/leptos/breadcrumb/src/new_york.rs | 210 +++++++++++++++++++++
6 files changed, 440 insertions(+), 24 deletions(-)
create mode 100644 packages/leptos/breadcrumb/src/default.rs
create mode 100644 packages/leptos/breadcrumb/src/new_york.rs
diff --git a/Cargo.lock b/Cargo.lock
index 2bce05f..f45e334 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3565,12 +3565,13 @@ dependencies = [
name = "shadcn-ui-leptos-breadcrumb"
version = "0.0.1"
dependencies = [
- "lucide-yew",
- "radix-yew-icons",
+ "leptos 0.7.0",
+ "leptos-node-ref",
+ "leptos-struct-component",
+ "leptos-style",
+ "lucide-leptos",
+ "radix-leptos-icons",
"tailwind_fuse",
- "yew",
- "yew-struct-component",
- "yew-style",
]
[[package]]
diff --git a/packages/leptos/README.md b/packages/leptos/README.md
index 87f83a0..e418402 100644
--- a/packages/leptos/README.md
+++ b/packages/leptos/README.md
@@ -4,7 +4,7 @@
-shadcn-ui-yew-breaddcrumb
+shadcn-ui-leptos-breaddcrumb
Displays the path to the current resource using a hierarchy of links.
diff --git a/packages/leptos/breadcrumb/Cargo.toml b/packages/leptos/breadcrumb/Cargo.toml
index cca47a4..5c62f65 100644
--- a/packages/leptos/breadcrumb/Cargo.toml
+++ b/packages/leptos/breadcrumb/Cargo.toml
@@ -11,9 +11,10 @@ repository.workspace = true
version.workspace = true
[dependencies]
-lucide-yew.workspace = true
-radix-yew-icons = { workspace = true }
+lucide-leptos.workspace = true
+radix-leptos-icons = { workspace = true }
tailwind_fuse.workspace = true
-yew.workspace = true
-yew-struct-component.workspace = true
-yew-style.workspace = true
+leptos.workspace = true
+leptos-node-ref.workspace = true
+leptos-struct-component.workspace = true
+leptos-style.workspace = true
diff --git a/packages/leptos/breadcrumb/src/default.rs b/packages/leptos/breadcrumb/src/default.rs
new file mode 100644
index 0000000..4622713
--- /dev/null
+++ b/packages/leptos/breadcrumb/src/default.rs
@@ -0,0 +1,210 @@
+use leptos_node_ref::AnyNodeRef;
+use lucide_leptos::{ChevronRight, Ellipsis};
+use tailwind_fuse::*;
+use leptos::{ev::MouseEvent, prelude::*} ;
+use leptos_struct_component::{struct_component, StructComponent};
+use leptos_style::Style;
+
+
+
+#[component]
+pub fn BreadCrumb(
+ // Global attributes
+ #[prop(into, optional)] class: MaybeProp,
+ #[prop(into, optional)] id: MaybeProp,
+ #[prop(into, optional)] style: Signal