Merge pull request #3 from DefinitelyTyped/master

Merge upstream
This commit is contained in:
Chigozirim C
2017-07-18 01:03:08 -06:00
committed by GitHub
4 changed files with 82 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
import styles from './main.sass';
import * as classNames from 'classnames';
class App {
private theme: string;
constructor(theme: string) {
this.theme = theme;
}
render() {
// as a style tag (using webpack's css-loader)
const tpl = `<div style="${styles.toString()}"></div>`;
// or as scoped unique classes, also latest typescript versions allow prop access using dot like styles.darkUI instead of styles['darkUI']
return `
<div class="${classNames((this.theme === 'dark') ?
styles.darkUI :
styles.lightUI.toString())}">
</div>
`;
}
}
+38
View File
@@ -0,0 +1,38 @@
// Type definitions for css-modules 1.0
// Project: https://github.com/css-modules/css-modules
// Definitions by: NeekSandhu <https://github.com/NeekSandhu>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
interface Stringifyable {
/**
* Stringifies the imported stylesheet for use with inline style tags
*/
toString(): string;
}
interface SelectorNode {
/**
* Returns the specific selector from imported stylesheet as string
*/
[key: string]: string;
}
declare module '*.css' {
const styles: SelectorNode & Stringifyable;
export default styles;
}
declare module '*.scss' {
const styles: SelectorNode & Stringifyable;
export default styles;
}
declare module '*.sass' {
const styles: SelectorNode & Stringifyable;
export default styles;
}
declare module '*.less' {
const styles: SelectorNode & Stringifyable;
export default styles;
}
+22
View File
@@ -0,0 +1,22 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": false,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"css-modules-tests.ts"
]
}
+1
View File
@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }