@react-symbols/icons
Version:
Symbols icons by Miguel Solorio for React
90 lines (89 loc) • 3.19 kB
text/typescript
import * as react from "react";
import { FC, JSX, SVGProps } from "react";
//#region src/utils/extensions/types.d.ts
interface ExtensionType {
[extension: string]: FC<SVGProps<SVGSVGElement>>;
}
//#endregion
//#region src/utils/index.d.ts
interface GetIconForFileOptions extends SVGProps<SVGSVGElement> {
fileName: string;
autoAssign?: boolean | undefined;
editFileNameData?: ExtensionType | undefined;
editFileExtensionData?: ExtensionType | undefined;
}
interface GetIconForFolderOptions extends SVGProps<SVGSVGElement> {
folderName: string;
editFolderNameData?: ExtensionType | undefined;
}
/**
* Default icon for unknown files.
* @constant
*/
declare const DefaultFileIcon: react.FC<SVGProps<SVGSVGElement>>;
/**
* Default icon for unknown folders.
* @constant
*/
declare const DefaultFolderIcon: react.FC<SVGProps<SVGSVGElement>>;
/**
* Default icon for opened folders.
* @constant
*/
declare const DefaultFolderOpenedIcon: react.FC<SVGProps<SVGSVGElement>>;
/**
* Gets the icon for a file based on its extension.
* @param fileName File name (e.g., "example.ts", "example.css").
* @param autoAssign Auto-assign icons based on file name (e.g., "vite.config.js" -> Vite icon).
* @param editFileNameData Optional additional file name-to-icon mappings (activate `autoAssign` first).
* @param editFileExtensionData Optional additional extension-to-icon mappings.
* @param props Optional SVG properties for the icon.
* @returns JSX element of the corresponding icon.
*/
declare const getIconForFile: ({
fileName,
autoAssign,
editFileNameData,
editFileExtensionData,
...props
}: GetIconForFileOptions) => JSX.Element;
/**
* React component to render a file icon based on its extension.
* @param fileName File name (e.g., "example.ts").
* @param autoAssign Auto-assign icons based on file name (e.g., "vite.config.js" -> Vite icon).
* @param editFileNameData Optional additional file name-to-icon mappings (activate `autoAssign` first).
* @param editFileExtensionData Optional additional extension-to-icon mappings.
* @param props Optional SVG properties for the icon.
* @returns JSX element of the corresponding icon.
*/
declare const FileIcon: ({
fileName,
autoAssign,
editFileNameData,
...props
}: GetIconForFileOptions) => JSX.Element;
/**
* Gets the icon for a folder based on its name.
* @param folderName Folder name.
* @param props Optional SVG properties for the icon.
* @returns JSX element of the corresponding icon.
*/
declare const getIconForFolder: ({
folderName,
editFolderNameData,
...props
}: GetIconForFolderOptions) => JSX.Element;
/**
* React component to render a folder icon based on its name.
* @param folderName Folder name.
* @param editFolderNameData Optional additional folder name-to-icon mappings.
* @param props Optional SVG properties for the icon.
* @returns JSX element of the corresponding icon.
*/
declare const FolderIcon: ({
folderName,
editFolderNameData,
...props
}: GetIconForFolderOptions) => JSX.Element;
//#endregion
export { DefaultFileIcon, DefaultFolderIcon, DefaultFolderOpenedIcon, type ExtensionType, FileIcon, FolderIcon, getIconForFile, getIconForFolder };