From ea24e64a67c8748d37c9969c3d49fceeb0b2f0c8 Mon Sep 17 00:00:00 2001 From: James Bellamy Date: Fri, 15 Mar 2019 17:57:58 +0000 Subject: [PATCH] Adding type definitions for react-medium-image-zoom (#33911) * Added type definitions for react-medium-image-zoom * fixes for react-medium-image-zoom * fixes for react-medium-image-zoom --- types/react-medium-image-zoom/index.d.ts | 43 +++++++++++++++++++ .../react-medium-image-zoom-tests.tsx | 23 ++++++++++ types/react-medium-image-zoom/tsconfig.json | 25 +++++++++++ types/react-medium-image-zoom/tslint.json | 1 + 4 files changed, 92 insertions(+) create mode 100644 types/react-medium-image-zoom/index.d.ts create mode 100644 types/react-medium-image-zoom/react-medium-image-zoom-tests.tsx create mode 100644 types/react-medium-image-zoom/tsconfig.json create mode 100644 types/react-medium-image-zoom/tslint.json diff --git a/types/react-medium-image-zoom/index.d.ts b/types/react-medium-image-zoom/index.d.ts new file mode 100644 index 0000000000..b3e9fcf14e --- /dev/null +++ b/types/react-medium-image-zoom/index.d.ts @@ -0,0 +1,43 @@ +// Type definitions for react-medium-image-zoom 3.0 +// Project: https://github.com/rpearce/react-medium-image-zoom#readme +// Definitions by: James Bellamy +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 3.3 + +import * as React from "react"; + +export interface ImageZoom_Image { + src: string; + alt?: string; + className?: string; + style?: object; +} + +export interface ImageZoom_ZoomImage { + src?: string; + alt?: string; + className?: string; + style?: object; +} + +export interface ImageZoomDefaultStyles { + zoomContainer?: object; + overlay?: object; + image?: object; + zoomImage?: object; +} + +export interface ImageZoomProps { + image: ImageZoom_Image; + zoomImage?: ImageZoom_ZoomImage; + zoomMargin?: number; + isZoomed?: boolean; + shouldHandleZoom?: () => boolean; + shouldReplaceImage?: boolean; + shouldRespectMaxDimension?: boolean; + defaultStyles?: ImageZoomDefaultStyles; + onZoom?: () => object; + onUnzoom?: () => object; +} + +export default class ImageZoom extends React.Component {} diff --git a/types/react-medium-image-zoom/react-medium-image-zoom-tests.tsx b/types/react-medium-image-zoom/react-medium-image-zoom-tests.tsx new file mode 100644 index 0000000000..45d3ef1138 --- /dev/null +++ b/types/react-medium-image-zoom/react-medium-image-zoom-tests.tsx @@ -0,0 +1,23 @@ +import * as React from "react"; +import ImageZoom from "react-medium-image-zoom"; + +const component: React.FC = () => { + return ( +
+ +
+ ); +}; + +export default component; diff --git a/types/react-medium-image-zoom/tsconfig.json b/types/react-medium-image-zoom/tsconfig.json new file mode 100644 index 0000000000..4b1dd42ee0 --- /dev/null +++ b/types/react-medium-image-zoom/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "jsx": "react", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "react-medium-image-zoom-tests.tsx" + ] +} diff --git a/types/react-medium-image-zoom/tslint.json b/types/react-medium-image-zoom/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/react-medium-image-zoom/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }