Motion loader

Sliding bars

Interleaved horizontal sliding bars

VSlidingBarsLoadersliding-bars

<VSlidingBarsLoader :size="48" color="#6d3ff2" :duration="1200" label="Loading content" />

Controls

#6d3ff2

Sets the accessible name of the status region. The preview also shows the text so you can read the state you describe.

Implementation

vue
<script setup lang="ts">
import { VSlidingBarsLoader } from "veload";
import "veload/style.css";
</script>

<template>
  <VSlidingBarsLoader :size="48" color="#6d3ff2" :duration="1200" label="Loading content" />
</template>

Props

VSlidingBarsLoader props
PropTypeDefaultDescription
colorstring"currentColor"Primary colour of the loader. Accepts any CSS colour value, including `currentColor`.
sizenumber40Diameter or height of the loader in pixels. Values below 12 are clamped to 12.
durationnumber1000Duration of one animation cycle in milliseconds. Values below 100 are clamped to 100.
countnumber4Number of marks rendered by treatments that repeat an element. Clamped to 1–12.
labelstring"Loading"Accessible name announced by the status region. An empty label makes the loader decorative.
decorativebooleanfalseHides the loader from assistive technology. Use it when an ancestor already announces the loading state.

About this treatment

  • Four horizontal bars slide side to side in alternating phases.
  • A good fit for batch processing, data panels and queued work.
  • Use `count` for 1–12 bars; the stack grows vertically to fit every row.