diff --git a/book-examples/dioxus/src/icons.rs b/book-examples/dioxus/src/icons.rs
index 2a55cf8..2c6529d 100644
--- a/book-examples/dioxus/src/icons.rs
+++ b/book-examples/dioxus/src/icons.rs
@@ -1469,6 +1469,12 @@ pub fn IconsB2() -> Element {
},
"Brick Wall Fire",
),
+ (
+ rsx! {
+ BrickWallShield {}
+ },
+ "Brick Wall Shield",
+ ),
(
rsx! {
Briefcase {}
diff --git a/book-examples/leptos/src/icons.rs b/book-examples/leptos/src/icons.rs
index a4f318c..ff3d11b 100644
--- a/book-examples/leptos/src/icons.rs
+++ b/book-examples/leptos/src/icons.rs
@@ -327,6 +327,7 @@ pub fn IconsB() -> impl IntoView {
(view! { }.into_any(), "Brain Cog"),
(view! { }.into_any(), "Brick Wall"),
(view! { }.into_any(), "Brick Wall Fire"),
+ (view! { }.into_any(), "Brick Wall Shield"),
(view! { }.into_any(), "Briefcase"),
(view! { }.into_any(), "Briefcase Business"),
(view! { }.into_any(), "Briefcase Conveyor Belt"),
diff --git a/book-examples/yew/src/icons.rs b/book-examples/yew/src/icons.rs
index 9e49c47..b6321b1 100644
--- a/book-examples/yew/src/icons.rs
+++ b/book-examples/yew/src/icons.rs
@@ -336,6 +336,7 @@ pub fn IconsB() -> Html {
(html! { }, "Brain Cog"),
(html! { }, "Brick Wall"),
(html! { }, "Brick Wall Fire"),
+ (html! { }, "Brick Wall Shield"),
(html! { }, "Briefcase"),
(html! { }, "Briefcase Business"),
(
diff --git a/packages/dioxus/src/brick_wall_shield.rs b/packages/dioxus/src/brick_wall_shield.rs
new file mode 100644
index 0000000..9ff219c
--- /dev/null
+++ b/packages/dioxus/src/brick_wall_shield.rs
@@ -0,0 +1,47 @@
+use dioxus::prelude::*;
+#[derive(Clone, PartialEq, Props)]
+pub struct BrickWallShieldProps {
+ #[props(default = 24)]
+ pub size: usize,
+ #[props(default = "currentColor".to_owned())]
+ pub color: String,
+ #[props(default = "none".to_owned())]
+ pub fill: String,
+ #[props(default = 2)]
+ pub stroke_width: usize,
+ #[props(default = false)]
+ pub absolute_stroke_width: bool,
+ pub class: Option,
+ pub style: Option,
+}
+#[component]
+pub fn BrickWallShield(props: BrickWallShieldProps) -> Element {
+ let stroke_width = if props.absolute_stroke_width {
+ props.stroke_width * 24 / props.size
+ } else {
+ props.stroke_width
+ };
+ rsx! {
+ svg {
+ "xmlns": "http://www.w3.org/2000/svg",
+ "class": if let Some(class) = props.class { "{class}" },
+ "style": if let Some(style) = props.style { "{style}" },
+ "width": "{props.size}",
+ "height": "{props.size}",
+ "viewBox": "0 0 24 24",
+ "fill": "{props.fill}",
+ "stroke": "{props.color}",
+ "stroke-width": "{stroke_width}",
+ "stroke-linecap": "round",
+ "stroke-linejoin": "round",
+ path { "d": "M12 9v1.258" }
+ path { "d": "M16 3v5.46" }
+ path { "d": "M21 9.118V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h5.75" }
+ path { "d": "M22 17.5c0 2.499-1.75 3.749-3.83 4.474a.5.5 0 0 1-.335-.005c-2.085-.72-3.835-1.97-3.835-4.47V14a.5.5 0 0 1 .5-.499c1 0 2.25-.6 3.12-1.36a.6.6 0 0 1 .76-.001c.875.765 2.12 1.36 3.12 1.36a.5.5 0 0 1 .5.5z" }
+ path { "d": "M3 15h7" }
+ path { "d": "M3 9h12.142" }
+ path { "d": "M8 15v6" }
+ path { "d": "M8 3v6" }
+ }
+ }
+}
diff --git a/packages/dioxus/src/lib.rs b/packages/dioxus/src/lib.rs
index 7353dc7..f2ed3f8 100644
--- a/packages/dioxus/src/lib.rs
+++ b/packages/dioxus/src/lib.rs
@@ -547,6 +547,8 @@ mod brain_cog;
mod brick_wall;
#[cfg(any(feature = "security", feature = "home", feature = "connectivity"))]
mod brick_wall_fire;
+#[cfg(any(feature = "security", feature = "home", feature = "connectivity"))]
+mod brick_wall_shield;
#[cfg(feature = "transportation")]
mod briefcase;
#[cfg(feature = "transportation")]
@@ -4686,6 +4688,8 @@ pub use brain_cog::*;
pub use brick_wall::*;
#[cfg(any(feature = "security", feature = "home", feature = "connectivity"))]
pub use brick_wall_fire::*;
+#[cfg(any(feature = "security", feature = "home", feature = "connectivity"))]
+pub use brick_wall_shield::*;
#[cfg(feature = "transportation")]
pub use briefcase::*;
#[cfg(feature = "transportation")]
diff --git a/packages/leptos/src/brick_wall_shield.rs b/packages/leptos/src/brick_wall_shield.rs
new file mode 100644
index 0000000..1b885ed
--- /dev/null
+++ b/packages/leptos/src/brick_wall_shield.rs
@@ -0,0 +1,42 @@
+use leptos::{prelude::*, svg::Svg};
+#[component]
+pub fn BrickWallShield(
+ #[prop(default = 24.into(), into)] size: Signal,
+ #[prop(default = "currentColor".into(), into)] color: Signal,
+ #[prop(default = "none".into(), into)] fill: Signal,
+ #[prop(default = 2.into(), into)] stroke_width: Signal,
+ #[prop(default = false.into(), into)] absolute_stroke_width: Signal,
+ #[prop(optional)] node_ref: NodeRef