{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "demo-primitives-base-preview-card",
  "title": "Base Preview Card Demo",
  "description": "Demo showing an animated base preview card.",
  "registryDependencies": [
    "@odysseyui/primitives-base-preview-card"
  ],
  "files": [
    {
      "path": "registry/demo/primitives/base/preview-card/index.tsx",
      "content": "import {\n  PreviewCard,\n  PreviewCardTrigger,\n  PreviewCardPortal,\n  PreviewCardPositioner,\n  PreviewCardPopup,\n} from '@/components/odyssey/primitives/base/preview-card';\n\ninterface PreviewCardDemoProps {\n  side?: 'top' | 'bottom' | 'left' | 'right' | 'inline-start' | 'inline-end';\n  sideOffset?: number;\n  align?: 'start' | 'center' | 'end';\n  alignOffset?: number;\n}\n\nexport const PreviewCardDemo = ({\n  side,\n  sideOffset,\n  align,\n  alignOffset,\n}: PreviewCardDemoProps) => {\n  return (\n    <PreviewCard>\n      <PreviewCardTrigger\n        render={\n          <a\n            className=\"size-12 border\"\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=\"Odyssey UI\"\n            />\n          </a>\n        }\n      />\n      <PreviewCardPortal>\n        <PreviewCardPositioner\n          side={side}\n          sideOffset={sideOffset}\n          align={align}\n          alignOffset={alignOffset}\n          className=\"z-50\"\n        >\n          <PreviewCardPopup className=\"w-80 bg-background border p-4\">\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=\"Odyssey UI\"\n              />\n              <div className=\"flex flex-col gap-4\">\n                <div>\n                  <div className=\"font-bold\">Odyssey UI</div>\n                  <div className=\"text-sm text-muted-foreground\">\n                    @animate_ui\n                  </div>\n                </div>\n                <div className=\"text-sm text-muted-foreground\">\n                  A fully animated, open-source component distribution built\n                  with 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          </PreviewCardPopup>\n        </PreviewCardPositioner>\n      </PreviewCardPortal>\n    </PreviewCard>\n  );\n};\n",
      "type": "registry:ui",
      "target": "components/odysseyui/demo/primitives/base/preview-card.tsx"
    }
  ],
  "meta": {
    "demoProps": {
      "PreviewCardPositioner": {
        "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"
}