1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/types/font-face.d.ts
Sebastian Malton f3f9f08c0a
lint whole repo (#1600)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-12-02 17:22:10 +08:00

45 lines
1.3 KiB
TypeScript

// https://www.w3.org/TR/css-font-loading/
// https://developer.mozilla.org/en-US/docs/Web/API/FontFace
export {};
declare global {
const FontFace: FontFace;
interface Document {
fonts: FontFaceSet
}
type CSSOMString = string;
type FontFaceLoadStatus = "unloaded" | "loading" | "loaded" | "error";
type FontFaceSetStatus = "loading" | "loaded";
class FontFace implements FontFaceDescriptors {
constructor(family: string, source: string | ArrayBuffer, descriptors?: FontFaceDescriptors);
readonly status: FontFaceLoadStatus;
readonly loaded: Promise<FontFace>;
variationSettings: CSSOMString;
display: CSSOMString;
load(): Promise<FontFace>;
}
interface FontFaceDescriptors {
family: CSSOMString;
style: CSSOMString;
weight: CSSOMString;
stretch: CSSOMString;
unicodeRange: CSSOMString;
variant: CSSOMString;
featureSettings: CSSOMString;
}
interface FontFaceSet extends Iterable<FontFace> {
readonly status: FontFaceSetStatus;
readonly ready: Promise<FontFaceSet>;
add(font: FontFace): void;
check(font: string, text?: string): Boolean; // might not work, throws exception
load(font: string, text?: string): Promise<FontFace[]>
delete(font: FontFace): void;
clear(): void;
}
}