diff --git a/jss/jss-tests.ts b/jss/jss-tests.ts new file mode 100644 index 0000000000..e5bde70be3 --- /dev/null +++ b/jss/jss-tests.ts @@ -0,0 +1,16 @@ +/// + +jss.set('.demo', { + 'font-size': '15px', + 'color': 'red' +}); + +jss.get('.demo'); + +jss.get(); + +jss.getAll('.demo'); + +jss.remove('.demo'); + +jss.remove(); diff --git a/jss/jss.d.ts b/jss/jss.d.ts new file mode 100644 index 0000000000..61938cc020 --- /dev/null +++ b/jss/jss.d.ts @@ -0,0 +1,50 @@ +// Type definitions for jss v0.6 +// Project: https://github.com/Box9/jss +// Definitions by: Valentin Robert +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +interface Properties { + [name: string]: string; +} + +interface Selectors { + [selector: string]: Properties; +} + +interface JSS { + /** + * Retrieve all rules added via JSS, organized by selectors + */ + get(): Selectors; + + /** + * Retrieve rules added via JSS for a given selector + * @param s CSS selector + */ + get(s: string): Properties; + + /** + * Retrieve all rules specified for a given selector (not necessarily added via JSS) + * @param s CSS selector + */ + getAll(s: string): Properties; + + /** + * Remove all rules added via JSS + */ + remove(): void; + + /** + * Remove all rules added via JSS for the given selector + */ + remove(s: string): void; + + /** + * Add or extend an existing rule + * @param s CSS selector + * @param p CSS properties + */ + set(s: string, p: Properties): void; +} + +declare var jss: JSS;