{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "quick-actions",
  "title": "Quick Actions",
  "type": "registry:block",
  "files": [
    {
      "path": "packages/registry-react/blocks/quick-actions/QuickActions.tsx",
      "content": "import * as React from 'react'\nimport { ArrowUpRight } from 'lucide-react'\nimport type { LucideIcon } from 'lucide-react'\nimport { SectionCard } from '@/components/ui/section-card'\nimport { IconBox } from '@/components/ui/icon-box'\n\ninterface QuickAction {\n  id: string | number\n  label: string\n  icon?: LucideIcon\n  route: string\n}\n\nexport interface QuickActionsProps {\n  title?: string\n  description?: string\n  actions: QuickAction[]\n  /** Link element to render for each action — `'a'` (default) or a router\n   *  Link component (e.g. Next.js `Link`). It receives `to`, `href`, and\n   *  `className`, mirroring the Vue polymorphic `linkComponent`. */\n  linkComponent?: React.ElementType\n  className?: string\n}\n\nexport function QuickActions({\n  title,\n  description,\n  actions,\n  linkComponent: LinkComponent = 'a',\n  className,\n}: QuickActionsProps) {\n  return (\n    <SectionCard\n      title={title ?? 'Quick Actions'}\n      description={description}\n      contentClassName=\"flex flex-col gap-2\"\n      className={className}\n    >\n      {actions.map((action) => (\n        <LinkComponent\n          key={action.id}\n          to={action.route}\n          href={action.route}\n          className=\"hover:border-border hover:bg-muted/50 group flex cursor-pointer items-center gap-3 rounded-lg border border-transparent p-3 transition-all duration-200\"\n        >\n          {action.icon && <IconBox icon={action.icon} />}\n          <span className=\"flex-1 text-sm font-medium\">{action.label}</span>\n          <ArrowUpRight className=\"text-muted-foreground size-4 opacity-0 transition-all duration-200 group-hover:opacity-100\" />\n        </LinkComponent>\n      ))}\n    </SectionCard>\n  )\n}\n",
      "type": "registry:block",
      "target": "~/components/blocks/QuickActions.tsx"
    }
  ],
  "dependencies": [
    "lucide-react"
  ],
  "devDependencies": [],
  "registryDependencies": [
    "https://uipkge.dev/r/react/section-card.json",
    "https://uipkge.dev/r/react/icon-box.json"
  ],
  "description": "Vertical list of clickable shortcuts in a SectionCard. Pass linkComponent (Next.js Link or your router Link) for SPA routing.",
  "categories": [
    "dashboard"
  ]
}