1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use dioxus::prelude::*;
use crate::prelude::*;

#[derive(Props, Clone)]
pub struct ListProps<'a> {
    pub class: Option<&'a Class>,
    pub items: Vec<Element<'a>>,
}

pub fn List<'a>(cx: Scope<'a, ListProps<'a>>) -> Element {
    cx.render(rsx!(
        ul {
            class: cx.props.class,
            cx.props.items.iter().map(| item | rsx!{
                li {
                    item,
                }
            })
        }
    ))
}

pub fn ListC<'a>(cx: Scope<'a, ListProps<'a>>, class: Class) -> Element {
    cx.render(rsx!(
        ul {
            class: class + cx.props.class,
            cx.props.items.iter().map(| item | rsx!{
                li {
                    item,
                }
            })
        }
    ))
}