zuicon_mdl2/
server_processes.rs1use yew::prelude::{html, Component, Context, Html, Properties};
8
9pub struct ServerProcesses {}
10
11#[derive(Properties, Debug, Clone, PartialEq, Eq)]
12pub struct Props {
13 #[prop_or_default]
14 pub class: Option<&'static str>,
15
16 #[prop_or_default]
17 pub width: Option<&'static str>,
18
19 #[prop_or_default]
20 pub height: Option<&'static str>,
21
22 #[prop_or_default]
23 pub color: Option<&'static str>,
24
25 #[prop_or_default]
26 pub fill: Option<&'static str>,
27
28 #[prop_or_default]
29 pub spin: bool,
30
31 #[prop_or_default]
32 pub rotate: i16,
33}
34
35impl Component for ServerProcesses {
36 type Properties = Props;
37 type Message = ();
38
39 fn create(_ctx: &Context<Self>) -> Self {
40 Self {}
41 }
42
43 fn view(&self, ctx: &Context<Self>) -> Html {
44 let props = ctx.props();
45 let mut style = String::new();
47 if props.rotate != 0 {
48 style += &format!("transform: rotate({}deg);", props.rotate);
49 }
50 html! {
51 <svg
52 xmlns={ "http://www.w3.org/2000/svg" }
53 class={ props.class.unwrap_or("") }
54 width={ props.width.unwrap_or("16") }
55 height={ props.height.unwrap_or("16") }
56 focusable={ "false" }
57 data-icon={ "ServerProcesses" }
58 viewBox={ "0 0 16 16" }
59 fill={ props.fill.unwrap_or("currentColor") }
60 style={ style }
61 >
62 <path d="M2038 1488l-124 51q12 62 0 122l124 51-49 119-124-52q-17 25-38 47t-48 39l52 124-119 49-51-124q-30 6-61 6t-61-6l-51 124-119-49 52-124q-51-35-86-86l-124 52-49-119 124-51q-12-61 0-122l-124-51 49-119 124 52q35-51 86-86l-52-124 119-49 51 124q62-12 122 0l51-124 119 49-52 124q25 17 47 38t39 48l124-52 49 119zm-365 289q37-15 63-42t41-62 14-72-14-74q-14-36-41-63t-63-41q-35-15-73-15-39 0-73 15-36 14-63 41t-41 63q-31 73 0 146 14 36 41 63t63 41q73 31 146 0zm375-1649v896h-128V640H128v1024h896v128H0V128h2048zm-128 384V256H128v256h1792zM896 1408v-140q-31-11-60-34l-121 69-64-110 120-70q-3-16-3-35 0-18 3-35l-120-70 64-110 121 69q29-23 60-34V768h128v140q17 6 31 14t29 20l121-69 64 110-120 70q3 17 3 35 0 19-3 35l120 70-64 110-121-69q-14 11-28 19t-32 15v140H896zm-32-320q0 40 28 68t68 28q40 0 68-28t28-68q0-40-28-68t-68-28q-40 0-68 28t-28 68z" />
63 </svg>
64 }
65 }
66}