mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
* feat: Add `prefixfree` * chore(prefixfree): Require TypeScript 2.8 * fix(prefixfree): Enable `strictNullChecks` Co-Authored-By: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
73 lines
1.9 KiB
TypeScript
73 lines
1.9 KiB
TypeScript
// Type definitions for prefixfree 1.0
|
|
// Project: https://github.com/LeaVerou/prefixfree
|
|
// Definitions by: ExE Boss <https://github.com/ExE-Boss>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
// TypeScript Version: 2.8
|
|
|
|
declare namespace StyleFix {
|
|
type StyleFixer = (css: string, raw: boolean, element: Element) => string;
|
|
}
|
|
|
|
interface StyleFix {
|
|
fix: StyleFix.StyleFixer;
|
|
fixers?: StyleFix.StyleFixer[];
|
|
optIn: boolean;
|
|
camelCase(str: string): string;
|
|
deCamelCase(str: string): string;
|
|
link(link: HTMLLinkElement): void;
|
|
process(): void;
|
|
register(fixer: StyleFix.StyleFixer, index?: number): void;
|
|
styleAttribute(element: ElementCSSInlineStyle): void;
|
|
styleElement(style: HTMLStyleElement): void;
|
|
}
|
|
|
|
declare const StyleFix: StyleFix;
|
|
|
|
// PrefixFree
|
|
declare namespace PrefixFree {
|
|
/** The known prefixes used for CSS properties. */
|
|
type KnownPrefixCSS = "-moz-" | "-ms-" | "-o-" | "-webkit-";
|
|
|
|
/** The known prefixes used for CSS properties in `CSSStyleDeclaration`. */
|
|
type KnownPrefixJS = "Moz" | "Ms" | "O" | "Webkit";
|
|
}
|
|
|
|
interface PrefixFree {
|
|
/**
|
|
* The prefix used for CSS properties.
|
|
*
|
|
* Eg.: `-moz-`, `-ms-`, `-o-` or `-webkit-`.
|
|
*/
|
|
prefix: PrefixFree.KnownPrefixCSS | string;
|
|
|
|
/**
|
|
* The prefix used for CSS properties in `CSSStyleDeclaration`.
|
|
*
|
|
* Eg.: `Moz`, `Ms`, `O` or `Webkit`.
|
|
*/
|
|
Prefix: PrefixFree.KnownPrefixJS | string;
|
|
|
|
atrules: string[];
|
|
functions: string[];
|
|
keywords: string[];
|
|
properties: string[];
|
|
selectorMap: {
|
|
[selector: string]: string;
|
|
};
|
|
selectors: string[];
|
|
valueProperties: string[];
|
|
|
|
prefixCSS: StyleFix.StyleFixer;
|
|
prefixProperty(property: string, camelCase?: boolean): string;
|
|
prefixSelector(selector: string): string;
|
|
property(property: string): string;
|
|
value(value: string, property?: string): string;
|
|
}
|
|
|
|
declare const PrefixFree: PrefixFree;
|
|
|
|
interface Window {
|
|
StyleFix: StyleFix;
|
|
PrefixFree: PrefixFree;
|
|
}
|