65 lines
1.8 KiB
Plaintext
65 lines
1.8 KiB
Plaintext
|
import * as _unocss_core from '@unocss/core';
|
||
|
|
||
|
type WebFontsProviders = 'google' | 'bunny' | 'fontshare' | 'none' | Provider;
|
||
|
interface WebFontMeta {
|
||
|
name: string;
|
||
|
weights?: (string | number)[];
|
||
|
italic?: boolean;
|
||
|
/**
|
||
|
* Override the provider
|
||
|
* @default <matches root config>
|
||
|
*/
|
||
|
provider?: WebFontsProviders;
|
||
|
}
|
||
|
interface ResolvedWebFontMeta extends Omit<WebFontMeta, 'provider'> {
|
||
|
provider: Provider;
|
||
|
}
|
||
|
interface WebFontsOptions {
|
||
|
/**
|
||
|
* Provider service of the web fonts
|
||
|
* @default 'google'
|
||
|
*/
|
||
|
provider?: WebFontsProviders;
|
||
|
/**
|
||
|
* The fonts
|
||
|
*/
|
||
|
fonts?: Record<string, WebFontMeta | string | (WebFontMeta | string)[]>;
|
||
|
/**
|
||
|
* Extend fonts to the theme object
|
||
|
* @default true
|
||
|
*/
|
||
|
extendTheme?: boolean;
|
||
|
/**
|
||
|
* Key for the theme object
|
||
|
*
|
||
|
* @default 'fontFamily'
|
||
|
*/
|
||
|
themeKey?: string;
|
||
|
/**
|
||
|
* Inline CSS @import()
|
||
|
*
|
||
|
* @default true
|
||
|
*/
|
||
|
inlineImports?: boolean;
|
||
|
/**
|
||
|
* Custom fetch function
|
||
|
*
|
||
|
* @default undefined
|
||
|
*/
|
||
|
customFetch?: (url: string) => Promise<any>;
|
||
|
}
|
||
|
interface Provider {
|
||
|
name: WebFontsProviders;
|
||
|
getPreflight?: (fonts: WebFontMeta[]) => string;
|
||
|
getImportUrl?: (fonts: WebFontMeta[]) => string | undefined;
|
||
|
getFontName?: (font: WebFontMeta) => string;
|
||
|
}
|
||
|
|
||
|
declare function normalizedFontMeta(meta: WebFontMeta | string, defaultProvider: WebFontsProviders): ResolvedWebFontMeta;
|
||
|
|
||
|
declare function createGoogleCompatibleProvider(name: WebFontsProviders, host: string): Provider;
|
||
|
|
||
|
declare const presetWebFonts: _unocss_core.PresetFactory<any, WebFontsOptions>;
|
||
|
|
||
|
export { type Provider, type ResolvedWebFontMeta, type WebFontMeta, type WebFontsOptions, type WebFontsProviders, createGoogleCompatibleProvider as createGoogleProvider, presetWebFonts as default, normalizedFontMeta };
|