Skip to content

Component/Comet

A full ring fading into its tail.

Speed700ms
Opacity100%
import { Comet } from "loading-dev";
 
export function CometDemo() {
  return <Comet size={48} />;
}

Size

Sets the spinner’s dimensions in pixels. The default value is 20

import { Comet } from "loading-dev";
 
export default function CometSize() {
  return (
    <div className="flex items-center gap-6">
      <Comet size={16} />
      <Comet size={24} />
      <Comet size={40} />
    </div>
  );
}

Custom Classes

You can use a custom className in case you need to tweak the spinner in a specific way that the library doesn’t provide.

import { Comet } from "loading-dev";
 
export default function CometClassName() {
  return <Comet className="opacity-40" size={32} />;
}

Color

The loader inherits currentColor from the parent by default. You can tint it in any way you want. It accepts any valid CSS color.

import { Comet } from "loading-dev";
 
export default function CometColor() {
  return <Comet color="#f97316" size={32} />;
}

Duration

Sets the speed in ms. Higher values are slower, smaller values are faster.

import { Comet } from "loading-dev";
 
export default function CometDuration() {
  return <Comet duration={2000} size={32} />;
}

State

Pauses or resumes the animation and exposes the state of the spinner.

import { Comet } from "loading-dev";
 
export default function CometPlayState() {
  return <Comet playState="paused" size={32} />;
}

Easing

Controls how the spinner rotates. linear moves at a constant speed, ease-in-out starts slowly, speeds up, then slows down.stacked combines the two so it changes speed without stopping. The default easing is linear.

import { Comet } from "loading-dev";
 
export default function CometEasing() {
  return (
    <div className="flex items-center gap-6">
      <Comet easing="linear" size={32} />
      <Comet easing="ease-in-out" size={32} />
      <Comet easing="stacked" size={32} />
    </div>
  );
}