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; } }