{"version":3,"file":"icons.mjs","sources":["../../../admin/src/utils/icons.ts"],"sourcesContent":["import { SVGProps } from 'react';\n\nimport { File, FileCsv, FilePdf, FileXls, FileZip } from '@strapi/icons';\nimport { DefaultTheme } from 'styled-components';\n\nimport { DocType, DOC_TYPES } from '../enums';\n\n// The IconProps interface is not exported from our design library package, so we need to redefine it here\ninterface IconProps extends Omit, 'fill' | 'stroke'> {\n /**\n * @default \"currentColor\"\n */\n fill?: keyof DefaultTheme['colors'] | string;\n stroke?: keyof DefaultTheme['colors'] | string;\n}\n\ntype IconComponent = React.FC;\n\nexport const FILE_TYPE_ICON_COMPONENT_MAP: Record = {\n [DOC_TYPES.Pdf]: FilePdf,\n [DOC_TYPES.Csv]: FileCsv,\n [DOC_TYPES.Xls]: FileXls,\n [DOC_TYPES.Zip]: FileZip,\n} as const;\n\nexport const DEFAULT_FILE_ICON: IconComponent = File;\n\nexport const getFileIconComponent = (docType?: string) => {\n if (Object.values(DOC_TYPES).some((type) => docType?.includes(type))) {\n return FILE_TYPE_ICON_COMPONENT_MAP[docType as DocType] ?? DEFAULT_FILE_ICON;\n }\n return DEFAULT_FILE_ICON;\n};\n"],"names":["FILE_TYPE_ICON_COMPONENT_MAP","DOC_TYPES","Pdf","FilePdf","Csv","FileCsv","Xls","FileXls","Zip","FileZip","DEFAULT_FILE_ICON","File","getFileIconComponent","docType","Object","values","some","type","includes"],"mappings":";;;MAkBaA,4BAAAA,GAA+D;IAC1E,CAACC,SAAAA,CAAUC,GAAG,GAAGC,OAAAA;IACjB,CAACF,SAAAA,CAAUG,GAAG,GAAGC,OAAAA;IACjB,CAACJ,SAAAA,CAAUK,GAAG,GAAGC,OAAAA;IACjB,CAACN,SAAAA,CAAUO,GAAG,GAAGC;AACnB;AAEO,MAAMC,oBAAmCC;AAEzC,MAAMC,uBAAuB,CAACC,OAAAA,GAAAA;IACnC,IAAIC,MAAAA,CAAOC,MAAM,CAACd,SAAAA,CAAAA,CAAWe,IAAI,CAAC,CAACC,IAAAA,GAASJ,OAAAA,EAASK,QAAAA,CAASD,IAAAA,CAAAA,CAAAA,EAAQ;QACpE,OAAOjB,4BAA4B,CAACa,OAAAA,CAAmB,IAAIH,iBAAAA;AAC7D,IAAA;IACA,OAAOA,iBAAAA;AACT;;;;"}