Fader
The fader fades between multiple items on a set interval, for example to cycle through image slides in a header.

Accessibility
The fader is exposed as a carousel (role="group" with aria-roledescription="carousel") and each item as a slide. Inactive slides are marked aria-hidden. Autoplay pauses on hover by default (pause-on-hover), and you can pause it externally with is-paused. Autoplay only runs when there is more than one item.
Props
autoplay?: boolean
Whether the fader automatically advances through its items. Autoplay only runs when there is more than one item.
Default: true
interval?: number
The time a view is visible in milliseconds.
Default: 9000
is-paused?: boolean
Pauses autoplay while true. Useful for pausing the fader from outside, for example while a dialog is open.
pause-on-hover?: boolean
Pauses autoplay while the pointer is hovering the fader.
Default: true
Emits
update: [number]
Triggered when the visible view changes.
Slots
default ({
readonly current: number;
next(): void;
previous(): void;
})
The views of the fader.
Examples
Basic
A simple and basic fader.

<template>
<FluxAspectRatio
:aspect-ratio="16 / 9"
style="width: 100%;">
<FluxFader :interval="3000">
<FluxFaderItem>
<img
src="/assets/demo/image-1.jpg"
alt="">
</FluxFaderItem>
<FluxFaderItem>
<img
src="/assets/demo/image-2.jpg"
alt="">
</FluxFaderItem>
<FluxFaderItem>
<img
src="/assets/demo/image-3.jpg"
alt="">
</FluxFaderItem>
<FluxFaderItem>
<img
src="/assets/demo/image-4.jpg"
alt="">
</FluxFaderItem>
<FluxFaderItem>
<img
src="/assets/demo/image-5.jpg"
alt="">
</FluxFaderItem>
</FluxFader>
</FluxAspectRatio>
</template>
<script
lang="ts"
setup>
import { FluxAspectRatio, FluxFader, FluxFaderItem } from '@flux-ui/components';
</script>Autoplay
Autoplay advances the fader on the configured interval. With pause-on-hover it stops while the pointer is over it.

<template>
<FluxAspectRatio
:aspect-ratio="16 / 9"
style="width: 100%;">
<FluxFader
:interval="2000"
pause-on-hover>
<FluxFaderItem>
<img
src="/assets/demo/image-1.jpg"
alt="">
</FluxFaderItem>
<FluxFaderItem>
<img
src="/assets/demo/image-2.jpg"
alt="">
</FluxFaderItem>
<FluxFaderItem>
<img
src="/assets/demo/image-3.jpg"
alt="">
</FluxFaderItem>
</FluxFader>
</FluxAspectRatio>
</template>
<script
lang="ts"
setup>
import { FluxAspectRatio, FluxFader, FluxFaderItem } from '@flux-ui/components';
</script>Manual navigation
Disable autoplay and drive the fader from your own controls. Slot bindings expose next and previous.

<template>
<FluxAspectRatio
:aspect-ratio="16 / 9"
style="width: 100%; position: relative;">
<FluxFader :autoplay="false">
<template #default="{next, previous}">
<FluxFaderItem>
<img
src="/assets/demo/image-1.jpg"
alt="">
</FluxFaderItem>
<FluxFaderItem>
<img
src="/assets/demo/image-2.jpg"
alt="">
</FluxFaderItem>
<FluxFaderItem>
<img
src="/assets/demo/image-3.jpg"
alt="">
</FluxFaderItem>
<div style="position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); display: flex; gap: 9px">
<FluxSecondaryButton
icon-leading="angle-left"
@click="previous"/>
<FluxSecondaryButton
icon-leading="angle-right"
@click="next"/>
</div>
</template>
</FluxFader>
</FluxAspectRatio>
</template>
<script
lang="ts"
setup>
import { FluxAspectRatio, FluxFader, FluxFaderItem, FluxSecondaryButton } from '@flux-ui/components';
</script>


