diff --git a/intro.js/intro.js-tests.ts b/intro.js/intro.js-tests.ts
index 0ec5938f5c..a3e5c0e4dd 100644
--- a/intro.js/intro.js-tests.ts
+++ b/intro.js/intro.js-tests.ts
@@ -1,6 +1,8 @@
///
var intro = introJs();
+var introWithElement = introJs(document.body);
+var introWithQuerySelector = introJs('body');
intro.setOption('doneLabel', 'Next page');
intro.setOption('overlayOpacity', 50);
@@ -48,9 +50,31 @@ intro.start()
.onafterchange(function (element) {
element.getAttribute('class');
})
- .onchange(function () {
- alert('Changed');
+ .onchange(function (element) {
+ element.getAttribute('class');
})
.oncomplete(function () {
alert('Done');
- });
+ })
+ .onexit(function () {
+ alert('Exiting');
+ })
+ .onhintsadded(function () {
+ alert('Hints added');
+ })
+ .onhintclick(function (hintElement, item, stepId) {
+ hintElement.getAttribute('class');
+ })
+ .onhintclose(function (stepId) {
+ alert('Hint close for Step ID ' + stepId);
+ })
+ .addHints()
+ .clone();
+
+introWithElement.start()
+ .exit()
+ .clone();
+
+introWithQuerySelector.start()
+ .exit()
+ .clone();
diff --git a/intro.js/intro.js.d.ts b/intro.js/intro.js.d.ts
index 6763124ba9..b476d5793d 100644
--- a/intro.js/intro.js.d.ts
+++ b/intro.js/intro.js.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for intro.js 1.1.1
+// Type definitions for intro.js 2.0
// Project: https://github.com/usablica/intro.js
// Definitions by: Maxime Fabre
// Definitions: https://github.com/borisyankov/DefinitelyTyped
@@ -29,12 +29,15 @@ declare module IntroJs {
overlayOpacity?: number;
positionPrecedence?: string[];
disableInteraction?: boolean;
- steps: Step[];
+ hintPosition?: string;
+ hintButtonLabel?: string;
+ steps?: Step[];
}
interface IntroJs {
start(): IntroJs;
exit(): IntroJs;
+ clone(): IntroJs;
goToStep(step: number): IntroJs;
nextStep(): IntroJs;
@@ -48,12 +51,20 @@ declare module IntroJs {
onexit(callback: Function): IntroJs;
onbeforechange(callback: (element: HTMLElement) => any): IntroJs;
onafterchange(callback: (element: HTMLElement) => any): IntroJs;
- onchange(callback: Function): IntroJs;
+ onchange(callback: (element: HTMLElement) => any): IntroJs;
oncomplete(callback: Function): IntroJs;
+
+ addHints(): IntroJs;
+
+ onhintsadded(callback: Function): IntroJs;
+ onhintclick(callback: (hintElement: HTMLElement, item: Step, stepId: number) => any): IntroJs;
+ onhintclose(callback: (stepId: number) => any): IntroJs;
}
interface Factory {
- (element?: string): IntroJs;
+ (): IntroJs;
+ (element: HTMLElement): IntroJs;
+ (querySelector: string): IntroJs;
}
}