{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "pullquote",
  "type": "registry:ui",
  "dependencies": [
    "clsx",
    "tailwind-merge"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "pullquote.tsx",
      "target": "components/ui/pullquote.tsx",
      "type": "registry:ui",
      "content": "import * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface PullquoteProps\n  extends Omit<React.HTMLAttributes<HTMLElement>, \"cite\"> {\n  attribution?: React.ReactNode;\n  /**\n   * Decorative flourish above the quote. kajo passes a FogSphere here, which is\n   * Pro-licensed and cannot ship from this package. Keeping it a slot is what\n   * lets the quote itself be public.\n   */\n  ornament?: React.ReactNode;\n  children: React.ReactNode;\n}\n\n/**\n * A centered pull quote. Renders a `figure` only when attributed, so the\n * attribution is programmatically tied to the quote rather than floating\n * beneath it as a loose paragraph.\n */\nexport const Pullquote = React.forwardRef<HTMLElement, PullquoteProps>(\n  ({ className, attribution, ornament, children, ...props }, ref) => {\n    const body = (\n      <>\n        {ornament != null && (\n          <div\n            aria-hidden=\"true\"\n            data-pullquote-ornament=\"\"\n            className=\"mx-auto mb-4 size-20\"\n          >\n            {ornament}\n          </div>\n        )}\n        <blockquote className=\"text-balance text-[clamp(1.125rem,2.5vw,1.625rem)] font-bold leading-[1.4] tracking-[-0.01em] text-ink\">\n          {children}\n        </blockquote>\n      </>\n    );\n\n    const shell = cn(\"mx-auto max-w-3xl py-4 text-center\", className);\n\n    if (attribution == null)\n      return (\n        <div\n          ref={ref as React.Ref<HTMLDivElement>}\n          className={shell}\n          {...props}\n        >\n          {body}\n        </div>\n      );\n\n    return (\n      <figure ref={ref as React.Ref<HTMLElement>} className={shell} {...props}>\n        {body}\n        <figcaption className=\"mt-3 font-mono text-sm text-muted\">\n          {attribution}\n        </figcaption>\n      </figure>\n    );\n  },\n);\nPullquote.displayName = \"Pullquote\";\n"
    }
  ]
}