empty
shadcn-solidjs/emptyFreeComponent
shadcn-solidjs publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by shadcn-solidjs on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://shadcn-solidjs.com/r/empty.jsonSource
1import { cn } from "~/lib/utils.ts";2import { cva, type VariantProps } from "class-variance-authority";34import { type Component, type ComponentProps, splitProps } from "solid-js";56const Empty: Component<ComponentProps<"div">> = (props) => {7 const [local, others] = splitProps(props, ["class"]);89 return (10 <div11 data-slot="empty"12 class={cn(13 "gap-4 rounded-xl border-dashed p-6 flex w-full min-w-0 flex-1 flex-col items-center justify-center text-balance text-center",14 local.class,15 )}16 {...others}17 />18 );19};2021const EmptyHeader: Component<ComponentProps<"div">> = (props) => {22 const [local, others] = splitProps(props, ["class"]);2324 return (25 <div26 data-slot="empty-header"27 class={cn(28 "gap-2 flex max-w-sm flex-col items-center",29 local.class,30 )}31 {...others}32 />33 );34};3536const emptyMediaVariants = cva(37 "mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",38 {39 variants: {40 variant: {41 default: "bg-transparent",42 icon: "bg-muted text-foreground flex size-8 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-4",43 },44 },45 defaultVariants: {46 variant: "default",47 },48 },49);5051const EmptyMedia: Component<52 ComponentProps<"div"> & VariantProps<typeof emptyMediaVariants>53> = (props) => {54 const [local, others] = splitProps(props, ["class", "variant"]);55 return (56 <div57 data-slot="empty-icon"58 data-variant={local.variant ?? "default"}59 class={cn(60 emptyMediaVariants({61 variant: local.variant ?? "default",62 class: local.class,63 }),64 )}65 {...others}66 />67 );68};6970const EmptyTitle: Component<ComponentProps<"div">> = (props) => {71 const [local, others] = splitProps(props, ["class"]);72 return (73 <div74 data-slot="empty-title"75 class={cn("text-sm font-medium tracking-tight font-heading", local.class)}76 {...others}77 />78 );79};8081const EmptyDescription: Component<ComponentProps<"p">> = (props) => {82 const [local, others] = splitProps(props, ["class"]);83 return (84 <div85 data-slot="empty-description"86 class={cn(87 "text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",88 local.class,89 )}90 {...others}91 />92 );93};9495const EmptyContent: Component<ComponentProps<"div">> = (props) => {96// … truncated
What it pulls in
npm packages
More from shadcn-solidjs
All 85 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | shadcn-solidjs | Components | Free | 1 dep | |
| alertalert | shadcn-solidjs | Components | Free | 2 deps | |
| alert-dialogalert-dialog | shadcn-solidjs | Components | Free | 2 deps | |
| aspect-ratioaspect-ratio | shadcn-solidjs | Components | Free | no deps | |
| attachmentattachment | shadcn-solidjs | Components | Free | 2 deps | |
| avataravatar | shadcn-solidjs | Components | Free | 1 dep | |
| badgebadge | shadcn-solidjs | Components | Free | 2 deps | |
| breadcrumbbreadcrumb | shadcn-solidjs | Components | Free | 1 dep |
