Files
medusa-store/www/packages/docs-ui/src/components/CopyButton/index.tsx
Shahed Nasser 97fd67bdd3 docs: improvements of docs UI (#6038)
* docs: improvements of docs UI

* changed note about icon sizes
2024-01-09 19:21:12 +02:00

40 lines
843 B
TypeScript

"use client"
import React from "react"
import clsx from "clsx"
import { Tooltip } from "@/components"
import { useCopy } from "../../hooks"
export type CopyButtonProps = {
text: string
buttonClassName?: string
tooltipClassName?: string
tooltipText?: string
} & React.HTMLAttributes<HTMLDivElement>
export const CopyButton = ({
text,
buttonClassName = "",
tooltipClassName = "",
tooltipText = "Copy to Clipboard",
children,
className,
}: CopyButtonProps) => {
const { isCopied, handleCopy } = useCopy(text)
return (
<Tooltip
text={isCopied ? `Copied!` : tooltipText}
tooltipClassName={tooltipClassName}
className={className}
>
<span
className={clsx("cursor-pointer", buttonClassName)}
onClick={handleCopy}
>
{children}
</span>
</Tooltip>
)
}