yew_bs/components/
overflow.rs1use yew::prelude::*;
2#[derive(Clone, Copy, PartialEq, Debug)]
3pub enum OverflowVariant {
4 Auto,
5 Hidden,
6 Visible,
7 Scroll,
8}
9impl OverflowVariant {
10 pub fn as_str(&self) -> &'static str {
11 match self {
12 OverflowVariant::Auto => "overflow-auto",
13 OverflowVariant::Hidden => "overflow-hidden",
14 OverflowVariant::Visible => "overflow-visible",
15 OverflowVariant::Scroll => "overflow-scroll",
16 }
17 }
18}
19#[derive(Properties, PartialEq)]
21pub struct OverflowProps {
22 pub overflow: OverflowVariant,
24 #[prop_or_default]
26 pub children: Children,
27 #[prop_or_default]
29 pub class: Option<AttrValue>,
30}
31#[function_component(Overflow)]
35pub fn overflow(props: &OverflowProps) -> Html {
36 let mut classes = Classes::new();
37 classes.push(props.overflow.as_str());
38 if let Some(custom_class) = &props.class {
39 classes.push(custom_class.to_string());
40 }
41 html! {
42 < div class = { classes } > { for props.children.iter() } </ div >
43 }
44}