@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
1 lines • 2.96 kB
Source Map (JSON)
{"version":3,"file":"MaterialFileTypeIcon.mjs","names":["MaterialFileTypeIcon: FC<MaterialFileTypeIconProps>","iconUrl: string","FileTypeIcon","Img","Center"],"sources":["../../src/MaterialFileTypeIcon/MaterialFileTypeIcon.tsx"],"sourcesContent":["'use client';\n\nimport { type FC, useMemo } from 'react';\n\nimport { useCdnFn } from '@/ConfigProvider';\nimport FileTypeIcon from '@/FileTypeIcon';\nimport { Center } from '@/Flex';\nimport Img from '@/Img';\n\nimport type { MaterialFileTypeIconProps } from './type';\nimport { getIconUrlForDirectoryPath, getIconUrlForFilePath } from './utils';\n\nconst MaterialFileTypeIcon: FC<MaterialFileTypeIconProps> = ({\n fallbackUnknownType = true,\n filename,\n size = 48,\n variant = 'raw',\n type,\n style,\n open,\n ...rest\n}) => {\n const genCdnUrl = useCdnFn();\n const ICONS_URL = genCdnUrl({\n path: 'assets',\n pkg: '@lobehub/assets-fileicon',\n version: '1.0.0',\n });\n\n const iconUrl: string = useMemo(() => {\n return type === 'file'\n ? getIconUrlForFilePath({ fallbackUnknownType, iconsUrl: ICONS_URL, path: filename })\n : getIconUrlForDirectoryPath({\n fallbackUnknownType,\n iconsUrl: ICONS_URL,\n open,\n path: filename,\n });\n }, [ICONS_URL, type, filename, open]);\n\n if (!iconUrl)\n return (\n <FileTypeIcon filetype={filename.split('.')[1]} size={size} type={type} variant={'mono'} />\n );\n\n if (variant === 'raw')\n return <Img alt={filename} height={size} src={iconUrl} style={style} width={size} {...rest} />;\n\n return (\n <Center\n flex={'none'}\n height={size}\n style={{ position: 'relative', ...style }}\n width={size}\n {...rest}\n >\n <FileTypeIcon size={size} type={variant} variant={'mono'} />\n <Img\n alt={filename}\n height={size / 2}\n src={iconUrl}\n style={{ position: 'absolute', top: size / 3 }}\n width={size / 2}\n {...rest}\n />\n </Center>\n );\n};\n\nMaterialFileTypeIcon.displayName = 'MaterialFileTypeIcon';\n\nexport default MaterialFileTypeIcon;\n"],"mappings":";;;;;;;;;;;AAYA,MAAMA,wBAAuD,EAC3D,sBAAsB,MACtB,UACA,OAAO,IACP,UAAU,OACV,MACA,OACA,MACA,GAAG,WACC;CAEJ,MAAM,YADY,UAAU,CACA;EAC1B,MAAM;EACN,KAAK;EACL,SAAS;EACV,CAAC;CAEF,MAAMC,UAAkB,cAAc;AACpC,SAAO,SAAS,SACZ,sBAAsB;GAAE;GAAqB,UAAU;GAAW,MAAM;GAAU,CAAC,GACnF,2BAA2B;GACzB;GACA,UAAU;GACV;GACA,MAAM;GACP,CAAC;IACL;EAAC;EAAW;EAAM;EAAU;EAAK,CAAC;AAErC,KAAI,CAAC,QACH,QACE,oBAACC;EAAa,UAAU,SAAS,MAAM,IAAI,CAAC;EAAU;EAAY;EAAM,SAAS;GAAU;AAG/F,KAAI,YAAY,MACd,QAAO,oBAACC;EAAI,KAAK;EAAU,QAAQ;EAAM,KAAK;EAAgB;EAAO,OAAO;EAAM,GAAI;GAAQ;AAEhG,QACE,qBAACC;EACC,MAAM;EACN,QAAQ;EACR,OAAO;GAAE,UAAU;GAAY,GAAG;GAAO;EACzC,OAAO;EACP,GAAI;aAEJ,oBAACF;GAAmB;GAAM,MAAM;GAAS,SAAS;IAAU,EAC5D,oBAACC;GACC,KAAK;GACL,QAAQ,OAAO;GACf,KAAK;GACL,OAAO;IAAE,UAAU;IAAY,KAAK,OAAO;IAAG;GAC9C,OAAO,OAAO;GACd,GAAI;IACJ;GACK;;AAIb,qBAAqB,cAAc;AAEnC,mCAAe"}