{"version":3,"file":"ExcelDownloadButton.cjs","names":[],"sources":["../src/Components/Actions/ExcelDownloadButton.tsx"],"sourcesContent":["import { Button } from '@undp/design-system-react/Button';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport type { JSX } from 'react';\r\nimport { FileDown } from '@/Components/Icons';\r\nimport type { Color } from '@/Types';\r\nimport { excelDownload } from '@/Utils/excelDownload';\r\n\r\ninterface WsColInterface {\r\n  wch: number;\r\n}\r\n\r\ninterface Props {\r\n  buttonContent?: string | JSX.Element;\r\n  buttonColor?: Color;\r\n  // biome-ignore lint/suspicious/noExplicitAny: undefined data type\r\n  csvData: any;\r\n  fileName?: string;\r\n  headers: string[];\r\n  // biome-ignore lint/suspicious/noExplicitAny: undefined data type\r\n  xlsxHeader: any;\r\n  wscols: WsColInterface[];\r\n  buttonSmall?: boolean;\r\n  className?: string;\r\n}\r\n\r\nexport function ExcelDownloadButton(props: Props) {\r\n  const {\r\n    buttonContent,\r\n    buttonColor = 'surface-sm',\r\n    csvData,\r\n    fileName = 'data',\r\n    headers,\r\n    xlsxHeader,\r\n    wscols,\r\n    buttonSmall,\r\n    className = '',\r\n  } = props;\r\n  return (\r\n    <Button\r\n      variant='primary'\r\n      endIcon='none'\r\n      className={cn(\r\n        'undp-viz-download-button no-underline border border-stroke',\r\n        buttonSmall ? 'p-2' : 'py-4 px-6',\r\n        className,\r\n      )}\r\n      onClick={() => excelDownload(csvData, fileName, headers, xlsxHeader, wscols)}\r\n      aria-label='Click to download the data as xlsx'\r\n      color={buttonColor}\r\n    >\r\n      {buttonContent || <FileDown />}\r\n    </Button>\r\n  );\r\n}\r\n"],"mappings":"gTAyBA,SAAgB,EAAoB,EAAc,CAChD,GAAM,CACJ,gBACA,cAAc,aACd,UACA,WAAW,OACX,UACA,aACA,SACA,cACA,YAAY,IACV,EACJ,OACE,EAAA,EAAA,KAAC,EAAA,OAAD,CACE,QAAQ,UACR,QAAQ,OACR,WAAA,EAAA,EAAA,IACE,6DACA,EAAc,MAAQ,YACtB,CACF,EACA,YAAe,EAAA,EAAc,EAAS,EAAU,EAAS,EAAY,CAAM,EAC3E,aAAW,qCACX,MAAO,WAEN,IAAiB,EAAA,EAAA,KAAC,EAAA,EAAD,CAAW,CAAA,CACvB,CAAA,CAEZ"}