{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "demo-components-base-preview-card",
  "title": "Preview Card Demo",
  "description": "Demo showing a preview card.",
  "registryDependencies": [
    "@animate-ui/components-base-preview-card"
  ],
  "files": [
    {
      "path": "registry/demo/components/base/preview-card/index.tsx",
      "content": "import {\n  PreviewCard,\n  PreviewCardTrigger,\n  PreviewCardPanel,\n} from '@/components/animate-ui/components/base/preview-card';\n\ninterface BasePreviewCardDemoProps {\n  side?: 'top' | 'bottom' | 'left' | 'right';\n  sideOffset?: number;\n  align?: 'start' | 'center' | 'end';\n  alignOffset?: number;\n  followCursor?: boolean | 'x' | 'y';\n}\n\nexport const BasePreviewCardDemo = ({\n  side,\n  sideOffset,\n  align,\n  alignOffset,\n  followCursor,\n}: BasePreviewCardDemoProps) => {\n  return (\n    <PreviewCard followCursor={followCursor}>\n      <PreviewCardTrigger\n        render={\n          <a\n            className=\"size-12 border rounded-full overflow-hidden\"\n            href=\"https://twitter.com/animate_ui\"\n            target=\"_blank\"\n            rel=\"noreferrer noopener\"\n          >\n            <img\n              src=\"https://pbs.twimg.com/profile_images/1950218390741618688/72447Y7e_400x400.jpg\"\n              alt=\"Animate UI\"\n            />\n          </a>\n        }\n      />\n\n      <PreviewCardPanel\n        side={side}\n        sideOffset={sideOffset}\n        align={align}\n        alignOffset={alignOffset}\n        className=\"w-80\"\n      >\n        <div className=\"flex flex-col gap-4\">\n          <img\n            className=\"size-16 rounded-full overflow-hidden border\"\n            src=\"https://pbs.twimg.com/profile_images/1950218390741618688/72447Y7e_400x400.jpg\"\n            alt=\"Animate UI\"\n          />\n          <div className=\"flex flex-col gap-4\">\n            <div>\n              <div className=\"font-bold\">Animate UI</div>\n              <div className=\"text-sm text-muted-foreground\">@animate_ui</div>\n            </div>\n            <div className=\"text-sm text-muted-foreground\">\n              A fully animated, open-source component distribution built with\n              React, TypeScript, Tailwind CSS, and Motion.\n            </div>\n            <div className=\"flex gap-4\">\n              <div className=\"flex gap-1 text-sm items-center\">\n                <div className=\"font-bold\">0</div>{' '}\n                <div className=\"text-muted-foreground\">Following</div>\n              </div>\n              <div className=\"flex gap-1 text-sm items-center\">\n                <div className=\"font-bold\">2,900</div>{' '}\n                <div className=\"text-muted-foreground\">Followers</div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </PreviewCardPanel>\n    </PreviewCard>\n  );\n};\n",
      "type": "registry:ui",
      "target": "components/animate-ui/demo/components/base/preview-card.tsx"
    }
  ],
  "meta": {
    "demoProps": {
      "PreviewCard": {
        "followCursor": {
          "value": false,
          "options": {
            "true": true,
            "false": false,
            "x": "x",
            "y": "y"
          }
        }
      },
      "PreviewCardPanel": {
        "side": {
          "value": "bottom",
          "options": {
            "top": "top",
            "bottom": "bottom",
            "left": "left",
            "right": "right",
            "inline-start": "inline-start",
            "inline-end": "inline-end"
          }
        },
        "sideOffset": {
          "value": 4
        },
        "align": {
          "value": "center",
          "options": {
            "start": "start",
            "center": "center",
            "end": "end"
          }
        },
        "alignOffset": {
          "value": 0
        }
      }
    }
  },
  "type": "registry:ui"
}