Skip to content

Commit

Permalink
Add TypeScript definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
LoicMahieu committed Sep 14, 2018
1 parent f4811dd commit 5cb1dbc
Show file tree
Hide file tree
Showing 4 changed files with 140 additions and 1 deletion.
92 changes: 92 additions & 0 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
declare module "react-styled-flexboxgrid" {

import { StyledComponentClass } from "styled-components";

namespace ReactStyledFlexboxgrid {

interface ITheme {
/**
* rem
*/
gridSize?: number;
/**
* rem
*/
gutterWidth?: number;
/**
* rem
*/
outerMargin?: number;
mediaQuery?: string;
container?: {
/**
* rem
*/
sm?: number;
/**
* rem
*/
md?: number;
/**
* rem
*/
lg?: number;
};
breakpoints?: {
/**
* em
*/
xs?: number;
/**
* em
*/
sm?: number;
/**
* em
*/
md?: number;
/**
* em
*/
lg?: number;
};
}

interface IGridProps {
fluid?: boolean;
}

interface IRowProps {
reverse?: boolean;
start?: "xs" | "sm" | "md" | "lg";
center?: "xs" | "sm" | "md" | "lg";
end?: "xs" | "sm" | "md" | "lg";
top?: "xs" | "sm" | "md" | "lg";
middle?: "xs" | "sm" | "md" | "lg";
bottom?: "xs" | "sm" | "md" | "lg";
around?: "xs" | "sm" | "md" | "lg";
between?: "xs" | "sm" | "md" | "lg";
first?: "xs" | "sm" | "md" | "lg";
last?: "xs" | "sm" | "md" | "lg";
children?: React.ReactNode;
}

interface IColProps {
reverse?: boolean;
xs?: boolean | number;
sm?: boolean | number;
md?: boolean | number;
lg?: boolean | number;
xsOffset?: number;
smOffset?: number;
mdOffset?: number;
lgOffset?: number;
}

}

export type ITheme = ReactStyledFlexboxgrid.ITheme;
export const Grid: StyledComponentClass<ReactStyledFlexboxgrid.IGridProps, "div">;
export const Row: StyledComponentClass<ReactStyledFlexboxgrid.IRowProps, "div">;
export const Col: StyledComponentClass<ReactStyledFlexboxgrid.IColProps, "div">;
}
35 changes: 35 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
"start": "cross-env NODE_ENV=development webpack-dev-server --config demo/webpack.config.babel.js --hot",
"demo:build": "cross-env NODE_ENV=production webpack --config demo/webpack.config.babel.js",
"lint": "eslint 'src/**/*.js'",
"test": "npm run lint && npm run mocha && npm run karma",
"tslint": "tslint -c tslint.json '**.ts'",
"test": "npm run lint && npm run tslint && npm run mocha && npm run karma",
"karma": "cross-env NODE_ENV=test karma start",
"karma:watch": "cross-env NODE_ENV=test karma start --no-single-run",
"mocha": "cross-env NODE_ENV=test mocha --require @babel/register **/*.test.js",
Expand Down Expand Up @@ -87,6 +88,8 @@
"rollup-plugin-uglify": "^5.0.2",
"rollup-plugin-visualizer": "^0.9.0",
"styled-components": "^3.4.6",
"tslint": "^5.11.0",
"typescript": "^3.0.3",
"webpack": "^4.19.0",
"webpack-cli": "^3.1.0",
"webpack-dev-server": "^3.1.8",
Expand Down
9 changes: 9 additions & 0 deletions tslint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"defaultSeverity": "error",
"extends": [
"tslint:recommended"
],
"jsRules": {},
"rules": {},
"rulesDirectory": []
}

0 comments on commit 5cb1dbc

Please sign in to comment.