Components
Marquee
A seamless, infinite scroll of its content — logos, testimonials, badges.
php artisan blatui:add marquee
Acme
Globex
Initech
Umbrella
Soylent
Hooli
Stark
<x-ui.marquee fade class="w-full max-w-xl py-2">
@foreach (['Acme', 'Globex', 'Initech', 'Umbrella', 'Soylent', 'Hooli', 'Stark'] as $name)
<span class="text-muted-foreground text-lg font-semibold whitespace-nowrap">{{ $name }}</span>
@endforeach
</x-ui.marquee>
Reverse
🚀 Fast
♿ Accessible
🎨 Themeable
📦 Copy & own
🌙 Dark mode
{{-- direction="right" scrolls the other way; pause-on-hover is on by default. --}}
<x-ui.marquee direction="right" duration="25s" fade class="w-full max-w-xl py-1">
@foreach (['🚀 Fast', '♿ Accessible', '🎨 Themeable', '📦 Copy & own', '🌙 Dark mode'] as $f)
<x-ui.badge tone="neutral" class="whitespace-nowrap">{{ $f }}</x-ui.badge>
@endforeach
</x-ui.marquee>
API Reference
Props, slots and exposed methods for
<x-ui.marquee>.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
direction |
string
|
'left'
|
Scroll direction. The vertical directions (up, down) require a fixed height on the element.
left
right
up
down
|
duration |
string
|
'40s'
|
CSS time for one full loop. Larger values scroll more slowly. |
gap |
string
|
'1rem'
|
CSS length for the spacing between items and between the two repeated groups. |
pauseOnHover |
bool
|
true
|
Pause the scroll while the pointer is over the marquee. |
fade |
bool
|
false
|
Fade the leading and trailing edges with a CSS mask. |
Slots
| Slot | Description |
|---|---|
default |
The items to scroll (logos, testimonials, badges). The content is duplicated for a seamless loop; the duplicate is aria-hidden so screen readers read it once. Animation is disabled under prefers-reduced-motion. |