Introduction
This library is the Tailwind CSS Plugin of epic-spinners by EpicMax
Installation
npm install --save-dev tw-epic-spinners
# Or use Yarn
yarn add -D tw-epic-spinners
Usage
Then, when using Tailwind CSS v4, add the plugin to your main stylesheet:
/* Your main css file */
@import "tailwindcss";
@plugin "tw-epic-spinners";
If you are still using Tailwind CSS v3, add the plugin to your tailwind.config.js file:
import spinners from 'tw-epic-spinners';
export default {
// Other configs
plugins: [spinners],
};
Core concepts
Using Spinner Creator (BETA)
creator(spinner, classes?) => string
Returns an HTML string for a given spinner type, which can be injected into your UI.
Parameters
spinner(string): Spinner name (see Spinners section).classes(string | string[], optional): Additional classes to apply to the spinner wrapper. Can be a string or array of Tailwind utility classes.
Returns
string: HTML markup string representing the selected spinner.
Usage Examples
Vue
<template>
<div v-html="spinnerHTML" />
</template>
<script setup>
import { creator } from 'tw-epic-spinners';
const spinnerHTML = creator('spinner-half-circle', ['spinner-size-12', 'sm:spinner-size-16', 'spinner-duration-[2.5s]']);
</script>
React
import { creator } from 'tw-epic-spinners';
const Spinner = () => {
const html = creator('spinner-half-circle', 'spinner-size-12 sm:spinner-size-16 spinner-duration-[2.5s]');
return <div dangerouslySetInnerHTML={{ __html: html }} />;
};
export default Spinner;
Spinners
spinner-flower
<div class="spinner-flower">
<div>
<div />
</div>
</div>
spinner-pixel
<div class="spinner-pixel" />
spinner-hollow-dots
<div class="spinner-hollow-dots">
<div />
<div />
<div />
</div>
spinner-intersecting-circles
<div class="spinner-intersecting-circles">
<div>
<div />
<div />
<div />
<div />
<div />
<div />
<div />
</div>
</div>
spinner-orbit
<div class="spinner-orbit">
<div />
<div />
<div />
</div>
spinner-radar
<div class="spinner-radar">
<div>
<div />
</div>
<div>
<div />
</div>
<div>
<div />
</div>
<div>
<div />
</div>
</div>
spinner-scaling-squares
<div class="spinner-scaling-squares">
<div />
<div />
<div />
<div />
</div>
spinner-half-circle
<div class="spinner-half-circle" />
spinner-trinity-rings
<div class="spinner-trinity-rings">
<div />
<div />
<div />
</div>
spinner-fulfilling-square
<div class="spinner-fulfilling-square" />
spinner-circles-to-rhombuses
<div class="spinner-circles-to-rhombuses">
<div />
<div />
<div />
</div>
spinner-semipolar
<div class="spinner-semipolar">
<div />
<div />
<div />
<div />
<div />
</div>
spinner-self-building-square
<div class="spinner-self-building-square">
<div />
<div />
<div />
<div />
<div />
<div />
<div />
<div />
<div />
</div>
spinner-swapping-squares
<div class="spinner-swapping-squares">
<div />
<div />
<div />
<div />
</div>
spinner-fulfilling-bouncing-circle
<div class="spinner-fulfilling-bouncing-circle" />
spinner-fingerprint
<div class="spinner-fingerprint">
<div />
<div />
<div />
<div />
<div />
<div />
<div />
<div />
<div />
</div>
spinner-spring
<div class="spinner-spring">
<div />
<div />
</div>
spinner-atom
<div class="spinner-atom">
<div>
<div />
<div />
<div />
</div>
</div>
spinner-looping-rhombuses
<div class="spinner-looping-rhombuses">
<div />
<div />
<div />
</div>
spinner-breeding-rhombus
<div class="spinner-breeding-rhombus">
<div />
<div />
<div />
<div />
<div />
<div />
<div />
<div />
</div>
Utility
Size
The spinner-size-* utility class allows you to quickly define the size of a spinner.
It follows a similar pattern to Tailwind CSS spacing utilities.
<div class="spinner-fulfilling-square spinner-size-16" />
Using arbitrary values:
<div class="spinner-fulfilling-square spinner-size-[70px]" />
Duration
The spinner-duration-* utility class allows you control the duration.
It follows also a similar pattern to Tailwind CSS Transition duration utilities.
<div class="spinner-fulfilling-square spinner-duration-1000" />
Using arbitrary values:
<div class="spinner-fulfilling-square spinner-duration-[2.5s]" />
Color
Color can be controlled by Tailwind CSS Text Color utility.
<div class="spinner-fulfilling-square text-sky-600" />