soma-ui 0.1.0

A Leptos 0.8 component library: 160+ accessible UI components, blocks, charts, and a ChartDB-style schema diagram — with a prebuilt stylesheet.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use leptos::prelude::*;

/// Pure layout wrapper that removes individual button rounding and merges borders
/// so grouped buttons appear as a single connected control.
#[component]
pub fn ButtonGroup(
    #[prop(default = String::new())] class: String,
    children: Children,
) -> impl IntoView {
    let combined = format!(
        "inline-flex [&>button]:rounded-none [&>button:first-child]:rounded-s-md [&>button:last-child]:rounded-e-md [&>button:not(:first-child)]:-ms-px {}",
        class
    );
    view! {
        <div class=combined>{children()}</div>
    }
}