Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Synphonyte/leptos-use

Collection of essential Leptos utilities inspired by React-Use / VueUse
https://github.com/Synphonyte/leptos-use

dom hooks leptos leptos-use react-hooks react-use reactive rust solidjs-use utility-library vueuse webassembly yew-hooks

Last synced: 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        




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](https://img.shields.io/crates/d/leptos-use)
[![Docs](https://docs.rs/leptos-use/badge.svg)](https://docs.rs/leptos-use/)
[![MIT/Apache 2.0](https://img.shields.io/badge/license-MIT%2FApache-blue.svg)](https://github.com/synphonyte/leptos-use#license)
[![Build Status](https://github.com/synphonyte/leptos-use/actions/workflows/cd.yml/badge.svg)](https://github.com/synphonyte/leptos-use/actions/workflows/cd.yml)
[![Discord](https://img.shields.io/discord/1031524867910148188?color=%237289DA&label=discord)](https://discord.com/channels/1031524867910148188/1121154537709895783)

```rust
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

```shell
# 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

```shell
cargo install mdbook mdbook-cmdrun trunk
```

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

```shell
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

```shell
python3 post_build.py
```

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

```shell
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`](https://ffizer.github.io/) 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.7 |