nova_forms/components/
cols.rs

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 itertools::Itertools;
use leptos::*;

/// A component renders multiple columns.
#[component]
pub fn Cols(
    /// The number of columns. The default is two.
    #[prop(optional, default=2)] cols: usize,
    children: Children,
) -> impl IntoView
where
{    
    view! {
        <div class="cols" style=format!("grid-template-columns: {};", (0..cols).map(|_i| format!("1fr")).join(" "))>
            {children()}
        </div>
    }
}

/// A component creates a colspan over multiple columns.
#[component]
pub fn Colspan(
    /// The number of columns to span over. The default is two.
    #[prop(optional, default=2)] cols: usize,
    children: Children,
) -> impl IntoView
where
{    
    view! {
        <div class="colspan" style=format!("grid-column: span {};", cols)>
            {children()}
        </div>
    }
}