OrbitalImplemented

Product UI and marketing surfaces

Orbital is the Unified Field design system for Leptos: tokens, shells, and product components. This site and the signed-in apps both use it.
Sorting, column controls and export in one component.

Why it exists

Marketing pages and signed-in apps should look like one product. Orbital ships the app bar, layouts, materials, typography, tables, charts and calendars on the same tokens.

On this site

This site and the signed-in shell both use Orbital Layout, AppBar, and typography.
Tokens, materials, and motion
Implemented
Use one theme vocabulary for color, density, spacing, motion, and Solid, Frost, or Shell materials.
Application shells
Implemented
Compose SSR documents, Layout, AppBar, navigation, route guards, and boot-loader behavior.
Components and forms
Implemented
Build Leptos interfaces from shared typography, controls, fields, dialogs, feedback, and layout primitives.
Feature crates
Implemented
Add data tables, charts, date pickers, schedulers, trees, discussions, and record-history views on the same tokens.
Shared data types
Implemented
Use common dataset and paging contracts across feature components and server boundaries.
Component catalog
Implemented
Browse the public preview catalog and adopter teaching hosts.
Toolchain
Implemented
Requires nightly Rust and cargo-leptos 0.3.6 or later.

See it in action

Code sample

Taken from the getting-started docs. See all code samples on Resources.
Orbital shellOrbital
OrbitalTemplate + Card on Leptos
use leptos::prelude::*;
use orbital::components::{
    Button, Card, CardContent, CardFooter, CardHeader, Subtitle1,
};
use orbital::OrbitalTemplate;

#[component]
fn App() -> impl IntoView {
    view! {
        <OrbitalTemplate>
            <Card>
                <CardHeader>
                    <Subtitle1>"Account"</Subtitle1>
                </CardHeader>
                <CardContent>"Signed-in settings use the same tokens as marketing."</CardContent>
                <CardFooter>
                    <Button>"Save"</Button>
                </CardFooter>
            </Card>
        </OrbitalTemplate>
    }
}