mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
* feat(intro.js): rework UMD module definition. Closes #41108 - definition exposes both factory functions and namespace - backward compatible with existing code - add class access to test to cover fixed use-case - prettier as per project settings /cc @ippeiukai Thanks! * Add 'export as namespace' as per PR comment /cc @ippeiukai
126 lines
2.8 KiB
TypeScript
126 lines
2.8 KiB
TypeScript
import introJs = require('intro.js');
|
|
|
|
const intro = introJs();
|
|
const introWithElement = introJs(document.body);
|
|
const introWithQuerySelector = introJs('body');
|
|
|
|
intro.setOption('doneLabel', 'Next page');
|
|
intro.setOption('overlayOpacity', 50);
|
|
intro.setOption('showProgress', true);
|
|
intro.setOptions({
|
|
hidePrev: true,
|
|
hideNext: false,
|
|
scrollPadding: 30,
|
|
hintAnimation: false,
|
|
steps: [
|
|
{
|
|
intro: 'Hello world!',
|
|
},
|
|
{
|
|
element: document.querySelector('#step1') as HTMLElement,
|
|
intro: 'This is a tooltip.',
|
|
},
|
|
{
|
|
element: document.querySelectorAll('#step2')[0] as HTMLElement,
|
|
intro: "Ok, wasn't that fun?",
|
|
position: 'right',
|
|
},
|
|
{
|
|
element: '#step3',
|
|
intro: 'More features, more fun.',
|
|
position: 'left',
|
|
},
|
|
{
|
|
element: '#step4',
|
|
intro: 'Another step.',
|
|
position: 'bottom',
|
|
tooltipClass: 'step4Class',
|
|
highlightClass: '',
|
|
},
|
|
{
|
|
element: '#step4',
|
|
intro: 'Another step.',
|
|
position: 'bottom',
|
|
scrollTo: 'tooltip',
|
|
},
|
|
{
|
|
element: '#step5',
|
|
intro: 'Get it, use it.',
|
|
disableInteraction: true,
|
|
},
|
|
],
|
|
hints: [
|
|
{
|
|
element: '#step1',
|
|
hint: 'This is a hint',
|
|
hintPosition: 'middle-right',
|
|
},
|
|
{
|
|
element: document.querySelectorAll('#step2')[0] as HTMLElement,
|
|
hint: 'This is another hint',
|
|
hintPosition: 'top-left',
|
|
},
|
|
],
|
|
});
|
|
|
|
intro
|
|
.start()
|
|
.nextStep()
|
|
.previousStep()
|
|
.goToStepNumber(1)
|
|
.start()
|
|
.goToStep(2)
|
|
.exit()
|
|
.refresh()
|
|
.onbeforechange(function(element) {
|
|
element.getAttribute('class');
|
|
})
|
|
.onafterchange(function(element) {
|
|
element.getAttribute('class');
|
|
})
|
|
.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()
|
|
.showHint(1)
|
|
.showHints()
|
|
.hideHint(1)
|
|
.hideHints()
|
|
.hideHint(1)
|
|
.hideHints()
|
|
.clone();
|
|
|
|
introWithElement
|
|
.start()
|
|
.exit()
|
|
.clone();
|
|
|
|
introWithQuerySelector
|
|
.start()
|
|
.exit()
|
|
.clone();
|
|
|
|
// test: intro.js should expose instance type #41108
|
|
class SomeClass {
|
|
introJsInstance: introJs.IntroJs;
|
|
|
|
someMethod() {
|
|
this.introJsInstance = introJs();
|
|
}
|
|
}
|