UNPKG

@extclp/vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

1 lines 4.41 kB
{"version":3,"file":"file-icon.mjs","sources":["../../../components/upload/file-icon.ts"],"sourcesContent":["import { computed } from 'vue'\r\n\r\nimport { useIcons } from '@vexip-ui/config'\r\n\r\nimport type { IconsConfig } from '@vexip-ui/config'\r\n\r\nconst iconConfig = new Map<keyof IconsConfig, string[]>()\r\n\r\n// iconConfig.set('fileWord', ['doc', 'docx'])\r\niconConfig.set('fileVideo', [\r\n 'mp4',\r\n 'flv',\r\n 'mkv',\r\n 'rm',\r\n 'rmvb',\r\n 'mov',\r\n 'mtv',\r\n 'wnv',\r\n 'avi',\r\n '3gp',\r\n 'amv',\r\n 'dmv',\r\n])\r\n// iconConfig.set('filePdf', ['pdf'])\r\niconConfig.set('fileImage', [\r\n 'bmp',\r\n 'jpg',\r\n 'jpeg',\r\n 'png',\r\n 'tif',\r\n 'gif',\r\n 'pcx',\r\n 'tga',\r\n 'exif',\r\n 'fpx',\r\n 'svg',\r\n 'psd',\r\n 'cdr',\r\n 'pcd',\r\n 'dxf',\r\n 'ufo',\r\n 'eps',\r\n 'ai',\r\n 'raw',\r\n 'wmf',\r\n 'webp',\r\n])\r\n// iconConfig.set('fileExcel', ['xls', 'xlsx', 'xlsm', 'xlsb', 'xlam', 'csv'])\r\niconConfig.set(\r\n 'fileCode',\r\n [\r\n [\r\n 'json',\r\n 'xml',\r\n 'property',\r\n 'class',\r\n 'c',\r\n 'cpp',\r\n 'cc',\r\n 'cxx',\r\n 'h',\r\n 'hpp',\r\n 'hxx',\r\n 'cs',\r\n 'yml',\r\n 'yaml',\r\n 'ts',\r\n 'tsx',\r\n ],\r\n ['js', 'jsx', 'mjs', 'cjs', 'ts', 'tsx', 'mts', 'cts'],\r\n ['css', 'styl', 'pcss'],\r\n ['sass', 'scss'],\r\n ['less'],\r\n ['java', 'class', 'jsp'],\r\n ['vue'],\r\n ['html', 'htm'],\r\n ['py', 'pyc', 'pyw', 'pyo', 'pyd'],\r\n ].flat(),\r\n)\r\niconConfig.set('fileAudio', [\r\n 'cd',\r\n 'wave',\r\n 'aiff',\r\n 'mpeg',\r\n 'mp3',\r\n 'mpeg-4',\r\n 'midi',\r\n 'wma',\r\n 'ra',\r\n 'rm',\r\n 'rmx',\r\n 'vqf',\r\n 'amr',\r\n 'ape',\r\n 'flac',\r\n 'aac',\r\n])\r\niconConfig.set('fileZip', [\r\n 'rar',\r\n 'zip',\r\n '7z',\r\n 'cab',\r\n 'arj',\r\n 'lzh',\r\n 'tar',\r\n 'gz',\r\n 'ace',\r\n 'uue',\r\n 'bz2',\r\n 'jar',\r\n 'iso',\r\n])\r\niconConfig.set(\r\n 'fileText',\r\n [\r\n ['doc', 'docx'],\r\n ['xls', 'xlsx', 'xlsm', 'xlsb', 'xlam', 'csv'],\r\n ['pdf', 'txt', 'md'],\r\n ].flat(),\r\n)\r\niconConfig.set('file', ['default'])\r\n\r\nexport function useFileIcons(icons = useIcons()) {\r\n return computed(() => {\r\n const map: Record<string, Record<string, any>> = {}\r\n\r\n for (const [iconName, types] of iconConfig.entries()) {\r\n if (types?.length) {\r\n for (const type of types) {\r\n map[type] = icons.value[iconName]\r\n }\r\n }\r\n }\r\n\r\n return map\r\n })\r\n}\r\n"],"names":["iconConfig","useFileIcons","icons","useIcons","computed","map","iconName","types","type"],"mappings":";;AAMA,MAAMA,wBAAiB,IAAiC;AAGxDA,EAAW,IAAI,aAAa;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEDA,EAAW,IAAI,aAAa;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEDA,EAAW;AAAA,EACT;AAAA,EACA;AAAA,IACE;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,KAAK;AAAA,IACrD,CAAC,OAAO,QAAQ,MAAM;AAAA,IACtB,CAAC,QAAQ,MAAM;AAAA,IACf,CAAC,MAAM;AAAA,IACP,CAAC,QAAQ,SAAS,KAAK;AAAA,IACvB,CAAC,KAAK;AAAA,IACN,CAAC,QAAQ,KAAK;AAAA,IACd,CAAC,MAAM,OAAO,OAAO,OAAO,KAAK;AAAA,EAAA,EACjC,KAAK;AACT;AACAA,EAAW,IAAI,aAAa;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACDA,EAAW,IAAI,WAAW;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACDA,EAAW;AAAA,EACT;AAAA,EACA;AAAA,IACE,CAAC,OAAO,MAAM;AAAA,IACd,CAAC,OAAO,QAAQ,QAAQ,QAAQ,QAAQ,KAAK;AAAA,IAC7C,CAAC,OAAO,OAAO,IAAI;AAAA,EAAA,EACnB,KAAK;AACT;AACAA,EAAW,IAAI,QAAQ,CAAC,SAAS,CAAC;AAElB,SAAAC,EAAaC,IAAQC,KAAY;AAC/C,SAAOC,EAAS,MAAM;AACpB,UAAMC,IAA2C,CAAC;AAElD,eAAW,CAACC,GAAUC,CAAK,KAAKP,EAAW;AACzC,UAAIO,KAAA,QAAAA,EAAO;AACT,mBAAWC,KAAQD;AACjB,UAAAF,EAAIG,CAAI,IAAIN,EAAM,MAAMI,CAAQ;AAK/B,WAAAD;AAAA,EAAA,CACR;AACH;"}