Pixelact Empty
pixelact-ui/emptyFreeComponent
A pixel art styled empty state component.
Live preview
live · rendered by the registry
Rendered by Pixelact UI on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://pixelactui.com/r/empty.jsonSource
1import { type VariantProps, cva } from "class-variance-authority";23import { cn } from "@/lib/utils";45import "@/components/ui/pixelact-ui/styles/styles.css";67const emptyMediaVariants = cva(8 "flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",9 {10 variants: {11 variant: {12 default: "bg-transparent",13 icon: "relative bg-muted text-foreground flex size-12 shrink-0 items-center justify-center",14 },15 font: {16 normal: "",17 pixel: "pixel-font",18 },19 },20 defaultVariants: {21 variant: "default",22 font: "pixel",23 },24 }25);2627function Empty({28 className,29 font,30 ...props31}: React.ComponentProps<"div"> & { font?: "normal" | "pixel" }) {32 return (33 <div34 data-slot="empty"35 className={cn(36 "flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12",37 emptyMediaVariants({ font }),38 className39 )}40 {...props}41 />42 );43}4445function EmptyHeader({ className, ...props }: React.ComponentProps<"div">) {46 return (47 <div48 data-slot="empty-header"49 className={cn(50 "flex max-w-sm flex-col items-center gap-2 text-center",51 className52 )}53 {...props}54 />55 );56}5758function EmptyMedia({59 className,60 variant = "default",61 ...props62}: React.ComponentProps<"div"> & VariantProps<typeof emptyMediaVariants>) {63 return (64 <div65 className={cn(66 "relative size-max shadow-(--pixel-box-shadow) box-shadow-margin",67 className68 )}69 >70 <div71 data-slot="empty-icon"72 data-variant={variant}73 className={cn(emptyMediaVariants({ variant, className }))}74 {...props}75 />76 </div>77 );78}7980function EmptyTitle({ className, ...props }: React.ComponentProps<"div">) {81 return (82 <div83 data-slot="empty-title"84 className={cn("text-lg text-foreground tracking-tight", className)}85 {...props}86 />87 );88}8990function EmptyDescription({ className, ...props }: React.ComponentProps<"p">) {91 return (92 <p93 data-slot="empty-description"94 className={cn(95 "text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4",96 className97 )}98 {...props}99 />100 );101}102103function EmptyContent({ className, ...props }: React.ComponentProps<"div">) {104 return (105 <div106 data-slot="empty-content"107// … truncated
Files it writes
More from Pixelact UI
All 28 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Pixelact Accordionaccordion | Pixelact UI | Components | Free | no deps · 2 files | |
| Pixelact Alertalert | Pixelact UI | Components | Free | no deps · 2 files | |
| Pixelact Alert Dialogalert-dialog | Pixelact UI | Components | Free | no deps · 2 files | |
| Pixelact Avataravatar | Pixelact UI | Components | Free | no deps · 2 files | |
| Pixelact Badgebadge | Pixelact UI | Components | Free | no deps · 2 files | |
| Pixelact Breadcrumbbreadcrumb | Pixelact UI | Components | Free | no deps · 2 files | |
| Pixelact Buttonbutton | Pixelact UI | Components | Free | no deps · 3 files | |
| Pixelact Calendarcalendar | Pixelact UI | Components | Free | no deps · 2 files |
