registry:component
Item
v1.0.0ga
List item primitive with media, content, and actions.
Registry Endpoint
Open JSONhttps://registry.aavya.com/r/ui-item.json
npx shadcn@latest add https://registry.aavya.com/r/ui-item.json
Live Preview
Brand Assets
Centralized logos, icons, and templates.
Design Tokens
Manage color, spacing, and type primitives.
Usage Snippet
import Item from '@/components/ui/item.tsx'
export default function Example() {
return (
<div className="p-6">
<Item />
</div>
)
}
Source Preview
import * as React from 'react'
import { Slot } from '@radix-ui/react-slot'
import { cva, type VariantProps } from 'class-variance-authority'
import { cn } from '@/lib/utils'
import { Separator } from '@/components/ui/separator'
function ItemGroup({ className, ...props }: React.ComponentProps<'div'>) {
return (
<div role='list' data-slot='item-group' className={cn('group/item-group flex flex-col', className)} {...props} />
)
}
function ItemSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {
return <Separator data-slot='item-separator' orientation='horizontal' className={cn('my-0', className)} {...props} />
}
const itemVariants = cva(
'group/item [a]:hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-ring/50 flex flex-wrap items-center rounded-md border border-transparent text-sm transition-colors duration-100 outline-none focus-visible:ring-[3px] [a]:transition-colors',
{
variants: {
variant: {
default: 'bg-transparent',
outline: 'border-border',
muted: 'bg-muted/50'
},
size: {
default: 'gap-4 p-4',
sm: 'gap-2.5 px-4 py-3'
}
},
defaultVariants: {
variant: 'default',
size: 'default'
}
}
)
function Item({
className,
variant = 'default',
size = 'default',
asChild = false,
...props
}: React.ComponentProps<'div'> & VariantPr