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}