@redocly/theme
Version:
Shared UI components lib
127 lines • 3.72 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFileIconByExt = getFileIconByExt;
exports.getFileIconByLanguage = getFileIconByLanguage;
const React = __importStar(require("react"));
const CDNIcon_1 = require("../../icons/CDNIcon/CDNIcon");
// extension to icon name
const fileIconMap = {
yaml: 'yaml',
yml: 'yaml',
json: 'json',
js: 'javascript',
ts: 'typescript',
css: 'css',
html: 'html',
jsx: 'react',
tsx: 'react',
md: 'markdown',
graphql: 'graphql',
gql: 'graphql',
py: 'python',
sh: 'console',
xsh: 'console',
nu: 'console',
java: 'java',
ps: 'powershell',
php: 'php_elephant',
go: 'go',
ruby: 'ruby',
swift: 'swift',
kotlin: 'kotlin',
rust: 'rust',
scala: 'scala',
elixir: 'elixir',
dart: 'dart',
http: 'http',
rest: 'http',
c: 'c',
h: 'c',
hpp: 'c',
cc: 'c',
cpp: 'c',
cxx: 'c',
'c++': 'c',
sql: 'database',
hbs: 'handlebars',
cs: 'csharp',
csx: 'csharp',
csharp: 'csharp',
markdoc: 'markdoc',
mdoc: 'markdoc',
mdx: 'mdx',
};
// code block language to icon name, only for those when code extension is not available
const languageIconMap = {
bash: 'console',
python: 'python',
java: 'java',
graphql: 'graphql',
javascript: 'javascript',
typescript: 'typescript',
react: 'react',
markdown: 'markdown',
php: 'php_elephant',
ruby: 'ruby',
swift: 'swift',
kotlin: 'kotlin',
rust: 'rust',
scala: 'scala',
elixir: 'elixir',
dart: 'dart',
csharp: 'csharp',
objectivec: 'c',
perl: 'perl',
sql: 'database',
xml: 'xml',
vim: 'vim',
lua: 'lua',
zsh: 'console',
fish: 'console',
powershell: 'console',
handlebars: 'handlebars',
markdoc: 'markdoc',
mdx: 'mdx',
};
function getFileIconByExt(ext) {
const iconName = fileIconMap[ext] || 'document';
return React.createElement(CDNIcon_1.CDNIcon, { name: iconName, pack: "code", mode: "background" });
}
function getFileIconByLanguage(language) {
const iconName = fileIconMap[language] || languageIconMap[language] || 'document';
return React.createElement(CDNIcon_1.CDNIcon, { name: iconName, pack: "code", mode: "background" });
}
//# sourceMappingURL=GetFileIcon.js.map