Leptos

Using NexusStratum with Leptos 0.8+.

Setup

Cargo.toml
[dependencies]
stratum = { version = "0.1", features = ["leptos", "tailwind", "icons"] }

Basic Usage

app.rs
use stratum_leptos::*;

#[component]
fn App() -> impl IntoView {
    view! {
        <ThemeProvider theme=Theme::default()>
            <Button>"Click me"</Button>
        </ThemeProvider>
    }
}

What stratum-leptos Provides

Event Conversion

events.rs
use stratum_leptos::StratumAdapter;

// Convert a Leptos keyboard event to stratum ComponentEvent
let event = StratumAdapter::keydown_event(
    "Enter", false, false, false, false
);

// Convert a click
let event = StratumAdapter::click_event(100.0, 200.0, 0);

Dark Mode

dark.rs
use stratum_leptos::provider::{ThemeContext, DarkMode};

let ctx = ThemeContext::new(Theme::default(), DarkMode::System);
let css = ctx.css_variables(); // includes @media prefers-color-scheme
Next: Dioxus