{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "use-on-mount-demo",
  "title": "UseOnMountDemo",
  "description": "use-on-mount's hook in action.",
  "registryDependencies": [
    "card",
    "https://guarahooks.com/r/use-on-mount.json"
  ],
  "files": [
    {
      "path": "registry/example/use-on-mount-demo.tsx",
      "content": "'use client';\n\nimport React, { useState } from 'react';\n\nimport {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from '@/components/ui/card';\n\nimport { useOnMount } from '@/hooks/guarahooks/use-on-mount';\n\nexport function ExampleComponent() {\n  const [message, setMessage] = useState('Waiting for mount...');\n\n  useOnMount(() => {\n    setMessage('The component has been mounted!');\n    console.log('Component mounted!');\n  });\n\n  return (\n    <Card className=\"max-w-sm w-full relative\">\n      <CardHeader>\n        <CardTitle>useOnMount</CardTitle>\n        <CardDescription>\n          This example uses the <code>useOnMount</code> hook to execute a\n          function only once when the component is mounted.\n        </CardDescription>\n      </CardHeader>\n      <CardContent>\n        <p>{message}</p>\n      </CardContent>\n      <CardFooter>\n        <p className=\"text-sm text-muted-foreground\">\n          Check console for more information.\n        </p>\n      </CardFooter>\n    </Card>\n  );\n}\n",
      "type": "registry:example",
      "target": "components/example/use-on-mount-demo.tsx"
    }
  ],
  "type": "registry:example"
}