{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "grid-image-loader",
  "type": "registry:ui",
  "title": "Grid Image Loader",
  "description": "A dark grid loader with smooth cycling phrases, images on cursor hover, and an upward content reveal.",
  "dependencies": [
    "gsap",
    "@gsap/react",
    "motion",
    "clsx",
    "tailwind-merge"
  ],
  "registryDependencies": [
    "https://ui.devclubxnst.com/r/cursor-trail-loader.json",
    "https://ui.devclubxnst.com/r/animated-counter.json"
  ],
  "files": [
    {
      "path": "src/registry/ui/grid-image-loader.tsx",
      "content": "\"use client\";\n\nimport {\n  CursorTrailLoader,\n  type CursorTrailLoaderProps,\n} from \"./cursor-trail-loader\";\n\nexport const GRID_IMAGE_LOADER_MESSAGES = [\n  \"MOVE FIRST\",\n  \"OWN THE PACE\",\n  \"CHASE DAYLIGHT\",\n  \"MOVE FIRST\",\n  \"READY?\",\n  \"LET'S GO\",\n] as const;\n\nexport type GridImageLoaderProps = Pick<\n  CursorTrailLoaderProps,\n  | \"images\"\n  | \"children\"\n  | \"progress\"\n  | \"duration\"\n  | \"revealDuration\"\n  | \"trailLifetime\"\n  | \"borderRadius\"\n  | \"background\"\n  | \"foreground\"\n  | \"paused\"\n  | \"replayKey\"\n  | \"label\"\n  | \"className\"\n  | \"onComplete\"\n  | \"messages\"\n  | \"gridColumns\"\n  | \"gridRows\"\n  | \"gridOpacity\"\n>;\n\nexport function GridImageLoader({\n  messages = GRID_IMAGE_LOADER_MESSAGES,\n  duration = 6,\n  revealDuration = 0.95,\n  trailLifetime = 0.65,\n  gridColumns = 4,\n  gridRows = 4,\n  gridOpacity = 0.07,\n  borderRadius = 0,\n  background = \"#191919\",\n  foreground = \"#f0efe9\",\n  ...props\n}: GridImageLoaderProps) {\n  return (\n    <CursorTrailLoader\n      {...props}\n      layout=\"grid\"\n      messages={messages}\n      duration={duration}\n      revealDuration={revealDuration}\n      trailLifetime={trailLifetime}\n      gridColumns={gridColumns}\n      gridRows={gridRows}\n      gridOpacity={gridOpacity}\n      borderRadius={borderRadius}\n      background={background}\n      foreground={foreground}\n      trailLength={12}\n      rotation={0}\n    />\n  );\n}\n\nexport default GridImageLoader;\n",
      "type": "registry:ui",
      "target": "@ui/grid-image-loader.tsx"
    }
  ]
}
