@lobehub/ui 1.144.5 → 1.145.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/FileTypeIcon/index.d.ts +11 -0
- package/es/FileTypeIcon/index.js +87 -0
- package/es/MaterialFileTypeIcon/icon-map.json +10355 -0
- package/es/MaterialFileTypeIcon/index.d.ts +11 -0
- package/es/MaterialFileTypeIcon/index.js +61 -0
- package/es/MaterialFileTypeIcon/types.d.ts +5 -0
- package/es/MaterialFileTypeIcon/types.js +1 -0
- package/es/MaterialFileTypeIcon/utils.d.ts +9 -0
- package/es/MaterialFileTypeIcon/utils.js +39 -0
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { DivProps } from "../types";
|
|
3
|
+
export interface MaterialFileTypeIconProps {
|
|
4
|
+
filename: string;
|
|
5
|
+
open?: boolean;
|
|
6
|
+
size?: number;
|
|
7
|
+
type?: 'file' | 'folder';
|
|
8
|
+
variant?: 'pure' | 'file' | 'folder';
|
|
9
|
+
}
|
|
10
|
+
declare const MaterialFileTypeIcon: import("react").NamedExoticComponent<MaterialFileTypeIconProps & DivProps>;
|
|
11
|
+
export default MaterialFileTypeIcon;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
4
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
+
var _excluded = ["filename", "size", "variant", "type", "style", "open"];
|
|
6
|
+
import { memo, useMemo } from 'react';
|
|
7
|
+
import { Center } from 'react-layout-kit';
|
|
8
|
+
import { useCdnFn } from "../ConfigProvider";
|
|
9
|
+
import FileTypeIcon from "../FileTypeIcon";
|
|
10
|
+
import Img from "../Img";
|
|
11
|
+
import { getIconUrlForDirectoryPath, getIconUrlForFilePath } from "./utils";
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
var MaterialFileTypeIcon = /*#__PURE__*/memo(function (_ref) {
|
|
15
|
+
var filename = _ref.filename,
|
|
16
|
+
_ref$size = _ref.size,
|
|
17
|
+
size = _ref$size === void 0 ? 48 : _ref$size,
|
|
18
|
+
_ref$variant = _ref.variant,
|
|
19
|
+
variant = _ref$variant === void 0 ? 'pure' : _ref$variant,
|
|
20
|
+
type = _ref.type,
|
|
21
|
+
style = _ref.style,
|
|
22
|
+
open = _ref.open,
|
|
23
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
24
|
+
var genCdnUrl = useCdnFn();
|
|
25
|
+
var ICONS_URL = genCdnUrl({
|
|
26
|
+
path: 'assets',
|
|
27
|
+
pkg: '@lobehub/assets-fileicon',
|
|
28
|
+
version: '1.0.0'
|
|
29
|
+
});
|
|
30
|
+
var iconUrl = useMemo(function () {
|
|
31
|
+
return type === 'file' ? getIconUrlForFilePath(filename, ICONS_URL) : getIconUrlForDirectoryPath(filename, ICONS_URL, open);
|
|
32
|
+
}, [ICONS_URL, type, filename, open]);
|
|
33
|
+
if (variant === 'pure') return /*#__PURE__*/_jsx(Img, _objectSpread({
|
|
34
|
+
height: size,
|
|
35
|
+
src: iconUrl,
|
|
36
|
+
style: style,
|
|
37
|
+
width: size
|
|
38
|
+
}, rest));
|
|
39
|
+
return /*#__PURE__*/_jsxs(Center, _objectSpread(_objectSpread({
|
|
40
|
+
flex: 'none',
|
|
41
|
+
height: size,
|
|
42
|
+
style: _objectSpread({
|
|
43
|
+
position: 'relative'
|
|
44
|
+
}, style),
|
|
45
|
+
width: size
|
|
46
|
+
}, rest), {}, {
|
|
47
|
+
children: [/*#__PURE__*/_jsx(FileTypeIcon, {
|
|
48
|
+
type: variant,
|
|
49
|
+
variant: 'mono'
|
|
50
|
+
}), /*#__PURE__*/_jsx(Img, _objectSpread({
|
|
51
|
+
height: size / 2,
|
|
52
|
+
src: iconUrl,
|
|
53
|
+
style: {
|
|
54
|
+
position: 'absolute',
|
|
55
|
+
top: size / 3
|
|
56
|
+
},
|
|
57
|
+
width: size / 2
|
|
58
|
+
}, rest))]
|
|
59
|
+
}));
|
|
60
|
+
});
|
|
61
|
+
export default MaterialFileTypeIcon;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type iconMap from './icon-map.json';
|
|
2
|
+
export type IconDefinitionsKey = keyof (typeof iconMap)['iconDefinitions'];
|
|
3
|
+
export type FileNamesKey = keyof (typeof iconMap)['fileNames'];
|
|
4
|
+
export type FolderNamesKey = keyof (typeof iconMap)['folderNames'];
|
|
5
|
+
export type FileExtensionsKey = keyof (typeof iconMap)['fileExtensions'];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IconDefinitionsKey } from './types';
|
|
2
|
+
export declare function filenameFromPath(path: string): string;
|
|
3
|
+
export declare function getIconNameForFileName(fileName: string): IconDefinitionsKey;
|
|
4
|
+
export declare function getIconNameForDirectoryName(dirName: string): IconDefinitionsKey;
|
|
5
|
+
export declare function getIconForFilePath(path: string): "audio" | "html" | "ruby" | "search" | "table" | "template" | "video" | "svg" | "image" | "blink" | "red" | "d" | "r" | "key" | "font" | "css" | "azure" | "teal" | "auto" | "flow" | "next" | "document" | "log" | "tree" | "url" | "email" | "3d" | "robot" | "mermaid" | "panda" | "coconut" | "cucumber" | "jar" | "yarn" | "razor" | "gemini" | "http" | "file" | "go" | "processing" | "diff" | "abap" | "ada" | "applescript" | "astro" | "ballerina" | "bicep" | "c" | "cadence" | "clojure" | "cmake" | "cobol" | "coffee" | "cpp" | "crystal" | "csharp" | "dart" | "docker" | "elixir" | "elm" | "erlang" | "fsharp" | "graphql" | "groovy" | "hack" | "haml" | "handlebars" | "haskell" | "hcl" | "hjson" | "imba" | "java" | "javascript" | "json" | "julia" | "kotlin" | "kusto" | "less" | "liquid" | "lisp" | "lua" | "markdown" | "matlab" | "mdx" | "mojo" | "nginx" | "nim" | "nix" | "objective-c" | "objective-cpp" | "ocaml" | "pascal" | "perl" | "php" | "postcss" | "powershell" | "prisma" | "prolog" | "proto" | "pug" | "puppet" | "purescript" | "python" | "rust" | "sas" | "sass" | "scala" | "scheme" | "shaderlab" | "solidity" | "stylus" | "svelte" | "swift" | "tcl" | "tex" | "twig" | "typescript" | "verilog" | "vue" | "xml" | "yaml" | "zig" | "console" | "makefile" | "shader" | "vim" | "asciidoc" | "codeowners" | "gleam" | "haxe" | "jinja" | "racket" | "terraform" | "typst" | "vala" | "virtual" | "h" | "folder" | "sublime" | "twine" | "react" | "react_ts" | "routing" | "settings" | "typescript-def" | "markojs" | "pdf" | "vscode" | "visualstudio" | "database" | "qsharp" | "zip" | "exe" | "hex" | "javaclass" | "hpp" | "rc" | "python-misc" | "gradle" | "word" | "certificate" | "lib" | "dll" | "arduino" | "powerpoint" | "vedic" | "raml" | "xaml" | "otne" | "git" | "dart_generated" | "actionscript" | "mxml" | "autohotkey" | "flash" | "swc" | "assembly" | "odin" | "javascript-map" | "css-map" | "lock" | "test-ts" | "test-jsx" | "test-js" | "angular" | "angular-component" | "angular-guard" | "angular-service" | "angular-pipe" | "angular-directive" | "angular-resolver" | "livescript" | "smarty" | "reason" | "bucklescript" | "merlin" | "mathematica" | "wolframlanguage" | "nunjucks" | "autoit" | "yang" | "mjml" | "laravel" | "cake" | "apiblueprint" | "riot" | "vfl" | "kl" | "todo" | "coldfusion" | "cabal" | "slim" | "restql" | "kivy" | "graphcool" | "sbt" | "android" | "tune" | "gitlab" | "jenkins" | "figma" | "huff" | "drone" | "cuda" | "dotjs" | "ejs" | "wakatime" | "storybook" | "wepy" | "san" | "quokka" | "django" | "foxpro" | "i18n" | "webassembly" | "jupyter" | "mdsvex" | "bazel" | "mint" | "velocity" | "godot" | "godot-assets" | "azure-pipelines" | "vagrant" | "abc" | "edge" | "moonscript" | "advpl_prw" | "advpl_ptm" | "advpl_tlpp" | "advpl_include" | "disc" | "fortran" | "sketch" | "pawn" | "forth" | "uml" | "meson" | "dhall" | "sml" | "opam" | "drawio" | "nuget" | "command" | "denizenscript" | "minecraft" | "rescript" | "rescript-interface" | "brainfuck" | "grain" | "lolcode" | "idris" | "pipeline" | "opa" | "windicss" | "lilypond" | "vlang" | "chess" | "tsconfig" | "tauri" | "jsconfig" | "horusec" | "pdm" | "coala" | "dinophp" | "siyuan" | "ndst" | "tobi" | "steadybit" | "capnp" | "openapi" | "swagger" | "antlr" | "stylable" | "pinejs" | "taskfile" | "gamemaker" | "tldraw" | "roblox" | "spwn" | "templ" | "chrome" | "stan" | "lottie" | "apps-script" | "pkl" | "playwright" | "go-mod" | "gemfile" | "rubocop" | "rspec" | "semgrep" | "vue-config" | "nuxt" | "vercel" | "verdaccio" | "payload" | "remix" | "posthtml" | "webpack" | "ionic" | "gulp" | "nodejs" | "npm" | "turborepo" | "babel" | "blitz" | "contributing" | "readme" | "changelog" | "architecture" | "credits" | "authors" | "favicon" | "karma" | "bithound" | "svgo" | "appveyor" | "travis" | "codecov" | "sonarcloud" | "protractor" | "fusebox" | "heroku" | "editorconfig" | "bower" | "eslint" | "conduct" | "watchman" | "aurelia" | "mocha" | "firebase" | "rollup" | "hardhat" | "stylelint" | "code-climate" | "prettier" | "renovate" | "apollo" | "nodemon" | "webhint" | "browserlist" | "snyk" | "sequelize" | "gatsby" | "circleci" | "cloudfoundry" | "grunt" | "jest" | "fastlane" | "helm" | "wallaby" | "stencil" | "semantic-release" | "bitbucket" | "istanbul" | "tailwindcss" | "buildkite" | "netlify" | "nest" | "moon" | "percy" | "gitpod" | "gcp" | "husky" | "tilt" | "capacitor" | "adonis" | "commitlint" | "buck" | "nx" | "dune" | "roadmap" | "stryker" | "modernizr" | "slug" | "stitches" | "replit" | "snowpack" | "quasar" | "dependabot" | "vite" | "vitest" | "lerna" | "textlint" | "sentry" | "phpunit" | "php-cs-fixer" | "robots" | "maven" | "serverless" | "supabase" | "ember" | "poetry" | "parcel" | "astyle" | "lighthouse" | "svgr" | "rome" | "cypress" | "plop" | "tobimake" | "pnpm" | "gridsome" | "caddy" | "bun" | "nano-staged" | "knip" | "craco" | "mercurial" | "deno" | "plastic" | "unocss" | "ifanr-cloud" | "concourse" | "syncpack" | "werf" | "biome" | "esbuild" | "puppeteer" | "kubernetes" | "folder-open" | "folder-robot" | "folder-src" | "folder-dist" | "folder-css" | "folder-sass" | "folder-television" | "folder-desktop" | "folder-console" | "folder-images" | "folder-scripts" | "folder-node" | "folder-javascript" | "folder-json" | "folder-font" | "folder-bower" | "folder-test" | "folder-jinja" | "folder-markdown" | "folder-pdm" | "folder-php" | "folder-phpmailer" | "folder-sublime" | "folder-docs" | "folder-git" | "folder-github" | "folder-gitlab" | "folder-vscode" | "folder-views" | "folder-vue" | "folder-vuepress" | "folder-expo" | "folder-config" | "folder-i18n" | "folder-components" | "folder-verdaccio" | "folder-aurelia" | "folder-resource" | "folder-lib" | "folder-theme" | "folder-webpack" | "folder-global" | "folder-public" | "folder-include" | "folder-docker" | "folder-database" | "folder-log" | "folder-target" | "folder-temp" | "folder-aws" | "folder-audio" | "folder-video" | "folder-kubernetes" | "folder-import" | "folder-export" | "folder-wakatime" | "folder-circleci" | "folder-wordpress" | "folder-gradle" | "folder-coverage" | "folder-class" | "folder-other" | "folder-lua" | "folder-typescript" | "folder-graphql" | "folder-routes" | "folder-ci" | "folder-benchmark" | "folder-messages" | "folder-less" | "folder-gulp" | "folder-python" | "folder-mojo" | "folder-moon" | "folder-debug" | "folder-fastlane" | "folder-plugin" | "folder-middleware" | "folder-controller" | "folder-ansible" | "folder-server" | "folder-client" | "folder-tasks" | "folder-android" | "folder-ios" | "folder-upload" | "folder-download" | "folder-tools" | "folder-helper" | "folder-serverless" | "folder-api" | "folder-app" | "folder-apollo" | "folder-archive" | "folder-batch" | "folder-buildkite" | "folder-cluster" | "folder-command" | "folder-constant" | "folder-container" | "folder-content" | "folder-context" | "folder-core" | "folder-delta" | "folder-dump" | "folder-examples" | "folder-environment" | "folder-functions" | "folder-generator" | "folder-hook" | "folder-job" | "folder-keys" | "folder-layout" | "folder-mail" | "folder-mappings" | "folder-meta" | "folder-changesets" | "folder-packages" | "folder-shared" | "folder-shader" | "folder-stack" | "folder-template" | "folder-utils" | "folder-supabase" | "folder-private" | "folder-linux" | "folder-windows" | "folder-macos" | "folder-error" | "folder-event" | "folder-secure" | "folder-custom" | "folder-mock" | "folder-syntax" | "folder-vm" | "folder-stylus" | "folder-flow" | "folder-rules" | "folder-review" | "folder-animation" | "folder-guard" | "folder-prisma" | "folder-pipe" | "folder-svg" | "folder-terraform" | "folder-mobile" | "folder-stencil" | "folder-firebase" | "folder-svelte" | "folder-update" | "folder-intellij" | "folder-azure-pipelines" | "folder-mjml" | "folder-admin" | "folder-scala" | "folder-connection" | "folder-quasar" | "folder-next" | "folder-cobol" | "folder-yarn" | "folder-husky" | "folder-storybook" | "folder-base" | "folder-cart" | "folder-home" | "folder-project" | "folder-interface" | "folder-netlify" | "folder-enum" | "folder-contract" | "folder-queue" | "folder-vercel" | "folder-cypress" | "folder-decorators" | "folder-java" | "folder-resolver" | "folder-angular" | "folder-unity" | "folder-pdf" | "folder-proto" | "folder-plastic" | "folder-gamemaker" | "folder-mercurial" | "folder-godot" | "folder-lottie" | "folder-taskfile" | "folder-cloudflare" | "folder-seeders" | "folder-robot-open" | "folder-src-open" | "folder-dist-open" | "folder-css-open" | "folder-sass-open" | "folder-television-open" | "folder-desktop-open" | "folder-console-open" | "folder-images-open" | "folder-scripts-open" | "folder-node-open" | "folder-javascript-open" | "folder-json-open" | "folder-font-open" | "folder-bower-open" | "folder-test-open" | "folder-jinja-open" | "folder-markdown-open" | "folder-pdm-open" | "folder-php-open" | "folder-phpmailer-open" | "folder-sublime-open" | "folder-docs-open" | "folder-git-open" | "folder-github-open" | "folder-gitlab-open" | "folder-vscode-open" | "folder-views-open" | "folder-vue-open" | "folder-vuepress-open" | "folder-expo-open" | "folder-config-open" | "folder-i18n-open" | "folder-components-open" | "folder-verdaccio-open" | "folder-aurelia-open" | "folder-resource-open" | "folder-lib-open" | "folder-theme-open" | "folder-webpack-open" | "folder-global-open" | "folder-public-open" | "folder-include-open" | "folder-docker-open" | "folder-database-open" | "folder-log-open" | "folder-target-open" | "folder-temp-open" | "folder-aws-open" | "folder-audio-open" | "folder-video-open" | "folder-kubernetes-open" | "folder-import-open" | "folder-export-open" | "folder-wakatime-open" | "folder-circleci-open" | "folder-wordpress-open" | "folder-gradle-open" | "folder-coverage-open" | "folder-class-open" | "folder-other-open" | "folder-lua-open" | "folder-typescript-open" | "folder-graphql-open" | "folder-routes-open" | "folder-ci-open" | "folder-benchmark-open" | "folder-messages-open" | "folder-less-open" | "folder-gulp-open" | "folder-python-open" | "folder-mojo-open" | "folder-moon-open" | "folder-debug-open" | "folder-fastlane-open" | "folder-plugin-open" | "folder-middleware-open" | "folder-controller-open" | "folder-ansible-open" | "folder-server-open" | "folder-client-open" | "folder-tasks-open" | "folder-android-open" | "folder-ios-open" | "folder-upload-open" | "folder-download-open" | "folder-tools-open" | "folder-helper-open" | "folder-serverless-open" | "folder-api-open" | "folder-app-open" | "folder-apollo-open" | "folder-archive-open" | "folder-batch-open" | "folder-buildkite-open" | "folder-cluster-open" | "folder-command-open" | "folder-constant-open" | "folder-container-open" | "folder-content-open" | "folder-context-open" | "folder-core-open" | "folder-delta-open" | "folder-dump-open" | "folder-examples-open" | "folder-environment-open" | "folder-functions-open" | "folder-generator-open" | "folder-hook-open" | "folder-job-open" | "folder-keys-open" | "folder-layout-open" | "folder-mail-open" | "folder-mappings-open" | "folder-meta-open" | "folder-changesets-open" | "folder-packages-open" | "folder-shared-open" | "folder-shader-open" | "folder-stack-open" | "folder-template-open" | "folder-utils-open" | "folder-supabase-open" | "folder-private-open" | "folder-linux-open" | "folder-windows-open" | "folder-macos-open" | "folder-error-open" | "folder-event-open" | "folder-secure-open" | "folder-custom-open" | "folder-mock-open" | "folder-syntax-open" | "folder-vm-open" | "folder-stylus-open" | "folder-flow-open" | "folder-rules-open" | "folder-review-open" | "folder-animation-open" | "folder-guard-open" | "folder-prisma-open" | "folder-pipe-open" | "folder-svg-open" | "folder-terraform-open" | "folder-mobile-open" | "folder-stencil-open" | "folder-firebase-open" | "folder-svelte-open" | "folder-update-open" | "folder-intellij-open" | "folder-azure-pipelines-open" | "folder-mjml-open" | "folder-admin-open" | "folder-scala-open" | "folder-connection-open" | "folder-quasar-open" | "folder-next-open" | "folder-cobol-open" | "folder-yarn-open" | "folder-husky-open" | "folder-storybook-open" | "folder-base-open" | "folder-cart-open" | "folder-home-open" | "folder-project-open" | "folder-interface-open" | "folder-netlify-open" | "folder-enum-open" | "folder-contract-open" | "folder-queue-open" | "folder-vercel-open" | "folder-cypress-open" | "folder-decorators-open" | "folder-java-open" | "folder-resolver-open" | "folder-angular-open" | "folder-unity-open" | "folder-pdf-open" | "folder-proto-open" | "folder-plastic-open" | "folder-gamemaker-open" | "folder-mercurial-open" | "folder-godot-open" | "folder-lottie-open" | "folder-taskfile-open" | "folder-cloudflare-open" | "folder-seeders-open" | "salesforce" | "blink_light" | "jinja_light" | "huff_light" | "crystal_light" | "drone_light" | "wakatime_light" | "hcl_light" | "uml_light" | "chess_light" | "openapi_light" | "tldraw_light" | "rubocop_light" | "vercel_light" | "payload_light" | "next_light" | "remix_light" | "turborepo_light" | "auto_light" | "stylelint_light" | "code-climate_light" | "browserlist_light" | "circleci_light" | "semantic-release_light" | "netlify_light" | "stitches_light" | "snowpack_light" | "pnpm_light" | "bun_light" | "nano-staged_light" | "deno_light" | "folder-jinja_light" | "folder-intellij_light" | "folder-jinja-open_light" | "folder-intellij-open_light" | "folder-root" | "folder-root-open" | "php_elephant" | "php_elephant_pink" | "go_gopher" | "nodejs_alt" | "silverstripe";
|
|
6
|
+
export declare function getIconForDirectoryPath(path: string): "audio" | "html" | "ruby" | "search" | "table" | "template" | "video" | "svg" | "image" | "blink" | "red" | "d" | "r" | "key" | "font" | "css" | "azure" | "teal" | "auto" | "flow" | "next" | "document" | "log" | "tree" | "url" | "email" | "3d" | "robot" | "mermaid" | "panda" | "coconut" | "cucumber" | "jar" | "yarn" | "razor" | "gemini" | "http" | "file" | "go" | "processing" | "diff" | "abap" | "ada" | "applescript" | "astro" | "ballerina" | "bicep" | "c" | "cadence" | "clojure" | "cmake" | "cobol" | "coffee" | "cpp" | "crystal" | "csharp" | "dart" | "docker" | "elixir" | "elm" | "erlang" | "fsharp" | "graphql" | "groovy" | "hack" | "haml" | "handlebars" | "haskell" | "hcl" | "hjson" | "imba" | "java" | "javascript" | "json" | "julia" | "kotlin" | "kusto" | "less" | "liquid" | "lisp" | "lua" | "markdown" | "matlab" | "mdx" | "mojo" | "nginx" | "nim" | "nix" | "objective-c" | "objective-cpp" | "ocaml" | "pascal" | "perl" | "php" | "postcss" | "powershell" | "prisma" | "prolog" | "proto" | "pug" | "puppet" | "purescript" | "python" | "rust" | "sas" | "sass" | "scala" | "scheme" | "shaderlab" | "solidity" | "stylus" | "svelte" | "swift" | "tcl" | "tex" | "twig" | "typescript" | "verilog" | "vue" | "xml" | "yaml" | "zig" | "console" | "makefile" | "shader" | "vim" | "asciidoc" | "codeowners" | "gleam" | "haxe" | "jinja" | "racket" | "terraform" | "typst" | "vala" | "virtual" | "h" | "folder" | "sublime" | "twine" | "react" | "react_ts" | "routing" | "settings" | "typescript-def" | "markojs" | "pdf" | "vscode" | "visualstudio" | "database" | "qsharp" | "zip" | "exe" | "hex" | "javaclass" | "hpp" | "rc" | "python-misc" | "gradle" | "word" | "certificate" | "lib" | "dll" | "arduino" | "powerpoint" | "vedic" | "raml" | "xaml" | "otne" | "git" | "dart_generated" | "actionscript" | "mxml" | "autohotkey" | "flash" | "swc" | "assembly" | "odin" | "javascript-map" | "css-map" | "lock" | "test-ts" | "test-jsx" | "test-js" | "angular" | "angular-component" | "angular-guard" | "angular-service" | "angular-pipe" | "angular-directive" | "angular-resolver" | "livescript" | "smarty" | "reason" | "bucklescript" | "merlin" | "mathematica" | "wolframlanguage" | "nunjucks" | "autoit" | "yang" | "mjml" | "laravel" | "cake" | "apiblueprint" | "riot" | "vfl" | "kl" | "todo" | "coldfusion" | "cabal" | "slim" | "restql" | "kivy" | "graphcool" | "sbt" | "android" | "tune" | "gitlab" | "jenkins" | "figma" | "huff" | "drone" | "cuda" | "dotjs" | "ejs" | "wakatime" | "storybook" | "wepy" | "san" | "quokka" | "django" | "foxpro" | "i18n" | "webassembly" | "jupyter" | "mdsvex" | "bazel" | "mint" | "velocity" | "godot" | "godot-assets" | "azure-pipelines" | "vagrant" | "abc" | "edge" | "moonscript" | "advpl_prw" | "advpl_ptm" | "advpl_tlpp" | "advpl_include" | "disc" | "fortran" | "sketch" | "pawn" | "forth" | "uml" | "meson" | "dhall" | "sml" | "opam" | "drawio" | "nuget" | "command" | "denizenscript" | "minecraft" | "rescript" | "rescript-interface" | "brainfuck" | "grain" | "lolcode" | "idris" | "pipeline" | "opa" | "windicss" | "lilypond" | "vlang" | "chess" | "tsconfig" | "tauri" | "jsconfig" | "horusec" | "pdm" | "coala" | "dinophp" | "siyuan" | "ndst" | "tobi" | "steadybit" | "capnp" | "openapi" | "swagger" | "antlr" | "stylable" | "pinejs" | "taskfile" | "gamemaker" | "tldraw" | "roblox" | "spwn" | "templ" | "chrome" | "stan" | "lottie" | "apps-script" | "pkl" | "playwright" | "go-mod" | "gemfile" | "rubocop" | "rspec" | "semgrep" | "vue-config" | "nuxt" | "vercel" | "verdaccio" | "payload" | "remix" | "posthtml" | "webpack" | "ionic" | "gulp" | "nodejs" | "npm" | "turborepo" | "babel" | "blitz" | "contributing" | "readme" | "changelog" | "architecture" | "credits" | "authors" | "favicon" | "karma" | "bithound" | "svgo" | "appveyor" | "travis" | "codecov" | "sonarcloud" | "protractor" | "fusebox" | "heroku" | "editorconfig" | "bower" | "eslint" | "conduct" | "watchman" | "aurelia" | "mocha" | "firebase" | "rollup" | "hardhat" | "stylelint" | "code-climate" | "prettier" | "renovate" | "apollo" | "nodemon" | "webhint" | "browserlist" | "snyk" | "sequelize" | "gatsby" | "circleci" | "cloudfoundry" | "grunt" | "jest" | "fastlane" | "helm" | "wallaby" | "stencil" | "semantic-release" | "bitbucket" | "istanbul" | "tailwindcss" | "buildkite" | "netlify" | "nest" | "moon" | "percy" | "gitpod" | "gcp" | "husky" | "tilt" | "capacitor" | "adonis" | "commitlint" | "buck" | "nx" | "dune" | "roadmap" | "stryker" | "modernizr" | "slug" | "stitches" | "replit" | "snowpack" | "quasar" | "dependabot" | "vite" | "vitest" | "lerna" | "textlint" | "sentry" | "phpunit" | "php-cs-fixer" | "robots" | "maven" | "serverless" | "supabase" | "ember" | "poetry" | "parcel" | "astyle" | "lighthouse" | "svgr" | "rome" | "cypress" | "plop" | "tobimake" | "pnpm" | "gridsome" | "caddy" | "bun" | "nano-staged" | "knip" | "craco" | "mercurial" | "deno" | "plastic" | "unocss" | "ifanr-cloud" | "concourse" | "syncpack" | "werf" | "biome" | "esbuild" | "puppeteer" | "kubernetes" | "folder-open" | "folder-robot" | "folder-src" | "folder-dist" | "folder-css" | "folder-sass" | "folder-television" | "folder-desktop" | "folder-console" | "folder-images" | "folder-scripts" | "folder-node" | "folder-javascript" | "folder-json" | "folder-font" | "folder-bower" | "folder-test" | "folder-jinja" | "folder-markdown" | "folder-pdm" | "folder-php" | "folder-phpmailer" | "folder-sublime" | "folder-docs" | "folder-git" | "folder-github" | "folder-gitlab" | "folder-vscode" | "folder-views" | "folder-vue" | "folder-vuepress" | "folder-expo" | "folder-config" | "folder-i18n" | "folder-components" | "folder-verdaccio" | "folder-aurelia" | "folder-resource" | "folder-lib" | "folder-theme" | "folder-webpack" | "folder-global" | "folder-public" | "folder-include" | "folder-docker" | "folder-database" | "folder-log" | "folder-target" | "folder-temp" | "folder-aws" | "folder-audio" | "folder-video" | "folder-kubernetes" | "folder-import" | "folder-export" | "folder-wakatime" | "folder-circleci" | "folder-wordpress" | "folder-gradle" | "folder-coverage" | "folder-class" | "folder-other" | "folder-lua" | "folder-typescript" | "folder-graphql" | "folder-routes" | "folder-ci" | "folder-benchmark" | "folder-messages" | "folder-less" | "folder-gulp" | "folder-python" | "folder-mojo" | "folder-moon" | "folder-debug" | "folder-fastlane" | "folder-plugin" | "folder-middleware" | "folder-controller" | "folder-ansible" | "folder-server" | "folder-client" | "folder-tasks" | "folder-android" | "folder-ios" | "folder-upload" | "folder-download" | "folder-tools" | "folder-helper" | "folder-serverless" | "folder-api" | "folder-app" | "folder-apollo" | "folder-archive" | "folder-batch" | "folder-buildkite" | "folder-cluster" | "folder-command" | "folder-constant" | "folder-container" | "folder-content" | "folder-context" | "folder-core" | "folder-delta" | "folder-dump" | "folder-examples" | "folder-environment" | "folder-functions" | "folder-generator" | "folder-hook" | "folder-job" | "folder-keys" | "folder-layout" | "folder-mail" | "folder-mappings" | "folder-meta" | "folder-changesets" | "folder-packages" | "folder-shared" | "folder-shader" | "folder-stack" | "folder-template" | "folder-utils" | "folder-supabase" | "folder-private" | "folder-linux" | "folder-windows" | "folder-macos" | "folder-error" | "folder-event" | "folder-secure" | "folder-custom" | "folder-mock" | "folder-syntax" | "folder-vm" | "folder-stylus" | "folder-flow" | "folder-rules" | "folder-review" | "folder-animation" | "folder-guard" | "folder-prisma" | "folder-pipe" | "folder-svg" | "folder-terraform" | "folder-mobile" | "folder-stencil" | "folder-firebase" | "folder-svelte" | "folder-update" | "folder-intellij" | "folder-azure-pipelines" | "folder-mjml" | "folder-admin" | "folder-scala" | "folder-connection" | "folder-quasar" | "folder-next" | "folder-cobol" | "folder-yarn" | "folder-husky" | "folder-storybook" | "folder-base" | "folder-cart" | "folder-home" | "folder-project" | "folder-interface" | "folder-netlify" | "folder-enum" | "folder-contract" | "folder-queue" | "folder-vercel" | "folder-cypress" | "folder-decorators" | "folder-java" | "folder-resolver" | "folder-angular" | "folder-unity" | "folder-pdf" | "folder-proto" | "folder-plastic" | "folder-gamemaker" | "folder-mercurial" | "folder-godot" | "folder-lottie" | "folder-taskfile" | "folder-cloudflare" | "folder-seeders" | "folder-robot-open" | "folder-src-open" | "folder-dist-open" | "folder-css-open" | "folder-sass-open" | "folder-television-open" | "folder-desktop-open" | "folder-console-open" | "folder-images-open" | "folder-scripts-open" | "folder-node-open" | "folder-javascript-open" | "folder-json-open" | "folder-font-open" | "folder-bower-open" | "folder-test-open" | "folder-jinja-open" | "folder-markdown-open" | "folder-pdm-open" | "folder-php-open" | "folder-phpmailer-open" | "folder-sublime-open" | "folder-docs-open" | "folder-git-open" | "folder-github-open" | "folder-gitlab-open" | "folder-vscode-open" | "folder-views-open" | "folder-vue-open" | "folder-vuepress-open" | "folder-expo-open" | "folder-config-open" | "folder-i18n-open" | "folder-components-open" | "folder-verdaccio-open" | "folder-aurelia-open" | "folder-resource-open" | "folder-lib-open" | "folder-theme-open" | "folder-webpack-open" | "folder-global-open" | "folder-public-open" | "folder-include-open" | "folder-docker-open" | "folder-database-open" | "folder-log-open" | "folder-target-open" | "folder-temp-open" | "folder-aws-open" | "folder-audio-open" | "folder-video-open" | "folder-kubernetes-open" | "folder-import-open" | "folder-export-open" | "folder-wakatime-open" | "folder-circleci-open" | "folder-wordpress-open" | "folder-gradle-open" | "folder-coverage-open" | "folder-class-open" | "folder-other-open" | "folder-lua-open" | "folder-typescript-open" | "folder-graphql-open" | "folder-routes-open" | "folder-ci-open" | "folder-benchmark-open" | "folder-messages-open" | "folder-less-open" | "folder-gulp-open" | "folder-python-open" | "folder-mojo-open" | "folder-moon-open" | "folder-debug-open" | "folder-fastlane-open" | "folder-plugin-open" | "folder-middleware-open" | "folder-controller-open" | "folder-ansible-open" | "folder-server-open" | "folder-client-open" | "folder-tasks-open" | "folder-android-open" | "folder-ios-open" | "folder-upload-open" | "folder-download-open" | "folder-tools-open" | "folder-helper-open" | "folder-serverless-open" | "folder-api-open" | "folder-app-open" | "folder-apollo-open" | "folder-archive-open" | "folder-batch-open" | "folder-buildkite-open" | "folder-cluster-open" | "folder-command-open" | "folder-constant-open" | "folder-container-open" | "folder-content-open" | "folder-context-open" | "folder-core-open" | "folder-delta-open" | "folder-dump-open" | "folder-examples-open" | "folder-environment-open" | "folder-functions-open" | "folder-generator-open" | "folder-hook-open" | "folder-job-open" | "folder-keys-open" | "folder-layout-open" | "folder-mail-open" | "folder-mappings-open" | "folder-meta-open" | "folder-changesets-open" | "folder-packages-open" | "folder-shared-open" | "folder-shader-open" | "folder-stack-open" | "folder-template-open" | "folder-utils-open" | "folder-supabase-open" | "folder-private-open" | "folder-linux-open" | "folder-windows-open" | "folder-macos-open" | "folder-error-open" | "folder-event-open" | "folder-secure-open" | "folder-custom-open" | "folder-mock-open" | "folder-syntax-open" | "folder-vm-open" | "folder-stylus-open" | "folder-flow-open" | "folder-rules-open" | "folder-review-open" | "folder-animation-open" | "folder-guard-open" | "folder-prisma-open" | "folder-pipe-open" | "folder-svg-open" | "folder-terraform-open" | "folder-mobile-open" | "folder-stencil-open" | "folder-firebase-open" | "folder-svelte-open" | "folder-update-open" | "folder-intellij-open" | "folder-azure-pipelines-open" | "folder-mjml-open" | "folder-admin-open" | "folder-scala-open" | "folder-connection-open" | "folder-quasar-open" | "folder-next-open" | "folder-cobol-open" | "folder-yarn-open" | "folder-husky-open" | "folder-storybook-open" | "folder-base-open" | "folder-cart-open" | "folder-home-open" | "folder-project-open" | "folder-interface-open" | "folder-netlify-open" | "folder-enum-open" | "folder-contract-open" | "folder-queue-open" | "folder-vercel-open" | "folder-cypress-open" | "folder-decorators-open" | "folder-java-open" | "folder-resolver-open" | "folder-angular-open" | "folder-unity-open" | "folder-pdf-open" | "folder-proto-open" | "folder-plastic-open" | "folder-gamemaker-open" | "folder-mercurial-open" | "folder-godot-open" | "folder-lottie-open" | "folder-taskfile-open" | "folder-cloudflare-open" | "folder-seeders-open" | "salesforce" | "blink_light" | "jinja_light" | "huff_light" | "crystal_light" | "drone_light" | "wakatime_light" | "hcl_light" | "uml_light" | "chess_light" | "openapi_light" | "tldraw_light" | "rubocop_light" | "vercel_light" | "payload_light" | "next_light" | "remix_light" | "turborepo_light" | "auto_light" | "stylelint_light" | "code-climate_light" | "browserlist_light" | "circleci_light" | "semantic-release_light" | "netlify_light" | "stitches_light" | "snowpack_light" | "pnpm_light" | "bun_light" | "nano-staged_light" | "deno_light" | "folder-jinja_light" | "folder-intellij_light" | "folder-jinja-open_light" | "folder-intellij-open_light" | "folder-root" | "folder-root-open" | "php_elephant" | "php_elephant_pink" | "go_gopher" | "nodejs_alt" | "silverstripe";
|
|
7
|
+
export declare function getIconUrlByName(iconName: IconDefinitionsKey, iconsUrl: string, open?: boolean): string;
|
|
8
|
+
export declare function getIconUrlForFilePath(path: string, iconsUrl: string): string;
|
|
9
|
+
export declare function getIconUrlForDirectoryPath(path: string, iconsUrl: string, open?: boolean): string;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import iconMap from "./icon-map.json";
|
|
2
|
+
function getFileExtension(fileName) {
|
|
3
|
+
return fileName.slice(Math.max(0, fileName.lastIndexOf('.') + 1));
|
|
4
|
+
}
|
|
5
|
+
function getFileSuffix(fileName) {
|
|
6
|
+
return fileName.slice(fileName.indexOf('.') + 1);
|
|
7
|
+
}
|
|
8
|
+
export function filenameFromPath(path) {
|
|
9
|
+
var _segments$at;
|
|
10
|
+
var segments = path.split('/');
|
|
11
|
+
return (_segments$at = segments.at(-1)) !== null && _segments$at !== void 0 ? _segments$at : path;
|
|
12
|
+
}
|
|
13
|
+
export function getIconNameForFileName(fileName) {
|
|
14
|
+
var _ref, _ref2, _ref3, _ref4, _ref5, _ref6, _iconMap$fileNames;
|
|
15
|
+
return (_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_ref6 = (_iconMap$fileNames = iconMap.fileNames[fileName]) !== null && _iconMap$fileNames !== void 0 ? _iconMap$fileNames : iconMap.fileNames[fileName.toLowerCase()]) !== null && _ref6 !== void 0 ? _ref6 : iconMap.fileExtensions[getFileSuffix(fileName)]) !== null && _ref5 !== void 0 ? _ref5 : iconMap.fileExtensions[getFileExtension(fileName)]) !== null && _ref4 !== void 0 ? _ref4 : fileName.endsWith('.html') ? 'html' : null) !== null && _ref3 !== void 0 ? _ref3 : fileName.endsWith('.ts') ? 'typescript' : null) !== null && _ref2 !== void 0 ? _ref2 : fileName.endsWith('.js') ? 'javascript' : null) !== null && _ref !== void 0 ? _ref : 'file';
|
|
16
|
+
}
|
|
17
|
+
export function getIconNameForDirectoryName(dirName) {
|
|
18
|
+
var _ref7, _iconMap$folderNames;
|
|
19
|
+
return (_ref7 = (_iconMap$folderNames = iconMap.folderNames[dirName]) !== null && _iconMap$folderNames !== void 0 ? _iconMap$folderNames : iconMap.folderNames[dirName.toLowerCase()]) !== null && _ref7 !== void 0 ? _ref7 : 'folder';
|
|
20
|
+
}
|
|
21
|
+
export function getIconForFilePath(path) {
|
|
22
|
+
var fileName = filenameFromPath(path);
|
|
23
|
+
return getIconNameForFileName(fileName);
|
|
24
|
+
}
|
|
25
|
+
export function getIconForDirectoryPath(path) {
|
|
26
|
+
var dirName = filenameFromPath(path);
|
|
27
|
+
return getIconNameForDirectoryName(dirName);
|
|
28
|
+
}
|
|
29
|
+
export function getIconUrlByName(iconName, iconsUrl, open) {
|
|
30
|
+
return "".concat(iconsUrl, "/").concat(iconName.toString()).concat(open ? '-open' : '', ".svg");
|
|
31
|
+
}
|
|
32
|
+
export function getIconUrlForFilePath(path, iconsUrl) {
|
|
33
|
+
var iconName = getIconForFilePath(path);
|
|
34
|
+
return getIconUrlByName(iconName, iconsUrl);
|
|
35
|
+
}
|
|
36
|
+
export function getIconUrlForDirectoryPath(path, iconsUrl, open) {
|
|
37
|
+
var iconName = getIconForDirectoryPath(path);
|
|
38
|
+
return getIconUrlByName(iconName, iconsUrl, open);
|
|
39
|
+
}
|
package/es/index.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export { default as EditableText, type EditableTextProps } from './EditableText'
|
|
|
29
29
|
export { default as EmojiPicker, type EmojiPickerProps } from './EmojiPicker';
|
|
30
30
|
export { default as EmptyCard, type EmptyCardProps } from './EmptyCard';
|
|
31
31
|
export { type FeatureItem, default as Features, type FeaturesProps } from './Features';
|
|
32
|
+
export { default as FileTypeIcon, type FileTypeIconProps } from './FileTypeIcon';
|
|
32
33
|
export { default as FluentEmoji, type FluentEmojiProps } from './FluentEmoji';
|
|
33
34
|
export { default as FontLoader, type FontLoaderProps } from './FontLoader';
|
|
34
35
|
export { default as Footer, type FooterProps } from './Footer';
|
|
@@ -59,6 +60,7 @@ export { default as LogoThree, type LogoThreeProps } from './LogoThree';
|
|
|
59
60
|
export { default as LogoSpline, type LogoSplineProps } from './LogoThree/LogoSpline';
|
|
60
61
|
export { default as Markdown, type MarkdownProps } from './Markdown';
|
|
61
62
|
export { Typography, type TypographyProps } from './Markdown/Typography';
|
|
63
|
+
export { default as MaterialFileTypeIcon, type MaterialFileTypeIconProps, } from './MaterialFileTypeIcon';
|
|
62
64
|
export { default as MessageInput, type MessageInputProps } from './MessageInput';
|
|
63
65
|
export { default as MessageModal, type MessageModalProps } from './MessageModal';
|
|
64
66
|
export { default as MobileNavBar, type MobileNavBarProps } from './MobileNavBar';
|
package/es/index.js
CHANGED
|
@@ -28,6 +28,7 @@ export { default as EditableText } from "./EditableText";
|
|
|
28
28
|
export { default as EmojiPicker } from "./EmojiPicker";
|
|
29
29
|
export { default as EmptyCard } from "./EmptyCard";
|
|
30
30
|
export { default as Features } from "./Features";
|
|
31
|
+
export { default as FileTypeIcon } from "./FileTypeIcon";
|
|
31
32
|
export { default as FluentEmoji } from "./FluentEmoji";
|
|
32
33
|
export { default as FontLoader } from "./FontLoader";
|
|
33
34
|
export { default as Footer } from "./Footer";
|
|
@@ -58,6 +59,7 @@ export { default as LogoThree } from "./LogoThree";
|
|
|
58
59
|
export { default as LogoSpline } from "./LogoThree/LogoSpline";
|
|
59
60
|
export { default as Markdown } from "./Markdown";
|
|
60
61
|
export { Typography } from "./Markdown/Typography";
|
|
62
|
+
export { default as MaterialFileTypeIcon } from "./MaterialFileTypeIcon";
|
|
61
63
|
export { default as MessageInput } from "./MessageInput";
|
|
62
64
|
export { default as MessageModal } from "./MessageModal";
|
|
63
65
|
export { default as MobileNavBar } from "./MobileNavBar";
|