Skip to main content

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 not
  • time: 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)

Source distribution for reflex-intersection-observer 0.0.9
File Size Uploaded
reflex_intersection_observer-0.0.9.tar.gz 9.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for reflex-intersection-observer 0.0.9
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.0.9 This release

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page