material_yew/
linear_progress.rs1use crate::{bool_to_option, to_option_string};
2use wasm_bindgen::prelude::*;
3use yew::prelude::*;
4
5#[wasm_bindgen(module = "/build/mwc-linear-progress.js")]
6extern "C" {
7 #[derive(Debug)]
8 type LinearProgress;
9
10 #[wasm_bindgen(getter, static_method_of = LinearProgress)]
11 fn _dummy_loader() -> JsValue;
12}
13
14loader_hack!(LinearProgress);
15
16#[derive(Debug, Properties, PartialEq, Clone)]
20pub struct LinearProgressProps {
21 #[prop_or_default]
22 pub indeterminate: bool,
23 #[prop_or_default]
24 pub progress: f32,
25 #[prop_or_default]
26 pub buffer: f32,
27 #[prop_or_default]
28 pub reverse: bool,
29 #[prop_or_default]
30 pub closed: bool,
31}
32
33component!(
34 MatLinearProgress,
35 LinearProgressProps,
36 |props: &LinearProgressProps| {
37 html! {
38 <mwc-linear-progress
39 indeterminate={bool_to_option(props.indeterminate)}
40 progress={to_option_string(props.progress)}
41 buffer={to_option_string(props.buffer)}
42 reverse={bool_to_option(props.reverse)}
43 closed={bool_to_option(props.closed)}
44 ></mwc-linear-progress>
45 }
46 },
47 LinearProgress,
48 "linear-progress"
49);