Skip to content

Commit

Permalink
feat: Add basic type definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
franky47 committed Mar 8, 2019
1 parent c5ede50 commit 588807e
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"main": "dist/styled-media-query.common.js",
"module": "dist/styled-media-query.es.js",
"jsnext:main": "dist/styled-media-query.es.js",
"types": "./src/index.d.ts",
"repository": "[email protected]:morajabi/styled-media-query.git",
"keywords": [
"styled-components",
Expand Down
40 changes: 40 additions & 0 deletions src/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Type definitions for styled-media-query 2.0.2

type GeneratorFunction<Theme> = <P>(
strings: TemplateStringsArray,
...interpolations: (any)[]
) => any

// --

export interface MediaGenerator<Breakpoints, Theme> {
lessThan: (breakpoint: keyof Breakpoints) => GeneratorFunction<Theme>
greaterThan: (breakpoint: keyof Breakpoints) => GeneratorFunction<Theme>
between: (
fist: keyof Breakpoints,
second: keyof Breakpoints
) => GeneratorFunction<Theme>
}

// --

export interface DefaultBreakpoints {
huge: string
large: string
medium: string
small: string
}

export const defaultBreakpoints: DefaultBreakpoints

// --

export function generateMedia<Breakpoints = DefaultBreakpoints, Theme = any>(
breakpoints?: Breakpoints
): MediaGenerator<Breakpoints, Theme>

// --

declare const media: MediaGenerator<DefaultBreakpoints, any>

export default media

0 comments on commit 588807e

Please sign in to comment.