zmk_mf68/docs/src/components/codes/ToastyCopyToClipboard.jsx

31 lines
722 B
JavaScript

/*
* Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: CC-BY-NC-SA-4.0
*/
import React from "react";
import PropTypes from "prop-types";
import { toast } from "react-toastify";
import { CopyToClipboard } from "react-copy-to-clipboard";
export default function ToastyCopyToClipboard({ children, text }) {
const notify = () =>
toast(
<span>
📋 Copied <code>{text}</code>
</span>
);
return (
<div onClick={notify}>
<CopyToClipboard text={text}>{children}</CopyToClipboard>
</div>
);
}
ToastyCopyToClipboard.propTypes = {
children: PropTypes.oneOfType([PropTypes.element, PropTypes.string])
.isRequired,
text: PropTypes.string.isRequired,
};