intersection-observer
React to a component coming into view using Reflex event handler.
Installation
pip install reflex-intersection-observer
Usage
import reflex as rx
from reflex_intersection_observer import intersection_observer
def index():
return rx.vstack(
rx.box(height="150vh"),
intersection_observer(
on_intersect=rx.console_log,
),
)
See intersection_observer_demo app for further examples.
Props
The following props are understood by intersection_observer:
root- ID of the element that is used as the viewport for checking visibility of the target. Must be the id of a parent of the target. Default is the browser viewport.root_margin- An offset rectangle applied to the root's bounding box when calculating intersections, effectively shrinking or growing the root for calculation purposes. The value returned by this property may not be the same as the one specified when calling the constructor as it may be changed to match internal requirements. Each offset can be expressed in pixels (px) or as a percentage (%). The default is "0px 0px 0px 0px".threshold- value between 0 and 1 indicating the percentage that should be visible before the event is triggered. Default is 1.
The following events are emitted by intersection_observer:
on_intersect- fired when the target element intersects with the root element.on_non_intersect- fired when the target element does not intersect with the root element.
Both of these events provide an IntersectionObserverEntry with intersection details:
intersection_ratio: how much of the target element is intersection (0 - 1).is_intersecting: true/false based on whether the observer is intersecting or nottime: relative timestamp when the intersection occurred
See IntersectionObserver API docs on MDN for more information about how the API works.
Release files for reflex-intersection-observer 0.0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| reflex_intersection_observer-0.0.9.tar.gz | 9.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| reflex_intersection_observer-0.0.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.4 kB
Release files / reflex_intersection_observer-0.0.9.tar.gz
| Download URL | reflex_intersection_observer-0.0.9.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8f398db49b21bc048311ff50b8e7857125be2dcab6498c0150b927a4af161989
|
|
BLAKE2b-256 checksum How to use checksums |
916fa98f51727e4ea3e7f242887c08032b037bee24cb45359b55974154e53854
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / reflex_intersection_observer-0.0.9-py3-none-any.whl
| Download URL | reflex_intersection_observer-0.0.9-py3-none-any.whl |
|---|---|
| Size | 4.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
20e68ccdad80b397a72e1b4c31ab4f8b1bd234b88008479d5db395019ad57017
|
|
BLAKE2b-256 checksum How to use checksums |
603dc98f0815195c60af022b9067b04c5d44c07141779c0654fc8944ccca46df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|