@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
128 lines (127 loc) • 1.71 kB
JavaScript
import { computed as c } from "vue";
import { useIcons as f } from "@vexip-ui/config";
const s = /* @__PURE__ */ new Map();
s.set("fileVideo", [
"mp4",
"flv",
"mkv",
"rm",
"rmvb",
"mov",
"mtv",
"wnv",
"avi",
"3gp",
"amv",
"dmv"
]);
s.set("fileImage", [
"bmp",
"jpg",
"jpeg",
"png",
"tif",
"gif",
"pcx",
"tga",
"exif",
"fpx",
"svg",
"psd",
"cdr",
"pcd",
"dxf",
"ufo",
"eps",
"ai",
"raw",
"wmf",
"webp"
]);
s.set(
"fileCode",
[
[
"json",
"xml",
"property",
"class",
"c",
"cpp",
"cc",
"cxx",
"h",
"hpp",
"hxx",
"cs",
"yml",
"yaml",
"ts",
"tsx"
],
["js", "jsx", "mjs", "cjs", "ts", "tsx", "mts", "cts"],
["css", "styl", "pcss"],
["sass", "scss"],
["less"],
["java", "class", "jsp"],
["vue"],
["html", "htm"],
["py", "pyc", "pyw", "pyo", "pyd"]
].flat()
);
s.set("fileAudio", [
"cd",
"wave",
"aiff",
"mpeg",
"mp3",
"mpeg-4",
"midi",
"wma",
"ra",
"rm",
"rmx",
"vqf",
"amr",
"ape",
"flac",
"aac"
]);
s.set("fileZip", [
"rar",
"zip",
"7z",
"cab",
"arj",
"lzh",
"tar",
"gz",
"ace",
"uue",
"bz2",
"jar",
"iso"
]);
s.set(
"fileText",
[
["doc", "docx"],
["xls", "xlsx", "xlsm", "xlsb", "xlam", "csv"],
["pdf", "txt", "md"]
].flat()
);
s.set("file", ["default"]);
function l(p = f()) {
return c(() => {
const t = {};
for (const [m, e] of s.entries())
if (e != null && e.length)
for (const a of e)
t[a] = p.value[m];
return t;
});
}
export {
l as useFileIcons
};
//# sourceMappingURL=file-icon.mjs.map