From df50021aac0947cb24d8cc53b6a8ecd26580c330 Mon Sep 17 00:00:00 2001 From: Jan Brecka Date: Mon, 27 Mar 2017 23:43:06 +0200 Subject: [PATCH] Add types for google-map-react --- .../google-map-react-tests.tsx | 6 ++ types/google-map-react/index.d.ts | 83 +++++++++++++++++++ types/google-map-react/tsconfig.json | 24 ++++++ types/google-map-react/tslint.json | 1 + 4 files changed, 114 insertions(+) create mode 100644 types/google-map-react/google-map-react-tests.tsx create mode 100644 types/google-map-react/index.d.ts create mode 100644 types/google-map-react/tsconfig.json create mode 100644 types/google-map-react/tslint.json diff --git a/types/google-map-react/google-map-react-tests.tsx b/types/google-map-react/google-map-react-tests.tsx new file mode 100644 index 0000000000..9cec9138e2 --- /dev/null +++ b/types/google-map-react/google-map-react-tests.tsx @@ -0,0 +1,6 @@ +import GoogleMapReact from 'google-map-react'; +import * as React from 'react'; + +const center = { lat: 0, lng: 0 }; + + diff --git a/types/google-map-react/index.d.ts b/types/google-map-react/index.d.ts new file mode 100644 index 0000000000..45ce0341a6 --- /dev/null +++ b/types/google-map-react/index.d.ts @@ -0,0 +1,83 @@ +// Type definitions for google-map-react 0.22 +// Project: https://github.com/istarkov/google-map-react +// Definitions by: Honza Brecka +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.1 + +import * as React from 'react'; + +export interface BootstrapURLKeys { + key: string; + language?: string; +} + +export interface Options { + styles?: any[]; + scrollwheel?: boolean; + panControl?: boolean; + mapTypeControl?: boolean, + minZoomOverride?: boolean; + minZoom?: number; + gestureHandling?: string; +} + +export interface Maps { + Animation: any; + ControlPosition: any; + MapTypeControlStyle: any; + MapTypeId: any; + NavigationControlStyle: any; + ScaleControlStyle: any; + StrokePosition: any; + SymbolPath: any; + ZoomControlStyle: any; + DirectionsStatus: any; + DirectionsTravelMode: any; + DirectionsUnitSystem: any; + DistanceMatrixStatus: any; + DistanceMatrixElementStatus: any; + ElevationStatus: any; + GeocoderLocationType: any; + GeocoderStatus: any; + KmlLayerStats: any; + MaxZoomStatus: any; + StreetViewStatus: any; + TransitMode: any; + TransitRoutePreference: any; + TravelMode: any; + UnitSystem: any; +} + +export interface Props { + bootstrapURLKeys?: BootstrapURLKeys; + defaultCenter?: [number, number] | { lat: number, lng: number }; + center?: [number, number] | { lat: number, lng: number }; + defaultZoom?: number; + zoom?: number; + hoverDistance?: number; + options?: Options | ((maps: Maps) => Options); + margin?: any[]; + debounced?: boolean; + layerTypes?: string[]; + onClick?: ({x, y, lat, lng, event}: { x: number, y: number, lat: number, lng: number, event: any }) => any; + onChange?: ({ center, zoom, bounds, marginBounds }: { center: [number, number], zoom: number, bounds: [number, number, number, number], marginBounds: [number, number, number, number] }) => any; + resetBoundsOnResize?: boolean; + onChildClick?: (hoverKey: any, childProps: any) => void; + onChildMouseEnter?: (hoverKey: any, childProps: any) => void; + onChildMouseLeave?: (hoverKey: any, childProps: any) => void; + onZoomAnimationStart?: (args: any) => void; + onZoomAnimationEnd?: (args: any) => void; + onMapTypeIdChange?: (args: any) => void; + distanceToMouse?: (pt: {x: number, y: number}, mousePos: {x: number, y: number}) => void; + googleMapLoader?: (bootstrapURLKeys: any) => void; + onGoogleApiLoaded?: ({map, maps}: { map: any, maps: any }) => void; + yesIWantToUseGoogleMapApiInternals?: boolean; +} + +export default class GoogleMapReact extends React.Component {} + +export interface ChildComponentProps { + lat: number; + lng: number; + $hover?: boolean; +} diff --git a/types/google-map-react/tsconfig.json b/types/google-map-react/tsconfig.json new file mode 100644 index 0000000000..2e2a37aaf6 --- /dev/null +++ b/types/google-map-react/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "jsx": "react", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "google-map-react-tests.tsx" + ] +} diff --git a/types/google-map-react/tslint.json b/types/google-map-react/tslint.json new file mode 100644 index 0000000000..377cc837d4 --- /dev/null +++ b/types/google-map-react/tslint.json @@ -0,0 +1 @@ +{ "extends": "../tslint.json" }