Added type definitions for scrollreveal (#10855)

* Added type definitions for scrollreveal

* fixed implicit any

* remove IScrollReveal
This commit is contained in:
David Pires
2016-09-14 12:44:54 +01:00
committed by Masahiro Wakame
parent f237a9af8e
commit 20e557ecad
2 changed files with 142 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
/// <reference path="scrollreveal.d.ts" />
//Tests from https://github.com/jlmakes/scrollreveal.js
//1.2
var sr = ScrollReveal();
sr.reveal('.foo');
sr.reveal('.bar');
//1.3
sr = ScrollReveal().reveal('.foo, .bar');
//2.1
sr = ScrollReveal({ reset: true });
sr.reveal('.foo', { duration: 200 });
//3.1
sr = ScrollReveal({ duration: 2000 });
sr.reveal('.box', 50);
sr = ScrollReveal();
sr.reveal('.box', { duration: 2000 }, 50);
//3.2
var fooReveal = {
delay : 200,
distance : '90px',
easing : 'ease-in-out',
rotate : { z: 10 },
scale : 1.1
};
sr = ScrollReveal();
sr.reveal('.foo', fooReveal);
sr.reveal('#chocolate', { delay: 500, scale: 0.9 });
//3.3
sr.reveal(document.getElementById('foo'));
sr.reveal(document.querySelectorAll('.bar'));
//3.4
sr = ScrollReveal();
var fooContainer = document.getElementById('fooContainer');
sr.reveal('.foo', { container: fooContainer });
sr.reveal('.bar', { container: '#barContainer' });
//3.5
fooContainer = document.getElementById('fooContainer');
sr = ScrollReveal();
sr.reveal('.foo', { container: fooContainer });
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == XMLHttpRequest.DONE) {
if (xmlhttp.status == 200) {
// Turn our response into HTML...
var content = document.createElement('div');
content.innerHTML = xmlhttp.responseText;
// Add each element to the DOM...
for (var i = 0; i < content.childNodes.length; i++) {
fooContainer.appendChild(content.childNodes[ i ]);
};
// Finally!
sr.sync();
}
}
}
xmlhttp.open('GET', 'ajax.html', true);
xmlhttp.send();

68
scrollreveal/scrollreveal.d.ts vendored Normal file
View File

@@ -0,0 +1,68 @@
// Type definitions for ScrollReveal
// Project: https://github.com/jlmakes/scrollreveal.js
// Definitions by: David Pires <https://github.com/Davidblkx>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare namespace scrollReveal {
interface ScrollRevealRotateObject {
x?: number;
y?: number;
z?: number;
}
interface ScrollRevealPositionObject {
top?: number;
right?: number;
bottom?: number;
left?: number;
}
interface ScrollRevealObjectOptions {
origin ? : string;
distance ? : string;
duration ? : number;
delay ? : number;
rotate ? : ScrollRevealRotateObject;
opacity ? : number;
scale ? : number;
easing ? : string;
container ? : any;
mobile ? : boolean;
reset ? : boolean;
useDelay ? : string;
viewFactor ? : number;
viewOffset ? : ScrollRevealPositionObject;
beforeReveal ? (domEl: HTMLElement): void;
afterReveal ? (domEl: HTMLElement): void;
beforeReset ? (domEl: HTMLElement): void;
afterReset ? (domEl: HTMLElement): void;
beforeReveal ? (domEl: NodeListOf<Element>): void;
afterReveal ? (domEl: NodeListOf<Element>): void;
beforeReset ? (domEl: NodeListOf<Element>): void;
afterReset ? (domEl: NodeListOf<Element>): void;
}
interface ScrollRevealObject {
(): ScrollRevealObject;
(options: ScrollRevealObjectOptions): ScrollRevealObject;
reveal(selector: string): ScrollRevealObject;
reveal(selector: string, interval: number): ScrollRevealObject;
reveal(selector: string, options: ScrollRevealObjectOptions): ScrollRevealObject;
reveal(selector: string, options: ScrollRevealObjectOptions, interval: number): ScrollRevealObject;
reveal(selector: HTMLElement): ScrollRevealObject;
reveal(selector: HTMLElement, interval: number): ScrollRevealObject;
reveal(selector: HTMLElement, options: ScrollRevealObjectOptions): ScrollRevealObject;
reveal(selector: HTMLElement, options: ScrollRevealObjectOptions, interval: number): ScrollRevealObject;
reveal(selector: NodeListOf<Element>): ScrollRevealObject;
reveal(selector: NodeListOf<Element>, interval: number): ScrollRevealObject;
reveal(selector: NodeListOf<Element>, options: ScrollRevealObjectOptions): ScrollRevealObject;
reveal(selector: NodeListOf<Element>, options: ScrollRevealObjectOptions, interval: number): ScrollRevealObject;
sync(): void;
}
}
declare var ScrollReveal: scrollReveal.ScrollRevealObject;