{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "components-animate-cursor",
  "title": "Cursor",
  "description": "An animated cursor component that allows you to customize both the cursor and cursor follow elements with smooth animations.",
  "registryDependencies": [
    "@animate-ui/primitives-animate-cursor"
  ],
  "files": [
    {
      "path": "registry/components/animate/cursor/index.tsx",
      "content": "import * as React from 'react';\n\nimport {\n  CursorProvider as CursorProviderPrimitive,\n  Cursor as CursorPrimitive,\n  CursorFollow as CursorFollowPrimitive,\n  CursorContainer as CursorContainerPrimitive,\n  type CursorProviderProps as CursorProviderPropsPrimitive,\n  type CursorContainerProps as CursorContainerPropsPrimitive,\n  type CursorProps as CursorPropsPrimitive,\n  type CursorFollowProps as CursorFollowPropsPrimitive,\n} from '@/components/animate-ui/primitives/animate/cursor';\nimport { cn } from '@/lib/utils';\n\ntype CursorProviderProps = Omit<CursorProviderPropsPrimitive, 'children'> &\n  CursorContainerPropsPrimitive;\n\nfunction CursorProvider({ global, ...props }: CursorProviderProps) {\n  return (\n    <CursorProviderPrimitive global={global}>\n      <CursorContainerPrimitive {...props} />\n    </CursorProviderPrimitive>\n  );\n}\n\ntype CursorProps = Omit<CursorPropsPrimitive, 'children' | 'asChild'>;\n\nfunction Cursor({ className, ...props }: CursorProps) {\n  return (\n    <CursorPrimitive asChild {...props}>\n      <svg\n        className={cn('size-6 text-foreground', className)}\n        xmlns=\"http://www.w3.org/2000/svg\"\n        viewBox=\"0 0 40 40\"\n      >\n        <path\n          fill=\"currentColor\"\n          d=\"M1.8 4.4 7 36.2c.3 1.8 2.6 2.3 3.6.8l3.9-5.7c1.7-2.5 4.5-4.1 7.5-4.3l6.9-.5c1.8-.1 2.5-2.4 1.1-3.5L5 2.5c-1.4-1.1-3.5 0-3.3 1.9Z\"\n        />\n      </svg>\n    </CursorPrimitive>\n  );\n}\n\ntype CursorFollowProps = Omit<CursorFollowPropsPrimitive, 'asChild'>;\n\nfunction CursorFollow({\n  className,\n  children,\n  sideOffset = 15,\n  alignOffset = 5,\n  ...props\n}: CursorFollowProps) {\n  return (\n    <CursorFollowPrimitive\n      sideOffset={sideOffset}\n      alignOffset={alignOffset}\n      asChild\n      {...props}\n    >\n      <div\n        className={cn(\n          'bg-foreground rounded-md text-background px-2 py-1 text-sm',\n          className,\n        )}\n      >\n        {children}\n      </div>\n    </CursorFollowPrimitive>\n  );\n}\n\nexport {\n  CursorProvider,\n  Cursor,\n  CursorFollow,\n  type CursorProviderProps,\n  type CursorProps,\n  type CursorFollowProps,\n};\n",
      "type": "registry:ui",
      "target": "components/animate-ui/components/animate/cursor.tsx"
    }
  ],
  "type": "registry:ui"
}