use dioxus::prelude::*; #[derive(Clone, PartialEq, Props)] pub struct HandHeartProps { #[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, } #[component] pub fn HandHeart(props: HandHeartProps) -> 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}" }, "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": "M11 14h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16" } path { "d": "m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9" } path { "d": "m2 15 6 6" } path { "d": "M19.5 8.5c.7-.7 1.5-1.6 1.5-2.7A2.73 2.73 0 0 0 16 4a2.78 2.78 0 0 0-5 1.8c0 1.2.8 2 1.5 2.8L16 12Z" } } } }