0.0.7 ⢠Published 7 months ago
@eviensoft/react-copy-to-clipboard-hook v0.0.7
@eviensoft/react-copy-to-clipboard-hook
A simple and lightweight React Hook to copy text to the clipboard, with built-in success and error state tracking.
Perfect for modern React and Next.js applications.
⨠Features
- š Copy any text to the user's clipboard
- ā Success and error handling
- šŖ¶ Lightweight and dependency-free
- š”ļø TypeScript support out of the box
- š Ready for production use
š¦ Installation
npm install @eviensoft/react-copy-to-clipboard-hook
# or
yarn add @eviensoft/react-copy-to-clipboard-hook
# or
pnpm add @eviensoft/react-copy-to-clipboard-hookš Usage
import { useCopyToClipboard } from '@eviensoft/react-copy-to-clipboard-hook';
export default function CopyExample() {
const { copy, status } = useCopyToClipboard();
const handleCopy = () => {
copy('Hello world from Eviensoft!');
};
return (
<div>
<button onClick={handleCopy}>Copy Text</button>
{status.success && <p>ā
Copied successfully!</p>}
{status.error && <p>ā Error: {status.error}</p>}
</div>
);
}š API
const { copy, status } = useCopyToClipboard();
| Property | Type | Description |
|---|---|---|
copy | (text: string) => Promise<void> | Function to copy the given text to clipboard. |
status | { success: boolean; error: string \| null } | Copy operation status. |
š Example with Auto-Clear Success Message
import { useCopyToClipboard } from '@eviensoft/react-copy-to-clipboard-hook';
import { useEffect } from 'react';
export default function AutoClearExample() {
const { copy, status } = useCopyToClipboard();
useEffect(() => {
if (status.success) {
const timer = setTimeout(() => {
// Optionally reset success after 3 seconds
}, 3000);
return () => clearTimeout(timer);
}
}, [status.success]);
return (
<div>
<button onClick={() => copy('Copied with Auto Clear!')}>Copy</button>
{status.success && <p>ā
Copied!</p>}
</div>
);
}You can extend this hook easily with
auto-reset,toast notifications, or more advanced error handling as needed!
š License
This project is licensed under the MIT License.
š¢ About Eviensoft
At Eviensoft, we build lightweight, production-grade tools for modern web developers.
Feel free to check out more packages and tools soon!
š„ Quick Summary Table (for your npm page)
| Section | Info |
|---|---|
| Name | @eviensoft/react-copy-to-clipboard-hook |
| Type | React Hook |
| Language | TypeScript |
| Size | Very lightweight |
| Usage | Copy text to clipboard easily |
| Maintainer | Eviensoft |