leptos-use/src/lib.rs

302 lines
8.7 KiB
Rust
Raw Normal View History

2024-05-10 14:33:00 -05:00
#![allow(unexpected_cfgs)]
// #![feature(doc_cfg)]
2023-05-27 03:00:08 +01:00
//! Collection of essential Leptos utilities inspired by SolidJS USE / VueUse
2023-05-14 22:45:38 +01:00
pub mod core;
2023-05-29 01:52:03 +01:00
#[cfg(feature = "docs")]
pub mod docs;
2023-06-03 05:25:45 +01:00
#[cfg(feature = "math")]
pub mod math;
#[cfg(feature = "storage")]
pub mod storage;
2023-06-10 19:15:41 +01:00
pub mod utils;
pub use core::ReconnectLimit;
2024-01-30 00:02:14 +00:00
// #[cfg(web_sys_unstable_apis)]
// mod use_webtransport;
// #[cfg(web_sys_unstable_apis)]
// pub use use_webtransport::*;
2023-06-10 23:59:32 +01:00
#[cfg(feature = "is_err")]
2023-07-16 14:04:42 +01:00
mod is_err;
#[cfg(feature = "is_none")]
2023-07-16 14:00:12 +01:00
mod is_none;
#[cfg(feature = "is_ok")]
2023-07-17 03:23:44 +01:00
mod is_ok;
#[cfg(feature = "is_some")]
2023-07-16 14:00:12 +01:00
mod is_some;
#[cfg(feature = "on_click_outside")]
2023-07-17 03:23:44 +01:00
mod on_click_outside;
#[cfg(feature = "signal_debounced")]
2023-07-24 23:18:11 +01:00
mod signal_debounced;
#[cfg(feature = "signal_throttled")]
2023-07-17 18:55:42 +01:00
mod signal_throttled;
#[cfg(feature = "sync_signal")]
2024-04-10 22:58:42 +01:00
mod sync_signal;
#[cfg(feature = "use_active_element")]
2023-06-17 14:05:17 +01:00
mod use_active_element;
#[cfg(feature = "use_breakpoints")]
2023-06-10 23:59:32 +01:00
mod use_breakpoints;
#[cfg(feature = "use_broadcast_channel")]
2024-01-29 21:29:39 +00:00
mod use_broadcast_channel;
#[cfg(feature = "use_clipboard")]
mod use_clipboard;
#[cfg(feature = "use_color_mode")]
2023-06-24 01:17:23 +01:00
mod use_color_mode;
#[cfg(feature = "use_cookie")]
2024-01-21 17:33:53 +05:30
mod use_cookie;
#[cfg(feature = "use_css_var")]
2023-06-16 19:33:55 +01:00
mod use_css_var;
#[cfg(feature = "use_cycle_list")]
2023-06-24 01:17:23 +01:00
mod use_cycle_list;
#[cfg(feature = "use_debounce_fn")]
2023-06-10 23:59:32 +01:00
mod use_debounce_fn;
#[cfg(feature = "use_device_orientation")]
2024-01-30 10:21:54 +01:00
mod use_device_orientation;
#[cfg(feature = "use_device_pixel_ratio")]
2024-01-01 19:29:03 +01:00
mod use_device_pixel_ratio;
#[cfg(feature = "use_display_media")]
2023-11-24 15:06:35 -05:00
mod use_display_media;
#[cfg(feature = "use_document")]
2023-09-17 15:45:33 +01:00
mod use_document;
#[cfg(feature = "use_document_visibility")]
2023-07-07 23:37:22 +01:00
mod use_document_visibility;
#[cfg(feature = "use_draggable")]
2023-07-17 03:23:44 +01:00
mod use_draggable;
#[cfg(feature = "use_drop_zone")]
2023-07-15 00:55:02 +01:00
mod use_drop_zone;
#[cfg(feature = "use_element_bounding")]
2024-01-03 20:51:33 +00:00
mod use_element_bounding;
#[cfg(feature = "use_element_hover")]
2023-06-17 04:05:51 +01:00
mod use_element_hover;
#[cfg(feature = "use_element_size")]
mod use_element_size;
#[cfg(feature = "use_element_visibility")]
2023-06-11 01:01:54 +01:00
mod use_element_visibility;
#[cfg(feature = "use_event_listener")]
2023-05-27 03:00:08 +01:00
mod use_event_listener;
#[cfg(feature = "use_event_source")]
2024-03-05 20:45:33 +00:00
mod use_event_source;
#[cfg(feature = "use_favicon")]
2023-06-10 13:49:00 +01:00
mod use_favicon;
#[cfg(feature = "use_geolocation")]
2023-09-17 15:45:33 +01:00
mod use_geolocation;
#[cfg(feature = "use_idle")]
2023-09-17 15:45:33 +01:00
mod use_idle;
#[cfg(feature = "use_infinite_scroll")]
2023-10-23 20:15:05 -05:00
mod use_infinite_scroll;
#[cfg(feature = "use_intersection_observer")]
2023-06-10 23:59:32 +01:00
mod use_intersection_observer;
#[cfg(feature = "use_interval")]
2023-06-15 18:02:13 +02:00
mod use_interval;
#[cfg(feature = "use_interval_fn")]
2023-06-14 16:15:03 +01:00
mod use_interval_fn;
#[cfg(feature = "use_intl_number_format")]
2023-07-14 05:48:37 +01:00
mod use_intl_number_format;
#[cfg(feature = "use_locale")]
2024-07-28 20:46:28 +01:00
mod use_locale;
#[cfg(feature = "use_locales")]
2024-07-28 20:02:12 +01:00
mod use_locales;
#[cfg(feature = "use_media_query")]
2023-06-10 03:19:00 +01:00
mod use_media_query;
#[cfg(feature = "use_mouse")]
2023-06-02 13:38:01 +01:00
mod use_mouse;
#[cfg(feature = "use_mouse_in_element")]
mod use_mouse_in_element;
#[cfg(feature = "use_mutation_observer")]
2023-06-13 00:31:38 +01:00
mod use_mutation_observer;
#[cfg(feature = "use_permission")]
2024-02-09 04:22:23 +00:00
mod use_permission;
#[cfg(feature = "use_preferred_contrast")]
mod use_preferred_contrast;
#[cfg(feature = "use_preferred_dark")]
mod use_preferred_dark;
#[cfg(feature = "use_prefers_reduced_motion")]
mod use_prefers_reduced_motion;
#[cfg(feature = "use_raf_fn")]
2023-07-16 01:07:52 +01:00
mod use_raf_fn;
#[cfg(feature = "use_resize_observer")]
mod use_resize_observer;
#[cfg(feature = "use_scroll")]
2023-05-27 03:00:08 +01:00
mod use_scroll;
#[cfg(feature = "use_service_worker")]
2023-10-04 18:09:21 +02:00
mod use_service_worker;
#[cfg(feature = "use_sorted")]
2023-10-02 21:05:20 +01:00
mod use_sorted;
#[cfg(feature = "use_supported")]
2023-05-29 01:52:03 +01:00
mod use_supported;
#[cfg(feature = "use_throttle_fn")]
2023-05-27 03:00:08 +01:00
mod use_throttle_fn;
#[cfg(feature = "use_timeout_fn")]
mod use_timeout_fn;
#[cfg(feature = "use_timestamp")]
2023-09-17 15:45:33 +01:00
mod use_timestamp;
#[cfg(feature = "use_to_string")]
2023-07-17 03:23:44 +01:00
mod use_to_string;
2024-08-28 02:57:26 +01:00
#[cfg(feature = "use_toggle")]
mod use_toggle;
#[cfg(feature = "use_user_media")]
2024-07-27 18:23:28 +02:00
mod use_user_media;
#[cfg(feature = "use_web_notification")]
2023-10-24 00:44:23 -05:00
mod use_web_notification;
#[cfg(feature = "use_websocket")]
mod use_websocket;
#[cfg(feature = "use_window")]
2023-09-17 15:45:33 +01:00
mod use_window;
#[cfg(feature = "use_window_focus")]
2023-07-07 23:37:22 +01:00
mod use_window_focus;
#[cfg(feature = "use_window_scroll")]
2023-07-07 23:37:22 +01:00
mod use_window_scroll;
#[cfg(feature = "watch_debounced")]
mod watch_debounced;
#[cfg(feature = "watch_pausable")]
2023-06-10 00:57:35 +01:00
mod watch_pausable;
#[cfg(feature = "watch_throttled")]
mod watch_throttled;
#[cfg(feature = "watch_with_options")]
2023-07-24 21:16:59 +02:00
mod watch_with_options;
#[cfg(feature = "whenever")]
2023-06-11 17:11:16 +01:00
mod whenever;
#[cfg(feature = "is_err")]
2023-07-16 14:04:42 +01:00
pub use is_err::*;
#[cfg(feature = "is_none")]
2023-07-16 14:00:12 +01:00
pub use is_none::*;
#[cfg(feature = "is_ok")]
2023-07-17 03:23:44 +01:00
pub use is_ok::*;
#[cfg(feature = "is_some")]
2023-07-16 14:00:12 +01:00
pub use is_some::*;
#[cfg(feature = "on_click_outside")]
2023-07-17 03:23:44 +01:00
pub use on_click_outside::*;
#[cfg(feature = "signal_debounced")]
2023-07-24 23:18:11 +01:00
pub use signal_debounced::*;
#[cfg(feature = "signal_throttled")]
2023-07-17 18:55:42 +01:00
pub use signal_throttled::*;
#[cfg(feature = "sync_signal")]
2024-04-10 22:58:42 +01:00
pub use sync_signal::*;
#[cfg(feature = "use_active_element")]
2023-06-17 14:05:17 +01:00
pub use use_active_element::*;
#[cfg(feature = "use_breakpoints")]
2023-06-10 19:15:41 +01:00
pub use use_breakpoints::*;
#[cfg(feature = "use_broadcast_channel")]
2024-01-29 21:29:39 +00:00
pub use use_broadcast_channel::*;
#[cfg(feature = "use_clipboard")]
pub use use_clipboard::*;
#[cfg(feature = "use_color_mode")]
2023-06-24 01:17:23 +01:00
pub use use_color_mode::*;
#[cfg(feature = "use_cookie")]
2024-01-21 17:33:53 +05:30
pub use use_cookie::*;
#[cfg(feature = "use_css_var")]
2023-06-16 19:33:55 +01:00
pub use use_css_var::*;
#[cfg(feature = "use_cycle_list")]
2023-06-24 01:17:23 +01:00
pub use use_cycle_list::*;
#[cfg(feature = "use_debounce_fn")]
pub use use_debounce_fn::*;
#[cfg(feature = "use_device_orientation")]
2024-01-30 10:21:54 +01:00
pub use use_device_orientation::*;
#[cfg(feature = "use_device_pixel_ratio")]
2024-01-01 19:29:03 +01:00
pub use use_device_pixel_ratio::*;
#[cfg(feature = "use_display_media")]
2023-11-24 15:06:35 -05:00
pub use use_display_media::*;
#[cfg(feature = "use_document")]
2023-09-17 15:45:33 +01:00
pub use use_document::*;
#[cfg(feature = "use_document_visibility")]
2023-07-07 23:37:22 +01:00
pub use use_document_visibility::*;
#[cfg(feature = "use_draggable")]
2023-07-17 03:23:44 +01:00
pub use use_draggable::*;
#[cfg(feature = "use_drop_zone")]
2023-07-15 00:55:02 +01:00
pub use use_drop_zone::*;
#[cfg(feature = "use_element_bounding")]
2024-01-03 20:51:33 +00:00
pub use use_element_bounding::*;
#[cfg(feature = "use_element_hover")]
2023-06-17 04:05:51 +01:00
pub use use_element_hover::*;
#[cfg(feature = "use_element_size")]
pub use use_element_size::*;
#[cfg(feature = "use_element_visibility")]
2023-06-11 01:01:54 +01:00
pub use use_element_visibility::*;
#[cfg(feature = "use_event_listener")]
pub use use_event_listener::*;
#[cfg(feature = "use_event_source")]
2024-03-05 20:45:33 +00:00
pub use use_event_source::*;
#[cfg(feature = "use_favicon")]
2023-06-10 13:49:00 +01:00
pub use use_favicon::*;
#[cfg(feature = "use_geolocation")]
2023-09-17 15:45:33 +01:00
pub use use_geolocation::*;
#[cfg(feature = "use_idle")]
2023-09-17 15:45:33 +01:00
pub use use_idle::*;
#[cfg(feature = "use_infinite_scroll")]
2023-10-23 20:15:05 -05:00
pub use use_infinite_scroll::*;
#[cfg(feature = "use_intersection_observer")]
2023-06-10 23:59:32 +01:00
pub use use_intersection_observer::*;
#[cfg(feature = "use_interval")]
2023-06-15 18:02:13 +02:00
pub use use_interval::*;
#[cfg(feature = "use_interval_fn")]
2023-06-14 16:15:03 +01:00
pub use use_interval_fn::*;
#[cfg(feature = "use_intl_number_format")]
2023-07-14 05:48:37 +01:00
pub use use_intl_number_format::*;
#[cfg(feature = "use_locale")]
2024-07-28 20:46:28 +01:00
pub use use_locale::*;
#[cfg(feature = "use_locales")]
2024-07-28 20:02:12 +01:00
pub use use_locales::*;
#[cfg(feature = "use_media_query")]
2023-06-10 03:19:00 +01:00
pub use use_media_query::*;
#[cfg(feature = "use_mouse")]
2023-06-02 13:38:01 +01:00
pub use use_mouse::*;
#[cfg(feature = "use_mouse_in_element")]
pub use use_mouse_in_element::*;
#[cfg(feature = "use_mutation_observer")]
2023-06-13 00:31:38 +01:00
pub use use_mutation_observer::*;
#[cfg(feature = "use_permission")]
2024-02-09 04:22:23 +00:00
pub use use_permission::*;
#[cfg(feature = "use_preferred_contrast")]
pub use use_preferred_contrast::*;
#[cfg(feature = "use_preferred_dark")]
pub use use_preferred_dark::*;
#[cfg(feature = "use_prefers_reduced_motion")]
pub use use_prefers_reduced_motion::*;
#[cfg(feature = "use_raf_fn")]
2023-07-16 01:07:52 +01:00
pub use use_raf_fn::*;
#[cfg(feature = "use_resize_observer")]
pub use use_resize_observer::*;
#[cfg(feature = "use_scroll")]
2023-05-19 00:58:48 +01:00
pub use use_scroll::*;
#[cfg(feature = "use_service_worker")]
2023-10-04 18:09:21 +02:00
pub use use_service_worker::*;
#[cfg(feature = "use_sorted")]
2023-10-02 21:05:20 +01:00
pub use use_sorted::*;
#[cfg(feature = "use_supported")]
2023-05-29 01:52:03 +01:00
pub use use_supported::*;
#[cfg(feature = "use_throttle_fn")]
2023-05-19 00:58:48 +01:00
pub use use_throttle_fn::*;
#[cfg(feature = "use_timeout_fn")]
pub use use_timeout_fn::*;
#[cfg(feature = "use_timestamp")]
2023-09-17 15:45:33 +01:00
pub use use_timestamp::*;
#[cfg(feature = "use_to_string")]
2023-07-17 03:23:44 +01:00
pub use use_to_string::*;
2024-08-28 02:57:26 +01:00
#[cfg(feature = "use_toggle")]
pub use use_toggle::*;
#[cfg(feature = "use_user_media")]
2024-07-27 18:23:28 +02:00
pub use use_user_media::*;
#[cfg(feature = "use_web_notification")]
2023-10-24 00:44:23 -05:00
pub use use_web_notification::*;
#[cfg(feature = "use_websocket")]
pub use use_websocket::*;
#[cfg(feature = "use_window")]
2023-09-17 15:45:33 +01:00
pub use use_window::*;
#[cfg(feature = "use_window_focus")]
2023-07-07 23:37:22 +01:00
pub use use_window_focus::*;
#[cfg(feature = "use_window_scroll")]
2023-07-07 23:37:22 +01:00
pub use use_window_scroll::*;
#[cfg(feature = "watch_debounced")]
pub use watch_debounced::*;
#[cfg(feature = "watch_pausable")]
2023-06-10 00:57:35 +01:00
pub use watch_pausable::*;
#[cfg(feature = "watch_throttled")]
pub use watch_throttled::*;
#[cfg(feature = "watch_with_options")]
2023-07-24 21:16:59 +02:00
pub use watch_with_options::*;
#[cfg(feature = "whenever")]
2023-06-11 17:11:16 +01:00
pub use whenever::*;