{# @description Fills the words it wraps with a gradient of three of the theme's colours, sliding slowly from one end to the other. Headings only. #}
{# @prop from:select['primary', 'secondary', 'accent', 'neutral', 'base-100', 'base-200', 'base-300'] | default:"primary" | description:"The colour the gradient starts on" #}
{# @prop via:select['primary', 'secondary', 'accent', 'neutral', 'base-100', 'base-200', 'base-300'] | default:"accent" | description:"The colour in the middle" #}
{# @prop to:select['primary', 'secondary', 'accent', 'neutral', 'base-100', 'base-200', 'base-300'] | default:"secondary" | description:"The colour the gradient ends on" #}
{# @prop speed:number | default:"1" | description:"How quickly the colours slide, as a multiple: 2 is twice as fast, 0.5 half, and 0 holds them still" #}
{# @prop repeat:number | description:"How many times it slides before it stops. Left out, it never stops." #}
{# @prop class:text | description:"Extra classes on the span" #}
{# @slot not the CSS — The words to fill #}
{% comment %}
Twice the width of the words and sliding there and back, so it never jumps.
A palette colour has no promise of contrast against the page, hence headings
(docs/adr/0005-text-effects-are-spans-moved-by-css.md).
{% endcomment %}
{% with pace=speed|floatformat:'-3u'|default:'1' %}
{{ slot }}
{% endwith %}