diff --git a/types/element-resize-detector/element-resize-detector-tests.ts b/types/element-resize-detector/element-resize-detector-tests.ts new file mode 100644 index 0000000000..3c7af76280 --- /dev/null +++ b/types/element-resize-detector/element-resize-detector-tests.ts @@ -0,0 +1,19 @@ +import * as elementResizeDetectorMaker from 'element-resize-detector'; + +const erd = elementResizeDetectorMaker({ + strategy: "scroll" + }); + +const testElement: HTMLElement = null; + + erd.listenTo(testElement, (element) => { + const width = element.offsetWidth; + const height = element.offsetHeight; + console.log(`Size: " + ${width} + "x" + ${height}`); + }); + + erd.removeListener(testElement, (testElement) => {}); + + erd.removeAllListeners(testElement); + + erd.uninstall(testElement); diff --git a/types/element-resize-detector/index.d.ts b/types/element-resize-detector/index.d.ts new file mode 100644 index 0000000000..5b6c1f00aa --- /dev/null +++ b/types/element-resize-detector/index.d.ts @@ -0,0 +1,20 @@ +// Type definitions for element-resize-detector 1.1 +// Project: https://github.com/wnr/element-resize-detector +// Definitions by: Saransh Kataria +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare function elementResizeDetectorMaker(options?: elementResizeDetectorMaker.ErdmOptions): elementResizeDetectorMaker.Erd; + +declare namespace elementResizeDetectorMaker { + interface ErdmOptions { + strategy?: 'scroll' | 'object'; + } + + interface Erd { + listenTo(element: HTMLElement, callback: (elem: HTMLElement) => void): void; + removeListener(element: HTMLElement, callback: (elem: HTMLElement) => void): void; + removeAllListeners(element: HTMLElement): void; + uninstall(element: HTMLElement): void; + } +} +export = elementResizeDetectorMaker; diff --git a/types/element-resize-detector/tsconfig.json b/types/element-resize-detector/tsconfig.json new file mode 100644 index 0000000000..9400053488 --- /dev/null +++ b/types/element-resize-detector/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": false, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "element-resize-detector-tests.ts" + ] +} diff --git a/types/element-resize-detector/tslint.json b/types/element-resize-detector/tslint.json new file mode 100644 index 0000000000..f93cf8562a --- /dev/null +++ b/types/element-resize-detector/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +}