# `ShadcnUI.Components.Motion.Marquee`
[🔗](https://github.com/pcharbon70/shadcn_ui/blob/main/lib/shadcn_ui/components/motion/marquee.ex#L1)

A complete static list with an optional, explicitly enabled finite preview.

Requires `id`, `accessible_label` and nonempty `items` maps with unique string
`key`, nonblank `text` and optional `image`. Images accept only `src`, `alt`,
`width`, `height`, `srcset`, `sizes`, `loading` and `decoding`; empty alt means
decoration accompanying the required text. No slots, links or actions are
cloned. Text is escaped, image metadata uses the shared media validation.

Mode defaults to `:static`. `:preview` adds an initially unchecked, unnamed
checkbox. Check to enable one traversal, uncheck to stop/reset, then check to
replay. Checked is enablement, not observed playback. `:brief` lasts 2.5s;
`:default` lasts 5s, with no delay or repeat. Direction is `:inline_start`
(default) or `:inline_end`, following inherited writing direction.

One inert, aria-hidden, ID-free decorative duplicate is visible only during
the finite preview. Completion restores the complete canonical list. Missing
CSS or joint capabilities, `motion: :none`, ancestor
`data-shadcn-motion="reduce"`, and OS reduced motion keep static content.
Native checkbox state may reset on replacement; callers own persistence.
No runtime, visibility observer, autoplay or perpetual offscreen work ships.

# `marquee`

Renders structured presentation items and an optional native finite-preview control.
## Attributes

* `id` (`:string`) (required)
* `accessible_label` (`:string`) (required)
* `items` (`:list`) (required)
* `mode` (`:atom`) - Defaults to `:static`. Must be one of `:static`, or `:preview`.
* `direction` (`:atom`) - Defaults to `:inline_start`. Must be one of `:inline_start`, or `:inline_end`.
* `duration` (`:atom`) - Defaults to `:default`. Must be one of `:brief`, or `:default`.
* `motion` (`:atom`) - Defaults to `:system`. Must be one of `:system`, or `:none`.
* `class` (`:any`) - Defaults to `nil`.
* Global attributes are accepted.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
