Empty
edgecom/emptyFreeComponent
The Edgecom Empty component.
Live preview
live · rendered by the registry
Rendered by edgecom on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://design.edgecom.ai/r/empty.jsonSource
1import * as React from "react"2import { cva, type VariantProps } from "class-variance-authority"34import { cn } from "@/lib/utils"56function Empty({ className, ...props }: React.ComponentProps<"div">) {7 return (8 <div9 data-slot="empty"10 className={cn(11 "flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border border-dashed border-border p-6 text-center text-balance md:p-12",12 className13 )}14 {...props}15 />16 )17}1819function EmptyHeader({ className, ...props }: React.ComponentProps<"div">) {20 return (21 <div22 data-slot="empty-header"23 className={cn(24 "flex max-w-sm flex-col items-center gap-2 text-center",25 className26 )}27 {...props}28 />29 )30}3132const emptyMediaVariants = cva(33 "flex shrink-0 items-center justify-center mb-2 [&_svg:not([class*='size-'])]:size-6",34 {35 variants: {36 variant: {37 default: "bg-transparent",38 icon: "size-10 rounded-lg bg-muted text-foreground",39 },40 },41 defaultVariants: {42 variant: "icon",43 },44 }45)4647function EmptyMedia({48 className,49 variant = "icon",50 ...props51}: React.ComponentProps<"div"> & VariantProps<typeof emptyMediaVariants>) {52 return (53 <div54 data-slot="empty-media"55 data-variant={variant}56 className={cn(emptyMediaVariants({ variant, className }))}57 {...props}58 />59 )60}6162function EmptyTitle({ className, ...props }: React.ComponentProps<"div">) {63 return (64 <div65 data-slot="empty-title"66 className={cn("text-sm font-medium tracking-tight", className)}67 {...props}68 />69 )70}7172function EmptyDescription({73 className,74 ...props75}: React.ComponentProps<"p">) {76 return (77 <p78 data-slot="empty-description"79 className={cn(80 "text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",81 className82 )}83 {...props}84 />85 )86}8788function EmptyContent({ className, ...props }: React.ComponentProps<"div">) {89 return (90 <div91 data-slot="empty-content"92 className={cn(93 "flex w-full max-w-sm min-w-0 flex-col items-center gap-2 text-sm text-balance",94 className95 )}96 {...props}97 />98 )99}100101export {102 Empty,103 EmptyHeader,104 EmptyMedia,105 EmptyTitle,106 EmptyDescription,107 EmptyContent,108}
What it pulls in
npm packages
Other registry items
Files it writes
More from edgecom
All 66 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | edgecom | Components | Free | 2 deps | |
| Alertalert | edgecom | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | edgecom | Components | Free | 1 dep | |
| Avataravatar | edgecom | Components | Free | 1 dep | |
| Badgebadge | edgecom | Components | Free | 2 deps | |
| Bannerbanner | edgecom | Components | Free | 1 dep | |
| Breadcrumbbreadcrumb | edgecom | Components | Free | 2 deps | |
| Buttonbutton | edgecom | Components | Free | 2 deps |
