Explore Templates

Clipboard

Copying text to the clipboard shouldn't be hard. It shouldn't require dozens of steps to configure or hundreds of KBs to load, check out documentation.

Example 1

Use with input groups.

import React, { useState } from 'react';
import { Button, Col, Form, InputGroup, Row } from 'react-bootstrap';
import CopyToClipboard from 'react-copy-to-clipboard';
import NubraTooltip from '../../../components/@nubra-tooltip/NubraTooltip';

const ClipboardExample1 = () => {
   const [textValue, setTextValue] = useState("HDFCNOW20");
   const [linkValue, setLinkValue] = useState("https://hencework.com");
   const [isCopied, setIsCopied] = useState(false);

   const setCopied = () => {
       setIsCopied(true)
       setTimeout(() => { setIsCopied(false) }, 1000);
   }

  return (
    <Row>
        <Col>
            <Form>
                <Form.Group className="mb-3">
                    <CopyToClipboard text={textValue}>
                        <InputGroup>
                            <Form.Control id="clip_1" type="text" value={textValue} onChange={e => setTextValue(e.target.value)} />
                            <NubraTooltip placement="top" title={isCopied ? "Copied" : "Copy to Clipboard"} >
                                <Button variant="primary" className="copy-to-clipboard" data-clipboard-target="#clip_1" type="button" onClick={() => setCopied()}>
                                    Copy Code
                                </Button>
                            </NubraTooltip>
                        </InputGroup>
                    </CopyToClipboard>
                </Form.Group>
                <Form.Group>
                    <CopyToClipboard text={linkValue} >
                        <InputGroup>
                            <Form.Control id="clip_2" type="text" value={linkValue} onChange={e => setLinkValue(e.target.value)} />
                            <NubraTooltip placement="top" title={isCopied ? "Copied" : "Copy to Clipboard"} >
                                <Button variant="primary" className="copy-to-clipboard" data-clipboard-target="#clip_1" type="button" onClick={() => setCopied()}>
                                    Copy Link
                                </Button>
                            </NubraTooltip>
                        </InputGroup>
                    </CopyToClipboard>
                </Form.Group>
            </Form>
        </Col>
    </Row>
  );
};

export default ClipboardExample1;
<!doctype html>Nubra UI - A Bootstrap based library of modern, reusable and flexible components designed specially for SaaS web applications.
<!doctype html>Nubra UI - A Bootstrap based library of modern, reusable and flexible components designed specially for SaaS web applications.
<!doctype html>Nubra UI - A Bootstrap based library of modern, reusable and flexible components designed specially for SaaS web applications.
<!doctype html>Nubra UI - A Bootstrap based library of modern, reusable and flexible components designed specially for SaaS web applications.
Example 2

Use with code blocks.

<div>
        ...
</div>
import Markdown from 'markdown-to-jsx';
import React, { useEffect, useState } from 'react';
import Codes from './Codes';
import code from './Mardown/demoMd';

const CodeBox = () => {

    const [markdown, setMarkdown] = useState('')

    useEffect(() => {
        fetch(code)
            .then(response => response.text())
            .then(response => setMarkdown(response))
            // .catch(err => console.log(err))
    }, [code])

    return (
        <Markdown
            options={{
                overrides: {
                    Code: {
                        component: Codes,
                    }
                }
            }}
        >
            {markdown}
        </Markdown>
    )
}

export default CodeBox
<!doctype html>Nubra UI - A Bootstrap based library of modern, reusable and flexible components designed specially for SaaS web applications.
<!doctype html>Nubra UI - A Bootstrap based library of modern, reusable and flexible components designed specially for SaaS web applications.
<!doctype html>Nubra UI - A Bootstrap based library of modern, reusable and flexible components designed specially for SaaS web applications.
<!doctype html>Nubra UI - A Bootstrap based library of modern, reusable and flexible components designed specially for SaaS web applications.