Nebulang (formerly Nebula - Translate My App!) transforms your application into a fully multilingual platform in just a few clicks — without redirects, reloads, or performance impact. All translations happen inline, right in the user's browser, for a smooth and seamless experience.

Repeating Group Roll

Repeating Group Roll

Repeating Group Roll

provides robust, touch-friendly automatic scrolling (continuous or per-item) for repeatable groups, with drag, momentum, hover-pause, and publishable states for app workflows.

Repeating Group Roll is a Nebula plugin that adds configurable automatic scrolling to repeating-group style containers. It supports continuous and per-item modes, horizontal or vertical operation, pause-on-hover, touch/mouse drag with momentum, looping or reversing at ends, and a small runtime API for start/stop/seek integration.

When to Use

Everything you need in a single plugin

Auto-advancing carousels or marquee-like lists that should progress automatically but remain user-interactive.
Large vertical or horizontal feeds where you want gentle, configurable automated movement for demos, kiosks, or curated displays.
UI patterns that require both programmatic control (start/pause/seek) and natural touch behaviour (drag + momentum).

How Works

Simple Setup in few Steps

1
Attach Repeating Group Roll
to a container (by element id). The plugin locates a scrollable child or uses the container itself as the scrolling element.
2
Choose operation mode
continuous (frame-based smooth scroll) or by_item (interval-based, advances one item per step).
3
Configure direction, speed (pixels/sec) or interval (ms)
loop and end behavior (loop or reverse), and whether to pause while hovering.
4
Plugin exposes lightweight runtime APIs
(start, pause, resume, stop, scrollToIndex) and publishes states (is_running, current_offset, current_index).
5
Touch and mouse drag are supported
dragging temporarily pauses auto-scroll and applies momentum scrolling on release, restoring auto-scroll if it was running before the drag.

Key Features

Everything you need in a single plugin

Modes: continuous (frame-accurate) and by_item (interval per item).
Directions: up / down / left / right; auto-detection of horizontal vs vertical behavior for elements.
Configurable speed (px/sec) and interval (ms), pauseOnHover, loop, reverseOnEnd, startOnLoad.
Drag & touch support with momentum and automatic resume when appropriate.
Runtime API: start, pause, resume, stop, scrollToIndex; publishes is_running, current_offset, current_index and emits events: started, paused, resumed, stopped, tick, reached_end, reached_start.
Automatic discovery of scrollable child elements when container itself isn't scrollable.
Graceful fallbacks and defensive checks to work even when provided canvas/context is nonstandard.
Modes: continuous (frame-accurate) and by_item (interval per item).
Directions: up / down / left / right; auto-detection of horizontal vs vertical behavior for elements.
Configurable speed (px/sec) and interval (ms), pauseOnHover, loop, reverseOnEnd, startOnLoad.
Drag & touch support with momentum and automatic resume when appropriate.
Runtime API: start, pause, resume, stop, scrollToIndex; publishes is_running, current_offset, current_index and emits events: started, paused, resumed, stopped, tick, reached_end, reached_start.
Automatic discovery of scrollable child elements when container itself isn't scrollable.
Graceful fallbacks and defensive checks to work even when provided canvas/context is nonstandard.
Modes: continuous (frame-accurate) and by_item (interval per item).
Directions: up / down / left / right; auto-detection of horizontal vs vertical behavior for elements.
Configurable speed (px/sec) and interval (ms), pauseOnHover, loop, reverseOnEnd, startOnLoad.
Drag & touch support with momentum and automatic resume when appropriate.
Runtime API: start, pause, resume, stop, scrollToIndex; publishes is_running, current_offset, current_index and emits events: started, paused, resumed, stopped, tick, reached_end, reached_start.
Automatic discovery of scrollable child elements when container itself isn't scrollable.
Graceful fallbacks and defensive checks to work even when provided canvas/context is nonstandard.