Socket
Socket
Sign inDemoInstall

ngx-ui-tour-core

Package Overview
Dependencies
Maintainers
1
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ngx-ui-tour-core - npm Package Compare versions

Comparing version 5.2.0 to 6.0.0

11

bundles/ngx-ui-tour-core.umd.js

@@ -211,4 +211,15 @@ (function (global, factory) {

TourService.prototype.showStep = function (step) {
var _this = this;
var anchor = this.anchors[step && step.anchorId];
if (!anchor) {
if (step.isAsync) {
this.startWaiting$.next(step);
this.anchorRegister$
.pipe(operators.filter(function (anchorId) { return anchorId === step.anchorId; }), operators.first())
.subscribe(function () {
setTimeout(function () { return _this.showStep(step); });
_this.stopWaiting$.next(step);
});
return;
}
console.warn('Can\'t attach to unregistered anchor with id ' + step.anchorId);

@@ -215,0 +226,0 @@ this.end();

17

CHANGELOG.md

@@ -0,1 +1,14 @@

<a name="6.0.0"></a>
# [6.0.0](https://github.com/hakimio/ngx-ui-tour) (2021-05-31)
### Features
- Support Angular 12
- New `isAsync` config used to mark tour step's which anchor element is added to DOM with a delay (ie after data is loaded)
### Deprecations
- `waitFor` config was deprecated in favor of `isAsync`
<a name="5.2.0"></a>

@@ -7,4 +20,4 @@

- Tour step now always stays in view when backdrop is enabled and browser window is resized #10
- Interaction with the base page is now blocked when backdrop is enabled #11
- Tour step now always stays in view when backdrop is enabled and browser window is resized
- Interaction with the base page is now blocked when backdrop is enabled

@@ -11,0 +24,0 @@ ### Fixes

2

esm2015/lib/tour-backdrop.service.js

@@ -87,2 +87,2 @@ import { Injectable, RendererFactory2 } from '@angular/core';

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91ci1iYWNrZHJvcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXVpLXRvdXItY29yZS9zcmMvbGliL3RvdXItYmFja2Ryb3Auc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsVUFBVSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFHL0MsTUFBTSxPQUFPLG1CQUFtQjtJQU85QixZQUFZLGVBQWlDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVNLElBQUksQ0FBQyxhQUF5QjtRQUNuQyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFekUsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQ3JDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsTUFBTSxZQUFZLEdBQWlDO1lBQ2pELFFBQVEs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QUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxNQUFvQyxFQUFFLE9BQW9CO1FBQzVFLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQzs7O1lBbkdGLFVBQVU7OztZQU5xQixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIEluamVjdGFibGUsIFJlbmRlcmVyRmFjdG9yeTJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgdHlwZSB7IFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2Zyb21FdmVudCwgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7ZGVib3VuY2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtTY3JvbGxpbmdVdGlsfSBmcm9tICcuL3Njcm9sbGluZy11dGlsJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFRvdXJCYWNrZHJvcFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcclxuICBwcml2YXRlIGJhY2tkcm9wQmFzZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgYmFja2Ryb3BFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIHRhcmdldEh0bWxFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICB3aW5kb3dSZXNpemVTdWJzY3JpcHRpb24kOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5Mikge1xyXG4gICAgdGhpcy5yZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93KHRhcmdldEVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcclxuICAgIGNvbnN0IGJvdW5kaW5nUmVjdCA9IHRhcmdldEVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuYmFja2Ryb3BFbGVtZW50KSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlQmFja2Ryb3AoKTtcclxuICAgICAgdGhpcy5zdWJzY3JpYmVUb1dpbmRvd1Jlc2l6ZUV2ZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50YXJnZXRIdG1sRWxlbWVudCA9IHRhcmdldEVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMuc2V0QmFja2Ryb3BFbFN0eWxlcyhib3VuZGluZ1JlY3QpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVCYWNrZHJvcCgpIHtcclxuICAgIHRoaXMuY3JlYXRlQmFja2Ryb3BCYXNlRWxlbWVudCgpO1xyXG4gICAgdGhpcy5jcmVhdGVCYWNrZHJvcEVsZW1lbnQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQmFja2Ryb3BCYXNlRWxlbWVudCgpIHtcclxuICAgIGNvbnN0IGJhc2VFbFN0eWxlczogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPiA9IHtcclxuICAgICAgcG9zaXRpb246ICdmaXhlZCcsXHJcbiAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICB0b3A6ICcwJyxcclxuICAgICAgbGVmdDogJzAnLFxyXG4gICAgICB6SW5kZXg6ICcxMDAnXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuYmFja2Ryb3BCYXNlRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICB0aGlzLmFwcGx5U3R5bGVzKGJhc2VFbFN0eWxlcywgdGhpcy5iYWNrZHJvcEJhc2VFbGVtZW50KTtcclxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy5iYWNrZHJvcEJhc2VFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQmFja2Ryb3BFbGVtZW50KCkge1xyXG4gICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ25neC11aS10b3VyX2JhY2tkcm9wJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMuYmFja2Ryb3BFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9XaW5kb3dSZXNpemVFdmVudCgpIHtcclxuICAgIGNvbnN0IHJlc2l6ZU9ic2VydmFibGUkID0gZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpO1xyXG4gICAgdGhpcy53aW5kb3dSZXNpemVTdWJzY3JpcHRpb24kID0gcmVzaXplT2JzZXJ2YWJsZSRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZGVib3VuY2UoKCkgPT4gaW50ZXJ2YWwoMTApKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgYm91bmRpbmdSZWN0ID0gdGhpcy50YXJnZXRIdG1sRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICAgIHRoaXMuc2V0QmFja2Ryb3BFbFN0eWxlcyhib3VuZGluZ1JlY3QpO1xyXG4gICAgICAgICAgU2Nyb2xsaW5nVXRpbC5lbnN1cmVWaXNpYmxlKHRoaXMudGFyZ2V0SHRtbEVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZSgpIHtcclxuICAgIGlmICh0aGlzLmJhY2tkcm9wRWxlbWVudCkge1xyXG4gICAgICB0aGlzLnJlbW92ZUJhY2tkcm9wRWxlbWVudCgpO1xyXG4gICAgICB0aGlzLndpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbiQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlQmFja2Ryb3BFbGVtZW50KCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLmJhY2tkcm9wQmFzZUVsZW1lbnQpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLmJhY2tkcm9wRWxlbWVudCk7XHJcbiAgICB0aGlzLmJhY2tkcm9wQmFzZUVsZW1lbnQgPSBudWxsO1xyXG4gICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRCYWNrZHJvcEVsU3R5bGVzKGJvdW5kaW5nUmVjdDogRE9NUmVjdCkge1xyXG4gICAgY29uc3Qgc2Nyb2xsWCA9IHdpbmRvdy5zY3JvbGxYID8/IHdpbmRvdy5wYWdlWE9mZnNldCxcclxuICAgICAgc2Nyb2xsWSA9IHdpbmRvdy5zY3JvbGxZID8/IHdpbmRvdy5wYWdlWU9mZnNldCxcclxuICAgICAgc3R5bGVzOiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+ID0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxyXG4gICAgICAgIHdpZHRoOiBgJHtib3VuZGluZ1JlY3Qud2lkdGh9cHhgLFxyXG4gICAgICAgIGhlaWdodDogYCR7Ym91bmRpbmdSZWN0LmhlaWdodH1weGAsXHJcbiAgICAgICAgdG9wOiBgJHtib3VuZGluZ1JlY3QudG9wICsgc2Nyb2xsWX1weGAsXHJcbiAgICAgICAgbGVmdDogYCR7Ym91bmRpbmdSZWN0LmxlZnQgKyBzY3JvbGxYfXB4YCxcclxuICAgICAgICBib3hTaGFkb3c6ICcwIDAgMCA5OTk5cHggcmdiYSgwLCAwLCAwLCAwLjcpJyxcclxuICAgICAgICB6SW5kZXg6ICcxMDEnXHJcbiAgICAgIH07XHJcblxyXG4gICAgdGhpcy5hcHBseVN0eWxlcyhzdHlsZXMsIHRoaXMuYmFja2Ryb3BFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlTdHlsZXMoc3R5bGVzOiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+LCBlbGVtZW50OiBIVE1MRWxlbWVudCkge1xyXG4gICAgZm9yIChjb25zdCBuYW1lIG9mIE9iamVjdC5rZXlzKHN0eWxlcykpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCBuYW1lLCBzdHlsZXNbbmFtZV0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91ci1iYWNrZHJvcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXVpLXRvdXItY29yZS9zcmMvbGliL3RvdXItYmFja2Ryb3Auc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsVUFBVSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFHL0MsTUFBTSxPQUFPLG1CQUFtQjtJQU85QixZQUFZLGVBQWlDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVNLElBQUksQ0FBQyxhQUF5QjtRQUNuQyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFekUsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQ3JDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsTUFBTSxZQUFZLEdBQWlDO1lBQ2pELFFBQVEs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RUosSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxXQUFXLENBQUMsTUFBb0MsRUFBRSxPQUFvQjtRQUM1RSxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7OztZQW5HRixVQUFVOzs7WUFOcUIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBSZW5kZXJlckZhY3RvcnkyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHR5cGUgeyBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtmcm9tRXZlbnQsIGludGVydmFsLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2RlYm91bmNlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7U2Nyb2xsaW5nVXRpbH0gZnJvbSAnLi9zY3JvbGxpbmctdXRpbCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUb3VyQmFja2Ryb3BTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XHJcbiAgcHJpdmF0ZSBiYWNrZHJvcEJhc2VFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIGJhY2tkcm9wRWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSB0YXJnZXRIdG1sRWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgd2luZG93UmVzaXplU3Vic2NyaXB0aW9uJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIpIHtcclxuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvdyh0YXJnZXRFbGVtZW50OiBFbGVtZW50UmVmKSB7XHJcbiAgICBjb25zdCBib3VuZGluZ1JlY3QgPSB0YXJnZXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmJhY2tkcm9wRWxlbWVudCkge1xyXG4gICAgICB0aGlzLmNyZWF0ZUJhY2tkcm9wKCk7XHJcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9XaW5kb3dSZXNpemVFdmVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGFyZ2V0SHRtbEVsZW1lbnQgPSB0YXJnZXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0aGlzLnNldEJhY2tkcm9wRWxTdHlsZXMoYm91bmRpbmdSZWN0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQmFja2Ryb3AoKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUJhY2tkcm9wQmFzZUVsZW1lbnQoKTtcclxuICAgIHRoaXMuY3JlYXRlQmFja2Ryb3BFbGVtZW50KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUJhY2tkcm9wQmFzZUVsZW1lbnQoKSB7XHJcbiAgICBjb25zdCBiYXNlRWxTdHlsZXM6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4gPSB7XHJcbiAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxyXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcclxuICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgdG9wOiAnMCcsXHJcbiAgICAgIGxlZnQ6ICcwJyxcclxuICAgICAgekluZGV4OiAnMTAwJ1xyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmJhY2tkcm9wQmFzZUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5hcHBseVN0eWxlcyhiYXNlRWxTdHlsZXMsIHRoaXMuYmFja2Ryb3BCYXNlRWxlbWVudCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMuYmFja2Ryb3BCYXNlRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUJhY2tkcm9wRWxlbWVudCgpIHtcclxuICAgIHRoaXMuYmFja2Ryb3BFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5iYWNrZHJvcEVsZW1lbnQsICduZ3gtdWktdG91cl9iYWNrZHJvcCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLmJhY2tkcm9wRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZVRvV2luZG93UmVzaXplRXZlbnQoKSB7XHJcbiAgICBjb25zdCByZXNpemVPYnNlcnZhYmxlJCA9IGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKTtcclxuICAgIHRoaXMud2luZG93UmVzaXplU3Vic2NyaXB0aW9uJCA9IHJlc2l6ZU9ic2VydmFibGUkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGRlYm91bmNlKCgpID0+IGludGVydmFsKDEwKSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGJvdW5kaW5nUmVjdCA9IHRoaXMudGFyZ2V0SHRtbEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICB0aGlzLnNldEJhY2tkcm9wRWxTdHlsZXMoYm91bmRpbmdSZWN0KTtcclxuICAgICAgICAgIFNjcm9sbGluZ1V0aWwuZW5zdXJlVmlzaWJsZSh0aGlzLnRhcmdldEh0bWxFbGVtZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2UoKSB7XHJcbiAgICBpZiAodGhpcy5iYWNrZHJvcEVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5yZW1vdmVCYWNrZHJvcEVsZW1lbnQoKTtcclxuICAgICAgdGhpcy53aW5kb3dSZXNpemVTdWJzY3JpcHRpb24kLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZUJhY2tkcm9wRWxlbWVudCgpIHtcclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy5iYWNrZHJvcEJhc2VFbGVtZW50KTtcclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy5iYWNrZHJvcEVsZW1lbnQpO1xyXG4gICAgdGhpcy5iYWNrZHJvcEJhc2VFbGVtZW50ID0gbnVsbDtcclxuICAgIHRoaXMuYmFja2Ryb3BFbGVtZW50ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QmFja2Ryb3BFbFN0eWxlcyhib3VuZGluZ1JlY3Q6IERPTVJlY3QpIHtcclxuICAgIGNvbnN0IHNjcm9sbFggPSB3aW5kb3cuc2Nyb2xsWCA/PyB3aW5kb3cucGFnZVhPZmZzZXQsXHJcbiAgICAgIHNjcm9sbFkgPSB3aW5kb3cuc2Nyb2xsWSA/PyB3aW5kb3cucGFnZVlPZmZzZXQsXHJcbiAgICAgIHN0eWxlczogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPiA9IHtcclxuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcclxuICAgICAgICB3aWR0aDogYCR7Ym91bmRpbmdSZWN0LndpZHRofXB4YCxcclxuICAgICAgICBoZWlnaHQ6IGAke2JvdW5kaW5nUmVjdC5oZWlnaHR9cHhgLFxyXG4gICAgICAgIHRvcDogYCR7Ym91bmRpbmdSZWN0LnRvcCArIHNjcm9sbFl9cHhgLFxyXG4gICAgICAgIGxlZnQ6IGAke2JvdW5kaW5nUmVjdC5sZWZ0ICsgc2Nyb2xsWH1weGAsXHJcbiAgICAgICAgYm94U2hhZG93OiAnMCAwIDAgOTk5OXB4IHJnYmEoMCwgMCwgMCwgMC43KScsXHJcbiAgICAgICAgekluZGV4OiAnMTAxJ1xyXG4gICAgICB9O1xyXG5cclxuICAgIHRoaXMuYXBwbHlTdHlsZXMoc3R5bGVzLCB0aGlzLmJhY2tkcm9wRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGx5U3R5bGVzKHN0eWxlczogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPiwgZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuICAgIGZvciAoY29uc3QgbmFtZSBvZiBPYmplY3Qua2V5cyhzdHlsZXMpKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwgbmFtZSwgc3R5bGVzW25hbWVdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==

@@ -207,2 +207,12 @@ import { Injectable } from '@angular/core';

if (!anchor) {
if (step.isAsync) {
this.startWaiting$.next(step);
this.anchorRegister$
.pipe(filter(anchorId => anchorId === step.anchorId), first())
.subscribe(() => {
setTimeout(() => this.showStep(step));
this.stopWaiting$.next(step);
});
return;
}
console.warn('Can\'t attach to unregistered anchor with id ' + step.anchorId);

@@ -230,2 +240,2 @@ this.end();

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91ci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXVpLXRvdXItY29yZS9zcmMvbGliL3RvdXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxlQUFlLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFJeEQsT0FBTyxFQUFDLE9BQU8sRUFBYyxLQUFLLElBQUksV0FBVyxFQUFFLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQW1CbEQsTUFBTSxDQUFOLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQix1Q0FBRyxDQUFBO0lBQ0gscUNBQUUsQ0FBQTtJQUNGLDZDQUFNLENBQUE7QUFDUixDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEI7QUFHRCxNQUFNLE9BQU8sV0FBVztJQXlDdEIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUF4QzNCLGNBQVMsR0FBZSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLGNBQVMsR0FBZSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLGdCQUFXLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDMUMsV0FBTSxHQUFlLElBQUksT0FBTyxFQUFFLENBQUM7UUFDbkMsU0FBSSxHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ25DLFdBQU0sR0FBZSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ25DLFlBQU8sR0FBZSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLGtCQUFhLEdBQWUsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMxQyxpQkFBWSxHQUFlLElBQUksT0FBTyxFQUFFLENBQUM7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YW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHR5cGUge1VybFNlZ21lbnR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBUb3VyQW5jaG9yRGlyZWN0aXZlIH0gZnJvbSAnLi90b3VyLWFuY2hvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge1N1YmplY3QsIE9ic2VydmFibGUsIG1lcmdlIGFzIG1lcmdlU3RhdGljLCBmcm9tfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtmaXJzdCwgbWFwLCBmaWx0ZXJ9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVN0ZXBPcHRpb24ge1xyXG4gIHN0ZXBJZD86IHN0cmluZztcclxuICBhbmNob3JJZD86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBjb250ZW50Pzogc3RyaW5nO1xyXG4gIHJvdXRlPzogc3RyaW5nIHwgVXJsU2VnbWVudFtdO1xyXG4gIG5leHRTdGVwPzogbnVtYmVyIHwgc3RyaW5nO1xyXG4gIHByZXZTdGVwPzogbnVtYmVyIHwgc3RyaW5nO1xyXG4gIHBsYWNlbWVudD86IGFueTtcclxuICBwcmV2ZW50U2Nyb2xsaW5nPzogYm9vbGVhbjtcclxuICBwcmV2QnRuVGl0bGU/OiBzdHJpbmc7XHJcbiAgbmV4dEJ0blRpdGxlPzogc3RyaW5nO1xyXG4gIGVuZEJ0blRpdGxlPzogc3RyaW5nO1xyXG4gIHdhaXRGb3I/OiBQcm9taXNlPHZvaWQ+IHwgT2JzZXJ2YWJsZTx2b2lkPjtcclxuICBlbmFibGVCYWNrZHJvcD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFRvdXJTdGF0ZSB7XHJcbiAgT0ZGLFxyXG4gIE9OLFxyXG4gIFBBVVNFRFxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUb3VyU2VydmljZTxUIGV4dGVuZHMgSVN0ZXBPcHRpb24gPSBJU3RlcE9wdGlvbj4ge1xyXG4gIHB1YmxpYyBzdGVwU2hvdyQ6IFN1YmplY3Q8VD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyBzdGVwSGlkZSQ6IFN1YmplY3Q8VD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyBpbml0aWFsaXplJDogU3ViamVjdDxUW10+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgc3RhcnQkOiBTdWJqZWN0PFQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgZW5kJDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgcGF1c2UkOiBTdWJqZWN0PFQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgcmVzdW1lJDogU3ViamVjdDxUPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIHN0YXJ0V2FpdGluZyQ6IFN1YmplY3Q8VD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyBzdG9wV2FpdGluZyQ6IFN1YmplY3Q8VD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyBhbmNob3JSZWdpc3RlciQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIGFuY2hvclVucmVnaXN0ZXIkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyBldmVudHMkOiBPYnNlcnZhYmxlPHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogYW55IH0+ID0gbWVyZ2VTdGF0aWMoXHJcbiAgICB0aGlzLnN0ZXBTaG93JC5waXBlKG1hcCh2YWx1ZSA9PiAoeyBuYW1lOiAnc3RlcFNob3cnLCB2YWx1ZSB9KSkpLFxyXG4gICAgdGhpcy5zdGVwSGlkZSQucGlwZShtYXAodmFsdWUgPT4gKHsgbmFtZTogJ3N0ZXBIaWRlJywgdmFsdWUgfSkpKSxcclxuICAgIHRoaXMuaW5pdGlhbGl6ZSQucGlwZShtYXAodmFsdWUgPT4gKHsgbmFtZTogJ2luaXRpYWxpemUnLCB2YWx1ZSB9KSkpLFxyXG4gICAgdGhpcy5zdGFydCQucGlwZShtYXAodmFsdWUgPT4gKHsgbmFtZTogJ3N0YXJ0JywgdmFsdWUgfSkpKSxcclxuICAgIHRoaXMuZW5kJC5waXBlKG1hcCh2YWx1ZSA9PiAoeyBuYW1lOiAnZW5kJywgdmFsdWUgfSkpKSxcclxuICAgIHRoaXMucGF1c2UkLnBpcGUobWFwKHZhbHVlID0+ICh7IG5hbWU6ICdwYXVzZScsIHZhbHVlIH0pKSksXHJcbiAgICB0aGlzLnJlc3VtZSQucGlwZShtYXAodmFsdWUgPT4gKHsgbmFtZTogJ3Jlc3VtZScsIHZhbHVlIH0pKSksXHJcbiAgICB0aGlzLmFuY2hvclJlZ2lzdGVyJC5waXBlKFxyXG4gICAgICBtYXAodmFsdWUgPT4gKHtcclxuICAgICAgICBuYW1lOiAnYW5jaG9yUmVnaXN0ZXInLFxyXG4gICAgICAgIHZhbHVlXHJcbiAgICAgIH0pKVxyXG4gICAgKSxcclxuICAgIHRoaXMuYW5jaG9yVW5yZWdpc3RlciQucGlwZShcclxuICAgICAgbWFwKHZhbHVlID0+ICh7XHJcbiAgICAgICAgbmFtZTogJ2FuY2hvclVucmVnaXN0ZXInLFxyXG4gICAgICAgIHZhbHVlXHJcbiAgICAgIH0pKVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIHB1YmxpYyBzdGVwczogVFtdID0gW107XHJcbiAgcHVibGljIGN1cnJlbnRTdGVwOiBUO1xyXG5cclxuICBwdWJsaWMgYW5jaG9yczogeyBbYW5jaG9ySWQ6IHN0cmluZ106IFRvdXJBbmNob3JEaXJlY3RpdmUgfSA9IHt9O1xyXG4gIHByaXZhdGUgc3RhdHVzOiBUb3VyU3RhdGUgPSBUb3VyU3RhdGUuT0ZGO1xyXG4gIHByaXZhdGUgaXNIb3RLZXlzRW5hYmxlZCA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XHJcblxyXG4gIHB1YmxpYyBpbml0aWFsaXplKHN0ZXBzOiBUW10sIHN0ZXBEZWZhdWx0cz86IFQpOiB2b2lkIHtcclxuICAgIGlmIChzdGVwcyAmJiBzdGVwcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gVG91clN0YXRlLk9GRjtcclxuICAgICAgdGhpcy5zdGVwcyA9IHN0ZXBzLm1hcChzdGVwID0+IE9iamVjdC5hc3NpZ24oe30sIHN0ZXBEZWZhdWx0cywgc3RlcCkpO1xyXG4gICAgICB0aGlzLmluaXRpYWxpemUkLm5leHQodGhpcy5zdGVwcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGlzYWJsZUhvdGtleXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzSG90S2V5c0VuYWJsZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbmFibGVIb3RrZXlzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0hvdEtleXNFbmFibGVkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhcnRBdCgwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGFydEF0KHN0ZXBJZDogbnVtYmVyIHwgc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXR1cyA9IFRvdXJTdGF0ZS5PTjtcclxuICAgIHRoaXMuZ29Ub1N0ZXAodGhpcy5sb2FkU3RlcChzdGVwSWQpKTtcclxuICAgIHRoaXMuc3RhcnQkLm5leHQoKTtcclxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLCBmaXJzdCgpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50U3RlcCAmJiB0aGlzLmN1cnJlbnRTdGVwLmhhc093blByb3BlcnR5KCdyb3V0ZScpKSB7XHJcbiAgICAgICAgICB0aGlzLmhpZGVTdGVwKHRoaXMuY3VycmVudFN0ZXApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW5kKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGF0dXMgPSBUb3VyU3RhdGUuT0ZGO1xyXG4gICAgdGhpcy5oaWRlU3RlcCh0aGlzLmN1cnJlbnRTdGVwKTtcclxuICAgIHRoaXMuY3VycmVudFN0ZXAgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmVuZCQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBhdXNlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGF0dXMgPSBUb3VyU3RhdGUuUEFVU0VEO1xyXG4gICAgdGhpcy5oaWRlU3RlcCh0aGlzLmN1cnJlbnRTdGVwKTtcclxuICAgIHRoaXMucGF1c2UkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXN1bWUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXR1cyA9IFRvdXJTdGF0ZS5PTjtcclxuICAgIHRoaXMuc2hvd1N0ZXAodGhpcy5jdXJyZW50U3RlcCk7XHJcbiAgICB0aGlzLnJlc3VtZSQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZShwYXVzZT86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChwYXVzZSkge1xyXG4gICAgICBpZiAodGhpcy5jdXJyZW50U3RlcCkge1xyXG4gICAgICAgIHRoaXMucGF1c2UoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnJlc3VtZSgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5jdXJyZW50U3RlcCkge1xyXG4gICAgICAgIHRoaXMuZW5kKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zdGFydCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmV4dCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmhhc05leHQodGhpcy5jdXJyZW50U3RlcCkpIHtcclxuICAgICAgdGhpcy5nb1RvU3RlcChcclxuICAgICAgICB0aGlzLmxvYWRTdGVwKFxyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U3RlcC5uZXh0U3RlcCB8fCB0aGlzLnN0ZXBzLmluZGV4T2YodGhpcy5jdXJyZW50U3RlcCkgKyAxXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhc05leHQoc3RlcDogVCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFzdGVwKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignQ2FuXFwndCBnZXQgbmV4dCBzdGVwLiBObyBjdXJyZW50U3RlcC4nKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgc3RlcC5uZXh0U3RlcCAhPT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIHRoaXMuc3RlcHMuaW5kZXhPZihzdGVwKSA8IHRoaXMuc3RlcHMubGVuZ3RoIC0gMVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwcmV2KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGFzUHJldih0aGlzLmN1cnJlbnRTdGVwKSkge1xyXG4gICAgICB0aGlzLmdvVG9TdGVwKFxyXG4gICAgICAgIHRoaXMubG9hZFN0ZXAoXHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRTdGVwLnByZXZTdGVwIHx8IHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLmN1cnJlbnRTdGVwKSAtIDFcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFzUHJldihzdGVwOiBUKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXN0ZXApIHtcclxuICAgICAgY29uc29sZS53YXJuKCdDYW5cXCd0IGdldCBwcmV2aW91cyBzdGVwLiBObyBjdXJyZW50U3RlcC4nKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0ZXAucHJldlN0ZXAgIT09IHVuZGVmaW5lZCB8fCB0aGlzLnN0ZXBzLmluZGV4T2Yoc3RlcCkgPiAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdvdG8oc3RlcElkOiBudW1iZXIgfCBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZ29Ub1N0ZXAodGhpcy5sb2FkU3RlcChzdGVwSWQpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3RlcihhbmNob3JJZDogc3RyaW5nLCBhbmNob3I6IFRvdXJBbmNob3JEaXJlY3RpdmUpOiB2b2lkIHtcclxuICAgIGlmICghYW5jaG9ySWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYW5jaG9yc1thbmNob3JJZF0pIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdhbmNob3JJZCAnICsgYW5jaG9ySWQgKyAnIGFscmVhZHkgcmVnaXN0ZXJlZCEnKTtcclxuICAgIH1cclxuICAgIHRoaXMuYW5jaG9yc1thbmNob3JJZF0gPSBhbmNob3I7XHJcbiAgICB0aGlzLmFuY2hvclJlZ2lzdGVyJC5uZXh0KGFuY2hvcklkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1bnJlZ2lzdGVyKGFuY2hvcklkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICghYW5jaG9ySWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZGVsZXRlIHRoaXMuYW5jaG9yc1thbmNob3JJZF07XHJcbiAgICB0aGlzLmFuY2hvclVucmVnaXN0ZXIkLm5leHQoYW5jaG9ySWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0YXR1cygpOiBUb3VyU3RhdGUge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzSG90a2V5c0VuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0hvdEtleXNFbmFibGVkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnb1RvU3RlcChzdGVwOiBUKTogdm9pZCB7XHJcbiAgICBpZiAoIXN0ZXApIHtcclxuICAgICAgY29uc29sZS53YXJuKCdDYW5cXCd0IGdvIHRvIG5vbi1leGlzdGVudCBzdGVwJyk7XHJcbiAgICAgIHRoaXMuZW5kKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1cnJlbnRTdGVwKSB7XHJcbiAgICAgIHRoaXMuaGlkZVN0ZXAodGhpcy5jdXJyZW50U3RlcCk7XHJcbiAgICB9XHJcbiAgICBsZXQgbmF2aWdhdGVQcm9taXNlOiBQcm9taXNlPGJvb2xlYW4+ID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PlxyXG4gICAgICByZXNvbHZlKHRydWUpXHJcbiAgICApO1xyXG4gICAgaWYgKHR5cGVvZiBzdGVwLnJvdXRlID09PSAnc3RyaW5nJykge1xyXG4gICAgICBuYXZpZ2F0ZVByb21pc2UgPSB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHN0ZXAucm91dGUpO1xyXG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHN0ZXAucm91dGUpKSB7XHJcbiAgICAgIG5hdmlnYXRlUHJvbWlzZSA9IHRoaXMucm91dGVyLm5hdmlnYXRlKHN0ZXAucm91dGUpO1xyXG4gICAgfVxyXG4gICAgbmF2aWdhdGVQcm9taXNlLnRoZW4obmF2aWdhdGVkID0+IHtcclxuICAgICAgaWYgKG5hdmlnYXRlZCAhPT0gZmFsc2UgJiYgIXN0ZXAud2FpdEZvcikge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRDdXJyZW50U3RlcChzdGVwKSk7XHJcbiAgICAgIH0gZWxzZSBpZiAobmF2aWdhdGVkICE9PSBmYWxzZSkge1xyXG4gICAgICAgIHRoaXMud2FpdChzdGVwKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHdhaXQoc3RlcDogVCkge1xyXG4gICAgY29uc3Qgd2FpdEZvciQgPSBmcm9tKHN0ZXAud2FpdEZvcik7XHJcblxyXG4gICAgdGhpcy5zdGFydFdhaXRpbmckLm5leHQoc3RlcCk7XHJcbiAgICB3YWl0Rm9yJFxyXG4gICAgICAucGlwZShmaXJzdCgpKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRDdXJyZW50U3RlcChzdGVwKSk7XHJcbiAgICAgICAgICB0aGlzLnN0b3BXYWl0aW5nJC5uZXh0KHN0ZXApO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZFN0ZXAoc3RlcElkOiBudW1iZXIgfCBzdHJpbmcpOiBUIHtcclxuICAgIGlmICh0eXBlb2Ygc3RlcElkID09PSAnbnVtYmVyJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdGVwc1tzdGVwSWRdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc3RlcHMuZmluZChzdGVwID0+IHN0ZXAuc3RlcElkID09PSBzdGVwSWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDdXJyZW50U3RlcChzdGVwOiBUKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRTdGVwID0gc3RlcDtcclxuICAgIHRoaXMuc2hvd1N0ZXAodGhpcy5jdXJyZW50U3RlcCk7XHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSwgZmlyc3QoKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFN0ZXAgJiYgdGhpcy5jdXJyZW50U3RlcC5oYXNPd25Qcm9wZXJ0eSgncm91dGUnKSkge1xyXG4gICAgICAgICAgdGhpcy5oaWRlU3RlcCh0aGlzLmN1cnJlbnRTdGVwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93U3RlcChzdGVwOiBUKTogdm9pZCB7XHJcbiAgICBjb25zdCBhbmNob3IgPSB0aGlzLmFuY2hvcnNbc3RlcCAmJiBzdGVwLmFuY2hvcklkXTtcclxuICAgIGlmICghYW5jaG9yKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihcclxuICAgICAgICAnQ2FuXFwndCBhdHRhY2ggdG8gdW5yZWdpc3RlcmVkIGFuY2hvciB3aXRoIGlkICcgKyBzdGVwLmFuY2hvcklkXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZW5kKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGFuY2hvci5zaG93VG91clN0ZXAoc3RlcCk7XHJcbiAgICB0aGlzLnN0ZXBTaG93JC5uZXh0KHN0ZXApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoaWRlU3RlcChzdGVwOiBUKTogdm9pZCB7XHJcbiAgICBjb25zdCBhbmNob3IgPSB0aGlzLmFuY2hvcnNbc3RlcCAmJiBzdGVwLmFuY2hvcklkXTtcclxuICAgIGlmICghYW5jaG9yKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGFuY2hvci5oaWRlVG91clN0ZXAoKTtcclxuICAgIHRoaXMuc3RlcEhpZGUkLm5leHQoc3RlcCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91ci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXVpLXRvdXItY29yZS9zcmMvbGliL3RvdXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxlQUFlLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFJeEQsT0FBTyxFQUFDLE9BQU8sRUFBYyxLQUFLLElBQUksV0FBVyxFQUFFLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQXVCbEQsTUFBTSxDQUFOLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQix1Q0FBRyxDQUFBO0lBQ0gscUNBQUUsQ0FBQTtJQUNGLDZDQUFNLENBQUE7QUFDUixDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEI7QUFHRCxNQUFNLE9BQU8sV0FBVztJQXlDdEIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUF4QzNCLGNBQVMsR0FBZSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLGNBQVMsR0FBZSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLGdCQUFXLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDMUMsV0FBTSxHQUFlLElBQUksT0FBTyxFQUFFLENBQUM7UUFDbkMsU0FBSSxHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ25DLFdBQU0sR0FBZSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ25DLFlBQU8sR0FBZSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLGtCQUFhLEdBQWUsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMxQyxpQkFBWSxHQUFlLElBQUksT0FBTyxFQUFFLENBQUM7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QVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU8sUUFBUSxDQUFDLElBQU87UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPO1NBQ1I7UUFDRCxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7O1lBdlJGLFVBQVU7OztZQWxDYyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge05hdmlnYXRpb25TdGFydCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgdHlwZSB7VXJsU2VnbWVudH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IFRvdXJBbmNob3JEaXJlY3RpdmUgfSBmcm9tICcuL3RvdXItYW5jaG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7U3ViamVjdCwgT2JzZXJ2YWJsZSwgbWVyZ2UgYXMgbWVyZ2VTdGF0aWMsIGZyb219IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2ZpcnN0LCBtYXAsIGZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU3RlcE9wdGlvbiB7XHJcbiAgc3RlcElkPzogc3RyaW5nO1xyXG4gIGFuY2hvcklkPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XHJcbiAgcm91dGU/OiBzdHJpbmcgfCBVcmxTZWdtZW50W107XHJcbiAgbmV4dFN0ZXA/OiBudW1iZXIgfCBzdHJpbmc7XHJcbiAgcHJldlN0ZXA/OiBudW1iZXIgfCBzdHJpbmc7XHJcbiAgcGxhY2VtZW50PzogYW55O1xyXG4gIHByZXZlbnRTY3JvbGxpbmc/OiBib29sZWFuO1xyXG4gIHByZXZCdG5UaXRsZT86IHN0cmluZztcclxuICBuZXh0QnRuVGl0bGU/OiBzdHJpbmc7XHJcbiAgZW5kQnRuVGl0bGU/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQGRlcHJlY2F0ZWQgdXNlIFwiaXNBc3luY1wiIGluc3RlYWRcclxuICAgKi9cclxuICB3YWl0Rm9yPzogUHJvbWlzZTx2b2lkPiB8IE9ic2VydmFibGU8dm9pZD47XHJcbiAgZW5hYmxlQmFja2Ryb3A/OiBib29sZWFuO1xyXG4gIGlzQXN5bmM/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBUb3VyU3RhdGUge1xyXG4gIE9GRixcclxuICBPTixcclxuICBQQVVTRURcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVG91clNlcnZpY2U8VCBleHRlbmRzIElTdGVwT3B0aW9uID0gSVN0ZXBPcHRpb24+IHtcclxuICBwdWJsaWMgc3RlcFNob3ckOiBTdWJqZWN0PFQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgc3RlcEhpZGUkOiBTdWJqZWN0PFQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgaW5pdGlhbGl6ZSQ6IFN1YmplY3Q8VFtdPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIHN0YXJ0JDogU3ViamVjdDxUPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIGVuZCQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIHBhdXNlJDogU3ViamVjdDxUPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIHJlc3VtZSQ6IFN1YmplY3Q8VD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyBzdGFydFdhaXRpbmckOiBTdWJqZWN0PFQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgc3RvcFdhaXRpbmckOiBTdWJqZWN0PFQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgYW5jaG9yUmVnaXN0ZXIkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyBhbmNob3JVbnJlZ2lzdGVyJDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgZXZlbnRzJDogT2JzZXJ2YWJsZTx7IG5hbWU6IHN0cmluZzsgdmFsdWU6IGFueSB9PiA9IG1lcmdlU3RhdGljKFxyXG4gICAgdGhpcy5zdGVwU2hvdyQucGlwZShtYXAodmFsdWUgPT4gKHsgbmFtZTogJ3N0ZXBTaG93JywgdmFsdWUgfSkpKSxcclxuICAgIHRoaXMuc3RlcEhpZGUkLnBpcGUobWFwKHZhbHVlID0+ICh7IG5hbWU6ICdzdGVwSGlkZScsIHZhbHVlIH0pKSksXHJcbiAgICB0aGlzLmluaXRpYWxpemUkLnBpcGUobWFwKHZhbHVlID0+ICh7IG5hbWU6ICdpbml0aWFsaXplJywgdmFsdWUgfSkpKSxcclxuICAgIHRoaXMuc3RhcnQkLnBpcGUobWFwKHZhbHVlID0+ICh7IG5hbWU6ICdzdGFydCcsIHZhbHVlIH0pKSksXHJcbiAgICB0aGlzLmVuZCQucGlwZShtYXAodmFsdWUgPT4gKHsgbmFtZTogJ2VuZCcsIHZhbHVlIH0pKSksXHJcbiAgICB0aGlzLnBhdXNlJC5waXBlKG1hcCh2YWx1ZSA9PiAoeyBuYW1lOiAncGF1c2UnLCB2YWx1ZSB9KSkpLFxyXG4gICAgdGhpcy5yZXN1bWUkLnBpcGUobWFwKHZhbHVlID0+ICh7IG5hbWU6ICdyZXN1bWUnLCB2YWx1ZSB9KSkpLFxyXG4gICAgdGhpcy5hbmNob3JSZWdpc3RlciQucGlwZShcclxuICAgICAgbWFwKHZhbHVlID0+ICh7XHJcbiAgICAgICAgbmFtZTogJ2FuY2hvclJlZ2lzdGVyJyxcclxuICAgICAgICB2YWx1ZVxyXG4gICAgICB9KSlcclxuICAgICksXHJcbiAgICB0aGlzLmFuY2hvclVucmVnaXN0ZXIkLnBpcGUoXHJcbiAgICAgIG1hcCh2YWx1ZSA9PiAoe1xyXG4gICAgICAgIG5hbWU6ICdhbmNob3JVbnJlZ2lzdGVyJyxcclxuICAgICAgICB2YWx1ZVxyXG4gICAgICB9KSlcclxuICAgIClcclxuICApO1xyXG5cclxuICBwdWJsaWMgc3RlcHM6IFRbXSA9IFtdO1xyXG4gIHB1YmxpYyBjdXJyZW50U3RlcDogVDtcclxuXHJcbiAgcHVibGljIGFuY2hvcnM6IHsgW2FuY2hvcklkOiBzdHJpbmddOiBUb3VyQW5jaG9yRGlyZWN0aXZlIH0gPSB7fTtcclxuICBwcml2YXRlIHN0YXR1czogVG91clN0YXRlID0gVG91clN0YXRlLk9GRjtcclxuICBwcml2YXRlIGlzSG90S2V5c0VuYWJsZWQgPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxyXG5cclxuICBwdWJsaWMgaW5pdGlhbGl6ZShzdGVwczogVFtdLCBzdGVwRGVmYXVsdHM/OiBUKTogdm9pZCB7XHJcbiAgICBpZiAoc3RlcHMgJiYgc3RlcHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnN0YXR1cyA9IFRvdXJTdGF0ZS5PRkY7XHJcbiAgICAgIHRoaXMuc3RlcHMgPSBzdGVwcy5tYXAoc3RlcCA9PiBPYmplY3QuYXNzaWduKHt9LCBzdGVwRGVmYXVsdHMsIHN0ZXApKTtcclxuICAgICAgdGhpcy5pbml0aWFsaXplJC5uZXh0KHRoaXMuc3RlcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2FibGVIb3RrZXlzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0hvdEtleXNFbmFibGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW5hYmxlSG90a2V5cygpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNIb3RLZXlzRW5hYmxlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhcnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXJ0QXQoMCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhcnRBdChzdGVwSWQ6IG51bWJlciB8IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGF0dXMgPSBUb3VyU3RhdGUuT047XHJcbiAgICB0aGlzLmdvVG9TdGVwKHRoaXMubG9hZFN0ZXAoc3RlcElkKSk7XHJcbiAgICB0aGlzLnN0YXJ0JC5uZXh0KCk7XHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSwgZmlyc3QoKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFN0ZXAgJiYgdGhpcy5jdXJyZW50U3RlcC5oYXNPd25Qcm9wZXJ0eSgncm91dGUnKSkge1xyXG4gICAgICAgICAgdGhpcy5oaWRlU3RlcCh0aGlzLmN1cnJlbnRTdGVwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVuZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhdHVzID0gVG91clN0YXRlLk9GRjtcclxuICAgIHRoaXMuaGlkZVN0ZXAodGhpcy5jdXJyZW50U3RlcCk7XHJcbiAgICB0aGlzLmN1cnJlbnRTdGVwID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5lbmQkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYXVzZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhdHVzID0gVG91clN0YXRlLlBBVVNFRDtcclxuICAgIHRoaXMuaGlkZVN0ZXAodGhpcy5jdXJyZW50U3RlcCk7XHJcbiAgICB0aGlzLnBhdXNlJC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVzdW1lKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGF0dXMgPSBUb3VyU3RhdGUuT047XHJcbiAgICB0aGlzLnNob3dTdGVwKHRoaXMuY3VycmVudFN0ZXApO1xyXG4gICAgdGhpcy5yZXN1bWUkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGUocGF1c2U/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAocGF1c2UpIHtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudFN0ZXApIHtcclxuICAgICAgICB0aGlzLnBhdXNlKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5yZXN1bWUoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudFN0ZXApIHtcclxuICAgICAgICB0aGlzLmVuZCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc3RhcnQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5leHQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oYXNOZXh0KHRoaXMuY3VycmVudFN0ZXApKSB7XHJcbiAgICAgIHRoaXMuZ29Ub1N0ZXAoXHJcbiAgICAgICAgdGhpcy5sb2FkU3RlcChcclxuICAgICAgICAgIHRoaXMuY3VycmVudFN0ZXAubmV4dFN0ZXAgfHwgdGhpcy5zdGVwcy5pbmRleE9mKHRoaXMuY3VycmVudFN0ZXApICsgMVxyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYXNOZXh0KHN0ZXA6IFQpOiBib29sZWFuIHtcclxuICAgIGlmICghc3RlcCkge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ0NhblxcJ3QgZ2V0IG5leHQgc3RlcC4gTm8gY3VycmVudFN0ZXAuJyk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiAoXHJcbiAgICAgIHN0ZXAubmV4dFN0ZXAgIT09IHVuZGVmaW5lZCB8fFxyXG4gICAgICB0aGlzLnN0ZXBzLmluZGV4T2Yoc3RlcCkgPCB0aGlzLnN0ZXBzLmxlbmd0aCAtIDFcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcHJldigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmhhc1ByZXYodGhpcy5jdXJyZW50U3RlcCkpIHtcclxuICAgICAgdGhpcy5nb1RvU3RlcChcclxuICAgICAgICB0aGlzLmxvYWRTdGVwKFxyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U3RlcC5wcmV2U3RlcCB8fCB0aGlzLnN0ZXBzLmluZGV4T2YodGhpcy5jdXJyZW50U3RlcCkgLSAxXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhc1ByZXYoc3RlcDogVCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFzdGVwKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignQ2FuXFwndCBnZXQgcHJldmlvdXMgc3RlcC4gTm8gY3VycmVudFN0ZXAuJyk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdGVwLnByZXZTdGVwICE9PSB1bmRlZmluZWQgfHwgdGhpcy5zdGVwcy5pbmRleE9mKHN0ZXApID4gMDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnb3RvKHN0ZXBJZDogbnVtYmVyIHwgc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmdvVG9TdGVwKHRoaXMubG9hZFN0ZXAoc3RlcElkKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXIoYW5jaG9ySWQ6IHN0cmluZywgYW5jaG9yOiBUb3VyQW5jaG9yRGlyZWN0aXZlKTogdm9pZCB7XHJcbiAgICBpZiAoIWFuY2hvcklkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmFuY2hvcnNbYW5jaG9ySWRdKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignYW5jaG9ySWQgJyArIGFuY2hvcklkICsgJyBhbHJlYWR5IHJlZ2lzdGVyZWQhJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFuY2hvcnNbYW5jaG9ySWRdID0gYW5jaG9yO1xyXG4gICAgdGhpcy5hbmNob3JSZWdpc3RlciQubmV4dChhbmNob3JJZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdW5yZWdpc3RlcihhbmNob3JJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIWFuY2hvcklkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGRlbGV0ZSB0aGlzLmFuY2hvcnNbYW5jaG9ySWRdO1xyXG4gICAgdGhpcy5hbmNob3JVbnJlZ2lzdGVyJC5uZXh0KGFuY2hvcklkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdGF0dXMoKTogVG91clN0YXRlIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0hvdGtleXNFbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNIb3RLZXlzRW5hYmxlZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ29Ub1N0ZXAoc3RlcDogVCk6IHZvaWQge1xyXG4gICAgaWYgKCFzdGVwKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignQ2FuXFwndCBnbyB0byBub24tZXhpc3RlbnQgc3RlcCcpO1xyXG4gICAgICB0aGlzLmVuZCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jdXJyZW50U3RlcCkge1xyXG4gICAgICB0aGlzLmhpZGVTdGVwKHRoaXMuY3VycmVudFN0ZXApO1xyXG4gICAgfVxyXG4gICAgbGV0IG5hdmlnYXRlUHJvbWlzZTogUHJvbWlzZTxib29sZWFuPiA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT5cclxuICAgICAgcmVzb2x2ZSh0cnVlKVxyXG4gICAgKTtcclxuICAgIGlmICh0eXBlb2Ygc3RlcC5yb3V0ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgbmF2aWdhdGVQcm9taXNlID0gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChzdGVwLnJvdXRlKTtcclxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShzdGVwLnJvdXRlKSkge1xyXG4gICAgICBuYXZpZ2F0ZVByb21pc2UgPSB0aGlzLnJvdXRlci5uYXZpZ2F0ZShzdGVwLnJvdXRlKTtcclxuICAgIH1cclxuICAgIG5hdmlnYXRlUHJvbWlzZS50aGVuKG5hdmlnYXRlZCA9PiB7XHJcbiAgICAgIGlmIChuYXZpZ2F0ZWQgIT09IGZhbHNlICYmICFzdGVwLndhaXRGb3IpIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0Q3VycmVudFN0ZXAoc3RlcCkpO1xyXG4gICAgICB9IGVsc2UgaWYgKG5hdmlnYXRlZCAhPT0gZmFsc2UpIHtcclxuICAgICAgICB0aGlzLndhaXQoc3RlcCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB3YWl0KHN0ZXA6IFQpIHtcclxuICAgIGNvbnN0IHdhaXRGb3IkID0gZnJvbShzdGVwLndhaXRGb3IpO1xyXG5cclxuICAgIHRoaXMuc3RhcnRXYWl0aW5nJC5uZXh0KHN0ZXApO1xyXG4gICAgd2FpdEZvciRcclxuICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0Q3VycmVudFN0ZXAoc3RlcCkpO1xyXG4gICAgICAgICAgdGhpcy5zdG9wV2FpdGluZyQubmV4dChzdGVwKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRTdGVwKHN0ZXBJZDogbnVtYmVyIHwgc3RyaW5nKTogVCB7XHJcbiAgICBpZiAodHlwZW9mIHN0ZXBJZCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc3RlcHNbc3RlcElkXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnN0ZXBzLmZpbmQoc3RlcCA9PiBzdGVwLnN0ZXBJZCA9PT0gc3RlcElkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudFN0ZXAoc3RlcDogVCk6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50U3RlcCA9IHN0ZXA7XHJcbiAgICB0aGlzLnNob3dTdGVwKHRoaXMuY3VycmVudFN0ZXApO1xyXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgIC5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCksIGZpcnN0KCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTdGVwICYmIHRoaXMuY3VycmVudFN0ZXAuaGFzT3duUHJvcGVydHkoJ3JvdXRlJykpIHtcclxuICAgICAgICAgIHRoaXMuaGlkZVN0ZXAodGhpcy5jdXJyZW50U3RlcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hvd1N0ZXAoc3RlcDogVCk6IHZvaWQge1xyXG4gICAgY29uc3QgYW5jaG9yID0gdGhpcy5hbmNob3JzW3N0ZXAgJiYgc3RlcC5hbmNob3JJZF07XHJcblxyXG4gICAgaWYgKCFhbmNob3IpIHtcclxuICAgICAgaWYgKHN0ZXAuaXNBc3luYykge1xyXG4gICAgICAgIHRoaXMuc3RhcnRXYWl0aW5nJC5uZXh0KHN0ZXApO1xyXG4gICAgICAgIHRoaXMuYW5jaG9yUmVnaXN0ZXIkXHJcbiAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgZmlsdGVyKGFuY2hvcklkID0+IGFuY2hvcklkID09PSBzdGVwLmFuY2hvcklkKSxcclxuICAgICAgICAgICAgZmlyc3QoKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zaG93U3RlcChzdGVwKSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdG9wV2FpdGluZyQubmV4dChzdGVwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnNvbGUud2FybihcclxuICAgICAgICAnQ2FuXFwndCBhdHRhY2ggdG8gdW5yZWdpc3RlcmVkIGFuY2hvciB3aXRoIGlkICcgKyBzdGVwLmFuY2hvcklkXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZW5kKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGFuY2hvci5zaG93VG91clN0ZXAoc3RlcCk7XHJcbiAgICB0aGlzLnN0ZXBTaG93JC5uZXh0KHN0ZXApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoaWRlU3RlcChzdGVwOiBUKTogdm9pZCB7XHJcbiAgICBjb25zdCBhbmNob3IgPSB0aGlzLmFuY2hvcnNbc3RlcCAmJiBzdGVwLmFuY2hvcklkXTtcclxuICAgIGlmICghYW5jaG9yKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGFuY2hvci5oaWRlVG91clN0ZXAoKTtcclxuICAgIHRoaXMuc3RlcEhpZGUkLm5leHQoc3RlcCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==

@@ -209,2 +209,12 @@ import { CommonModule } from '@angular/common';

if (!anchor) {
if (step.isAsync) {
this.startWaiting$.next(step);
this.anchorRegister$
.pipe(filter(anchorId => anchorId === step.anchorId), first())
.subscribe(() => {
setTimeout(() => this.showStep(step));
this.stopWaiting$.next(step);
});
return;
}
console.warn('Can\'t attach to unregistered anchor with id ' + step.anchorId);

@@ -211,0 +221,0 @@ this.end();

@@ -18,4 +18,8 @@ import { Router } from '@angular/router';

endBtnTitle?: string;
/**
* @deprecated use "isAsync" instead
*/
waitFor?: Promise<void> | Observable<void>;
enableBackdrop?: boolean;
isAsync?: boolean;
}

@@ -22,0 +26,0 @@ export declare enum TourState {

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"TourModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TourHotkeyListenerComponent"}],"exports":[{"__symbolic":"reference","name":"TourHotkeyListenerComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":14},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":11,"character":28}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"TourModule"},"providers":[{"__symbolic":"reference","name":"TourService"},{"__symbolic":"reference","name":"TourBackdropService"}]}}}},"TourService":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":31,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":73,"character":30}]}],"initialize":[{"__symbolic":"method"}],"disableHotkeys":[{"__symbolic":"method"}],"enableHotkeys":[{"__symbolic":"method"}],"start":[{"__symbolic":"method"}],"startAt":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}],"pause":[{"__symbolic":"method"}],"resume":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"hasNext":[{"__symbolic":"method"}],"prev":[{"__symbolic":"method"}],"hasPrev":[{"__symbolic":"method"}],"goto":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"unregister":[{"__symbolic":"method"}],"getStatus":[{"__symbolic":"method"}],"isHotkeysEnabled":[{"__symbolic":"method"}],"goToStep":[{"__symbolic":"method"}],"wait":[{"__symbolic":"method"}],"loadStep":[{"__symbolic":"method"}],"setCurrentStep":[{"__symbolic":"method"}],"showStep":[{"__symbolic":"method"}],"hideStep":[{"__symbolic":"method"}]}},"TourBackdropService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":14,"character":31}]}],"show":[{"__symbolic":"method"}],"createBackdrop":[{"__symbolic":"method"}],"createBackdropBaseElement":[{"__symbolic":"method"}],"createBackdropElement":[{"__symbolic":"method"}],"subscribeToWindowResizeEvent":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"removeBackdropElement":[{"__symbolic":"method"}],"setBackdropElStyles":[{"__symbolic":"method"}],"applyStyles":[{"__symbolic":"method"}]}},"IStepOption":{"__symbolic":"interface"},"TourState":{"OFF":0,"ON":1,"PAUSED":2},"TourAnchorDirective":{"__symbolic":"interface"},"TourHotkeyListenerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"tour-hotkey-listener","template":"<ng-content></ng-content>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TourService"}]}],"onEscapeKey":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":14,"character":3},"arguments":["window:keydown.Escape"]}]}],"onArrowRightKey":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":24,"character":3},"arguments":["window:keydown.ArrowRight"]}]}],"onArrowLeftKey":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":35,"character":3},"arguments":["window:keydown.ArrowLeft"]}]}]}},"isInViewport":{"__symbolic":"function"},"ElementSides":{"Top":0,"Bottom":1,"All":2},"ScrollingUtil":{"__symbolic":"class","members":{}}},"origins":{"TourModule":"./lib/tour.module","TourService":"./lib/tour.service","TourBackdropService":"./lib/tour-backdrop.service","IStepOption":"./lib/tour.service","TourState":"./lib/tour.service","TourAnchorDirective":"./lib/tour-anchor.directive","TourHotkeyListenerComponent":"./lib/tour-hotkey-listener.component","isInViewport":"./lib/is-in-viewport","ElementSides":"./lib/is-in-viewport","ScrollingUtil":"./lib/scrolling-util"},"importAs":"ngx-ui-tour-core"}
{"__symbolic":"module","version":4,"metadata":{"TourModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TourHotkeyListenerComponent"}],"exports":[{"__symbolic":"reference","name":"TourHotkeyListenerComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":14},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":11,"character":28}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"TourModule"},"providers":[{"__symbolic":"reference","name":"TourService"},{"__symbolic":"reference","name":"TourBackdropService"}]}}}},"TourService":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":35,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":77,"character":30}]}],"initialize":[{"__symbolic":"method"}],"disableHotkeys":[{"__symbolic":"method"}],"enableHotkeys":[{"__symbolic":"method"}],"start":[{"__symbolic":"method"}],"startAt":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}],"pause":[{"__symbolic":"method"}],"resume":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"hasNext":[{"__symbolic":"method"}],"prev":[{"__symbolic":"method"}],"hasPrev":[{"__symbolic":"method"}],"goto":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"unregister":[{"__symbolic":"method"}],"getStatus":[{"__symbolic":"method"}],"isHotkeysEnabled":[{"__symbolic":"method"}],"goToStep":[{"__symbolic":"method"}],"wait":[{"__symbolic":"method"}],"loadStep":[{"__symbolic":"method"}],"setCurrentStep":[{"__symbolic":"method"}],"showStep":[{"__symbolic":"method"}],"hideStep":[{"__symbolic":"method"}]}},"TourBackdropService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":14,"character":31}]}],"show":[{"__symbolic":"method"}],"createBackdrop":[{"__symbolic":"method"}],"createBackdropBaseElement":[{"__symbolic":"method"}],"createBackdropElement":[{"__symbolic":"method"}],"subscribeToWindowResizeEvent":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"removeBackdropElement":[{"__symbolic":"method"}],"setBackdropElStyles":[{"__symbolic":"method"}],"applyStyles":[{"__symbolic":"method"}]}},"IStepOption":{"__symbolic":"interface"},"TourState":{"OFF":0,"ON":1,"PAUSED":2},"TourAnchorDirective":{"__symbolic":"interface"},"TourHotkeyListenerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"tour-hotkey-listener","template":"<ng-content></ng-content>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TourService"}]}],"onEscapeKey":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":14,"character":3},"arguments":["window:keydown.Escape"]}]}],"onArrowRightKey":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":24,"character":3},"arguments":["window:keydown.ArrowRight"]}]}],"onArrowLeftKey":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":35,"character":3},"arguments":["window:keydown.ArrowLeft"]}]}]}},"isInViewport":{"__symbolic":"function"},"ElementSides":{"Top":0,"Bottom":1,"All":2},"ScrollingUtil":{"__symbolic":"class","members":{}}},"origins":{"TourModule":"./lib/tour.module","TourService":"./lib/tour.service","TourBackdropService":"./lib/tour-backdrop.service","IStepOption":"./lib/tour.service","TourState":"./lib/tour.service","TourAnchorDirective":"./lib/tour-anchor.directive","TourHotkeyListenerComponent":"./lib/tour-hotkey-listener.component","isInViewport":"./lib/is-in-viewport","ElementSides":"./lib/is-in-viewport","ScrollingUtil":"./lib/scrolling-util"},"importAs":"ngx-ui-tour-core"}
{
"name": "ngx-ui-tour-core",
"version": "5.2.0",
"version": "6.0.0",
"repository": "https://github.com/hakimio/ngx-ui-tour.git",

@@ -8,5 +8,5 @@ "author": "Isaac Mann <isaacplmann@gmail.com>",

"peerDependencies": {
"@angular/common": ">=9.0.0 <12.0.0",
"@angular/core": ">=9.0.0 <12.0.0",
"@angular/router": ">=9.0.0 <12.0.0",
"@angular/common": ">=9.0.0 <13.0.0",
"@angular/core": ">=9.0.0 <13.0.0",
"@angular/router": ">=9.0.0 <13.0.0",
"rxjs": "^6.0.0",

@@ -13,0 +13,0 @@ "typescript": ">=3.8.0"

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc