{"version":3,"file":"CopyTextButton.cjs","names":[],"sources":["../src/Components/Actions/CopyTextButton.tsx"],"sourcesContent":["import { Button } from '@undp/design-system-react/Button';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { Toaster } from '@undp/design-system-react/Toaster';\r\nimport { useToast } from '@undp/design-system-react/ToasterHooks';\r\n\r\nimport { Copy } from '@/Components/Icons';\r\nimport type { Color } from '@/Types';\r\n\r\ninterface Props {\r\n  text: string;\r\n  successMessage?: string;\r\n  buttonColor?: Color;\r\n  buttonText?: string;\r\n  buttonSmall?: boolean;\r\n  className?: string;\r\n}\r\n\r\nexport function CopyTextButton(props: Props) {\r\n  const {\r\n    text,\r\n    successMessage = 'Text copied',\r\n    buttonText,\r\n    buttonSmall = false,\r\n    buttonColor = 'surface-sm',\r\n    className = '',\r\n  } = props;\r\n  const { toast } = useToast();\r\n  return (\r\n    <>\r\n      <Button\r\n        variant='primary'\r\n        className={cn(buttonSmall ? 'p-2' : 'py-4 px-6', className)}\r\n        endIcon='none'\r\n        color={buttonColor}\r\n        onClick={() => {\r\n          navigator.clipboard.writeText(text);\r\n          toast({\r\n            variant: 'success',\r\n            description: successMessage,\r\n            duration: 1000,\r\n          });\r\n        }}\r\n        aria-label='Click to copy the text'\r\n      >\r\n        <Copy />\r\n        {buttonText || null}\r\n      </Button>\r\n      <Toaster />\r\n    </>\r\n  );\r\n}\r\n"],"mappings":"yWAiBA,SAAgB,EAAe,EAAc,CAC3C,GAAM,CACJ,OACA,iBAAiB,cACjB,aACA,cAAc,GACd,cAAc,aACd,YAAY,IACV,EACE,CAAE,UAAA,EAAA,EAAA,UAAmB,EAC3B,OACE,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,MAAC,EAAA,OAAD,CACE,QAAQ,UACR,WAAA,EAAA,EAAA,IAAc,EAAc,MAAQ,YAAa,CAAS,EAC1D,QAAQ,OACR,MAAO,EACP,YAAe,CACb,UAAU,UAAU,UAAU,CAAI,EAClC,EAAM,CACJ,QAAS,UACT,YAAa,EACb,SAAU,GACZ,CAAC,CACH,EACA,aAAW,kCAbb,EAeE,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,CAAA,EACN,GAAc,IACT,KACR,EAAA,EAAA,KAAC,EAAA,QAAD,CAAU,CAAA,CACV,CAAA,CAAA,CAEN"}