{"version":3,"file":"clickToCopyUtils.mjs","sources":["../../../../../../../../../web/src/adminPortal/shared/utils/clickToCopyUtils.tsx"],"sourcesContent":["import CheckCircleOutlined from '@mui/icons-material/CheckCircleOutlined';\nimport FileCopyOutlined from '@mui/icons-material/FileCopyOutlined';\nimport { styled } from '@mui/material';\nimport React, { MouseEvent, MouseEventHandler, ReactNode, useState } from 'react';\n\nconst CheckCircle = styled(CheckCircleOutlined)({\n  display: 'block !important',\n});\n\nexport interface UseClickToCopyCoreParams {\n  iconSize?: 'inherit' | 'small' | 'medium' | 'large';\n  text: string;\n}\n\nexport interface UseClickToCopyCoreReturnType {\n  copied: boolean;\n  copyToClipboard: (e: MouseEvent<HTMLElement>) => void;\n  CopyIcon: ReactNode;\n}\n\nexport const useClickToCopyCore = ({\n  iconSize = 'small',\n  text,\n}: UseClickToCopyCoreParams): UseClickToCopyCoreReturnType => {\n  const [copied, setCopied] = useState(false);\n\n  const copyToClipboard: MouseEventHandler = (e) => {\n    e.stopPropagation();\n    setCopied(true);\n    navigator.clipboard.writeText(text);\n    setTimeout(() => setCopied(false), 1000);\n  };\n\n  const CopyIcon = copied ? <CheckCircle fontSize={iconSize} /> : <FileCopyOutlined fontSize={iconSize} />;\n\n  return { copied, copyToClipboard, CopyIcon };\n};\n"],"names":["CheckCircle","styled","CheckCircleOutlined","display","useClickToCopyCore","iconSize","text","copied","setCopied","useState","copyToClipboard","e","stopPropagation","navigator","clipboard","writeText","setTimeout","CopyIcon","React","fontSize","FileCopyOutlined"],"mappings":";;;;;;AAKA,MAAMA,WAAAA,GAAcC,OAAOC,mBAAAA,CAAAA,CAAqB;IAC9CC,OAAAA,EAAS;AACX,CAAA,CAAA;AAaO,MAAMC,qBAAqB,CAAC,EACjCC,WAAW,OAAO,EAClBC,IAAI,EACqB,GAAA;AACzB,IAAA,MAAM,CAACC,MAAAA,EAAQC,SAAAA,CAAU,GAAGC,CAAAA,CAAS,KAAA,CAAA;AAErC,IAAA,MAAMC,kBAAqC,CAACC,CAAAA,GAAAA;AAC1CA,QAAAA,CAAAA,CAAEC,eAAe,EAAA;QACjBJ,SAAAA,CAAU,IAAA,CAAA;QACVK,SAAAA,CAAUC,SAAS,CAACC,SAAS,CAACT,IAAAA,CAAAA;QAC9BU,UAAAA,CAAW,IAAMR,UAAU,KAAA,CAAA,EAAQ,IAAA,CAAA;AACrC,IAAA,CAAA;IAEA,MAAMS,QAAAA,GAAWV,uBAASW,EAAA,CAAA,aAAA,CAAClB,WAAAA,EAAAA;QAAYmB,QAAAA,EAAUd;uBAAea,EAAA,CAAA,aAAA,CAACE,gBAAAA,EAAAA;QAAiBD,QAAAA,EAAUd;;IAE5F,OAAO;AAAEE,QAAAA,MAAAA;AAAQG,QAAAA,eAAAA;AAAiBO,QAAAA;AAAS,KAAA;AAC7C;;;;"}