yew_bs/components/
col.rs

1use yew::prelude::*;
2use crate::components::common::column_classes;
3#[derive(Properties, PartialEq)]
4pub struct ColProps {
5    #[prop_or_default]
6    pub children: Children,
7    #[prop_or_default]
8    pub xs: Option<u8>,
9    #[prop_or_default]
10    pub sm: Option<u8>,
11    #[prop_or_default]
12    pub md: Option<u8>,
13    #[prop_or_default]
14    pub lg: Option<u8>,
15    #[prop_or_default]
16    pub xl: Option<u8>,
17    #[prop_or_default]
18    pub xxl: Option<u8>,
19    #[prop_or_default]
20    pub class: Option<AttrValue>,
21    #[prop_or_default]
22    pub node_ref: NodeRef,
23}
24#[function_component(Col)]
25pub fn col(props: &ColProps) -> Html {
26    let classes = column_classes(
27        props.xs,
28        props.sm,
29        props.md,
30        props.lg,
31        props.xl,
32        props.xxl,
33        props.class.clone(),
34    );
35    html! {
36        < div class = { classes } ref = { props.node_ref.clone() } > { for props.children
37        .iter() } </ div >
38    }
39}