nova_forms/components/
cols.rs

1use itertools::Itertools;
2use leptos::*;
3
4/// A component renders multiple columns.
5#[component]
6pub fn Cols(
7    /// The number of columns. The default is two.
8    #[prop(optional, default=2)] cols: usize,
9    children: Children,
10) -> impl IntoView
11where
12{    
13    view! {
14        <div class="cols" style=format!("grid-template-columns: {};", (0..cols).map(|_i| format!("1fr")).join(" "))>
15            {children()}
16        </div>
17    }
18}
19
20/// A component creates a colspan over multiple columns.
21#[component]
22pub fn Colspan(
23    /// The number of columns to span over. The default is two.
24    #[prop(optional, default=2)] cols: usize,
25    children: Children,
26) -> impl IntoView
27where
28{    
29    view! {
30        <div class="colspan" style=format!("grid-column: span {};", cols)>
31            {children()}
32        </div>
33    }
34}