@rfprodz/client-guided-tour 1.1.5 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/rfprodz-client-guided-tour.mjs +27 -26
- package/fesm2022/rfprodz-client-guided-tour.mjs.map +1 -1
- package/lib/components/guided-tour/guided-tour.interface.d.ts +1 -1
- package/lib/providers/overlay.provider.d.ts +2 -2
- package/package.json +7 -9
- package/esm2022/index.mjs +0 -5
- package/esm2022/lib/components/guided-tour/guided-tour.component.mjs +0 -29
- package/esm2022/lib/components/guided-tour/guided-tour.directive.mjs +0 -244
- package/esm2022/lib/components/guided-tour/guided-tour.interface.mjs +0 -16
- package/esm2022/lib/components/guided-tour-example/guided-tour-example.component.mjs +0 -73
- package/esm2022/lib/components/index.mjs +0 -3
- package/esm2022/lib/guided-tour-example-routing.module.mjs +0 -24
- package/esm2022/lib/guided-tour-example.module.mjs +0 -21
- package/esm2022/lib/guided-tour.module.mjs +0 -25
- package/esm2022/lib/providers/overlay.provider.mjs +0 -12
- package/esm2022/lib/services/guided-tour/guided-tour.service.mjs +0 -52
- package/esm2022/lib/services/index.mjs +0 -2
- package/esm2022/rfprodz-client-guided-tour.mjs +0 -5
|
@@ -64,10 +64,10 @@ class AppGuidedTourService {
|
|
|
64
64
|
this.active?.dispose();
|
|
65
65
|
this.active = void 0;
|
|
66
66
|
}
|
|
67
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
68
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
67
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
68
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourService, providedIn: 'any' }); }
|
|
69
69
|
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourService, decorators: [{
|
|
71
71
|
type: Injectable,
|
|
72
72
|
args: [{
|
|
73
73
|
providedIn: 'any',
|
|
@@ -99,12 +99,12 @@ class AppGuidedTourComponent {
|
|
|
99
99
|
this.tour = tour;
|
|
100
100
|
this.data = data;
|
|
101
101
|
}
|
|
102
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
103
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
102
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourComponent, deps: [{ token: AppGuidedTourService }, { token: GUIDED_TOUR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: AppGuidedTourComponent, isStandalone: false, selector: "app-guided-tour", ngImport: i0, template: "<mat-card>\n <mat-card-header>\n <mat-card-title>{{ data.title }}</mat-card-title>\n <mat-card-subtitle>{{ data.subtitle }}</mat-card-subtitle>\n </mat-card-header>\n\n <mat-card-content>\n <p>{{ data.description }}</p>\n </mat-card-content>\n\n <mat-card-actions class=\"actions\">\n <button mat-button [disabled]=\"data.first\" (click)=\"tour.previous()\" color=\"primary\">\n <mat-icon>chevron_left</mat-icon>\n Previous\n </button>\n\n <button mat-button (click)=\"tour.end()\" color=\"warn\">\n <mat-icon>close</mat-icon>\n End\n </button>\n\n <button mat-button [disabled]=\"data.last\" (click)=\"tour.next()\" color=\"primary\">\n Next\n <mat-icon>chevron_right</mat-icon>\n </button>\n </mat-card-actions>\n</mat-card>\n", styles: [":host{display:block}.actions>*:not(:first-child):not(:last-child){margin:0 6px}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
104
104
|
}
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourComponent, decorators: [{
|
|
106
106
|
type: Component,
|
|
107
|
-
args: [{ selector: 'app-guided-tour', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card>\n <mat-card-header>\n <mat-card-title>{{ data.title }}</mat-card-title>\n <mat-card-subtitle>{{ data.subtitle }}</mat-card-subtitle>\n </mat-card-header>\n\n <mat-card-content>\n <p>{{ data.description }}</p>\n </mat-card-content>\n\n <mat-card-actions class=\"actions\">\n <button mat-button [disabled]=\"data.first\" (click)=\"tour.previous()\" color=\"primary\">\n <mat-icon>chevron_left</mat-icon>\n Previous\n </button>\n\n <button mat-button (click)=\"tour.end()\" color=\"warn\">\n <mat-icon>close</mat-icon>\n End\n </button>\n\n <button mat-button [disabled]=\"data.last\" (click)=\"tour.next()\" color=\"primary\">\n Next\n <mat-icon>chevron_right</mat-icon>\n </button>\n </mat-card-actions>\n</mat-card>\n", styles: [":host{display:block}.actions>*:not(:first-child):not(:last-child){margin:0 6px}\n"] }]
|
|
107
|
+
args: [{ selector: 'app-guided-tour', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<mat-card>\n <mat-card-header>\n <mat-card-title>{{ data.title }}</mat-card-title>\n <mat-card-subtitle>{{ data.subtitle }}</mat-card-subtitle>\n </mat-card-header>\n\n <mat-card-content>\n <p>{{ data.description }}</p>\n </mat-card-content>\n\n <mat-card-actions class=\"actions\">\n <button mat-button [disabled]=\"data.first\" (click)=\"tour.previous()\" color=\"primary\">\n <mat-icon>chevron_left</mat-icon>\n Previous\n </button>\n\n <button mat-button (click)=\"tour.end()\" color=\"warn\">\n <mat-icon>close</mat-icon>\n End\n </button>\n\n <button mat-button [disabled]=\"data.last\" (click)=\"tour.next()\" color=\"primary\">\n Next\n <mat-icon>chevron_right</mat-icon>\n </button>\n </mat-card-actions>\n</mat-card>\n", styles: [":host{display:block}.actions>*:not(:first-child):not(:last-child){margin:0 6px}\n"] }]
|
|
108
108
|
}], ctorParameters: () => [{ type: AppGuidedTourService }, { type: undefined, decorators: [{
|
|
109
109
|
type: Inject,
|
|
110
110
|
args: [GUIDED_TOUR_DATA]
|
|
@@ -322,13 +322,14 @@ class AppGuidedTourDirective {
|
|
|
322
322
|
ngOnDestroy() {
|
|
323
323
|
this.dispose();
|
|
324
324
|
}
|
|
325
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
326
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
325
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourDirective, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i1.OverlayConfig }, { token: i0.ViewContainerRef }, { token: DOCUMENT }, { token: AppGuidedTourService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
326
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: AppGuidedTourDirective, isStandalone: false, selector: "[appGuidedTour]", inputs: { appGuidedTour: "appGuidedTour", highlightElement: "highlightElement", flexibleConnectedPositions: "flexibleConnectedPositions", scrollStrategy: "scrollStrategy" }, ngImport: i0 }); }
|
|
327
327
|
}
|
|
328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
328
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourDirective, decorators: [{
|
|
329
329
|
type: Directive,
|
|
330
330
|
args: [{
|
|
331
331
|
selector: '[appGuidedTour]',
|
|
332
|
+
standalone: false,
|
|
332
333
|
}]
|
|
333
334
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i1.OverlayConfig }, { type: i0.ViewContainerRef }, { type: Document, decorators: [{
|
|
334
335
|
type: Inject,
|
|
@@ -344,11 +345,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
344
345
|
}] } });
|
|
345
346
|
|
|
346
347
|
class AppGuidedTourModule {
|
|
347
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
348
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
349
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
348
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
349
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourModule, declarations: [AppGuidedTourComponent, AppGuidedTourDirective], imports: [CommonModule, OverlayModule, MatButtonModule, MatIconModule, MatCardModule], exports: [AppGuidedTourDirective] }); }
|
|
350
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourModule, providers: [overlayProvider], imports: [CommonModule, OverlayModule, MatButtonModule, MatIconModule, MatCardModule] }); }
|
|
350
351
|
}
|
|
351
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
352
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourModule, decorators: [{
|
|
352
353
|
type: NgModule,
|
|
353
354
|
args: [{
|
|
354
355
|
imports: [CommonModule, OverlayModule, MatButtonModule, MatIconModule, MatCardModule],
|
|
@@ -412,12 +413,12 @@ class AppGuidedTourExampleComponent {
|
|
|
412
413
|
ngAfterViewInit() {
|
|
413
414
|
this.tour.configuration = [...this.steps];
|
|
414
415
|
}
|
|
415
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
416
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
416
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourExampleComponent, deps: [{ token: AppGuidedTourService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
417
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: AppGuidedTourExampleComponent, isStandalone: false, selector: "app-guided-tour-example", providers: [AppGuidedTourService], viewQueries: [{ propertyName: "steps", predicate: AppGuidedTourDirective, descendants: true }], ngImport: i0, template: "@if (!tour.active) {\n <button mat-raised-button color=\"accent\" (click)=\"tour.next()\">Start tour</button>\n} @else {\n <button mat-raised-button color=\"warn\" (click)=\"tour.end()\">End tour</button>\n}\n\n@if (tourConig$(); as config) {\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(4)\" [highlightElement]=\"true\">fifth item to explain</span>\n </div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(1)\" [highlightElement]=\"true\">second item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(2)\" [highlightElement]=\"true\">third item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(0)\">first item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(3)\" [highlightElement]=\"true\">fourth item to explain</span>\n </div>\n}\n", styles: [":host{display:block;padding:16px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: AppGuidedTourDirective, selector: "[appGuidedTour]", inputs: ["appGuidedTour", "highlightElement", "flexibleConnectedPositions", "scrollStrategy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
417
418
|
}
|
|
418
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
419
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourExampleComponent, decorators: [{
|
|
419
420
|
type: Component,
|
|
420
|
-
args: [{ selector: 'app-guided-tour-example', providers: [AppGuidedTourService], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!tour.active) {\n <button mat-raised-button color=\"accent\" (click)=\"tour.next()\">Start tour</button>\n} @else {\n <button mat-raised-button color=\"warn\" (click)=\"tour.end()\">End tour</button>\n}\n\n@if (tourConig$(); as config) {\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(4)\" [highlightElement]=\"true\">fifth item to explain</span>\n </div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(1)\" [highlightElement]=\"true\">second item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(2)\" [highlightElement]=\"true\">third item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(0)\">first item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(3)\" [highlightElement]=\"true\">fourth item to explain</span>\n </div>\n}\n", styles: [":host{display:block;padding:16px}\n"] }]
|
|
421
|
+
args: [{ selector: 'app-guided-tour-example', providers: [AppGuidedTourService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (!tour.active) {\n <button mat-raised-button color=\"accent\" (click)=\"tour.next()\">Start tour</button>\n} @else {\n <button mat-raised-button color=\"warn\" (click)=\"tour.end()\">End tour</button>\n}\n\n@if (tourConig$(); as config) {\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(4)\" [highlightElement]=\"true\">fifth item to explain</span>\n </div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(1)\" [highlightElement]=\"true\">second item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(2)\" [highlightElement]=\"true\">third item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(0)\">first item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(3)\" [highlightElement]=\"true\">fourth item to explain</span>\n </div>\n}\n", styles: [":host{display:block;padding:16px}\n"] }]
|
|
421
422
|
}], ctorParameters: () => [{ type: AppGuidedTourService }], propDecorators: { steps: [{
|
|
422
423
|
type: ViewChildren,
|
|
423
424
|
args: [AppGuidedTourDirective]
|
|
@@ -430,11 +431,11 @@ const routes = [
|
|
|
430
431
|
},
|
|
431
432
|
];
|
|
432
433
|
class AppGuidedTourExampleRoutingModule {
|
|
433
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
434
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
435
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
434
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourExampleRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
435
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourExampleRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] }); }
|
|
436
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourExampleRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
436
437
|
}
|
|
437
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
438
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourExampleRoutingModule, decorators: [{
|
|
438
439
|
type: NgModule,
|
|
439
440
|
args: [{
|
|
440
441
|
imports: [RouterModule.forChild(routes)],
|
|
@@ -443,11 +444,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
443
444
|
}] });
|
|
444
445
|
|
|
445
446
|
class AppGuidedTourExampleModule {
|
|
446
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
447
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
448
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
447
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourExampleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
448
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourExampleModule, declarations: [AppGuidedTourExampleComponent], imports: [CommonModule, MatButtonModule, MatIconModule, AppGuidedTourModule, AppGuidedTourExampleRoutingModule] }); }
|
|
449
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourExampleModule, imports: [CommonModule, MatButtonModule, MatIconModule, AppGuidedTourModule, AppGuidedTourExampleRoutingModule] }); }
|
|
449
450
|
}
|
|
450
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
451
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: AppGuidedTourExampleModule, decorators: [{
|
|
451
452
|
type: NgModule,
|
|
452
453
|
args: [{
|
|
453
454
|
imports: [CommonModule, MatButtonModule, MatIconModule, AppGuidedTourModule, AppGuidedTourExampleRoutingModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rfprodz-client-guided-tour.mjs","sources":["../../../../libs/client-guided-tour/src/lib/providers/overlay.provider.ts","../../../../libs/client-guided-tour/src/lib/services/guided-tour/guided-tour.service.ts","../../../../libs/client-guided-tour/src/lib/components/guided-tour/guided-tour.interface.ts","../../../../libs/client-guided-tour/src/lib/components/guided-tour/guided-tour.component.ts","../../../../libs/client-guided-tour/src/lib/components/guided-tour/guided-tour.component.html","../../../../libs/client-guided-tour/src/lib/components/guided-tour/guided-tour.directive.ts","../../../../libs/client-guided-tour/src/lib/guided-tour.module.ts","../../../../libs/client-guided-tour/src/lib/components/guided-tour-example/guided-tour-example.component.ts","../../../../libs/client-guided-tour/src/lib/components/guided-tour-example/guided-tour-example.component.html","../../../../libs/client-guided-tour/src/lib/guided-tour-example-routing.module.ts","../../../../libs/client-guided-tour/src/lib/guided-tour-example.module.ts","../../../../libs/client-guided-tour/src/rfprodz-client-guided-tour.ts"],"sourcesContent":["import { OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { InjectionToken, Provider } from '@angular/core';\n\n/** The overlay reference injection token. */\nexport const OVERLAY_REFERENCE = new InjectionToken<OverlayRef>('OverlayReference');\n\n/** Overlay config provider. */\nexport const overlayProvider: Provider = {\n provide: OverlayConfig,\n useFactory: () =>\n new OverlayConfig({\n direction: 'ltr',\n }),\n};\n","import { Injectable } from '@angular/core';\n\nimport { AppGuidedTourDirective } from '../../components/guided-tour/guided-tour.directive';\n\n/**\n * @title Guided tour service.\n * @description This service should be injected once for each tour. Use component `providers` array to declare.\n */\n@Injectable({\n providedIn: 'any',\n})\nexport class AppGuidedTourService {\n /** Guider tour steps. */\n private steps: AppGuidedTourDirective[] = [];\n\n /** Guided tour step configuration. */\n public set configuration(steps: AppGuidedTourDirective[]) {\n this.steps = steps.sort((x, y) => (x.appGuidedTour?.index ?? 0) - (y.appGuidedTour?.index ?? 0));\n }\n\n /** Active step. */\n public active?: AppGuidedTourDirective;\n\n /** Activate next step. */\n public next() {\n this.active?.dispose();\n const stepIndex = (this.active?.appGuidedTour?.index ?? -1) + 1;\n if (stepIndex <= this.steps.length - 1) {\n this.active = this.steps.at(stepIndex);\n if (typeof this.active !== 'undefined') {\n this.active.display();\n }\n }\n }\n\n /** Activate previous step. */\n public previous() {\n this.active?.dispose();\n const stepIndex = (this.active?.appGuidedTour?.index ?? -1) - 1;\n if (stepIndex >= 0) {\n this.active = this.steps.at(stepIndex);\n if (typeof this.active !== 'undefined') {\n this.active.display();\n }\n }\n }\n\n /** End tour. */\n public end() {\n this.active?.dispose();\n this.active = void 0;\n }\n}\n","import { InjectionToken, Provider } from '@angular/core';\n\n/** Guided tour step data. */\nexport interface IGuidedTourData {\n index: number;\n title: string;\n subtitle: string;\n description: string;\n first: boolean;\n last: boolean;\n}\n\n/** Guided tour step data injection token. */\nexport const GUIDED_TOUR_DATA = new InjectionToken<IGuidedTourData>('GUIDED_TOUR_DATA');\n\n/** Guided tour step data provider. */\nexport const guidedTourDataProvider: Provider = {\n provide: GUIDED_TOUR_DATA,\n useValue: <IGuidedTourData>{\n index: 0,\n title: '',\n subtitle: '',\n description: '',\n first: true,\n last: true,\n },\n};\n","import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';\n\nimport { AppGuidedTourService } from '../../services/guided-tour/guided-tour.service';\nimport { GUIDED_TOUR_DATA, IGuidedTourData } from './guided-tour.interface';\n\n/** Guided tour component. */\n@Component({\n selector: 'app-guided-tour',\n templateUrl: './guided-tour.component.html',\n styleUrls: ['./guided-tour.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AppGuidedTourComponent {\n /**\n * @param tour Guided tour service.\n * @param data Guided tour step data.\n */\n constructor(\n public readonly tour: AppGuidedTourService,\n @Inject(GUIDED_TOUR_DATA) public readonly data: IGuidedTourData,\n ) {}\n}\n","<mat-card>\n <mat-card-header>\n <mat-card-title>{{ data.title }}</mat-card-title>\n <mat-card-subtitle>{{ data.subtitle }}</mat-card-subtitle>\n </mat-card-header>\n\n <mat-card-content>\n <p>{{ data.description }}</p>\n </mat-card-content>\n\n <mat-card-actions class=\"actions\">\n <button mat-button [disabled]=\"data.first\" (click)=\"tour.previous()\" color=\"primary\">\n <mat-icon>chevron_left</mat-icon>\n Previous\n </button>\n\n <button mat-button (click)=\"tour.end()\" color=\"warn\">\n <mat-icon>close</mat-icon>\n End\n </button>\n\n <button mat-button [disabled]=\"data.last\" (click)=\"tour.next()\" color=\"primary\">\n Next\n <mat-icon>chevron_right</mat-icon>\n </button>\n </mat-card-actions>\n</mat-card>\n","import { ConnectedPosition, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport { AfterContentInit, Directive, ElementRef, Inject, Injector, Input, OnDestroy, ViewContainerRef } from '@angular/core';\n\nimport { OVERLAY_REFERENCE } from '../../providers/overlay.provider';\nimport { AppGuidedTourService } from '../../services/guided-tour/guided-tour.service';\nimport { AppGuidedTourComponent } from './guided-tour.component';\nimport { GUIDED_TOUR_DATA, IGuidedTourData } from './guided-tour.interface';\n\n/** Guided tour directive. */\n@Directive({\n selector: '[appGuidedTour]',\n})\nexport class AppGuidedTourDirective implements AfterContentInit, OnDestroy {\n /** Guided tour step configuration. */\n @Input() public appGuidedTour: IGuidedTourData | undefined = void 0;\n\n @Input() public highlightElement = false;\n\n /** Connected positions configuration. */\n @Input() public flexibleConnectedPositions: ConnectedPosition[] = [\n // below the origin\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n },\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n // above the origin\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n // to the left of the origin\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n // to the right of the origin\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ];\n\n /** Scroll strategy. */\n @Input() public scrollStrategy: 'block' | 'close' | 'noop' | 'reposition' = 'reposition';\n\n /** Native element ref. */\n private nativeElement?: HTMLElement;\n\n /** Original position of the native element. */\n private nativeElementOriginalPosition?: string;\n\n /** Native element frame. */\n private readonly nativeElementFrame: HTMLElement = this.doc.createElement('div');\n\n /** Overlay reference. */\n private overlayRef: OverlayRef | null = null;\n\n /**\n * @param el A wrapper around a native element inside of a View.\n * @param overlay Service to create Overlays.\n * @param overlayConfig Initial configuration used when creating an overlay.\n * @param viewContainerRef Represents a container where one or more views can be attached to a component.\n * @param tour Guided tour service.\n */\n constructor(\n private readonly el: ElementRef,\n private readonly overlay: Overlay,\n private readonly overlayConfig: OverlayConfig,\n private readonly viewContainerRef: ViewContainerRef,\n @Inject(DOCUMENT) private readonly doc: Document,\n private readonly tour: AppGuidedTourService,\n ) {}\n\n /** Overlay configurator. */\n private configureOverlay(): void {\n const positionHost = this.nativeElement;\n if (typeof positionHost !== 'undefined') {\n this.overlayConfig.hasBackdrop = false;\n this.overlayConfig.panelClass = '';\n this.overlayConfig.minHeight = void 0;\n this.overlayConfig.minWidth = void 0;\n this.overlayConfig.maxHeight = void 0;\n this.overlayConfig.maxWidth = void 0;\n this.overlayConfig.height = void 0;\n this.overlayConfig.width = void 0;\n switch (this.scrollStrategy) {\n case 'block':\n this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.block();\n break;\n case 'close':\n this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.close();\n break;\n case 'noop':\n this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.noop();\n break;\n case 'reposition':\n default:\n this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.reposition();\n break;\n }\n this.overlayConfig.positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(positionHost)\n .setOrigin(positionHost)\n .withPositions(this.flexibleConnectedPositions);\n }\n }\n\n /** Overlay creator. */\n private createOverlay(): OverlayRef | null {\n if (this.overlayRef === null) {\n this.configureOverlay();\n this.overlayRef = this.overlay.create(this.overlayConfig);\n }\n return this.overlayRef;\n }\n\n /** Disposes an overlay. */\n public dispose(): void {\n if (this.overlayRef !== null) {\n void this.overlayRef?.detach();\n void this.overlayRef?.dispose();\n this.overlayRef = null;\n this.decorateNativeEl(true);\n }\n }\n\n /** Displays an overlay. */\n public display(): void {\n if (typeof this.appGuidedTour !== 'undefined' && !this.overlayRef?.hasAttached) {\n const overlayRef = this.createOverlay();\n const context = Injector.create({\n providers: [\n {\n provide: OVERLAY_REFERENCE,\n useValue: overlayRef,\n },\n {\n provide: GUIDED_TOUR_DATA,\n useValue: { ...this.appGuidedTour },\n },\n {\n provide: AppGuidedTourService,\n useValue: this.tour,\n },\n ],\n });\n const portal = new ComponentPortal(AppGuidedTourComponent, this.viewContainerRef, context);\n const ref = this.overlayRef?.attach(portal);\n ref?.changeDetectorRef.detectChanges();\n this.decorateNativeEl();\n }\n }\n\n /** Adds elevation to the DOM element and scrolls the element into view. */\n private decorateNativeEl(reset?: boolean) {\n if (typeof this.nativeElement !== 'undefined' && this.highlightElement) {\n const rect = this.nativeElement.getBoundingClientRect();\n this.nativeElementOriginalPosition = this.nativeElement.style.position;\n this.nativeElement.style.position = 'relative';\n this.nativeElementFrame.style.position = 'absolute';\n this.nativeElementFrame.style.width = `${rect.width}px`;\n this.nativeElementFrame.style.height = `${rect.height}px`;\n this.nativeElementFrame.style.top = '0px';\n this.nativeElementFrame.style.left = '0px';\n this.nativeElementFrame.style.zIndex = '999';\n this.nativeElementFrame.style.boxShadow = '0 0 0 1000px rgba(0,0,0,0.3)';\n this.nativeElementFrame.style.boxShadow = '0 0 0 1000vmax rgba(0,0,0,0.3)';\n this.nativeElementFrame.style.pointerEvents = 'none';\n if (reset === true) {\n this.nativeElement.removeChild(this.nativeElementFrame);\n this.nativeElement.style.position = this.nativeElementOriginalPosition;\n return;\n }\n this.nativeElement.scrollIntoView({ behavior: 'smooth' });\n this.nativeElement.appendChild(this.nativeElementFrame);\n }\n }\n\n public ngAfterContentInit(): void {\n this.nativeElement = this.el.nativeElement;\n }\n\n public ngOnDestroy(): void {\n this.dispose();\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { AppGuidedTourComponent } from './components/guided-tour/guided-tour.component';\nimport { AppGuidedTourDirective } from './components/guided-tour/guided-tour.directive';\nimport { overlayProvider } from './providers/overlay.provider';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, MatButtonModule, MatIconModule, MatCardModule],\n declarations: [AppGuidedTourComponent, AppGuidedTourDirective],\n providers: [overlayProvider],\n exports: [AppGuidedTourDirective],\n})\nexport class AppGuidedTourModule {}\n","import { AfterViewInit, ChangeDetectionStrategy, Component, QueryList, signal, ViewChildren } from '@angular/core';\n\nimport { AppGuidedTourService } from '../../services/guided-tour/guided-tour.service';\nimport { AppGuidedTourDirective } from '../guided-tour/guided-tour.directive';\nimport { IGuidedTourData } from '../guided-tour/guided-tour.interface';\n\n/** An example of a guided tour. */\n@Component({\n selector: 'app-guided-tour-example',\n templateUrl: './guided-tour-example.component.html',\n styleUrls: ['./guided-tour-example.component.scss'],\n providers: [AppGuidedTourService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AppGuidedTourExampleComponent implements AfterViewInit {\n /** Tour steps. */\n @ViewChildren(AppGuidedTourDirective) public steps!: QueryList<AppGuidedTourDirective>;\n\n /** Example tour configuration. */\n public tourConig$ = signal<IGuidedTourData[]>([\n {\n index: 0,\n title: 'first',\n subtitle: 'First step',\n description: 'The first step. Highlighting disabled.',\n first: true,\n last: false,\n },\n {\n index: 1,\n title: 'second',\n subtitle: 'Second step',\n description: 'The second step. Highlighting enabled.',\n first: false,\n last: false,\n },\n {\n index: 2,\n title: 'third',\n subtitle: 'Third step',\n description: 'The third step. Highlighting enabled.',\n first: false,\n last: false,\n },\n {\n index: 3,\n title: 'fourth',\n subtitle: 'Fourth step',\n description: 'The fourth step. Highlighting enabled.',\n first: false,\n last: false,\n },\n {\n index: 4,\n title: 'fifth',\n subtitle: 'Fifth step',\n description: 'The fifth and the final step. Highlighting enabled.',\n first: false,\n last: true,\n },\n ]);\n\n /**\n * @param tour Guided tour service.\n */\n constructor(public readonly tour: AppGuidedTourService) {}\n\n public ngAfterViewInit(): void {\n this.tour.configuration = [...this.steps];\n }\n}\n","@if (!tour.active) {\n <button mat-raised-button color=\"accent\" (click)=\"tour.next()\">Start tour</button>\n} @else {\n <button mat-raised-button color=\"warn\" (click)=\"tour.end()\">End tour</button>\n}\n\n@if (tourConig$(); as config) {\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(4)\" [highlightElement]=\"true\">fifth item to explain</span>\n </div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(1)\" [highlightElement]=\"true\">second item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(2)\" [highlightElement]=\"true\">third item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(0)\">first item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(3)\" [highlightElement]=\"true\">fourth item to explain</span>\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { Route, RouterModule } from '@angular/router';\n\nimport { AppGuidedTourExampleComponent } from './components/guided-tour-example/guided-tour-example.component';\n\nconst routes: Route[] = [\n {\n path: '',\n component: AppGuidedTourExampleComponent,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AppGuidedTourExampleRoutingModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { AppGuidedTourExampleComponent } from './components/guided-tour-example/guided-tour-example.component';\nimport { AppGuidedTourModule } from './guided-tour.module';\nimport { AppGuidedTourExampleRoutingModule } from './guided-tour-example-routing.module';\n\n@NgModule({\n imports: [CommonModule, MatButtonModule, MatIconModule, AppGuidedTourModule, AppGuidedTourExampleRoutingModule],\n declarations: [AppGuidedTourExampleComponent],\n})\nexport class AppGuidedTourExampleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.AppGuidedTourService","i1.AppGuidedTourService","i2","i3","i4.AppGuidedTourDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rfprodz-client-guided-tour.mjs","sources":["../../../../libs/client-guided-tour/src/lib/providers/overlay.provider.ts","../../../../libs/client-guided-tour/src/lib/services/guided-tour/guided-tour.service.ts","../../../../libs/client-guided-tour/src/lib/components/guided-tour/guided-tour.interface.ts","../../../../libs/client-guided-tour/src/lib/components/guided-tour/guided-tour.component.ts","../../../../libs/client-guided-tour/src/lib/components/guided-tour/guided-tour.component.html","../../../../libs/client-guided-tour/src/lib/components/guided-tour/guided-tour.directive.ts","../../../../libs/client-guided-tour/src/lib/guided-tour.module.ts","../../../../libs/client-guided-tour/src/lib/components/guided-tour-example/guided-tour-example.component.ts","../../../../libs/client-guided-tour/src/lib/components/guided-tour-example/guided-tour-example.component.html","../../../../libs/client-guided-tour/src/lib/guided-tour-example-routing.module.ts","../../../../libs/client-guided-tour/src/lib/guided-tour-example.module.ts","../../../../libs/client-guided-tour/src/rfprodz-client-guided-tour.ts"],"sourcesContent":["import { OverlayConfig, type OverlayRef } from '@angular/cdk/overlay';\nimport { InjectionToken, type Provider } from '@angular/core';\n\n/** The overlay reference injection token. */\nexport const OVERLAY_REFERENCE = new InjectionToken<OverlayRef>('OverlayReference');\n\n/** Overlay config provider. */\nexport const overlayProvider: Provider = {\n provide: OverlayConfig,\n useFactory: () =>\n new OverlayConfig({\n direction: 'ltr',\n }),\n};\n","import { Injectable } from '@angular/core';\n\nimport { AppGuidedTourDirective } from '../../components/guided-tour/guided-tour.directive';\n\n/**\n * @title Guided tour service.\n * @description This service should be injected once for each tour. Use component `providers` array to declare.\n */\n@Injectable({\n providedIn: 'any',\n})\nexport class AppGuidedTourService {\n /** Guider tour steps. */\n private steps: AppGuidedTourDirective[] = [];\n\n /** Guided tour step configuration. */\n public set configuration(steps: AppGuidedTourDirective[]) {\n this.steps = steps.sort((x, y) => (x.appGuidedTour?.index ?? 0) - (y.appGuidedTour?.index ?? 0));\n }\n\n /** Active step. */\n public active?: AppGuidedTourDirective;\n\n /** Activate next step. */\n public next() {\n this.active?.dispose();\n const stepIndex = (this.active?.appGuidedTour?.index ?? -1) + 1;\n if (stepIndex <= this.steps.length - 1) {\n this.active = this.steps.at(stepIndex);\n if (typeof this.active !== 'undefined') {\n this.active.display();\n }\n }\n }\n\n /** Activate previous step. */\n public previous() {\n this.active?.dispose();\n const stepIndex = (this.active?.appGuidedTour?.index ?? -1) - 1;\n if (stepIndex >= 0) {\n this.active = this.steps.at(stepIndex);\n if (typeof this.active !== 'undefined') {\n this.active.display();\n }\n }\n }\n\n /** End tour. */\n public end() {\n this.active?.dispose();\n this.active = void 0;\n }\n}\n","import { InjectionToken, type Provider } from '@angular/core';\n\n/** Guided tour step data. */\nexport interface IGuidedTourData {\n index: number;\n title: string;\n subtitle: string;\n description: string;\n first: boolean;\n last: boolean;\n}\n\n/** Guided tour step data injection token. */\nexport const GUIDED_TOUR_DATA = new InjectionToken<IGuidedTourData>('GUIDED_TOUR_DATA');\n\n/** Guided tour step data provider. */\nexport const guidedTourDataProvider: Provider = {\n provide: GUIDED_TOUR_DATA,\n useValue: {\n index: 0,\n title: '',\n subtitle: '',\n description: '',\n first: true,\n last: true,\n } as IGuidedTourData,\n};\n","import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';\n\nimport { AppGuidedTourService } from '../../services/guided-tour/guided-tour.service';\nimport { GUIDED_TOUR_DATA, IGuidedTourData } from './guided-tour.interface';\n\n/** Guided tour component. */\n@Component({\n selector: 'app-guided-tour',\n templateUrl: './guided-tour.component.html',\n styleUrls: ['./guided-tour.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class AppGuidedTourComponent {\n /**\n * @param tour Guided tour service.\n * @param data Guided tour step data.\n */\n constructor(\n public readonly tour: AppGuidedTourService,\n @Inject(GUIDED_TOUR_DATA) public readonly data: IGuidedTourData,\n ) {}\n}\n","<mat-card>\n <mat-card-header>\n <mat-card-title>{{ data.title }}</mat-card-title>\n <mat-card-subtitle>{{ data.subtitle }}</mat-card-subtitle>\n </mat-card-header>\n\n <mat-card-content>\n <p>{{ data.description }}</p>\n </mat-card-content>\n\n <mat-card-actions class=\"actions\">\n <button mat-button [disabled]=\"data.first\" (click)=\"tour.previous()\" color=\"primary\">\n <mat-icon>chevron_left</mat-icon>\n Previous\n </button>\n\n <button mat-button (click)=\"tour.end()\" color=\"warn\">\n <mat-icon>close</mat-icon>\n End\n </button>\n\n <button mat-button [disabled]=\"data.last\" (click)=\"tour.next()\" color=\"primary\">\n Next\n <mat-icon>chevron_right</mat-icon>\n </button>\n </mat-card-actions>\n</mat-card>\n","import { ConnectedPosition, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport { AfterContentInit, Directive, ElementRef, Inject, Injector, Input, OnDestroy, ViewContainerRef } from '@angular/core';\n\nimport { OVERLAY_REFERENCE } from '../../providers/overlay.provider';\nimport { AppGuidedTourService } from '../../services/guided-tour/guided-tour.service';\nimport { AppGuidedTourComponent } from './guided-tour.component';\nimport { GUIDED_TOUR_DATA, IGuidedTourData } from './guided-tour.interface';\n\n/** Guided tour directive. */\n@Directive({\n selector: '[appGuidedTour]',\n standalone: false,\n})\nexport class AppGuidedTourDirective implements AfterContentInit, OnDestroy {\n /** Guided tour step configuration. */\n @Input() public appGuidedTour: IGuidedTourData | undefined = void 0;\n\n @Input() public highlightElement = false;\n\n /** Connected positions configuration. */\n @Input() public flexibleConnectedPositions: ConnectedPosition[] = [\n // below the origin\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n },\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n // above the origin\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n // to the left of the origin\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n // to the right of the origin\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ];\n\n /** Scroll strategy. */\n @Input() public scrollStrategy: 'block' | 'close' | 'noop' | 'reposition' = 'reposition';\n\n /** Native element ref. */\n private nativeElement?: HTMLElement;\n\n /** Original position of the native element. */\n private nativeElementOriginalPosition?: string;\n\n /** Native element frame. */\n private readonly nativeElementFrame: HTMLElement = this.doc.createElement('div');\n\n /** Overlay reference. */\n private overlayRef: OverlayRef | null = null;\n\n /**\n * @param el A wrapper around a native element inside of a View.\n * @param overlay Service to create Overlays.\n * @param overlayConfig Initial configuration used when creating an overlay.\n * @param viewContainerRef Represents a container where one or more views can be attached to a component.\n * @param tour Guided tour service.\n */\n constructor(\n private readonly el: ElementRef,\n private readonly overlay: Overlay,\n private readonly overlayConfig: OverlayConfig,\n private readonly viewContainerRef: ViewContainerRef,\n @Inject(DOCUMENT) private readonly doc: Document,\n private readonly tour: AppGuidedTourService,\n ) {}\n\n /** Overlay configurator. */\n private configureOverlay(): void {\n const positionHost = this.nativeElement;\n if (typeof positionHost !== 'undefined') {\n this.overlayConfig.hasBackdrop = false;\n this.overlayConfig.panelClass = '';\n this.overlayConfig.minHeight = void 0;\n this.overlayConfig.minWidth = void 0;\n this.overlayConfig.maxHeight = void 0;\n this.overlayConfig.maxWidth = void 0;\n this.overlayConfig.height = void 0;\n this.overlayConfig.width = void 0;\n switch (this.scrollStrategy) {\n case 'block':\n this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.block();\n break;\n case 'close':\n this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.close();\n break;\n case 'noop':\n this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.noop();\n break;\n case 'reposition':\n default:\n this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.reposition();\n break;\n }\n this.overlayConfig.positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(positionHost)\n .setOrigin(positionHost)\n .withPositions(this.flexibleConnectedPositions);\n }\n }\n\n /** Overlay creator. */\n private createOverlay(): OverlayRef | null {\n if (this.overlayRef === null) {\n this.configureOverlay();\n this.overlayRef = this.overlay.create(this.overlayConfig);\n }\n return this.overlayRef;\n }\n\n /** Disposes an overlay. */\n public dispose(): void {\n if (this.overlayRef !== null) {\n void this.overlayRef?.detach();\n void this.overlayRef?.dispose();\n this.overlayRef = null;\n this.decorateNativeEl(true);\n }\n }\n\n /** Displays an overlay. */\n public display(): void {\n if (typeof this.appGuidedTour !== 'undefined' && !this.overlayRef?.hasAttached) {\n const overlayRef = this.createOverlay();\n const context = Injector.create({\n providers: [\n {\n provide: OVERLAY_REFERENCE,\n useValue: overlayRef,\n },\n {\n provide: GUIDED_TOUR_DATA,\n useValue: { ...this.appGuidedTour },\n },\n {\n provide: AppGuidedTourService,\n useValue: this.tour,\n },\n ],\n });\n const portal = new ComponentPortal(AppGuidedTourComponent, this.viewContainerRef, context);\n const ref = this.overlayRef?.attach(portal);\n ref?.changeDetectorRef.detectChanges();\n this.decorateNativeEl();\n }\n }\n\n /** Adds elevation to the DOM element and scrolls the element into view. */\n private decorateNativeEl(reset?: boolean) {\n if (typeof this.nativeElement !== 'undefined' && this.highlightElement) {\n const rect = this.nativeElement.getBoundingClientRect();\n this.nativeElementOriginalPosition = this.nativeElement.style.position;\n this.nativeElement.style.position = 'relative';\n this.nativeElementFrame.style.position = 'absolute';\n this.nativeElementFrame.style.width = `${rect.width}px`;\n this.nativeElementFrame.style.height = `${rect.height}px`;\n this.nativeElementFrame.style.top = '0px';\n this.nativeElementFrame.style.left = '0px';\n this.nativeElementFrame.style.zIndex = '999';\n this.nativeElementFrame.style.boxShadow = '0 0 0 1000px rgba(0,0,0,0.3)';\n this.nativeElementFrame.style.boxShadow = '0 0 0 1000vmax rgba(0,0,0,0.3)';\n this.nativeElementFrame.style.pointerEvents = 'none';\n if (reset === true) {\n this.nativeElement.removeChild(this.nativeElementFrame);\n this.nativeElement.style.position = this.nativeElementOriginalPosition;\n return;\n }\n this.nativeElement.scrollIntoView({ behavior: 'smooth' });\n this.nativeElement.appendChild(this.nativeElementFrame);\n }\n }\n\n public ngAfterContentInit(): void {\n this.nativeElement = this.el.nativeElement;\n }\n\n public ngOnDestroy(): void {\n this.dispose();\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { AppGuidedTourComponent } from './components/guided-tour/guided-tour.component';\nimport { AppGuidedTourDirective } from './components/guided-tour/guided-tour.directive';\nimport { overlayProvider } from './providers/overlay.provider';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, MatButtonModule, MatIconModule, MatCardModule],\n declarations: [AppGuidedTourComponent, AppGuidedTourDirective],\n providers: [overlayProvider],\n exports: [AppGuidedTourDirective],\n})\nexport class AppGuidedTourModule {}\n","import { AfterViewInit, ChangeDetectionStrategy, Component, QueryList, signal, ViewChildren } from '@angular/core';\n\nimport { AppGuidedTourService } from '../../services/guided-tour/guided-tour.service';\nimport { AppGuidedTourDirective } from '../guided-tour/guided-tour.directive';\nimport { IGuidedTourData } from '../guided-tour/guided-tour.interface';\n\n/** An example of a guided tour. */\n@Component({\n selector: 'app-guided-tour-example',\n templateUrl: './guided-tour-example.component.html',\n styleUrls: ['./guided-tour-example.component.scss'],\n providers: [AppGuidedTourService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class AppGuidedTourExampleComponent implements AfterViewInit {\n /** Tour steps. */\n @ViewChildren(AppGuidedTourDirective) public steps!: QueryList<AppGuidedTourDirective>;\n\n /** Example tour configuration. */\n public tourConig$ = signal<IGuidedTourData[]>([\n {\n index: 0,\n title: 'first',\n subtitle: 'First step',\n description: 'The first step. Highlighting disabled.',\n first: true,\n last: false,\n },\n {\n index: 1,\n title: 'second',\n subtitle: 'Second step',\n description: 'The second step. Highlighting enabled.',\n first: false,\n last: false,\n },\n {\n index: 2,\n title: 'third',\n subtitle: 'Third step',\n description: 'The third step. Highlighting enabled.',\n first: false,\n last: false,\n },\n {\n index: 3,\n title: 'fourth',\n subtitle: 'Fourth step',\n description: 'The fourth step. Highlighting enabled.',\n first: false,\n last: false,\n },\n {\n index: 4,\n title: 'fifth',\n subtitle: 'Fifth step',\n description: 'The fifth and the final step. Highlighting enabled.',\n first: false,\n last: true,\n },\n ]);\n\n /**\n * @param tour Guided tour service.\n */\n constructor(public readonly tour: AppGuidedTourService) {}\n\n public ngAfterViewInit(): void {\n this.tour.configuration = [...this.steps];\n }\n}\n","@if (!tour.active) {\n <button mat-raised-button color=\"accent\" (click)=\"tour.next()\">Start tour</button>\n} @else {\n <button mat-raised-button color=\"warn\" (click)=\"tour.end()\">End tour</button>\n}\n\n@if (tourConig$(); as config) {\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(4)\" [highlightElement]=\"true\">fifth item to explain</span>\n </div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(1)\" [highlightElement]=\"true\">second item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(2)\" [highlightElement]=\"true\">third item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(0)\">first item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(3)\" [highlightElement]=\"true\">fourth item to explain</span>\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { Route, RouterModule } from '@angular/router';\n\nimport { AppGuidedTourExampleComponent } from './components/guided-tour-example/guided-tour-example.component';\n\nconst routes: Route[] = [\n {\n path: '',\n component: AppGuidedTourExampleComponent,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AppGuidedTourExampleRoutingModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { AppGuidedTourExampleComponent } from './components/guided-tour-example/guided-tour-example.component';\nimport { AppGuidedTourModule } from './guided-tour.module';\nimport { AppGuidedTourExampleRoutingModule } from './guided-tour-example-routing.module';\n\n@NgModule({\n imports: [CommonModule, MatButtonModule, MatIconModule, AppGuidedTourModule, AppGuidedTourExampleRoutingModule],\n declarations: [AppGuidedTourExampleComponent],\n})\nexport class AppGuidedTourExampleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.AppGuidedTourService","i1.AppGuidedTourService","i2","i3","i4.AppGuidedTourDirective"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { OverlayRef } from '@angular/cdk/overlay';
|
|
2
|
-
import { InjectionToken, Provider } from '@angular/core';
|
|
1
|
+
import { type OverlayRef } from '@angular/cdk/overlay';
|
|
2
|
+
import { InjectionToken, type Provider } from '@angular/core';
|
|
3
3
|
/** The overlay reference injection token. */
|
|
4
4
|
export declare const OVERLAY_REFERENCE: InjectionToken<OverlayRef>;
|
|
5
5
|
/** Overlay config provider. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rfprodz/client-guided-tour",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.6",
|
|
4
4
|
"description": "Guided tour feature for Angular clients.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular-module",
|
|
@@ -19,14 +19,14 @@
|
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"author": "rfprod <zoidenmacht@zoho.com>",
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"tslib": "2.
|
|
22
|
+
"tslib": "2.8.1"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
|
-
"@angular/cdk": "
|
|
26
|
-
"@angular/common": "
|
|
27
|
-
"@angular/core": "
|
|
28
|
-
"@angular/material": "
|
|
29
|
-
"@angular/router": "
|
|
25
|
+
"@angular/cdk": "19.1.3",
|
|
26
|
+
"@angular/common": "19.1.5",
|
|
27
|
+
"@angular/core": "19.1.5",
|
|
28
|
+
"@angular/material": "19.1.3",
|
|
29
|
+
"@angular/router": "19.1.5"
|
|
30
30
|
},
|
|
31
31
|
"module": "fesm2022/rfprodz-client-guided-tour.mjs",
|
|
32
32
|
"typings": "index.d.ts",
|
|
@@ -36,8 +36,6 @@
|
|
|
36
36
|
},
|
|
37
37
|
".": {
|
|
38
38
|
"types": "./index.d.ts",
|
|
39
|
-
"esm2022": "./esm2022/rfprodz-client-guided-tour.mjs",
|
|
40
|
-
"esm": "./esm2022/rfprodz-client-guided-tour.mjs",
|
|
41
39
|
"default": "./fesm2022/rfprodz-client-guided-tour.mjs"
|
|
42
40
|
}
|
|
43
41
|
},
|
package/esm2022/index.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './lib/components';
|
|
2
|
-
export * from './lib/guided-tour.module';
|
|
3
|
-
export * from './lib/guided-tour-example.module';
|
|
4
|
-
export * from './lib/services';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2NsaWVudC1ndWlkZWQtdG91ci9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3VpZGVkLXRvdXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1aWRlZC10b3VyLWV4YW1wbGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
|
|
2
|
-
import { AppGuidedTourService } from '../../services/guided-tour/guided-tour.service';
|
|
3
|
-
import { GUIDED_TOUR_DATA } from './guided-tour.interface';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../services/guided-tour/guided-tour.service";
|
|
6
|
-
import * as i2 from "@angular/material/button";
|
|
7
|
-
import * as i3 from "@angular/material/icon";
|
|
8
|
-
import * as i4 from "@angular/material/card";
|
|
9
|
-
/** Guided tour component. */
|
|
10
|
-
export class AppGuidedTourComponent {
|
|
11
|
-
/**
|
|
12
|
-
* @param tour Guided tour service.
|
|
13
|
-
* @param data Guided tour step data.
|
|
14
|
-
*/
|
|
15
|
-
constructor(tour, data) {
|
|
16
|
-
this.tour = tour;
|
|
17
|
-
this.data = data;
|
|
18
|
-
}
|
|
19
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourComponent, deps: [{ token: i1.AppGuidedTourService }, { token: GUIDED_TOUR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: AppGuidedTourComponent, selector: "app-guided-tour", ngImport: i0, template: "<mat-card>\n <mat-card-header>\n <mat-card-title>{{ data.title }}</mat-card-title>\n <mat-card-subtitle>{{ data.subtitle }}</mat-card-subtitle>\n </mat-card-header>\n\n <mat-card-content>\n <p>{{ data.description }}</p>\n </mat-card-content>\n\n <mat-card-actions class=\"actions\">\n <button mat-button [disabled]=\"data.first\" (click)=\"tour.previous()\" color=\"primary\">\n <mat-icon>chevron_left</mat-icon>\n Previous\n </button>\n\n <button mat-button (click)=\"tour.end()\" color=\"warn\">\n <mat-icon>close</mat-icon>\n End\n </button>\n\n <button mat-button [disabled]=\"data.last\" (click)=\"tour.next()\" color=\"primary\">\n Next\n <mat-icon>chevron_right</mat-icon>\n </button>\n </mat-card-actions>\n</mat-card>\n", styles: [":host{display:block}.actions>*:not(:first-child):not(:last-child){margin:0 6px}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourComponent, decorators: [{
|
|
23
|
-
type: Component,
|
|
24
|
-
args: [{ selector: 'app-guided-tour', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card>\n <mat-card-header>\n <mat-card-title>{{ data.title }}</mat-card-title>\n <mat-card-subtitle>{{ data.subtitle }}</mat-card-subtitle>\n </mat-card-header>\n\n <mat-card-content>\n <p>{{ data.description }}</p>\n </mat-card-content>\n\n <mat-card-actions class=\"actions\">\n <button mat-button [disabled]=\"data.first\" (click)=\"tour.previous()\" color=\"primary\">\n <mat-icon>chevron_left</mat-icon>\n Previous\n </button>\n\n <button mat-button (click)=\"tour.end()\" color=\"warn\">\n <mat-icon>close</mat-icon>\n End\n </button>\n\n <button mat-button [disabled]=\"data.last\" (click)=\"tour.next()\" color=\"primary\">\n Next\n <mat-icon>chevron_right</mat-icon>\n </button>\n </mat-card-actions>\n</mat-card>\n", styles: [":host{display:block}.actions>*:not(:first-child):not(:last-child){margin:0 6px}\n"] }]
|
|
25
|
-
}], ctorParameters: () => [{ type: i1.AppGuidedTourService }, { type: undefined, decorators: [{
|
|
26
|
-
type: Inject,
|
|
27
|
-
args: [GUIDED_TOUR_DATA]
|
|
28
|
-
}] }] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXRvdXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jbGllbnQtZ3VpZGVkLXRvdXIvc3JjL2xpYi9jb21wb25lbnRzL2d1aWRlZC10b3VyL2d1aWRlZC10b3VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2xpZW50LWd1aWRlZC10b3VyL3NyYy9saWIvY29tcG9uZW50cy9ndWlkZWQtdG91ci9ndWlkZWQtdG91ci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQUU1RSw2QkFBNkI7QUFPN0IsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQzs7O09BR0c7SUFDSCxZQUNrQixJQUEwQixFQUNBLElBQXFCO1FBRC9DLFNBQUksR0FBSixJQUFJLENBQXNCO1FBQ0EsU0FBSSxHQUFKLElBQUksQ0FBaUI7SUFDOUQsQ0FBQztpSUFSTyxzQkFBc0Isc0RBT3ZCLGdCQUFnQjtxSEFQZixzQkFBc0IsdURDWm5DLHl4QkEyQkE7OzJGRGZhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTs7MEJBUzVDLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcEd1aWRlZFRvdXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZ3VpZGVkLXRvdXIvZ3VpZGVkLXRvdXIuc2VydmljZSc7XG5pbXBvcnQgeyBHVUlERURfVE9VUl9EQVRBLCBJR3VpZGVkVG91ckRhdGEgfSBmcm9tICcuL2d1aWRlZC10b3VyLmludGVyZmFjZSc7XG5cbi8qKiBHdWlkZWQgdG91ciBjb21wb25lbnQuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZ3VpZGVkLXRvdXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3VpZGVkLXRvdXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ndWlkZWQtdG91ci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXBwR3VpZGVkVG91ckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBAcGFyYW0gdG91ciAgR3VpZGVkIHRvdXIgc2VydmljZS5cbiAgICogQHBhcmFtIGRhdGEgR3VpZGVkIHRvdXIgc3RlcCBkYXRhLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHRvdXI6IEFwcEd1aWRlZFRvdXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoR1VJREVEX1RPVVJfREFUQSkgcHVibGljIHJlYWRvbmx5IGRhdGE6IElHdWlkZWRUb3VyRGF0YSxcbiAgKSB7fVxufVxuIiwiPG1hdC1jYXJkPlxuICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgIDxtYXQtY2FyZC10aXRsZT57eyBkYXRhLnRpdGxlIH19PC9tYXQtY2FyZC10aXRsZT5cbiAgICA8bWF0LWNhcmQtc3VidGl0bGU+e3sgZGF0YS5zdWJ0aXRsZSB9fTwvbWF0LWNhcmQtc3VidGl0bGU+XG4gIDwvbWF0LWNhcmQtaGVhZGVyPlxuXG4gIDxtYXQtY2FyZC1jb250ZW50PlxuICAgIDxwPnt7IGRhdGEuZGVzY3JpcHRpb24gfX08L3A+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cblxuICA8bWF0LWNhcmQtYWN0aW9ucyBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW2Rpc2FibGVkXT1cImRhdGEuZmlyc3RcIiAoY2xpY2spPVwidG91ci5wcmV2aW91cygpXCIgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICA8bWF0LWljb24+Y2hldnJvbl9sZWZ0PC9tYXQtaWNvbj5cbiAgICAgIFByZXZpb3VzXG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInRvdXIuZW5kKClcIiBjb2xvcj1cIndhcm5cIj5cbiAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICBFbmRcbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGF0YS5sYXN0XCIgKGNsaWNrKT1cInRvdXIubmV4dCgpXCIgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICBOZXh0XG4gICAgICA8bWF0LWljb24+Y2hldnJvbl9yaWdodDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LWNhcmQtYWN0aW9ucz5cbjwvbWF0LWNhcmQ+XG4iXX0=
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
|
2
|
-
import { ComponentPortal } from '@angular/cdk/portal';
|
|
3
|
-
import { DOCUMENT } from '@angular/common';
|
|
4
|
-
import { Directive, ElementRef, Inject, Injector, Input, ViewContainerRef } from '@angular/core';
|
|
5
|
-
import { OVERLAY_REFERENCE } from '../../providers/overlay.provider';
|
|
6
|
-
import { AppGuidedTourService } from '../../services/guided-tour/guided-tour.service';
|
|
7
|
-
import { AppGuidedTourComponent } from './guided-tour.component';
|
|
8
|
-
import { GUIDED_TOUR_DATA } from './guided-tour.interface';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
11
|
-
import * as i2 from "../../services/guided-tour/guided-tour.service";
|
|
12
|
-
/** Guided tour directive. */
|
|
13
|
-
export class AppGuidedTourDirective {
|
|
14
|
-
/**
|
|
15
|
-
* @param el A wrapper around a native element inside of a View.
|
|
16
|
-
* @param overlay Service to create Overlays.
|
|
17
|
-
* @param overlayConfig Initial configuration used when creating an overlay.
|
|
18
|
-
* @param viewContainerRef Represents a container where one or more views can be attached to a component.
|
|
19
|
-
* @param tour Guided tour service.
|
|
20
|
-
*/
|
|
21
|
-
constructor(el, overlay, overlayConfig, viewContainerRef, doc, tour) {
|
|
22
|
-
this.el = el;
|
|
23
|
-
this.overlay = overlay;
|
|
24
|
-
this.overlayConfig = overlayConfig;
|
|
25
|
-
this.viewContainerRef = viewContainerRef;
|
|
26
|
-
this.doc = doc;
|
|
27
|
-
this.tour = tour;
|
|
28
|
-
/** Guided tour step configuration. */
|
|
29
|
-
this.appGuidedTour = void 0;
|
|
30
|
-
this.highlightElement = false;
|
|
31
|
-
/** Connected positions configuration. */
|
|
32
|
-
this.flexibleConnectedPositions = [
|
|
33
|
-
// below the origin
|
|
34
|
-
{
|
|
35
|
-
originX: 'center',
|
|
36
|
-
originY: 'bottom',
|
|
37
|
-
overlayX: 'center',
|
|
38
|
-
overlayY: 'top',
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
originX: 'center',
|
|
42
|
-
originY: 'bottom',
|
|
43
|
-
overlayX: 'end',
|
|
44
|
-
overlayY: 'top',
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
originX: 'center',
|
|
48
|
-
originY: 'bottom',
|
|
49
|
-
overlayX: 'start',
|
|
50
|
-
overlayY: 'top',
|
|
51
|
-
},
|
|
52
|
-
// above the origin
|
|
53
|
-
{
|
|
54
|
-
originX: 'center',
|
|
55
|
-
originY: 'top',
|
|
56
|
-
overlayX: 'center',
|
|
57
|
-
overlayY: 'bottom',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
originX: 'center',
|
|
61
|
-
originY: 'top',
|
|
62
|
-
overlayX: 'end',
|
|
63
|
-
overlayY: 'bottom',
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
originX: 'center',
|
|
67
|
-
originY: 'top',
|
|
68
|
-
overlayX: 'start',
|
|
69
|
-
overlayY: 'bottom',
|
|
70
|
-
},
|
|
71
|
-
// to the left of the origin
|
|
72
|
-
{
|
|
73
|
-
originX: 'start',
|
|
74
|
-
originY: 'top',
|
|
75
|
-
overlayX: 'end',
|
|
76
|
-
overlayY: 'top',
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
originX: 'start',
|
|
80
|
-
originY: 'center',
|
|
81
|
-
overlayX: 'end',
|
|
82
|
-
overlayY: 'center',
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
originX: 'start',
|
|
86
|
-
originY: 'bottom',
|
|
87
|
-
overlayX: 'end',
|
|
88
|
-
overlayY: 'bottom',
|
|
89
|
-
},
|
|
90
|
-
// to the right of the origin
|
|
91
|
-
{
|
|
92
|
-
originX: 'end',
|
|
93
|
-
originY: 'top',
|
|
94
|
-
overlayX: 'start',
|
|
95
|
-
overlayY: 'top',
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
originX: 'end',
|
|
99
|
-
originY: 'center',
|
|
100
|
-
overlayX: 'start',
|
|
101
|
-
overlayY: 'center',
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
originX: 'end',
|
|
105
|
-
originY: 'bottom',
|
|
106
|
-
overlayX: 'start',
|
|
107
|
-
overlayY: 'bottom',
|
|
108
|
-
},
|
|
109
|
-
];
|
|
110
|
-
/** Scroll strategy. */
|
|
111
|
-
this.scrollStrategy = 'reposition';
|
|
112
|
-
/** Native element frame. */
|
|
113
|
-
this.nativeElementFrame = this.doc.createElement('div');
|
|
114
|
-
/** Overlay reference. */
|
|
115
|
-
this.overlayRef = null;
|
|
116
|
-
}
|
|
117
|
-
/** Overlay configurator. */
|
|
118
|
-
configureOverlay() {
|
|
119
|
-
const positionHost = this.nativeElement;
|
|
120
|
-
if (typeof positionHost !== 'undefined') {
|
|
121
|
-
this.overlayConfig.hasBackdrop = false;
|
|
122
|
-
this.overlayConfig.panelClass = '';
|
|
123
|
-
this.overlayConfig.minHeight = void 0;
|
|
124
|
-
this.overlayConfig.minWidth = void 0;
|
|
125
|
-
this.overlayConfig.maxHeight = void 0;
|
|
126
|
-
this.overlayConfig.maxWidth = void 0;
|
|
127
|
-
this.overlayConfig.height = void 0;
|
|
128
|
-
this.overlayConfig.width = void 0;
|
|
129
|
-
switch (this.scrollStrategy) {
|
|
130
|
-
case 'block':
|
|
131
|
-
this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.block();
|
|
132
|
-
break;
|
|
133
|
-
case 'close':
|
|
134
|
-
this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.close();
|
|
135
|
-
break;
|
|
136
|
-
case 'noop':
|
|
137
|
-
this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.noop();
|
|
138
|
-
break;
|
|
139
|
-
case 'reposition':
|
|
140
|
-
default:
|
|
141
|
-
this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.reposition();
|
|
142
|
-
break;
|
|
143
|
-
}
|
|
144
|
-
this.overlayConfig.positionStrategy = this.overlay
|
|
145
|
-
.position()
|
|
146
|
-
.flexibleConnectedTo(positionHost)
|
|
147
|
-
.setOrigin(positionHost)
|
|
148
|
-
.withPositions(this.flexibleConnectedPositions);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
/** Overlay creator. */
|
|
152
|
-
createOverlay() {
|
|
153
|
-
if (this.overlayRef === null) {
|
|
154
|
-
this.configureOverlay();
|
|
155
|
-
this.overlayRef = this.overlay.create(this.overlayConfig);
|
|
156
|
-
}
|
|
157
|
-
return this.overlayRef;
|
|
158
|
-
}
|
|
159
|
-
/** Disposes an overlay. */
|
|
160
|
-
dispose() {
|
|
161
|
-
if (this.overlayRef !== null) {
|
|
162
|
-
void this.overlayRef?.detach();
|
|
163
|
-
void this.overlayRef?.dispose();
|
|
164
|
-
this.overlayRef = null;
|
|
165
|
-
this.decorateNativeEl(true);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
/** Displays an overlay. */
|
|
169
|
-
display() {
|
|
170
|
-
if (typeof this.appGuidedTour !== 'undefined' && !this.overlayRef?.hasAttached) {
|
|
171
|
-
const overlayRef = this.createOverlay();
|
|
172
|
-
const context = Injector.create({
|
|
173
|
-
providers: [
|
|
174
|
-
{
|
|
175
|
-
provide: OVERLAY_REFERENCE,
|
|
176
|
-
useValue: overlayRef,
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
provide: GUIDED_TOUR_DATA,
|
|
180
|
-
useValue: { ...this.appGuidedTour },
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
provide: AppGuidedTourService,
|
|
184
|
-
useValue: this.tour,
|
|
185
|
-
},
|
|
186
|
-
],
|
|
187
|
-
});
|
|
188
|
-
const portal = new ComponentPortal(AppGuidedTourComponent, this.viewContainerRef, context);
|
|
189
|
-
const ref = this.overlayRef?.attach(portal);
|
|
190
|
-
ref?.changeDetectorRef.detectChanges();
|
|
191
|
-
this.decorateNativeEl();
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
/** Adds elevation to the DOM element and scrolls the element into view. */
|
|
195
|
-
decorateNativeEl(reset) {
|
|
196
|
-
if (typeof this.nativeElement !== 'undefined' && this.highlightElement) {
|
|
197
|
-
const rect = this.nativeElement.getBoundingClientRect();
|
|
198
|
-
this.nativeElementOriginalPosition = this.nativeElement.style.position;
|
|
199
|
-
this.nativeElement.style.position = 'relative';
|
|
200
|
-
this.nativeElementFrame.style.position = 'absolute';
|
|
201
|
-
this.nativeElementFrame.style.width = `${rect.width}px`;
|
|
202
|
-
this.nativeElementFrame.style.height = `${rect.height}px`;
|
|
203
|
-
this.nativeElementFrame.style.top = '0px';
|
|
204
|
-
this.nativeElementFrame.style.left = '0px';
|
|
205
|
-
this.nativeElementFrame.style.zIndex = '999';
|
|
206
|
-
this.nativeElementFrame.style.boxShadow = '0 0 0 1000px rgba(0,0,0,0.3)';
|
|
207
|
-
this.nativeElementFrame.style.boxShadow = '0 0 0 1000vmax rgba(0,0,0,0.3)';
|
|
208
|
-
this.nativeElementFrame.style.pointerEvents = 'none';
|
|
209
|
-
if (reset === true) {
|
|
210
|
-
this.nativeElement.removeChild(this.nativeElementFrame);
|
|
211
|
-
this.nativeElement.style.position = this.nativeElementOriginalPosition;
|
|
212
|
-
return;
|
|
213
|
-
}
|
|
214
|
-
this.nativeElement.scrollIntoView({ behavior: 'smooth' });
|
|
215
|
-
this.nativeElement.appendChild(this.nativeElementFrame);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
ngAfterContentInit() {
|
|
219
|
-
this.nativeElement = this.el.nativeElement;
|
|
220
|
-
}
|
|
221
|
-
ngOnDestroy() {
|
|
222
|
-
this.dispose();
|
|
223
|
-
}
|
|
224
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourDirective, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i1.OverlayConfig }, { token: i0.ViewContainerRef }, { token: DOCUMENT }, { token: i2.AppGuidedTourService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
225
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: AppGuidedTourDirective, selector: "[appGuidedTour]", inputs: { appGuidedTour: "appGuidedTour", highlightElement: "highlightElement", flexibleConnectedPositions: "flexibleConnectedPositions", scrollStrategy: "scrollStrategy" }, ngImport: i0 }); }
|
|
226
|
-
}
|
|
227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourDirective, decorators: [{
|
|
228
|
-
type: Directive,
|
|
229
|
-
args: [{
|
|
230
|
-
selector: '[appGuidedTour]',
|
|
231
|
-
}]
|
|
232
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i1.OverlayConfig }, { type: i0.ViewContainerRef }, { type: Document, decorators: [{
|
|
233
|
-
type: Inject,
|
|
234
|
-
args: [DOCUMENT]
|
|
235
|
-
}] }, { type: i2.AppGuidedTourService }], propDecorators: { appGuidedTour: [{
|
|
236
|
-
type: Input
|
|
237
|
-
}], highlightElement: [{
|
|
238
|
-
type: Input
|
|
239
|
-
}], flexibleConnectedPositions: [{
|
|
240
|
-
type: Input
|
|
241
|
-
}], scrollStrategy: [{
|
|
242
|
-
type: Input
|
|
243
|
-
}] } });
|
|
244
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXRvdXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jbGllbnQtZ3VpZGVkLXRvdXIvc3JjL2xpYi9jb21wb25lbnRzL2d1aWRlZC10b3VyL2d1aWRlZC10b3VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFFNUUsNkJBQTZCO0FBSTdCLE1BQU0sT0FBTyxzQkFBc0I7SUFxR2pDOzs7Ozs7T0FNRztJQUNILFlBQ21CLEVBQWMsRUFDZCxPQUFnQixFQUNoQixhQUE0QixFQUM1QixnQkFBa0MsRUFDaEIsR0FBYSxFQUMvQixJQUEwQjtRQUwxQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2hCLFFBQUcsR0FBSCxHQUFHLENBQVU7UUFDL0IsU0FBSSxHQUFKLElB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QUdVLDBCQUEwQjtzQkFBekMsS0FBSztnQkFnRlUsY0FBYztzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT1ZFUkxBWV9SRUZFUkVOQ0UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvb3ZlcmxheS5wcm92aWRlcic7XG5pbXBvcnQgeyBBcHBHdWlkZWRUb3VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2d1aWRlZC10b3VyL2d1aWRlZC10b3VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwR3VpZGVkVG91ckNvbXBvbmVudCB9IGZyb20gJy4vZ3VpZGVkLXRvdXIuY29tcG9uZW50JztcbmltcG9ydCB7IEdVSURFRF9UT1VSX0RBVEEsIElHdWlkZWRUb3VyRGF0YSB9IGZyb20gJy4vZ3VpZGVkLXRvdXIuaW50ZXJmYWNlJztcblxuLyoqIEd1aWRlZCB0b3VyIGRpcmVjdGl2ZS4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thcHBHdWlkZWRUb3VyXScsXG59KVxuZXhwb3J0IGNsYXNzIEFwcEd1aWRlZFRvdXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAvKiogR3VpZGVkIHRvdXIgc3RlcCBjb25maWd1cmF0aW9uLiAqL1xuICBASW5wdXQoKSBwdWJsaWMgYXBwR3VpZGVkVG91cjogSUd1aWRlZFRvdXJEYXRhIHwgdW5kZWZpbmVkID0gdm9pZCAwO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWdobGlnaHRFbGVtZW50ID0gZmFsc2U7XG5cbiAgLyoqIENvbm5lY3RlZCBwb3NpdGlvbnMgY29uZmlndXJhdGlvbi4gKi9cbiAgQElucHV0KCkgcHVibGljIGZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICAgIC8vIGJlbG93IHRoZSBvcmlnaW5cbiAgICB7XG4gICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICB9LFxuICAgIC8vIGFib3ZlIHRoZSBvcmlnaW5cbiAgICB7XG4gICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICB9LFxuICAgIC8vIHRvIHRoZSBsZWZ0IG9mIHRoZSBvcmlnaW5cbiAgICB7XG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXG4gICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICBvdmVybGF5WTogJ2NlbnRlcicsXG4gICAgfSxcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgfSxcbiAgICAvLyB0byB0aGUgcmlnaHQgb2YgdGhlIG9yaWdpblxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICB9LFxuICBdO1xuXG4gIC8qKiBTY3JvbGwgc3RyYXRlZ3kuICovXG4gIEBJbnB1dCgpIHB1YmxpYyBzY3JvbGxTdHJhdGVneTogJ2Jsb2NrJyB8ICdjbG9zZScgfCAnbm9vcCcgfCAncmVwb3NpdGlvbicgPSAncmVwb3NpdGlvbic7XG5cbiAgLyoqIE5hdGl2ZSBlbGVtZW50IHJlZi4gKi9cbiAgcHJpdmF0ZSBuYXRpdmVFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqIE9yaWdpbmFsIHBvc2l0aW9uIG9mIHRoZSBuYXRpdmUgZWxlbWVudC4gKi9cbiAgcHJpdmF0ZSBuYXRpdmVFbGVtZW50T3JpZ2luYWxQb3NpdGlvbj86IHN0cmluZztcblxuICAvKiogTmF0aXZlIGVsZW1lbnQgZnJhbWUuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlRWxlbWVudEZyYW1lOiBIVE1MRWxlbWVudCA9IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gIC8qKiBPdmVybGF5IHJlZmVyZW5jZS4gKi9cbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBlbCBBIHdyYXBwZXIgYXJvdW5kIGEgbmF0aXZlIGVsZW1lbnQgaW5zaWRlIG9mIGEgVmlldy5cbiAgICogQHBhcmFtIG92ZXJsYXkgU2VydmljZSB0byBjcmVhdGUgT3ZlcmxheXMuXG4gICAqIEBwYXJhbSBvdmVybGF5Q29uZmlnIEluaXRpYWwgY29uZmlndXJhdGlvbiB1c2VkIHdoZW4gY3JlYXRpbmcgYW4gb3ZlcmxheS5cbiAgICogQHBhcmFtIHZpZXdDb250YWluZXJSZWYgUmVwcmVzZW50cyBhIGNvbnRhaW5lciB3aGVyZSBvbmUgb3IgbW9yZSB2aWV3cyBjYW4gYmUgYXR0YWNoZWQgdG8gYSBjb21wb25lbnQuXG4gICAqIEBwYXJhbSB0b3VyIEd1aWRlZCB0b3VyIHNlcnZpY2UuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXlDb25maWc6IE92ZXJsYXlDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jOiBEb2N1bWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvdXI6IEFwcEd1aWRlZFRvdXJTZXJ2aWNlLFxuICApIHt9XG5cbiAgLyoqIE92ZXJsYXkgY29uZmlndXJhdG9yLiAqL1xuICBwcml2YXRlIGNvbmZpZ3VyZU92ZXJsYXkoKTogdm9pZCB7XG4gICAgY29uc3QgcG9zaXRpb25Ib3N0ID0gdGhpcy5uYXRpdmVFbGVtZW50O1xuICAgIGlmICh0eXBlb2YgcG9zaXRpb25Ib3N0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhpcy5vdmVybGF5Q29uZmlnLmhhc0JhY2tkcm9wID0gZmFsc2U7XG4gICAgICB0aGlzLm92ZXJsYXlDb25maWcucGFuZWxDbGFzcyA9ICcnO1xuICAgICAgdGhpcy5vdmVybGF5Q29uZmlnLm1pbkhlaWdodCA9IHZvaWQgMDtcbiAgICAgIHRoaXMub3ZlcmxheUNvbmZpZy5taW5XaWR0aCA9IHZvaWQgMDtcbiAgICAgIHRoaXMub3ZlcmxheUNvbmZpZy5tYXhIZWlnaHQgPSB2b2lkIDA7XG4gICAgICB0aGlzLm92ZXJsYXlDb25maWcubWF4V2lkdGggPSB2b2lkIDA7XG4gICAgICB0aGlzLm92ZXJsYXlDb25maWcuaGVpZ2h0ID0gdm9pZCAwO1xuICAgICAgdGhpcy5vdmVybGF5Q29uZmlnLndpZHRoID0gdm9pZCAwO1xuICAgICAgc3dpdGNoICh0aGlzLnNjcm9sbFN0cmF0ZWd5KSB7XG4gICAgICAgIGNhc2UgJ2Jsb2NrJzpcbiAgICAgICAgICB0aGlzLm92ZXJsYXlDb25maWcuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdjbG9zZSc6XG4gICAgICAgICAgdGhpcy5vdmVybGF5Q29uZmlnLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbm9vcCc6XG4gICAgICAgICAgdGhpcy5vdmVybGF5Q29uZmlnLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyZXBvc2l0aW9uJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLm92ZXJsYXlDb25maWcuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLm92ZXJsYXlDb25maWcucG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhwb3NpdGlvbkhvc3QpXG4gICAgICAgIC5zZXRPcmlnaW4ocG9zaXRpb25Ib3N0KVxuICAgICAgICAud2l0aFBvc2l0aW9ucyh0aGlzLmZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25zKTtcbiAgICB9XG4gIH1cblxuICAvKiogT3ZlcmxheSBjcmVhdG9yLiAqL1xuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoKTogT3ZlcmxheVJlZiB8IG51bGwge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuY29uZmlndXJlT3ZlcmxheSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh0aGlzLm92ZXJsYXlDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5vdmVybGF5UmVmO1xuICB9XG5cbiAgLyoqIERpc3Bvc2VzIGFuIG92ZXJsYXkuICovXG4gIHB1YmxpYyBkaXNwb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYgIT09IG51bGwpIHtcbiAgICAgIHZvaWQgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICAgIHZvaWQgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuICAgICAgdGhpcy5kZWNvcmF0ZU5hdGl2ZUVsKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBEaXNwbGF5cyBhbiBvdmVybGF5LiAqL1xuICBwdWJsaWMgZGlzcGxheSgpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuYXBwR3VpZGVkVG91ciAhPT0gJ3VuZGVmaW5lZCcgJiYgIXRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQpIHtcbiAgICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLmNyZWF0ZU92ZXJsYXkoKTtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBPVkVSTEFZX1JFRkVSRU5DRSxcbiAgICAgICAgICAgIHVzZVZhbHVlOiBvdmVybGF5UmVmLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogR1VJREVEX1RPVVJfREFUQSxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7IC4uLnRoaXMuYXBwR3VpZGVkVG91ciB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQXBwR3VpZGVkVG91clNlcnZpY2UsXG4gICAgICAgICAgICB1c2VWYWx1ZTogdGhpcy50b3VyLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoQXBwR3VpZGVkVG91ckNvbXBvbmVudCwgdGhpcy52aWV3Q29udGFpbmVyUmVmLCBjb250ZXh0KTtcbiAgICAgIGNvbnN0IHJlZiA9IHRoaXMub3ZlcmxheVJlZj8uYXR0YWNoKHBvcnRhbCk7XG4gICAgICByZWY/LmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMuZGVjb3JhdGVOYXRpdmVFbCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBZGRzIGVsZXZhdGlvbiB0byB0aGUgRE9NIGVsZW1lbnQgYW5kIHNjcm9sbHMgdGhlIGVsZW1lbnQgaW50byB2aWV3LiAqL1xuICBwcml2YXRlIGRlY29yYXRlTmF0aXZlRWwocmVzZXQ/OiBib29sZWFuKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLm5hdGl2ZUVsZW1lbnQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuaGlnaGxpZ2h0RWxlbWVudCkge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMubmF0aXZlRWxlbWVudE9yaWdpbmFsUG9zaXRpb24gPSB0aGlzLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9zaXRpb247XG4gICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xuICAgICAgdGhpcy5uYXRpdmVFbGVtZW50RnJhbWUuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgdGhpcy5uYXRpdmVFbGVtZW50RnJhbWUuc3R5bGUud2lkdGggPSBgJHtyZWN0LndpZHRofXB4YDtcbiAgICAgIHRoaXMubmF0aXZlRWxlbWVudEZyYW1lLnN0eWxlLmhlaWdodCA9IGAke3JlY3QuaGVpZ2h0fXB4YDtcbiAgICAgIHRoaXMubmF0aXZlRWxlbWVudEZyYW1lLnN0eWxlLnRvcCA9ICcwcHgnO1xuICAgICAgdGhpcy5uYXRpdmVFbGVtZW50RnJhbWUuc3R5bGUubGVmdCA9ICcwcHgnO1xuICAgICAgdGhpcy5uYXRpdmVFbGVtZW50RnJhbWUuc3R5bGUuekluZGV4ID0gJzk5OSc7XG4gICAgICB0aGlzLm5hdGl2ZUVsZW1lbnRGcmFtZS5zdHlsZS5ib3hTaGFkb3cgPSAnMCAwIDAgMTAwMHB4IHJnYmEoMCwwLDAsMC4zKSc7XG4gICAgICB0aGlzLm5hdGl2ZUVsZW1lbnRGcmFtZS5zdHlsZS5ib3hTaGFkb3cgPSAnMCAwIDAgMTAwMHZtYXggcmdiYSgwLDAsMCwwLjMpJztcbiAgICAgIHRoaXMubmF0aXZlRWxlbWVudEZyYW1lLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XG4gICAgICBpZiAocmVzZXQgPT09IHRydWUpIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMubmF0aXZlRWxlbWVudEZyYW1lKTtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gdGhpcy5uYXRpdmVFbGVtZW50T3JpZ2luYWxQb3NpdGlvbjtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMubmF0aXZlRWxlbWVudEZyYW1lKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMubmF0aXZlRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
/** Guided tour step data injection token. */
|
|
3
|
-
export const GUIDED_TOUR_DATA = new InjectionToken('GUIDED_TOUR_DATA');
|
|
4
|
-
/** Guided tour step data provider. */
|
|
5
|
-
export const guidedTourDataProvider = {
|
|
6
|
-
provide: GUIDED_TOUR_DATA,
|
|
7
|
-
useValue: {
|
|
8
|
-
index: 0,
|
|
9
|
-
title: '',
|
|
10
|
-
subtitle: '',
|
|
11
|
-
description: '',
|
|
12
|
-
first: true,
|
|
13
|
-
last: true,
|
|
14
|
-
},
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXRvdXIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jbGllbnQtZ3VpZGVkLXRvdXIvc3JjL2xpYi9jb21wb25lbnRzL2d1aWRlZC10b3VyL2d1aWRlZC10b3VyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBWXpELDZDQUE2QztBQUM3QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBa0Isa0JBQWtCLENBQUMsQ0FBQztBQUV4RixzQ0FBc0M7QUFDdEMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQWE7SUFDOUMsT0FBTyxFQUFFLGdCQUFnQjtJQUN6QixRQUFRLEVBQW1CO1FBQ3pCLEtBQUssRUFBRSxDQUFDO1FBQ1IsS0FBSyxFQUFFLEVBQUU7UUFDVCxRQUFRLEVBQUUsRUFBRTtRQUNaLFdBQVcsRUFBRSxFQUFFO1FBQ2YsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKiogR3VpZGVkIHRvdXIgc3RlcCBkYXRhLiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR3VpZGVkVG91ckRhdGEge1xuICBpbmRleDogbnVtYmVyO1xuICB0aXRsZTogc3RyaW5nO1xuICBzdWJ0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBmaXJzdDogYm9vbGVhbjtcbiAgbGFzdDogYm9vbGVhbjtcbn1cblxuLyoqIEd1aWRlZCB0b3VyIHN0ZXAgZGF0YSBpbmplY3Rpb24gdG9rZW4uICovXG5leHBvcnQgY29uc3QgR1VJREVEX1RPVVJfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJR3VpZGVkVG91ckRhdGE+KCdHVUlERURfVE9VUl9EQVRBJyk7XG5cbi8qKiBHdWlkZWQgdG91ciBzdGVwIGRhdGEgcHJvdmlkZXIuICovXG5leHBvcnQgY29uc3QgZ3VpZGVkVG91ckRhdGFQcm92aWRlcjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IEdVSURFRF9UT1VSX0RBVEEsXG4gIHVzZVZhbHVlOiA8SUd1aWRlZFRvdXJEYXRhPntcbiAgICBpbmRleDogMCxcbiAgICB0aXRsZTogJycsXG4gICAgc3VidGl0bGU6ICcnLFxuICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICBmaXJzdDogdHJ1ZSxcbiAgICBsYXN0OiB0cnVlLFxuICB9LFxufTtcbiJdfQ==
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, QueryList, signal, ViewChildren } from '@angular/core';
|
|
2
|
-
import { AppGuidedTourService } from '../../services/guided-tour/guided-tour.service';
|
|
3
|
-
import { AppGuidedTourDirective } from '../guided-tour/guided-tour.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../services/guided-tour/guided-tour.service";
|
|
6
|
-
import * as i2 from "@angular/common";
|
|
7
|
-
import * as i3 from "@angular/material/button";
|
|
8
|
-
import * as i4 from "../guided-tour/guided-tour.directive";
|
|
9
|
-
/** An example of a guided tour. */
|
|
10
|
-
export class AppGuidedTourExampleComponent {
|
|
11
|
-
/**
|
|
12
|
-
* @param tour Guided tour service.
|
|
13
|
-
*/
|
|
14
|
-
constructor(tour) {
|
|
15
|
-
this.tour = tour;
|
|
16
|
-
/** Example tour configuration. */
|
|
17
|
-
this.tourConig$ = signal([
|
|
18
|
-
{
|
|
19
|
-
index: 0,
|
|
20
|
-
title: 'first',
|
|
21
|
-
subtitle: 'First step',
|
|
22
|
-
description: 'The first step. Highlighting disabled.',
|
|
23
|
-
first: true,
|
|
24
|
-
last: false,
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
index: 1,
|
|
28
|
-
title: 'second',
|
|
29
|
-
subtitle: 'Second step',
|
|
30
|
-
description: 'The second step. Highlighting enabled.',
|
|
31
|
-
first: false,
|
|
32
|
-
last: false,
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
index: 2,
|
|
36
|
-
title: 'third',
|
|
37
|
-
subtitle: 'Third step',
|
|
38
|
-
description: 'The third step. Highlighting enabled.',
|
|
39
|
-
first: false,
|
|
40
|
-
last: false,
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
index: 3,
|
|
44
|
-
title: 'fourth',
|
|
45
|
-
subtitle: 'Fourth step',
|
|
46
|
-
description: 'The fourth step. Highlighting enabled.',
|
|
47
|
-
first: false,
|
|
48
|
-
last: false,
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
index: 4,
|
|
52
|
-
title: 'fifth',
|
|
53
|
-
subtitle: 'Fifth step',
|
|
54
|
-
description: 'The fifth and the final step. Highlighting enabled.',
|
|
55
|
-
first: false,
|
|
56
|
-
last: true,
|
|
57
|
-
},
|
|
58
|
-
]);
|
|
59
|
-
}
|
|
60
|
-
ngAfterViewInit() {
|
|
61
|
-
this.tour.configuration = [...this.steps];
|
|
62
|
-
}
|
|
63
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourExampleComponent, deps: [{ token: i1.AppGuidedTourService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: AppGuidedTourExampleComponent, selector: "app-guided-tour-example", providers: [AppGuidedTourService], viewQueries: [{ propertyName: "steps", predicate: AppGuidedTourDirective, descendants: true }], ngImport: i0, template: "@if (!tour.active) {\n <button mat-raised-button color=\"accent\" (click)=\"tour.next()\">Start tour</button>\n} @else {\n <button mat-raised-button color=\"warn\" (click)=\"tour.end()\">End tour</button>\n}\n\n@if (tourConig$(); as config) {\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(4)\" [highlightElement]=\"true\">fifth item to explain</span>\n </div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(1)\" [highlightElement]=\"true\">second item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(2)\" [highlightElement]=\"true\">third item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(0)\">first item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(3)\" [highlightElement]=\"true\">fourth item to explain</span>\n </div>\n}\n", styles: [":host{display:block;padding:16px}\n"], dependencies: [{ kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i4.AppGuidedTourDirective, selector: "[appGuidedTour]", inputs: ["appGuidedTour", "highlightElement", "flexibleConnectedPositions", "scrollStrategy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
65
|
-
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourExampleComponent, decorators: [{
|
|
67
|
-
type: Component,
|
|
68
|
-
args: [{ selector: 'app-guided-tour-example', providers: [AppGuidedTourService], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!tour.active) {\n <button mat-raised-button color=\"accent\" (click)=\"tour.next()\">Start tour</button>\n} @else {\n <button mat-raised-button color=\"warn\" (click)=\"tour.end()\">End tour</button>\n}\n\n@if (tourConig$(); as config) {\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(4)\" [highlightElement]=\"true\">fifth item to explain</span>\n </div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(1)\" [highlightElement]=\"true\">second item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(2)\" [highlightElement]=\"true\">third item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [appGuidedTour]=\"config.at(0)\">first item to explain</div>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <p>... Some content ...</p>\n <div [ngStyle]=\"{ width: '100%' }\">\n <span [ngStyle]=\"{ display: 'inline-block', width: '80%' }\">... Some content ...</span>\n <span [appGuidedTour]=\"config.at(3)\" [highlightElement]=\"true\">fourth item to explain</span>\n </div>\n}\n", styles: [":host{display:block;padding:16px}\n"] }]
|
|
69
|
-
}], ctorParameters: () => [{ type: i1.AppGuidedTourService }], propDecorators: { steps: [{
|
|
70
|
-
type: ViewChildren,
|
|
71
|
-
args: [AppGuidedTourDirective]
|
|
72
|
-
}] } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXRvdXItZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NsaWVudC1ndWlkZWQtdG91ci9zcmMvbGliL2NvbXBvbmVudHMvZ3VpZGVkLXRvdXItZXhhbXBsZS9ndWlkZWQtdG91ci1leGFtcGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2xpZW50LWd1aWRlZC10b3VyL3NyYy9saWIvY29tcG9uZW50cy9ndWlkZWQtdG91ci1leGFtcGxlL2d1aWRlZC10b3VyLWV4YW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQUc5RSxtQ0FBbUM7QUFRbkMsTUFBTSxPQUFPLDZCQUE2QjtJQWdEeEM7O09BRUc7SUFDSCxZQUE0QixJQUEwQjtRQUExQixTQUFJLEdBQUosSUFBSSxDQUFzQjtRQS9DdEQsa0NBQWtDO1FBQzNCLGVBQVUsR0FBRyxNQUFNLENBQW9CO1lBQzVDO2dCQUNFLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssRUFBRSxPQUFPO2dCQUNkLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixXQUFXLEVBQUUsd0NBQXdDO2dCQUNyRCxLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUUsS0FBSzthQUNaO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLFdBQVcsRUFBRSx3Q0FBd0M7Z0JBQ3JELEtBQUssRUFBRSxLQUFLO2dCQUNaLElBQUksRUFBRSxLQUFLO2FBQ1o7WUFDRDtnQkFDRSxLQUFLLEVBQUUsQ0FBQztnQkFDUixLQUFLLEVBQUUsT0FBTztnQkFDZCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsV0FBVyxFQUFFLHVDQUF1QztnQkFDcEQsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osSUFBSSxFQUFFLEtBQUs7YUFDWjtZQUNEO2dCQUNFLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssRUFBRSxRQUFRO2dCQUNmLFFBQVEsRUFBRSxhQUFhO2dCQUN2QixXQUFXLEVBQUUsd0NBQXdDO2dCQUNyRCxLQUFLLEVBQUUsS0FBSztnQkFDWixJQUFJLEVBQUUsS0FBSzthQUNaO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFdBQVcsRUFBRSxxREFBcUQ7Z0JBQ2xFLEtBQUssRUFBRSxLQUFLO2dCQUNaLElBQUksRUFBRSxJQUFJO2FBQ1g7U0FDRixDQUFDLENBQUM7SUFLc0QsQ0FBQztJQUVuRCxlQUFlO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztpSUF2RFUsNkJBQTZCO3FIQUE3Qiw2QkFBNkIsa0RBSDdCLENBQUMsb0JBQW9CLENBQUMsb0RBS25CLHNCQUFzQixnRENoQnRDLDB0REEyQ0E7OzJGRDdCYSw2QkFBNkI7a0JBUHpDLFNBQVM7K0JBQ0UseUJBQXlCLGFBR3hCLENBQUMsb0JBQW9CLENBQUMsbUJBQ2hCLHVCQUF1QixDQUFDLE1BQU07eUZBSUYsS0FBSztzQkFBakQsWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBRdWVyeUxpc3QsIHNpZ25hbCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcEd1aWRlZFRvdXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZ3VpZGVkLXRvdXIvZ3VpZGVkLXRvdXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBHdWlkZWRUb3VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZ3VpZGVkLXRvdXIvZ3VpZGVkLXRvdXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IElHdWlkZWRUb3VyRGF0YSB9IGZyb20gJy4uL2d1aWRlZC10b3VyL2d1aWRlZC10b3VyLmludGVyZmFjZSc7XG5cbi8qKiBBbiBleGFtcGxlIG9mIGEgZ3VpZGVkIHRvdXIuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZ3VpZGVkLXRvdXItZXhhbXBsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ndWlkZWQtdG91ci1leGFtcGxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3VpZGVkLXRvdXItZXhhbXBsZS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtBcHBHdWlkZWRUb3VyU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBHdWlkZWRUb3VyRXhhbXBsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAvKiogVG91ciBzdGVwcy4gKi9cbiAgQFZpZXdDaGlsZHJlbihBcHBHdWlkZWRUb3VyRGlyZWN0aXZlKSBwdWJsaWMgc3RlcHMhOiBRdWVyeUxpc3Q8QXBwR3VpZGVkVG91ckRpcmVjdGl2ZT47XG5cbiAgLyoqIEV4YW1wbGUgdG91ciBjb25maWd1cmF0aW9uLiAqL1xuICBwdWJsaWMgdG91ckNvbmlnJCA9IHNpZ25hbDxJR3VpZGVkVG91ckRhdGFbXT4oW1xuICAgIHtcbiAgICAgIGluZGV4OiAwLFxuICAgICAgdGl0bGU6ICdmaXJzdCcsXG4gICAgICBzdWJ0aXRsZTogJ0ZpcnN0IHN0ZXAnLFxuICAgICAgZGVzY3JpcHRpb246ICdUaGUgZmlyc3Qgc3RlcC4gSGlnaGxpZ2h0aW5nIGRpc2FibGVkLicsXG4gICAgICBmaXJzdDogdHJ1ZSxcbiAgICAgIGxhc3Q6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgaW5kZXg6IDEsXG4gICAgICB0aXRsZTogJ3NlY29uZCcsXG4gICAgICBzdWJ0aXRsZTogJ1NlY29uZCBzdGVwJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIHNlY29uZCBzdGVwLiBIaWdobGlnaHRpbmcgZW5hYmxlZC4nLFxuICAgICAgZmlyc3Q6IGZhbHNlLFxuICAgICAgbGFzdDogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBpbmRleDogMixcbiAgICAgIHRpdGxlOiAndGhpcmQnLFxuICAgICAgc3VidGl0bGU6ICdUaGlyZCBzdGVwJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIHRoaXJkIHN0ZXAuIEhpZ2hsaWdodGluZyBlbmFibGVkLicsXG4gICAgICBmaXJzdDogZmFsc2UsXG4gICAgICBsYXN0OiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGluZGV4OiAzLFxuICAgICAgdGl0bGU6ICdmb3VydGgnLFxuICAgICAgc3VidGl0bGU6ICdGb3VydGggc3RlcCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZSBmb3VydGggc3RlcC4gSGlnaGxpZ2h0aW5nIGVuYWJsZWQuJyxcbiAgICAgIGZpcnN0OiBmYWxzZSxcbiAgICAgIGxhc3Q6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgaW5kZXg6IDQsXG4gICAgICB0aXRsZTogJ2ZpZnRoJyxcbiAgICAgIHN1YnRpdGxlOiAnRmlmdGggc3RlcCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZSBmaWZ0aCBhbmQgdGhlIGZpbmFsIHN0ZXAuIEhpZ2hsaWdodGluZyBlbmFibGVkLicsXG4gICAgICBmaXJzdDogZmFsc2UsXG4gICAgICBsYXN0OiB0cnVlLFxuICAgIH0sXG4gIF0pO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gdG91ciBHdWlkZWQgdG91ciBzZXJ2aWNlLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHRvdXI6IEFwcEd1aWRlZFRvdXJTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50b3VyLmNvbmZpZ3VyYXRpb24gPSBbLi4udGhpcy5zdGVwc107XG4gIH1cbn1cbiIsIkBpZiAoIXRvdXIuYWN0aXZlKSB7XG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwidG91ci5uZXh0KClcIj5TdGFydCB0b3VyPC9idXR0b24+XG59IEBlbHNlIHtcbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cIndhcm5cIiAoY2xpY2spPVwidG91ci5lbmQoKVwiPkVuZCB0b3VyPC9idXR0b24+XG59XG5cbkBpZiAodG91ckNvbmlnJCgpOyBhcyBjb25maWcpIHtcbiAgPGRpdiBbbmdTdHlsZV09XCJ7IHdpZHRoOiAnMTAwJScgfVwiPlxuICAgIDxzcGFuIFtuZ1N0eWxlXT1cInsgZGlzcGxheTogJ2lubGluZS1ibG9jaycsIHdpZHRoOiAnODAlJyB9XCI+Li4uIFNvbWUgY29udGVudCAuLi48L3NwYW4+XG4gICAgPHNwYW4gW2FwcEd1aWRlZFRvdXJdPVwiY29uZmlnLmF0KDQpXCIgW2hpZ2hsaWdodEVsZW1lbnRdPVwidHJ1ZVwiPmZpZnRoIGl0ZW0gdG8gZXhwbGFpbjwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxwPi4uLiBTb21lIGNvbnRlbnQgLi4uPC9wPlxuICA8cD4uLi4gU29tZSBjb250ZW50IC4uLjwvcD5cbiAgPHA+Li4uIFNvbWUgY29udGVudCAuLi48L3A+XG4gIDxwPi4uLiBTb21lIGNvbnRlbnQgLi4uPC9wPlxuICA8cD4uLi4gU29tZSBjb250ZW50IC4uLjwvcD5cbiAgPHA+Li4uIFNvbWUgY29udGVudCAuLi48L3A+XG4gIDxkaXYgW2FwcEd1aWRlZFRvdXJdPVwiY29uZmlnLmF0KDEpXCIgW2hpZ2hsaWdodEVsZW1lbnRdPVwidHJ1ZVwiPnNlY29uZCBpdGVtIHRvIGV4cGxhaW48L2Rpdj5cbiAgPHA+Li4uIFNvbWUgY29udGVudCAuLi48L3A+XG4gIDxwPi4uLiBTb21lIGNvbnRlbnQgLi4uPC9wPlxuICA8cD4uLi4gU29tZSBjb250ZW50IC4uLjwvcD5cbiAgPHA+Li4uIFNvbWUgY29udGVudCAuLi48L3A+XG4gIDxwPi4uLiBTb21lIGNvbnRlbnQgLi4uPC9wPlxuICA8cD4uLi4gU29tZSBjb250ZW50IC4uLjwvcD5cbiAgPGRpdiBbYXBwR3VpZGVkVG91cl09XCJjb25maWcuYXQoMilcIiBbaGlnaGxpZ2h0RWxlbWVudF09XCJ0cnVlXCI+dGhpcmQgaXRlbSB0byBleHBsYWluPC9kaXY+XG4gIDxwPi4uLiBTb21lIGNvbnRlbnQgLi4uPC9wPlxuICA8cD4uLi4gU29tZSBjb250ZW50IC4uLjwvcD5cbiAgPHA+Li4uIFNvbWUgY29udGVudCAuLi48L3A+XG4gIDxwPi4uLiBTb21lIGNvbnRlbnQgLi4uPC9wPlxuICA8cD4uLi4gU29tZSBjb250ZW50IC4uLjwvcD5cbiAgPHA+Li4uIFNvbWUgY29udGVudCAuLi48L3A+XG4gIDxkaXYgW2FwcEd1aWRlZFRvdXJdPVwiY29uZmlnLmF0KDApXCI+Zmlyc3QgaXRlbSB0byBleHBsYWluPC9kaXY+XG4gIDxwPi4uLiBTb21lIGNvbnRlbnQgLi4uPC9wPlxuICA8cD4uLi4gU29tZSBjb250ZW50IC4uLjwvcD5cbiAgPHA+Li4uIFNvbWUgY29udGVudCAuLi48L3A+XG4gIDxwPi4uLiBTb21lIGNvbnRlbnQgLi4uPC9wPlxuICA8cD4uLi4gU29tZSBjb250ZW50IC4uLjwvcD5cbiAgPHA+Li4uIFNvbWUgY29udGVudCAuLi48L3A+XG4gIDxkaXYgW25nU3R5bGVdPVwieyB3aWR0aDogJzEwMCUnIH1cIj5cbiAgICA8c3BhbiBbbmdTdHlsZV09XCJ7IGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLCB3aWR0aDogJzgwJScgfVwiPi4uLiBTb21lIGNvbnRlbnQgLi4uPC9zcGFuPlxuICAgIDxzcGFuIFthcHBHdWlkZWRUb3VyXT1cImNvbmZpZy5hdCgzKVwiIFtoaWdobGlnaHRFbGVtZW50XT1cInRydWVcIj5mb3VydGggaXRlbSB0byBleHBsYWluPC9zcGFuPlxuICA8L2Rpdj5cbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './guided-tour/guided-tour.directive';
|
|
2
|
-
export * from './guided-tour/guided-tour.interface';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NsaWVudC1ndWlkZWQtdG91ci9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ndWlkZWQtdG91ci9ndWlkZWQtdG91ci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9ndWlkZWQtdG91ci9ndWlkZWQtdG91ci5pbnRlcmZhY2UnO1xuIl19
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { RouterModule } from '@angular/router';
|
|
3
|
-
import { AppGuidedTourExampleComponent } from './components/guided-tour-example/guided-tour-example.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/router";
|
|
6
|
-
const routes = [
|
|
7
|
-
{
|
|
8
|
-
path: '',
|
|
9
|
-
component: AppGuidedTourExampleComponent,
|
|
10
|
-
},
|
|
11
|
-
];
|
|
12
|
-
export class AppGuidedTourExampleRoutingModule {
|
|
13
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourExampleRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
14
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourExampleRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
|
|
15
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourExampleRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourExampleRoutingModule, decorators: [{
|
|
18
|
-
type: NgModule,
|
|
19
|
-
args: [{
|
|
20
|
-
imports: [RouterModule.forChild(routes)],
|
|
21
|
-
exports: [RouterModule],
|
|
22
|
-
}]
|
|
23
|
-
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXRvdXItZXhhbXBsZS1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY2xpZW50LWd1aWRlZC10b3VyL3NyYy9saWIvZ3VpZGVkLXRvdXItZXhhbXBsZS1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBUyxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7O0FBRS9HLE1BQU0sTUFBTSxHQUFZO0lBQ3RCO1FBQ0UsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsNkJBQTZCO0tBQ3pDO0NBQ0YsQ0FBQztBQU1GLE1BQU0sT0FBTyxpQ0FBaUM7aUlBQWpDLGlDQUFpQztrSUFBakMsaUNBQWlDLHdDQUZsQyxZQUFZO2tJQUVYLGlDQUFpQyxZQUhsQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUM3QixZQUFZOzsyRkFFWCxpQ0FBaUM7a0JBSjdDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZSwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQXBwR3VpZGVkVG91ckV4YW1wbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ3VpZGVkLXRvdXItZXhhbXBsZS9ndWlkZWQtdG91ci1leGFtcGxlLmNvbXBvbmVudCc7XG5cbmNvbnN0IHJvdXRlczogUm91dGVbXSA9IFtcbiAge1xuICAgIHBhdGg6ICcnLFxuICAgIGNvbXBvbmVudDogQXBwR3VpZGVkVG91ckV4YW1wbGVDb21wb25lbnQsXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwR3VpZGVkVG91ckV4YW1wbGVSb3V0aW5nTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { AppGuidedTourExampleComponent } from './components/guided-tour-example/guided-tour-example.component';
|
|
6
|
-
import { AppGuidedTourModule } from './guided-tour.module';
|
|
7
|
-
import { AppGuidedTourExampleRoutingModule } from './guided-tour-example-routing.module';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class AppGuidedTourExampleModule {
|
|
10
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourExampleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourExampleModule, declarations: [AppGuidedTourExampleComponent], imports: [CommonModule, MatButtonModule, MatIconModule, AppGuidedTourModule, AppGuidedTourExampleRoutingModule] }); }
|
|
12
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourExampleModule, imports: [CommonModule, MatButtonModule, MatIconModule, AppGuidedTourModule, AppGuidedTourExampleRoutingModule] }); }
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourExampleModule, decorators: [{
|
|
15
|
-
type: NgModule,
|
|
16
|
-
args: [{
|
|
17
|
-
imports: [CommonModule, MatButtonModule, MatIconModule, AppGuidedTourModule, AppGuidedTourExampleRoutingModule],
|
|
18
|
-
declarations: [AppGuidedTourExampleComponent],
|
|
19
|
-
}]
|
|
20
|
-
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXRvdXItZXhhbXBsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NsaWVudC1ndWlkZWQtdG91ci9zcmMvbGliL2d1aWRlZC10b3VyLWV4YW1wbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDL0csT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBTXpGLE1BQU0sT0FBTywwQkFBMEI7aUlBQTFCLDBCQUEwQjtrSUFBMUIsMEJBQTBCLGlCQUZ0Qiw2QkFBNkIsYUFEbEMsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsaUNBQWlDO2tJQUduRywwQkFBMEIsWUFIM0IsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsaUNBQWlDOzsyRkFHbkcsMEJBQTBCO2tCQUp0QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLGlDQUFpQyxDQUFDO29CQUMvRyxZQUFZLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7IEFwcEd1aWRlZFRvdXJFeGFtcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2d1aWRlZC10b3VyLWV4YW1wbGUvZ3VpZGVkLXRvdXItZXhhbXBsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwR3VpZGVkVG91ck1vZHVsZSB9IGZyb20gJy4vZ3VpZGVkLXRvdXIubW9kdWxlJztcbmltcG9ydCB7IEFwcEd1aWRlZFRvdXJFeGFtcGxlUm91dGluZ01vZHVsZSB9IGZyb20gJy4vZ3VpZGVkLXRvdXItZXhhbXBsZS1yb3V0aW5nLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgQXBwR3VpZGVkVG91ck1vZHVsZSwgQXBwR3VpZGVkVG91ckV4YW1wbGVSb3V0aW5nTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbQXBwR3VpZGVkVG91ckV4YW1wbGVDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBHdWlkZWRUb3VyRXhhbXBsZU1vZHVsZSB7fVxuIl19
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { OverlayModule } from '@angular/cdk/overlay';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatCardModule } from '@angular/material/card';
|
|
6
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
-
import { AppGuidedTourComponent } from './components/guided-tour/guided-tour.component';
|
|
8
|
-
import { AppGuidedTourDirective } from './components/guided-tour/guided-tour.directive';
|
|
9
|
-
import { overlayProvider } from './providers/overlay.provider';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
export class AppGuidedTourModule {
|
|
12
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourModule, declarations: [AppGuidedTourComponent, AppGuidedTourDirective], imports: [CommonModule, OverlayModule, MatButtonModule, MatIconModule, MatCardModule], exports: [AppGuidedTourDirective] }); }
|
|
14
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourModule, providers: [overlayProvider], imports: [CommonModule, OverlayModule, MatButtonModule, MatIconModule, MatCardModule] }); }
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourModule, decorators: [{
|
|
17
|
-
type: NgModule,
|
|
18
|
-
args: [{
|
|
19
|
-
imports: [CommonModule, OverlayModule, MatButtonModule, MatIconModule, MatCardModule],
|
|
20
|
-
declarations: [AppGuidedTourComponent, AppGuidedTourDirective],
|
|
21
|
-
providers: [overlayProvider],
|
|
22
|
-
exports: [AppGuidedTourDirective],
|
|
23
|
-
}]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXRvdXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jbGllbnQtZ3VpZGVkLXRvdXIvc3JjL2xpYi9ndWlkZWQtdG91ci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFRL0QsTUFBTSxPQUFPLG1CQUFtQjtpSUFBbkIsbUJBQW1CO2tJQUFuQixtQkFBbUIsaUJBSmYsc0JBQXNCLEVBQUUsc0JBQXNCLGFBRG5ELFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhLGFBRzFFLHNCQUFzQjtrSUFFckIsbUJBQW1CLGFBSG5CLENBQUMsZUFBZSxDQUFDLFlBRmxCLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhOzsyRkFLekUsbUJBQW1CO2tCQU4vQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUM7b0JBQ3JGLFlBQVksRUFBRSxDQUFDLHNCQUFzQixFQUFFLHNCQUFzQixDQUFDO29CQUM5RCxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzVCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7IEFwcEd1aWRlZFRvdXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ3VpZGVkLXRvdXIvZ3VpZGVkLXRvdXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcEd1aWRlZFRvdXJEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvZ3VpZGVkLXRvdXIvZ3VpZGVkLXRvdXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IG92ZXJsYXlQcm92aWRlciB9IGZyb20gJy4vcHJvdmlkZXJzL292ZXJsYXkucHJvdmlkZXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPdmVybGF5TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdENhcmRNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtBcHBHdWlkZWRUb3VyQ29tcG9uZW50LCBBcHBHdWlkZWRUb3VyRGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbb3ZlcmxheVByb3ZpZGVyXSxcbiAgZXhwb3J0czogW0FwcEd1aWRlZFRvdXJEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBHdWlkZWRUb3VyTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { OverlayConfig } from '@angular/cdk/overlay';
|
|
2
|
-
import { InjectionToken } from '@angular/core';
|
|
3
|
-
/** The overlay reference injection token. */
|
|
4
|
-
export const OVERLAY_REFERENCE = new InjectionToken('OverlayReference');
|
|
5
|
-
/** Overlay config provider. */
|
|
6
|
-
export const overlayProvider = {
|
|
7
|
-
provide: OverlayConfig,
|
|
8
|
-
useFactory: () => new OverlayConfig({
|
|
9
|
-
direction: 'ltr',
|
|
10
|
-
}),
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2xpZW50LWd1aWRlZC10b3VyL3NyYy9saWIvcHJvdmlkZXJzL292ZXJsYXkucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFekQsNkNBQTZDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFhLGtCQUFrQixDQUFDLENBQUM7QUFFcEYsK0JBQStCO0FBQy9CLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBYTtJQUN2QyxPQUFPLEVBQUUsYUFBYTtJQUN0QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQ2YsSUFBSSxhQUFhLENBQUM7UUFDaEIsU0FBUyxFQUFFLEtBQUs7S0FDakIsQ0FBQztDQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKiBUaGUgb3ZlcmxheSByZWZlcmVuY2UgaW5qZWN0aW9uIHRva2VuLiAqL1xuZXhwb3J0IGNvbnN0IE9WRVJMQVlfUkVGRVJFTkNFID0gbmV3IEluamVjdGlvblRva2VuPE92ZXJsYXlSZWY+KCdPdmVybGF5UmVmZXJlbmNlJyk7XG5cbi8qKiBPdmVybGF5IGNvbmZpZyBwcm92aWRlci4gKi9cbmV4cG9ydCBjb25zdCBvdmVybGF5UHJvdmlkZXI6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBPdmVybGF5Q29uZmlnLFxuICB1c2VGYWN0b3J5OiAoKSA9PlxuICAgIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGRpcmVjdGlvbjogJ2x0cicsXG4gICAgfSksXG59O1xuIl19
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* @title Guided tour service.
|
|
5
|
-
* @description This service should be injected once for each tour. Use component `providers` array to declare.
|
|
6
|
-
*/
|
|
7
|
-
export class AppGuidedTourService {
|
|
8
|
-
constructor() {
|
|
9
|
-
/** Guider tour steps. */
|
|
10
|
-
this.steps = [];
|
|
11
|
-
}
|
|
12
|
-
/** Guided tour step configuration. */
|
|
13
|
-
set configuration(steps) {
|
|
14
|
-
this.steps = steps.sort((x, y) => (x.appGuidedTour?.index ?? 0) - (y.appGuidedTour?.index ?? 0));
|
|
15
|
-
}
|
|
16
|
-
/** Activate next step. */
|
|
17
|
-
next() {
|
|
18
|
-
this.active?.dispose();
|
|
19
|
-
const stepIndex = (this.active?.appGuidedTour?.index ?? -1) + 1;
|
|
20
|
-
if (stepIndex <= this.steps.length - 1) {
|
|
21
|
-
this.active = this.steps.at(stepIndex);
|
|
22
|
-
if (typeof this.active !== 'undefined') {
|
|
23
|
-
this.active.display();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
/** Activate previous step. */
|
|
28
|
-
previous() {
|
|
29
|
-
this.active?.dispose();
|
|
30
|
-
const stepIndex = (this.active?.appGuidedTour?.index ?? -1) - 1;
|
|
31
|
-
if (stepIndex >= 0) {
|
|
32
|
-
this.active = this.steps.at(stepIndex);
|
|
33
|
-
if (typeof this.active !== 'undefined') {
|
|
34
|
-
this.active.display();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/** End tour. */
|
|
39
|
-
end() {
|
|
40
|
-
this.active?.dispose();
|
|
41
|
-
this.active = void 0;
|
|
42
|
-
}
|
|
43
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourService, providedIn: 'any' }); }
|
|
45
|
-
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AppGuidedTourService, decorators: [{
|
|
47
|
-
type: Injectable,
|
|
48
|
-
args: [{
|
|
49
|
-
providedIn: 'any',
|
|
50
|
-
}]
|
|
51
|
-
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXRvdXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2xpZW50LWd1aWRlZC10b3VyL3NyYy9saWIvc2VydmljZXMvZ3VpZGVkLXRvdXIvZ3VpZGVkLXRvdXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQzs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSUUseUJBQXlCO1FBQ2pCLFVBQUssR0FBNkIsRUFBRSxDQUFDO0tBdUM5QztJQXJDQyxzQ0FBc0M7SUFDdEMsSUFBVyxhQUFhLENBQUMsS0FBK0I7UUFDdEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUtELDBCQUEwQjtJQUNuQixJQUFJO1FBQ1QsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN2QixNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRSxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELDhCQUE4QjtJQUN2QixRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN2QixNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRSxJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtJQUNULEdBQUc7UUFDUixJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztpSUF4Q1Usb0JBQW9CO3FJQUFwQixvQkFBb0IsY0FGbkIsS0FBSzs7MkZBRU4sb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxLQUFLO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBwR3VpZGVkVG91ckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZ3VpZGVkLXRvdXIvZ3VpZGVkLXRvdXIuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBAdGl0bGUgR3VpZGVkIHRvdXIgc2VydmljZS5cbiAqIEBkZXNjcmlwdGlvbiBUaGlzIHNlcnZpY2Ugc2hvdWxkIGJlIGluamVjdGVkIG9uY2UgZm9yIGVhY2ggdG91ci4gVXNlIGNvbXBvbmVudCBgcHJvdmlkZXJzYCBhcnJheSB0byBkZWNsYXJlLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBHdWlkZWRUb3VyU2VydmljZSB7XG4gIC8qKiBHdWlkZXIgdG91ciBzdGVwcy4gKi9cbiAgcHJpdmF0ZSBzdGVwczogQXBwR3VpZGVkVG91ckRpcmVjdGl2ZVtdID0gW107XG5cbiAgLyoqIEd1aWRlZCB0b3VyIHN0ZXAgY29uZmlndXJhdGlvbi4gKi9cbiAgcHVibGljIHNldCBjb25maWd1cmF0aW9uKHN0ZXBzOiBBcHBHdWlkZWRUb3VyRGlyZWN0aXZlW10pIHtcbiAgICB0aGlzLnN0ZXBzID0gc3RlcHMuc29ydCgoeCwgeSkgPT4gKHguYXBwR3VpZGVkVG91cj8uaW5kZXggPz8gMCkgLSAoeS5hcHBHdWlkZWRUb3VyPy5pbmRleCA/PyAwKSk7XG4gIH1cblxuICAvKiogQWN0aXZlIHN0ZXAuICovXG4gIHB1YmxpYyBhY3RpdmU/OiBBcHBHdWlkZWRUb3VyRGlyZWN0aXZlO1xuXG4gIC8qKiBBY3RpdmF0ZSBuZXh0IHN0ZXAuICovXG4gIHB1YmxpYyBuZXh0KCkge1xuICAgIHRoaXMuYWN0aXZlPy5kaXNwb3NlKCk7XG4gICAgY29uc3Qgc3RlcEluZGV4ID0gKHRoaXMuYWN0aXZlPy5hcHBHdWlkZWRUb3VyPy5pbmRleCA/PyAtMSkgKyAxO1xuICAgIGlmIChzdGVwSW5kZXggPD0gdGhpcy5zdGVwcy5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLmFjdGl2ZSA9IHRoaXMuc3RlcHMuYXQoc3RlcEluZGV4KTtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5hY3RpdmUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlLmRpc3BsYXkoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQWN0aXZhdGUgcHJldmlvdXMgc3RlcC4gKi9cbiAgcHVibGljIHByZXZpb3VzKCkge1xuICAgIHRoaXMuYWN0aXZlPy5kaXNwb3NlKCk7XG4gICAgY29uc3Qgc3RlcEluZGV4ID0gKHRoaXMuYWN0aXZlPy5hcHBHdWlkZWRUb3VyPy5pbmRleCA/PyAtMSkgLSAxO1xuICAgIGlmIChzdGVwSW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5hY3RpdmUgPSB0aGlzLnN0ZXBzLmF0KHN0ZXBJbmRleCk7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuYWN0aXZlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0aGlzLmFjdGl2ZS5kaXNwbGF5KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEVuZCB0b3VyLiAqL1xuICBwdWJsaWMgZW5kKCkge1xuICAgIHRoaXMuYWN0aXZlPy5kaXNwb3NlKCk7XG4gICAgdGhpcy5hY3RpdmUgPSB2b2lkIDA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './guided-tour/guided-tour.service';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NsaWVudC1ndWlkZWQtdG91ci9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2d1aWRlZC10b3VyL2d1aWRlZC10b3VyLnNlcnZpY2UnO1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmZwcm9kei1jbGllbnQtZ3VpZGVkLXRvdXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2NsaWVudC1ndWlkZWQtdG91ci9zcmMvcmZwcm9kei1jbGllbnQtZ3VpZGVkLXRvdXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|