1use leptos::{prelude::*, svg::Svg};
2#[component]
3pub fn Clock8(
4 #[prop(default = 24.into(), into)] size: Signal<usize>,
5 #[prop(default = "currentColor".into(), into)] color: Signal<String>,
6 #[prop(default = "none".into(), into)] fill: Signal<String>,
7 #[prop(default = 2.into(), into)] stroke_width: Signal<usize>,
8 #[prop(default = false.into(), into)] absolute_stroke_width: Signal<bool>,
9 #[prop(optional)] node_ref: NodeRef<Svg>,
10) -> impl IntoView {
11 let stroke_width = Signal::derive(move || {
12 if absolute_stroke_width.get() {
13 stroke_width.get() * 24 / size.get()
14 } else {
15 stroke_width.get()
16 }
17 });
18 view! {
19 <svg
20 node_ref=node_ref
21 class:lucide=true
22 xmlns="http://www.w3.org/2000/svg"
23 width=size
24 height=size
25 viewBox="0 0 24 24"
26 fill=fill
27 stroke=color
28 stroke-width=stroke_width
29 stroke-linecap="round"
30 stroke-linejoin="round"
31 >
32 <circle cx="12" cy="12" r="10" />
33 <polyline points="12 6 12 12 8 14" />
34 </svg>
35 }
36}