2023-07-03 16:10:58 +01:00
|
|
|
use leptos::html::Div;
|
2023-06-11 01:01:54 +01:00
|
|
|
use leptos::*;
|
|
|
|
use leptos_use::docs::{demo_or_body, BooleanDisplay, Note};
|
|
|
|
use leptos_use::use_element_visibility;
|
|
|
|
|
|
|
|
#[component]
|
2023-07-27 18:06:36 +01:00
|
|
|
fn Demo() -> impl IntoView {
|
|
|
|
let el = create_node_ref::<Div>();
|
2023-06-11 01:01:54 +01:00
|
|
|
|
2023-07-27 18:06:36 +01:00
|
|
|
let is_visible = use_element_visibility(el);
|
2023-06-11 01:01:54 +01:00
|
|
|
|
2023-07-27 19:48:21 +01:00
|
|
|
view! {
|
|
|
|
<div>
|
2023-06-11 01:01:54 +01:00
|
|
|
<Note class="mb-4">"Info on the right bottom corner"</Note>
|
|
|
|
<div node_ref=el class="max-w-lg relative area dark:bg-gray-800 shadow-lg z-60">
|
|
|
|
"Target Element (scroll down)"
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="float m-5 area shadow-lg">
|
|
|
|
"Element "
|
2023-07-27 19:48:21 +01:00
|
|
|
<BooleanDisplay
|
|
|
|
value=is_visible
|
|
|
|
true_str="inside"
|
|
|
|
false_str="outside"
|
|
|
|
class="font-bold"
|
|
|
|
/> " the viewport"
|
2023-06-11 01:01:54 +01:00
|
|
|
</div>
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
_ = console_log::init_with_level(log::Level::Debug);
|
|
|
|
console_error_panic_hook::set_once();
|
|
|
|
|
2023-07-27 18:06:36 +01:00
|
|
|
mount_to(demo_or_body(), || {
|
2023-07-27 19:48:21 +01:00
|
|
|
view! { <Demo/> }
|
2023-06-11 01:01:54 +01:00
|
|
|
})
|
|
|
|
}
|