New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

react-copyx

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-copyx

A **powerful, flexible React hook and components for copying text, HTML, JSON, and images to the clipboard** with built-in success states, copy history, and fallback support. Make copying effortless in your **React 18+ apps** with a **lightweight, depen

latest
npmnpm
Version
1.0.7
Version published
Maintainers
1
Created
Source

React CopyX – React Clipboard Hook & Components

A powerful, flexible React hook and components for copying text, HTML, JSON, and images to the clipboard with built-in success states, copy history, and fallback support.
Make copying effortless in your React 18+ apps with a lightweight, dependency-free clipboard solution.

Features

  • 📋 Copy plain text, HTML, JSON, and images.
  • 🔄 Auto success state management: isCopying, lastCopied, copyCount, history.
  • 🌍 Modern Clipboard API with fallback support for older browsers.
  • 🎯 Optional callbacks on success or error.
  • ⚡ Ready-to-use React components for quick demos.
  • 🪶 Lightweight, dependency-free (< 4KB gzipped).

Installation

Install via npm or pnpm:

# Using npm
npm install react-copyx

# Using pnpm
pnpm add react-copyx

Demo-only dependencies (Tailwind, icons) are not included in the package.

Usage

Using the Hook

import { useCopy } from 'react-copyx';

export const MyComponent = () => {
  const { copy, isCopying, lastCopied, copyCount } = useCopy({
    onSuccess: (value) => console.log('Copied:', value),
    onError: (err) => console.error('Copy failed', err),
    keepHistory: true,
    resetAfter: 2000,
  });

  return (
    <button onClick={() => copy("Hello World!")}> 
      {isCopying ? "✅ Copied!" : "📋 Copy Text"}
    </button>
  );
};

API Reference

Hook API

Prop / ReturnTypeDescription
copy(value, options)(value: string | Blob | Record<string,unknown>, options?: CopyOptions) => Promise<void>Copy a value to clipboard. Supports text, html, json, and image.
isCopyingbooleanTrue while copy action is in progress.
lastCopied{ value: string, timestamp: number } | nullLast copied value and timestamp.
copyCountnumberTotal number of copy actions.
historyArray<{ value: string, timestamp: number }>History of copied values (if keepHistory is enabled).
hasCopiedRecentlybooleanTrue if last copy was within resetAfter ms.

CopyOptions

OptionTypeDefaultDescription
format'text' | 'html' | 'json' | 'image''text'Format of the copied content.
fallbackbooleantrueEnable fallback for unsupported browsers.
mimeTypestringCustom MIME type (for images).

Best Practices

  • Use keepHistory: true if you need multiple copy tracking.
  • Always provide an onError callback for robust apps.
  • HTML copy requires modern browsers; fallback may strip formatting.
  • Images require navigator.clipboard.write support.

FAQ (SEO Optimized)

🔹 How do I copy text to clipboard in React?

Use the useCopy hook:

const { copy } = useCopy();
copy("Hello World");

🔹 Can I copy JSON or HTML to clipboard in React?

Yes!

copyToClipboard({ text: JSON.stringify({ name: "Amin" }), format: "application/json" });

🔹 Does React CopyX support images?

Yes, with the modern Clipboard API (navigator.clipboard.write).

📄 License

MIT © Amin Tai

Keywords

react copy

FAQs

Package last updated on 04 Oct 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts