@purge-icons/core
Version:
It's now recommended to use [UnoCSS Icons](https://github.com/unocss/unocss/tree/main/packages/preset-icons), [unplugin-icons](https://github.com/antfu/unplugin-icons) or [Iconify Icon Components](https://docs.iconify.design/icon-components/components/) i
42 lines (36 loc) • 3.86 kB
TypeScript
import { IconifyJSON } from '@iconify/types';
import { IconifyJSON as IconifyJSON$1 } from '@iconify/iconify';
type CollectionId = 'material-symbols' | 'material-symbols-light' | 'ic' | 'mdi' | 'ph' | 'solar' | 'tabler' | 'mingcute' | 'ri' | 'bi' | 'carbon' | 'iconamoon' | 'iconoir' | 'ion' | 'lucide' | 'uil' | 'tdesign' | 'teenyicons' | 'clarity' | 'bx' | 'bxs' | 'majesticons' | 'ant-design' | 'gg' | 'octicon' | 'memory' | 'cil' | 'mynaui' | 'basil' | 'pixelarticons' | 'akar-icons' | 'ci' | 'system-uicons' | 'typcn' | 'radix-icons' | 'zondicons' | 'ep' | 'circum' | 'mdi-light' | 'fe' | 'eos-icons' | 'charm' | 'prime' | 'humbleicons' | 'uiw' | 'uim' | 'uit' | 'uis' | 'maki' | 'gridicons' | 'mi' | 'quill' | 'gala' | 'lets-icons' | 'fluent' | 'icon-park-outline' | 'icon-park-solid' | 'icon-park-twotone' | 'icon-park' | 'vscode-icons' | 'jam' | 'heroicons' | 'codicon' | 'pajamas' | 'pepicons-pop' | 'pepicons-print' | 'pepicons-pencil' | 'bytesize' | 'ei' | 'streamline' | 'guidance' | 'fa6-solid' | 'fa6-regular' | 'ooui' | 'nimbus' | 'formkit' | 'line-md' | 'meteocons' | 'svg-spinners' | 'openmoji' | 'twemoji' | 'noto' | 'fluent-emoji' | 'fluent-emoji-flat' | 'fluent-emoji-high-contrast' | 'noto-v1' | 'emojione' | 'emojione-monotone' | 'emojione-v1' | 'fxemoji' | 'streamline-emojis' | 'bxl' | 'logos' | 'simple-icons' | 'cib' | 'fa6-brands' | 'nonicons' | 'arcticons' | 'file-icons' | 'devicon' | 'devicon-plain' | 'skill-icons' | 'brandico' | 'entypo-social' | 'cryptocurrency' | 'cryptocurrency-color' | 'flag' | 'circle-flags' | 'flagpack' | 'cif' | 'gis' | 'map' | 'geo' | 'game-icons' | 'fad' | 'academicons' | 'wi' | 'healthicons' | 'medical-icon' | 'covid' | 'la' | 'eva' | 'dashicons' | 'flat-color-icons' | 'entypo' | 'foundation' | 'raphael' | 'icons8' | 'iwwa' | 'heroicons-outline' | 'heroicons-solid' | 'fa-solid' | 'fa-regular' | 'fa-brands' | 'fa' | 'fluent-mdl2' | 'fontisto' | 'icomoon-free' | 'subway' | 'oi' | 'wpf' | 'simple-line-icons' | 'et' | 'el' | 'vaadin' | 'grommet-icons' | 'whh' | 'si-glyph' | 'zmdi' | 'ls' | 'bpmn' | 'flat-ui' | 'vs' | 'topcoat' | 'il' | 'websymbol' | 'fontelico' | 'ps' | 'feather' | 'mono-icons' | 'pepicons';
type ExtractorResult = string[];
type ExtractorFunction<T = string> = (content: T) => ExtractorResult;
interface RawContent {
extension: string;
raw: string;
}
interface Extractor {
extensions: string[];
extractor: ExtractorFunction;
}
interface PurgeIconsOptions {
content?: (string | RawContent)[];
included?: string[];
includedCollections?: CollectionId[];
defaultExtractor?: Extractor;
extractors?: Extractor[];
iconSource?: IconSource;
remoteDataAPI?: string;
iconifyImportName?: string;
format?: OutputFormat;
}
type IconSource = 'local' | 'remote' | 'auto';
type OutputFormat = 'mjs' | 'cjs' | 'ts' | 'json' | 'js';
type CollectionCache = Partial<Record<CollectionId, IconifyJSON>>;
declare function PurgeIcons(options?: PurgeIconsOptions): Promise<string>;
declare const DefaultExtractor: Extractor;
declare function Extract(options?: PurgeIconsOptions): Promise<string[]>;
declare function VerifyCollection(name: string): name is CollectionId;
declare function ParseIconNames(icons: string[]): Partial<Record<CollectionId, string[]>>;
declare function GetIconsData(icons: string[], options?: PurgeIconsOptions): Promise<IconifyJSON$1[]>;
declare function CodeGen(icons: string[], options?: PurgeIconsOptions): Promise<string>;
declare function fetchCollection(name: CollectionId, source?: IconSource, remoteDataAPI?: string, cache?: CollectionCache): Promise<IconifyJSON>;
export { CodeGen, CollectionCache, DefaultExtractor, Extract, Extractor, ExtractorFunction, ExtractorResult, GetIconsData, IconSource, OutputFormat, ParseIconNames, PurgeIcons, PurgeIconsOptions, RawContent, VerifyCollection, fetchCollection };