{# @description A row of anything, moving across the page without end, like a conveyor belt. It stops under the pointer, while anything in it has focus, and when its pause control is pressed. #}
{# @prop speed:number | default:"1" | description:"How quickly the row travels, as a multiple: 2 is twice as fast, 0.5 half. At 1 the row passes once in forty seconds, however much it holds." #}
{# @prop reverse:boolean | default:False | description:"Travel from left to right" #}
{# @prop gap:select['sm', 'md', 'lg'] | default:"md" | description:"The room between one item and the next" #}
{# @prop fade:boolean | default:True | description:"Fade the row out at both ends, so items arrive and leave instead of being cut off" #}
{# @prop controls:boolean | default:True | description:"Draw the pause control. Turn it off only when the page gives another way to stop the movement: without one, a keyboard or touch-screen visitor cannot." #}
{# @prop pause:text | description:"The name of the pause control, for a screen reader. Say what is moving: Pause the sponsors' logos. Left empty, it is a translated Pause the movement." #}
{# @prop class:text | description:"Extra classes on the outer element" #}
{# @slot Django 6.1Python 3.13daisyUI 5 — The items. Anything at all: logos, cards, badges. Written once, in the order they pass. #}
{% comment %}
The items are written out twice, and each copy slides left by its own width
plus one gap, which is exactly where the other copy started: no seam and no
script. The second copy is `inert`, so its links are not reached twice.
Each copy is at least as wide as the row, so three items spread across it
rather than passing in a clump with a hole behind them.
Under reduced motion there is one copy, holding still, wrapped and centred.
A marquee inside an element carrying `data-marquee-group` leaves its pause
control to the group's, which stops every row in it.
{% endcomment %}