Kiki

Empty State Kit

Component 16

About

Six polished empty states for inboxes, search, carts, missing pages, restricted access, and blank product surfaces, with customizable copy and actions.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Empty State Kit to your project and fits it to your theme.

Code

How Empty State Kit is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

"use client";
import * as React from "react";
import { EmptyStatesSet, type EmptyStateType } from "@/components/ui/empty-state-kit";

const TYPES: EmptyStateType[] = ["inbox", "search", "cart", "error", "permissions", "generic"];
export default function EmptyStatesSetDemo() {
  const [type, setType] = React.useState<EmptyStateType>("inbox");

  React.useEffect(() => {
    let index = 0;
    const timer = window.setInterval(() => {
      index = (index + 1) % TYPES.length;
      setType(TYPES[index]);
    }, 1200);
    return () => window.clearInterval(timer);
  }, []);

  return <div className="min-h-[520px] w-full bg-zinc-50 p-5 dark:bg-zinc-950"><div className="mx-auto max-w-2xl"><div className="mb-3 flex flex-wrap gap-1">{TYPES.map((item) => <button key={item} onClick={() => setType(item)} className={`rounded-md px-2.5 py-1.5 text-[11px] capitalize ${type === item ? "bg-zinc-900 text-white dark:bg-white dark:text-zinc-950" : "text-zinc-500 hover:bg-zinc-200/70 dark:hover:bg-zinc-900"}`}>{item}</button>)}</div><EmptyStatesSet type={type} /></div></div>;
}

Dependencies

More by Kiki

View all
  • Filter Token Bar

    Filter Token Bar

    526
  • Compose

    Compose

    424
  • Product Tour

    Product Tour

    225
  • Tier List Maker

    Tier List Maker

    144
  • Draggable Photo Stack

    Draggable Photo Stack

    88
  • Morphing Scroll Navbar

    Morphing Scroll Navbar

    83
  • Selection Bubble Menu

    Selection Bubble Menu

    37
  • 3D Before & After Image Slider

    3D Before & After Image Slider

    36