1use yew::prelude::{html, Component, Context, Html, Properties};
8
9pub struct Streaming {}
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 Streaming {
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={ "Streaming" }
58 viewBox={ "0 0 16 16" }
59 fill={ props.fill.unwrap_or("currentColor") }
60 style={ style }
61 >
62 <path d="M1024 779q51 0 95 19t78 53 52 77 20 96q0 51-19 95t-53 78-77 52-96 20q-51 0-95-19t-78-53-52-77-20-96q0-51 19-95t53-78 77-52 96-20zm0 384q29 0 54-11t44-29 30-44 11-55q0-29-11-54t-29-44-44-30-55-11q-29 0-54 11t-44 29-30 44-11 55q0 29 11 54t29 44 44 30 55 11zm716-855q72 71 127 154t93 174 57 189 20 199q0 101-19 199t-58 189-93 174-127 154l-75-75q64-64 113-138t83-156 51-169 18-178q0-90-17-177t-51-170-83-156-114-138l75-75zM383 383q-64 64-113 138t-84 156-51 169-18 178q0 90 17 177t52 170 83 156 114 138l-75 75q-72-71-127-154t-93-174-57-189-20-199q0-101 19-199t58-189 93-174 127-154l75 75zm1086 196q89 90 136 204t48 241q0 126-47 240t-137 205l-75-75q74-74 113-169t40-201q0-105-39-200t-114-170l75-75zm-815 75q-74 74-113 169t-40 201q0 105 39 200t114 170l-75 75q-89-90-136-204t-48-241q0-126 47-240t137-205l75 75z" />
63 </svg>
64 }
65 }
66}