Skip to content

Collection of essential Leptos utilities inspired by React-Use / VueUse

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

Synphonyte/leptos-use

Repository files navigation


Leptos-Use – Collection of essential Leptos utilities

Collection of essential Leptos utilities

Inspired by React-Use / VueUse

Crates.io SSR Docs & Demos 87 Functions




Usage

Crates.io Total Downloads Docs MIT/Apache 2.0 Build Status Discord

use leptos::prelude::*;
use leptos_use::{use_mouse, UseMouseReturn};

#[component]
fn Demo() -> impl IntoView {
    let UseMouseReturn { x, y, .. } = use_mouse();

    view! { cx,
        {x} " x " {y}
    }
}

Missing a function? Open a ticket or PR!

Development

To run all tests run

# Run tests (general)
cargo test --features math,docs,ssr

# Run tests (axum) use_cookie
cargo test --features math,docs,ssr,axum --doc use_cookie

# Run tests (axum) use_locale
cargo test --features math,docs,ssr,axum --doc use_locale

# Run tests (actix) use_cookie
cargo test --features math,docs,ssr,actix --doc use_cookie

# Run tests (actix) use_locale
cargo test --features math,docs,ssr,actix --doc use_locale

Book

First you need to install

cargo install mdbook mdbook-cmdrun trunk

To build the book go in your terminal into the docs/book folder and run

mdbook serve

This builds the html version of the book and runs a local dev server. To also add in the examples open another shell and run

python3 post_build.py

If you only want to add the example for one function you can run for example

python3 post_build.py use_storage

New Function Template

To scaffold a new function quickly you can run template/createfn.sh. It requires that ffizer and Python 3 is installed. This will create the function file in the src directory, scaffold an example directory and an entry in the book.

Leptos compatibility

Crate version Compatible Leptos version
<= 0.3 0.3
0.4, 0.5, 0.6 0.4
0.7, 0.8, 0.9 0.5
0.10 – 0.13 0.6
0.14, 0.15 0.7