{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "object-handle",
  "type": "registry:component",
  "title": "Object Handle",
  "description": "Drag/reposition affordance for spatial objects that need a calm grab target.",
  "dependencies": [
    "@vllnt/ui@^0.2.1"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "registry/default/object-handle/object-handle.tsx",
      "content": "import { forwardRef } from \"react\";\n\nimport type { ReactNode } from \"react\";\n\nimport { cn } from \"@vllnt/ui\";\n\nexport type ObjectHandleProps = Omit<\n  React.ComponentPropsWithoutRef<\"button\">,\n  \"type\"\n> & {\n  hint?: ReactNode;\n  label?: ReactNode;\n};\n\nconst ObjectHandle = forwardRef<HTMLButtonElement, ObjectHandleProps>(\n  ({ className, hint, label = \"Move\", ...props }, ref) => (\n    <button\n      className={cn(\n        \"inline-flex items-center gap-2 rounded-full border border-border/60 bg-background/85 px-3 py-1.5 text-xs font-medium text-muted-foreground shadow-sm transition-colors hover:border-border hover:text-foreground\",\n        className,\n      )}\n      ref={ref}\n      type=\"button\"\n      {...props}\n    >\n      <span\n        aria-hidden=\"true\"\n        className=\"grid grid-cols-2 gap-0.5 text-[8px] leading-none\"\n      >\n        <span>•</span>\n        <span>•</span>\n        <span>•</span>\n        <span>•</span>\n      </span>\n      <span>{label}</span>\n      {hint ? <span className=\"text-muted-foreground/80\">{hint}</span> : null}\n    </button>\n  ),\n);\n\nObjectHandle.displayName = \"ObjectHandle\";\n\nexport { ObjectHandle };\n",
      "type": "registry:component"
    }
  ],
  "version": "0.2.1",
  "stability": "stable"
}
