diff --git a/Cargo.toml b/Cargo.toml
index 2679d07..1708d18 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -20,16 +20,16 @@ cfg-if = "1"
cookie = { version = "0.18", features = ["percent-encode"] }
default-struct-builder = "0.5"
futures-util = "0.3"
-gloo-timers = { version = "0.3.0", features = ["futures"] }
-gloo-utils = { version = "0.2.0" }
+gloo-timers = { version = "0.3", features = ["futures"] }
+gloo-utils = { version = "0.2" }
http1 = { version = "1", optional = true, package = "http" }
http0_2 = { version = "0.2", optional = true, package = "http" }
js-sys = "0.3"
lazy_static = "1"
-leptos = "0.6"
-leptos_axum = { version = "0.6", optional = true }
+leptos = "0.7.0-preview2"
+leptos_axum = { version = "0.7.0-preview2", optional = true }
leptos_actix = { version = "0.6", optional = true }
-leptos-spin = { version = "0.1", optional = true }
+leptos-spin = { version = "0.2", optional = true }
num = { version = "0.4", optional = true }
paste = "1"
prost = { version = "0.12", optional = true }
@@ -133,7 +133,7 @@ features = [
[dev-dependencies]
getrandom = { version = "0.2", features = ["js"] }
-leptos_meta = "0.6"
+leptos_meta = "0.7.0-preview2"
rand = "0.8"
[features]
diff --git a/README.md b/README.md
index 57516cc..13ff7c3 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,6 @@
-
## Usage
[![Docs](https://docs.rs/leptos-use/badge.svg)](https://docs.rs/leptos-use/)
@@ -29,7 +28,7 @@
[![Discord](https://img.shields.io/discord/1031524867910148188?color=%237289DA&label=discord)](https://discord.com/channels/1031524867910148188/1121154537709895783)
```rust
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::{use_mouse, UseMouseReturn};
#[component]
@@ -82,7 +81,8 @@ 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.
+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
diff --git a/docs/book/src/element_parameters.md b/docs/book/src/element_parameters.md
index 086e48c..94deb7a 100644
--- a/docs/book/src/element_parameters.md
+++ b/docs/book/src/element_parameters.md
@@ -35,14 +35,16 @@ pub fn some_directive(el: HtmlElement) {
Signal of Strings: `Signal`, `ReadSignal`, `RwSignal`, `Memo`; also works with `&str`:
```rust
-let (str_signal, set_str_signal) = create_signal("div > p.some-class".to_string());
+let (str_signal, set_str_signal) = signal("div > p.some-class".to_string());
use_element_size(str_signal);
```
-Signals of Elements: `Signal`, `ReadSignal`, `RwSignal`, `Memo`; also works with `Option`:
+Signals of
+Elements: `Signal`, `ReadSignal`, `RwSignal`, `Memo`;
+also works with `Option`:
```rust
-let (el_signal, set_el_signal) = create_signal(document().query_selector("div > p.some-class").unwrap());
+let (el_signal, set_el_signal) = signal(document().query_selector("div > p.some-class").unwrap());
use_element_size(el_signal);
```
@@ -61,7 +63,7 @@ types for `ElementMaybeSignal`.
Some functions work on one or more elements. Take [`use_resize_observer`](elements/use_resize_observer.md) for example.
This works very much the same way as described above but instead of `Into`
-it takes an `Into` (note the plural). This means you can use it exactly in
+it takes an `Into` (note the plural). This means you can use it exactly in
the same ways as you saw with the singular `ElementMaybeSignal`. Only this time, when you use
`String` or `&str` it will be interpreted as CSS selector with `query_selector_all`.
@@ -83,7 +85,7 @@ use_resize_observer(vec![node_ref1, node_ref2].as_slice());
## Usage in Options
-Some functions have options that take `Element(s)MaybeSignal`.
+Some functions have options that take `Element(s)MaybeSignal`.
They can be used in the same way.
```rust
diff --git a/docs/book/src/get_started.md b/docs/book/src/get_started.md
index dfdf5f8..501a38b 100644
--- a/docs/book/src/get_started.md
+++ b/docs/book/src/get_started.md
@@ -15,7 +15,7 @@ cargo add leptos-use
Simply import the functions you need from `leptos-use`
```rust,noplayground
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::{use_mouse, UseMouseReturn};
#[component]
@@ -32,6 +32,6 @@ Please refer to the [functions list](functions.md) for more details.
## Stable Rust
-Just like `leptos` this library can be safely run on stable rust.
-In the [Getting Started section](https://leptos-rs.github.io/leptos/02_getting_started.html)
+Just like `leptos` this library can be safely run on stable rust.
+In the [Getting Started section](https://leptos-rs.github.io/leptos/02_getting_started.html)
of the `leptos` docs you can read more about what this means.
\ No newline at end of file
diff --git a/docs/book/src/server_side_rendering.md b/docs/book/src/server_side_rendering.md
index 6c4cc37..a61d69d 100644
--- a/docs/book/src/server_side_rendering.md
+++ b/docs/book/src/server_side_rendering.md
@@ -66,7 +66,7 @@ a new-type-wrapped `Option` or `Option` resp
used safely on the server. The following code works on both the client and the server:
```rust
-use leptos::*;
+use leptos::prelude::*;
use leptos::ev::keyup;
use leptos_use::{use_event_listener, use_window};
diff --git a/examples/on_click_outside/src/main.rs b/examples/on_click_outside/src/main.rs
index aad7606..5588c3f 100644
--- a/examples/on_click_outside/src/main.rs
+++ b/examples/on_click_outside/src/main.rs
@@ -1,11 +1,11 @@
use leptos::html::Div;
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::demo_or_body;
use leptos_use::on_click_outside;
#[component]
fn Demo() -> impl IntoView {
- let (show_modal, set_show_modal) = create_signal(false);
+ let (show_modal, set_show_modal) = signal(false);
let modal_ref = create_node_ref::
();
let _ = on_click_outside(modal_ref, move |_| set_show_modal.set(false));
diff --git a/examples/signal_debounced/src/main.rs b/examples/signal_debounced/src/main.rs
index cce81fc..07f4c26 100644
--- a/examples/signal_debounced/src/main.rs
+++ b/examples/signal_debounced/src/main.rs
@@ -1,10 +1,10 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::{demo_or_body, Note};
use leptos_use::signal_debounced;
#[component]
fn Demo() -> impl IntoView {
- let (input, set_input) = create_signal("".to_string());
+ let (input, set_input) = signal("".to_string());
let debounced: Signal = signal_debounced(input, 1000.0);
view! {
diff --git a/examples/signal_throttled/src/main.rs b/examples/signal_throttled/src/main.rs
index 0fc9058..7468ade 100644
--- a/examples/signal_throttled/src/main.rs
+++ b/examples/signal_throttled/src/main.rs
@@ -1,10 +1,10 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::{demo_or_body, Note};
use leptos_use::signal_throttled;
#[component]
fn Demo() -> impl IntoView {
- let (input, set_input) = create_signal("".to_string());
+ let (input, set_input) = signal("".to_string());
let throttled: Signal = signal_throttled(input, 1000.0);
view! {
diff --git a/examples/ssr/src/app.rs b/examples/ssr/src/app.rs
index 9b4e6f0..1ab9506 100644
--- a/examples/ssr/src/app.rs
+++ b/examples/ssr/src/app.rs
@@ -1,6 +1,6 @@
use crate::error_template::{AppError, ErrorTemplate};
use leptos::ev::{keypress, KeyboardEvent};
-use leptos::*;
+use leptos::prelude::*;
use leptos_meta::*;
use leptos_router::*;
use leptos_use::storage::use_local_storage;
@@ -49,14 +49,14 @@ fn HomePage() -> impl IntoView {
let zh_count = nf.format::(count);
- let (key, set_key) = create_signal("".to_string());
+ let (key, set_key) = signal("".to_string());
// window() doesn't work on the server so we provide use_window()
let _ = use_event_listener(use_window(), keypress, move |evt: KeyboardEvent| {
set_key(evt.key())
});
- let (debounce_value, set_debounce_value) = create_signal("not called");
+ let (debounce_value, set_debounce_value) = signal("not called");
let debounced_fn = use_debounce_fn(
move || {
diff --git a/examples/ssr/src/error_template.rs b/examples/ssr/src/error_template.rs
index 83cbbe3..a0245bc 100644
--- a/examples/ssr/src/error_template.rs
+++ b/examples/ssr/src/error_template.rs
@@ -1,6 +1,6 @@
use cfg_if::cfg_if;
use http::status::StatusCode;
-use leptos::*;
+use leptos::prelude::*;
use thiserror::Error;
#[cfg(feature = "ssr")]
diff --git a/examples/ssr/src/fileserv.rs b/examples/ssr/src/fileserv.rs
index 6cb34a3..9eee59f 100644
--- a/examples/ssr/src/fileserv.rs
+++ b/examples/ssr/src/fileserv.rs
@@ -10,7 +10,7 @@ cfg_if! { if #[cfg(feature = "ssr")] {
use axum::response::Response as AxumResponse;
use tower::ServiceExt;
use tower_http::services::ServeDir;
- use leptos::*;
+ use leptos::prelude::*;
use crate::app::App;
pub async fn file_and_error_handler(uri: Uri, State(options): State, req: Request) -> AxumResponse {
diff --git a/examples/ssr/src/lib.rs b/examples/ssr/src/lib.rs
index 91f1c26..f2deee8 100644
--- a/examples/ssr/src/lib.rs
+++ b/examples/ssr/src/lib.rs
@@ -4,7 +4,7 @@ pub mod error_template;
pub mod fileserv;
cfg_if! { if #[cfg(feature = "hydrate")] {
- use leptos::*;
+ use leptos::prelude::*;
use wasm_bindgen::prelude::wasm_bindgen;
use crate::app::*;
diff --git a/examples/ssr/src/main.rs b/examples/ssr/src/main.rs
index 4d92392..911c6d4 100644
--- a/examples/ssr/src/main.rs
+++ b/examples/ssr/src/main.rs
@@ -3,7 +3,7 @@
async fn main() {
use axum::{routing::post, Router};
use leptos::logging::log;
- use leptos::*;
+ use leptos::prelude::*;
use leptos_axum::{generate_route_list, LeptosRoutes};
use leptos_use_ssr::app::*;
use leptos_use_ssr::fileserv::file_and_error_handler;
diff --git a/examples/sync_signal/src/main.rs b/examples/sync_signal/src/main.rs
index 8fdb931..10ec8da 100644
--- a/examples/sync_signal/src/main.rs
+++ b/examples/sync_signal/src/main.rs
@@ -1,11 +1,11 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::demo_or_body;
use leptos_use::sync_signal;
#[component]
fn Demo() -> impl IntoView {
- let (a, set_a) = create_signal(String::new());
- let (b, set_b) = create_signal(String::new());
+ let (a, set_a) = signal(String::new());
+ let (b, set_b) = signal(String::new());
let _ = sync_signal((a, set_a), (b, set_b));
diff --git a/examples/use_abs/src/main.rs b/examples/use_abs/src/main.rs
index b396c55..3570c0d 100644
--- a/examples/use_abs/src/main.rs
+++ b/examples/use_abs/src/main.rs
@@ -1,10 +1,10 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::demo_or_body;
use leptos_use::math::use_abs;
#[component]
fn Demo() -> impl IntoView {
- let (value, set_value) = create_signal(-32.25);
+ let (value, set_value) = signal(-32.25);
let result: Signal = use_abs(value);
diff --git a/examples/use_active_element/src/main.rs b/examples/use_active_element/src/main.rs
index 8678475..f8bea4a 100644
--- a/examples/use_active_element/src/main.rs
+++ b/examples/use_active_element/src/main.rs
@@ -1,4 +1,4 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::{demo_or_body, Note};
use leptos_use::use_active_element;
diff --git a/examples/use_and/src/main.rs b/examples/use_and/src/main.rs
index d6d4c1c..703646f 100644
--- a/examples/use_and/src/main.rs
+++ b/examples/use_and/src/main.rs
@@ -1,11 +1,11 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::{demo_or_body, BooleanDisplay};
use leptos_use::math::use_and;
#[component]
fn Demo() -> impl IntoView {
- let (a, set_a) = create_signal(false);
- let (b, set_b) = create_signal(false);
+ let (a, set_a) = signal(false);
+ let (b, set_b) = signal(false);
let a_and_b = use_and(a, b);
diff --git a/examples/use_breakpoints/src/main.rs b/examples/use_breakpoints/src/main.rs
index 16aa495..cb4eb67 100644
--- a/examples/use_breakpoints/src/main.rs
+++ b/examples/use_breakpoints/src/main.rs
@@ -1,4 +1,4 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::{demo_or_body, BooleanDisplay};
use leptos_use::{breakpoints_tailwind, use_breakpoints, BreakpointsTailwind};
diff --git a/examples/use_broadcast_channel/src/main.rs b/examples/use_broadcast_channel/src/main.rs
index 749ae88..cbec90e 100644
--- a/examples/use_broadcast_channel/src/main.rs
+++ b/examples/use_broadcast_channel/src/main.rs
@@ -1,4 +1,4 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::demo_or_body;
use leptos_use::utils::FromToStringCodec;
use leptos_use::{use_broadcast_channel, UseBroadcastChannelReturn};
@@ -13,7 +13,7 @@ fn Demo() -> impl IntoView {
..
} = use_broadcast_channel::("leptos-use-demo-channel");
- let (input_value, set_input_value) = create_signal(String::new());
+ let (input_value, set_input_value) = signal(String::new());
view! {
Please open this page in at least two tabs
diff --git a/examples/use_ceil/src/main.rs b/examples/use_ceil/src/main.rs
index 773150a..ebff67d 100644
--- a/examples/use_ceil/src/main.rs
+++ b/examples/use_ceil/src/main.rs
@@ -1,10 +1,10 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::demo_or_body;
use leptos_use::math::use_ceil;
#[component]
fn Demo() -> impl IntoView {
- let (value, set_value) = create_signal(4.15);
+ let (value, set_value) = signal(4.15);
let result: Signal = use_ceil(value);
diff --git a/examples/use_clipboard/src/main.rs b/examples/use_clipboard/src/main.rs
index e7852b3..d54195a 100644
--- a/examples/use_clipboard/src/main.rs
+++ b/examples/use_clipboard/src/main.rs
@@ -1,10 +1,10 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::{demo_or_body, Note};
use leptos_use::{use_clipboard, use_permission, UseClipboardReturn};
#[component]
fn Demo() -> impl IntoView {
- let (input, set_input) = create_signal("".to_owned());
+ let (input, set_input) = signal("".to_owned());
let UseClipboardReturn {
is_supported,
diff --git a/examples/use_color_mode/src/main.rs b/examples/use_color_mode/src/main.rs
index ca6beb7..513d2ef 100644
--- a/examples/use_color_mode/src/main.rs
+++ b/examples/use_color_mode/src/main.rs
@@ -1,5 +1,5 @@
use leptos::html::html;
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::{demo_or_body, Note};
use leptos_use::{
use_color_mode_with_options, use_cycle_list_with_options, ColorMode, UseColorModeOptions,
diff --git a/examples/use_cookie/src/main.rs b/examples/use_cookie/src/main.rs
index 0429b28..ffff3ff 100644
--- a/examples/use_cookie/src/main.rs
+++ b/examples/use_cookie/src/main.rs
@@ -1,4 +1,4 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::demo_or_body;
use leptos_use::use_cookie;
use leptos_use::utils::FromToStringCodec;
diff --git a/examples/use_css_var/src/main.rs b/examples/use_css_var/src/main.rs
index 58ed393..b715b28 100644
--- a/examples/use_css_var/src/main.rs
+++ b/examples/use_css_var/src/main.rs
@@ -1,5 +1,5 @@
use leptos::html::Div;
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::demo_or_body;
use leptos_use::{use_css_var_with_options, UseCssVarOptions};
@@ -17,7 +17,7 @@ fn Demo() -> impl IntoView {
};
let elv = create_node_ref::
();
- let (key, set_key) = create_signal("--color".to_string());
+ let (key, set_key) = signal("--color".to_string());
let (color_val, _) = use_css_var_with_options(key, UseCssVarOptions::default().target(elv));
let change_var = move |_| {
if key.get() == "--color" {
diff --git a/examples/use_cycle_list/src/main.rs b/examples/use_cycle_list/src/main.rs
index 4fcb600..a82d240 100644
--- a/examples/use_cycle_list/src/main.rs
+++ b/examples/use_cycle_list/src/main.rs
@@ -1,4 +1,4 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::demo_or_body;
use leptos_use::{use_cycle_list, UseCycleListReturn};
diff --git a/examples/use_debounce_fn/src/main.rs b/examples/use_debounce_fn/src/main.rs
index 08d5dbf..2073eba 100644
--- a/examples/use_debounce_fn/src/main.rs
+++ b/examples/use_debounce_fn/src/main.rs
@@ -1,11 +1,11 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::{demo_or_body, Note};
use leptos_use::{use_debounce_fn_with_options, DebounceOptions};
#[component]
fn Demo() -> impl IntoView {
- let (click_count, set_click_count) = create_signal(0);
- let (debounced_count, set_debounced_count) = create_signal(0);
+ let (click_count, set_click_count) = signal(0);
+ let (debounced_count, set_debounced_count) = signal(0);
let debounced_fn = use_debounce_fn_with_options(
move || set_debounced_count.set(debounced_count.get_untracked() + 1),
diff --git a/examples/use_device_orientation/src/main.rs b/examples/use_device_orientation/src/main.rs
index a3e3173..115c164 100644
--- a/examples/use_device_orientation/src/main.rs
+++ b/examples/use_device_orientation/src/main.rs
@@ -1,4 +1,4 @@
-use leptos::*;
+use leptos::prelude::*;
use leptos_use::docs::demo_or_body;
use leptos_use::use_device_orientation;
@@ -7,22 +7,22 @@ fn Demo() -> impl IntoView {
let orientation = use_device_orientation();
view! {
-