Home / File/ empty.tsx — ui Source File

empty.tsx — ui Source File

Architecture documentation for empty.tsx, a tsx file in the ui codebase. 2 imports, 0 dependents.

File tsx ComponentRegistry ChartRegistry 2 imports 6 functions

Entity Profile

Dependency Diagram

graph LR
  db313d41_c62f_d830_c35f_0ba3fd54d434["empty.tsx"]
  25383e8d_ca91_a50e_c3a8_5f228d02e1df["class-variance-authority"]
  db313d41_c62f_d830_c35f_0ba3fd54d434 --> 25383e8d_ca91_a50e_c3a8_5f228d02e1df
  ef4051f4_aeb7_8d0c_a726_0ba96ad80cf6["utils"]
  db313d41_c62f_d830_c35f_0ba3fd54d434 --> ef4051f4_aeb7_8d0c_a726_0ba96ad80cf6
  style db313d41_c62f_d830_c35f_0ba3fd54d434 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { cva, type VariantProps } from "class-variance-authority"

import { cn } from "@/registry/bases/radix/lib/utils"

function Empty({ className, ...props }: React.ComponentProps<"div">) {
  return (
    <div
      data-slot="empty"
      className={cn(
        "cn-empty flex w-full min-w-0 flex-1 flex-col items-center justify-center text-center text-balance",
        className
      )}
      {...props}
    />
  )
}

function EmptyHeader({ className, ...props }: React.ComponentProps<"div">) {
  return (
    <div
      data-slot="empty-header"
      className={cn(
        "cn-empty-header flex max-w-sm flex-col items-center",
        className
      )}
      {...props}
    />
  )
}

const emptyMediaVariants = cva(
  "cn-empty-media flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",
  {
    variants: {
      variant: {
        default: "cn-empty-media-default",
        icon: "cn-empty-media-icon",
      },
    },
    defaultVariants: {
      variant: "default",
    },
  }
)

function EmptyMedia({
  className,
  variant = "default",
  ...props
}: React.ComponentProps<"div"> & VariantProps<typeof emptyMediaVariants>) {
  return (
    <div
      data-slot="empty-icon"
      data-variant={variant}
      className={cn(emptyMediaVariants({ variant, className }))}
      {...props}
    />
  )
}

function EmptyTitle({ className, ...props }: React.ComponentProps<"div">) {
  return (
    <div
      data-slot="empty-title"
      className={cn("cn-empty-title", className)}
      {...props}
    />
  )
}

function EmptyDescription({ className, ...props }: React.ComponentProps<"p">) {
  return (
    <div
      data-slot="empty-description"
      className={cn(
        "cn-empty-description text-muted-foreground [&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
        className
      )}
      {...props}
    />
  )
}

function EmptyContent({ className, ...props }: React.ComponentProps<"div">) {
  return (
    <div
      data-slot="empty-content"
      className={cn(
        "cn-empty-content flex w-full max-w-sm min-w-0 flex-col items-center text-balance",
        className
      )}
      {...props}
    />
  )
}

export {
  Empty,
  EmptyHeader,
  EmptyTitle,
  EmptyDescription,
  EmptyContent,
  EmptyMedia,
}

Subdomains

Dependencies

  • class-variance-authority
  • utils

Frequently Asked Questions

What does empty.tsx do?
empty.tsx is a source file in the ui codebase, written in tsx. It belongs to the ComponentRegistry domain, ChartRegistry subdomain.
What functions are defined in empty.tsx?
empty.tsx defines 6 function(s): Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle.
What does empty.tsx depend on?
empty.tsx imports 2 module(s): class-variance-authority, utils.
Where is empty.tsx in the architecture?
empty.tsx is located at apps/v4/registry/bases/radix/ui/empty.tsx (domain: ComponentRegistry, subdomain: ChartRegistry, directory: apps/v4/registry/bases/radix/ui).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free