Reflex wrapper for Blossom Carousel — a native-scroll-first carousel with pointer drag support.
Project description
reflex-blossom-carousel
A Reflex custom component that wraps Blossom Carousel — a native-scroll-first carousel enhanced with physics-based drag for pointer devices (0 KB on touch).
Status: beta. The component wrapper is implemented and tested. Design and API are documented under
specs/following Spec-Driven Design (SDD).
Why
Reflex has no built-in carousel. Blossom Carousel builds on native browser scrolling (full performance + accessibility) and ships an official React package (@blossom-carousel/react, MIT). This project wraps it so you can use it from pure Python in Reflex.
Usage
import reflex as rx
from reflex_blossom_carousel import blossom_carousel
def index() -> rx.Component:
carousel = blossom_carousel(
*[rx.el.li(str(i + 1), class_name="slide") for i in range(12)],
as_="ul",
class_name="carousel",
repeat=False,
load="conditional",
)
return rx.vstack(
carousel,
rx.hstack(
rx.button("Previous", on_click=carousel.prev(align="center")),
rx.button("Next", on_click=carousel.next(align="center")),
),
)
See the full API in specs/api/component-api-v1.md.
Installation
pip install reflex-blossom-carousel
# or
uv add reflex-blossom-carousel
Development
This project is managed with uv and pinned to Python 3.13 (Reflex does not yet support 3.14).
uv sync # create the venv and install deps (editable local package)
uv run python -c "import reflex_blossom_carousel" # smoke test
# run the demo app
cd blossom_carousel_demo
uv run reflex run
Project layout:
custom_components/reflex_blossom_carousel/ # the wrapper (rx.Component)
blossom_carousel_demo/ # demo Reflex app
specs/ # SDD documents (PRD, API, tech design, plan)
Specs (Spec-Driven Design)
See specs/README.md for the index: PRD, Component API Spec, Technical Design, and Implementation Plan.
Credits & License
- Wraps
@blossom-carousel/reactand@blossom-carousel/coreby Jesper Vos (MIT). - This wrapper is licensed under Apache-2.0 (Reflex custom component default).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file reflex_blossom_carousel-0.0.1.tar.gz.
File metadata
- Download URL: reflex_blossom_carousel-0.0.1.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8ad5f82a2a022536ad5226d3169978fdbffdec2721a6f76824f887eca61c284
|
|
| MD5 |
23786dd1dbc0f55c6296b4400df219db
|
|
| BLAKE2b-256 |
c9903afbf6142715cb6cd1b4b307af9f77c5f2e642f5a7347f586fa005941607
|
File details
Details for the file reflex_blossom_carousel-0.0.1-py3-none-any.whl.
File metadata
- Download URL: reflex_blossom_carousel-0.0.1-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
485bdf8acf7b522ebc8542a9c2201061efe0d71bc16b29052c2f27060d87b583
|
|
| MD5 |
a32294304d3c58b02655cfe288f35799
|
|
| BLAKE2b-256 |
c65d0636ee3087a063a7b1430deb7d902a8b7d1672d0090be096c91620e4fdab
|