0.2.0 • Published 9 months ago

@nobrainers/react-copytext v0.2.0

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

@nobrainers/react-copytext

Demo

https://github.com/user-attachments/assets/a5882c1a-441e-4c6a-acb4-f0b611aaca58

Table of Contents

Overview

React CopyText is a React component that allows users to easily copy text to their clipboard. The component shows the text and a button that, when clicked, copies the text and provides visual feedback.

Examples

Basic Usage

<CopyText text="Copy this text" />

With Custom Labels

<CopyText
  text="Copy this text"
  copyButtonLabel="Click to copy"
  copiedButtonLabel="Text copied!"
/>

Without Icons

<CopyText text="Copy this text" showIcon={false} />

With Custom Styling

<CopyText
  text="Copy this text"
  className="custom-wrapper"
  buttonClassName="custom-button"
  textClassName="custom-text"
/>

With Copy Feedback

const [copied, setCopied] = useState(false);

<CopyText
  text="Copy this text"
  copied={copied}
  onClick={() => {
    setCopied(true);
    setTimeout(() => setCopied(false), 2000);
  }}
/>;

With Custom Icons

Note: You can use icons from any package. This example uses Feather icons (react-icons/fi), while the default icons come from Font Awesome (react-icons/fa6).

import { FiCopy, FiCheck } from "react-icons/fi";

<CopyText text="Copy this text" copyIcon={FiCopy} copiedIcon={FiCheck} />;

A simple and customizable React component for copying text to the clipboard.

Installation

npm install @nobrainers/react-copytext

Usage

import { CopyText } from "react-copytext";
// Don't forget to import the styles
import "react-copytext/dist/style.css";

function App() {
  const [copied, setCopied] = useState(false);

  return (
    <CopyText
      text="Text to be copied"
      copied={copied}
      onClick={() => setCopied(true)}
    />
  );
}

⚠️ Important: Make sure to import the CSS file to get the default styling:

import "react-copytext/dist/style.css";

Props

PropTypeDefaultDescription
textstring(required)The text to be copied
copiedbooleanfalseIndicates if the text has been copied
onClickfunction() => {}Callback function called after text is copied
buttonClassNamestring-Additional CSS class for the button
classNamestring-Additional CSS class for the wrapper
textClassNamestring-Additional CSS class for the text element
showIconbooleantrueWhether to show copy/copied icons
copyButtonLabelstring"Copy"Label for the copy button
copiedButtonLabelstring"Copied"Label for the copied state
copyIconReact.ElementTypeFaRegClipboardCustom icon for copy state
copiedIconReact.ElementTypeFaCheckCustom icon for copied state

Features

  • 🎨 Customizable styling
  • 📱 Responsive design
  • ✨ Copy feedback states
  • 🎯 TypeScript support
  • 📦 Lightweight

License

MIT

0.2.0

9 months ago

0.1.0

10 months ago

0.0.15

10 months ago

0.0.8

10 months ago

0.0.6

10 months ago

0.0.5

10 months ago

0.0.4

10 months ago

0.0.3

10 months ago

0.0.2

10 months ago

0.0.1

10 months ago