Dots
A simple dot component to indicate status.
tsx
import { Dots } from "@/components/ui/dots"
export function DotsDemo() { return <Dots />}
Installation
CLI
bash
npx fivui add dots
Manual
Copy and paste the following code into your project.
components/ui/dots.tsx
'use client'
import * as React from 'react'import { cva, type VariantProps } from 'class-variance-authority'
import { cn } from '@/lib/utils'
const dotsVariants = cva('inline-block h-2.5 w-2.5 rounded-full', { variants: { variant: { default: 'bg-foreground', primary: 'bg-primary', secondary: 'bg-secondary', success: 'bg-green-500', warning: 'bg-yellow-500', error: 'bg-destructive', }, }, defaultVariants: { variant: 'default', },})
export interface DotsProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof dotsVariants> {}
const Dots = React.forwardRef<HTMLSpanElement, DotsProps>( ({ className, variant, ...props }, ref) => { return ( <span ref={ref} className={cn(dotsVariants({ variant }), className)} {...props} /> ) },)
Dots.displayName = 'Dots'
export { Dots }
Usage
tsx
import { Dots } from "@/components/ui/dots"
Examples
Colors
tsx
<Dots /><Dots variant="primary" /><Dots variant="secondary" /><Dots variant="success" /><Dots variant="warning" /><Dots variant="error" />
With Text
Cancelled
Ready
Cancelled
Waiting
Success
Warning
tsx
<div className="flex items-center gap-2"> <Dots /> <span>Cancelled</span></div><div className="flex items-center gap-2"> <Dots variant="primary" /> <span>Ready</span></div><div className="flex items-center gap-2"> <Dots variant="error" /> <span>Cancelled</span></div><div className="flex items-center gap-2"> <Dots variant="secondary" /> <span>Waiting</span></div><div className="flex items-center gap-2"> <Dots variant="success" /> <span>Success</span></div><div className="flex items-center gap-2"> <Dots variant="warning" /> <span>Warning</span></div>
API Reference
Dots
Prop | Type | Default | Description |
---|---|---|---|
variant | "default" | "primary" | "secondary" | "success" | "warning" | "error" | "default" | The color variant of the dot. |