Shimmer
Shimmer is a content placeholder component that can be used to visually indicate that content is loading.
Usage
Basic Usage
To use the VShimmer component, simply add it to your template:
INFO
The VShimmer component is registered globally when you install with @morpheme/ui. So you don't need to import it manually.
Rounded
You can make the shimmer animation rounded by setting the rounded prop:
Circle
To create a circular shimmer animation, set both the height and width props to the same value and set the rounded prop:
Multiple Lines
To create multiple lines in the shimmer animation, set the lines prop to the desired number of lines:
Card Shimmer
Here is an example of how you can use the shimmer animation within a card layout:
Props
| Name | Type | Default |
|---|---|---|
width | number | string | 100 |
height | string | number | 16 |
lines | string | number | 1 |
Events
None
Slots
None
CSS Variable
:root {
--shimmer-bg-image: linear-gradient(
to right,
rgb(247, 247, 247),
rgb(220, 220, 220),
rgb(247, 247, 247)
);
--shimmer-bg-size: 200%;
--shimmer-border-radius: 0;
--shimmer-animation-name: a-background-move;
--shimmer-animation-duration: 1.5s;
}:root {
--shimmer-bg-image: linear-gradient(
to right,
rgb(247, 247, 247),
rgb(220, 220, 220),
rgb(247, 247, 247)
);
--shimmer-bg-size: 200%;
--shimmer-border-radius: 0;
--shimmer-animation-name: a-background-move;
--shimmer-animation-duration: 1.5s;
}Standalone Installation
You can also install the Shimmer component individually via @morpheme/shimmer package:
yarn add @morpheme/shimmeryarn add @morpheme/shimmernpm i @morpheme/shimmernpm i @morpheme/shimmerpnpm add @morpheme/shimmerpnpm add @morpheme/shimmer<script setup lang="ts">
import Shimmer from '@morpheme/shimmer';
</script>
<template>
<Shimmer />
</template><script setup lang="ts">
import Shimmer from '@morpheme/shimmer';
</script>
<template>
<Shimmer />
</template>Storybook
View Storybook documentation here.
Morpheme