diff --git a/types/react-places-autocomplete/index.d.ts b/types/react-places-autocomplete/index.d.ts new file mode 100644 index 0000000000..73a8e7ae55 --- /dev/null +++ b/types/react-places-autocomplete/index.d.ts @@ -0,0 +1,60 @@ +// Type definitions for react-places-autocomplete 6.1 +// Project: https://github.com/kenny-hibino/react-places-autocomplete/ +// Definitions by: Guilherme Hübner +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.6 +// +/// + +import * as React from "react"; + +export interface formattedSuggestionType { + mainText: string; + secundaryText: string; +} + +export interface PropTypes { + inputProps: { + value: string; + onChange: (value: string) => void; + type?: string; + name?: string; + placeholder?: string; + onBlur?: (event: React.FocusEvent) => void; + }; + onError?: (status: string, clearSuggestion: () => void) => void; + onSelect?: (address: string, placeID: string) => void; + renderSuggestion?: (suggestion: string, formattedSuggestion: formattedSuggestionType) => React.ReactNode; + classNames?: { + root?: string; + input?: string; + autocompleteContainer?: string; + autocompleteItem?: string; + autocompleteItemActive?: string; + }; + styles?: { + root?: React.CSSProperties; + input?: React.CSSProperties; + autocompleteContainer?: React.CSSProperties; + autocompleteItem?: React.CSSProperties; + autocompleteItemActive?: React.CSSProperties; + }; + options?: { + bounds?: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral; + componentRestrictions?: google.maps.GeocoderComponentRestrictions; + location?: google.maps.LatLng | google.maps.LatLngLiteral; + offset?: number | string; + radius?: number | string; + types?: string[]; + }; + + debounce?: number; + highlightFirstSuggestion?: boolean; + renderFooter?: () => React.ReactNode; + shouldFetchSuggestions?: (value: string) => boolean; +} + +export function geocodeByAddress(address: string, callback: (results: google.maps.GeocoderResult[], status: google.maps.GeocoderStatus) => void): void; +export function geocodeByPlaceId(placeId: string, callback: (results: google.maps.GeocoderResult[], status: google.maps.GeocoderStatus) => void): void; + +export default class PlacesAutocomplete extends React.Component {} diff --git a/types/react-places-autocomplete/tsconfig.json b/types/react-places-autocomplete/tsconfig.json new file mode 100644 index 0000000000..02dbd0279c --- /dev/null +++ b/types/react-places-autocomplete/tsconfig.json @@ -0,0 +1,16 @@ +{ + "files": ["index.d.ts"], + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + } +} diff --git a/types/react-places-autocomplete/tslint.json b/types/react-places-autocomplete/tslint.json new file mode 100644 index 0000000000..d88586e5bd --- /dev/null +++ b/types/react-places-autocomplete/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +}