orbital-base-components 0.1.1

Headless base primitives for Orbital — structure, semantics, and accessibility
Documentation
use leptos::prelude::*;

use crate::flex::{BaseFlex, FlexAlign, FlexGap, FlexJustify};

/// Headless vertical/horizontal stack — composes [`BaseFlex`] with full width.
#[component]
pub fn BaseStack(
    #[prop(optional, into)] class: MaybeProp<String>,
    #[prop(optional, into)] style: MaybeProp<String>,
    #[prop(default = FlexGap::Medium)] gap: FlexGap,
    #[prop(default = false)] horizontal: bool,
    #[prop(optional, into)] align: MaybeProp<FlexAlign>,
    #[prop(optional, into)] justify: MaybeProp<FlexJustify>,
    children: Children,
) -> impl IntoView {
    view! {
        <div class=class style=style>
            <BaseFlex
                gap=gap
                vertical=!horizontal
                align=align
                justify=justify
                full_width=true
            >
                {children()}
            </BaseFlex>
        </div>
    }
}