@rfprodz/client-guided-tour 1.0.0

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.
Files changed (30) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +117 -0
  3. package/esm2022/index.mjs +5 -0
  4. package/esm2022/lib/components/guided-tour/guided-tour.component.mjs +29 -0
  5. package/esm2022/lib/components/guided-tour/guided-tour.directive.mjs +183 -0
  6. package/esm2022/lib/components/guided-tour/guided-tour.interface.mjs +16 -0
  7. package/esm2022/lib/components/guided-tour-example/guided-tour-example.component.mjs +57 -0
  8. package/esm2022/lib/components/index.mjs +3 -0
  9. package/esm2022/lib/guided-tour-example-routing.module.mjs +24 -0
  10. package/esm2022/lib/guided-tour-example.module.mjs +21 -0
  11. package/esm2022/lib/guided-tour.module.mjs +25 -0
  12. package/esm2022/lib/providers/overlay.provider.mjs +12 -0
  13. package/esm2022/lib/services/guided-tour/guided-tour.service.mjs +52 -0
  14. package/esm2022/lib/services/index.mjs +2 -0
  15. package/esm2022/rfprodz-client-guided-tour.mjs +5 -0
  16. package/fesm2022/rfprodz-client-guided-tour.mjs +387 -0
  17. package/fesm2022/rfprodz-client-guided-tour.mjs.map +1 -0
  18. package/index.d.ts +4 -0
  19. package/lib/components/guided-tour/guided-tour.component.d.ts +15 -0
  20. package/lib/components/guided-tour/guided-tour.directive.d.ts +45 -0
  21. package/lib/components/guided-tour/guided-tour.interface.d.ts +14 -0
  22. package/lib/components/guided-tour-example/guided-tour-example.component.d.ts +20 -0
  23. package/lib/components/index.d.ts +2 -0
  24. package/lib/guided-tour-example-routing.module.d.ts +7 -0
  25. package/lib/guided-tour-example.module.d.ts +12 -0
  26. package/lib/guided-tour.module.d.ts +13 -0
  27. package/lib/providers/overlay.provider.d.ts +6 -0
  28. package/lib/services/guided-tour/guided-tour.service.d.ts +23 -0
  29. package/lib/services/index.d.ts +1 -0
  30. package/package.json +45 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2023 rfprod.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,117 @@
1
+ # Guided Tour Module for Angular
2
+
3
+ Guided tour feature for Angular clients.
4
+
5
+ ## Description
6
+
7
+ TBD
8
+
9
+ ## Usage
10
+
11
+ ### Within the development workspace
12
+
13
+ Import the module
14
+
15
+ ```typescript
16
+ ...
17
+ import { AppGuidedTourModule } from '@app/client-guided-tour';
18
+
19
+ @NgModule({
20
+ imports: [
21
+ ...
22
+ AppGuidedTourModule,
23
+ ...
24
+ ],
25
+ ...
26
+ })
27
+ export class AppModule {}
28
+ ```
29
+
30
+ ### As an external package
31
+
32
+ Install the package
33
+
34
+ ```bash
35
+ yarn add @rfprodz/client-guided-tour @angular/cdk @angular/common @angular/core @angular/material
36
+ ```
37
+
38
+ Import the module
39
+
40
+ ```typescript
41
+ ...
42
+ import { AppGuidedTourModule } from '@rfprodz/client-guided-tour';
43
+
44
+ @NgModule({
45
+ imports: [
46
+ ...
47
+ AppGuidedTourModule,
48
+ ...
49
+ ],
50
+ ...
51
+ })
52
+ export class AppModule {}
53
+ ```
54
+
55
+ Use in components
56
+
57
+ ```html
58
+ ...
59
+ <p>... Some content ...</p>
60
+
61
+ <div [appGuidedTour]="config.at(0)" [highlightElement]="false">first item to explain</div>
62
+
63
+ <p>... Some content ...</p>
64
+
65
+ <div [appGuidedTour]="config.at(1)" [highlightElement]="true">second item to explain</div>
66
+ ...
67
+ ```
68
+
69
+ ```typescript
70
+ @Component({
71
+ ...
72
+ providers: [AppGuidedTourService], // <-- declare a service
73
+ ...
74
+ })
75
+ export class GuidedComponent implements AfterViewInit {
76
+ /** Locate steps. */
77
+ @ViewChildren(AppGuidedTourDirective) public steps!: QueryList<AppGuidedTourDirective>;
78
+
79
+ /** Configure the tour. */
80
+ public tourConig$ = signal<IGuidedTourData[]>([
81
+ {
82
+ index: 0,
83
+ title: 'first',
84
+ subtitle: 'First step',
85
+ description: 'The first step. Highlighting disabled.',
86
+ first: true,
87
+ last: false,
88
+ },
89
+ {
90
+ index: 1,
91
+ title: 'second',
92
+ subtitle: 'Second step',
93
+ description: 'The second step. Highlighting enabled.',
94
+ first: false,
95
+ last: true,
96
+ },
97
+ ]);
98
+
99
+ constructor(public readonly tour: AppGuidedTourService) {}
100
+
101
+ public ngAfterViewInit(): void {
102
+ this.tour.configuration = this.steps; // <-- add steps to the service
103
+ }
104
+ }
105
+ ```
106
+
107
+ ## Developer commands reference
108
+
109
+ ```bash
110
+ npx nx run tools:help --search client-guided-tour:
111
+ ```
112
+
113
+ ## References
114
+
115
+ - [Nx](https://nx.dev)
116
+ - [Angular](https://angular.io)
117
+ - [Angular Material](https://material.angular.io)
@@ -0,0 +1,5 @@
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==
@@ -0,0 +1,29 @@
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: "17.0.7", 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: "17.0.7", 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: "17.0.7", 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=
@@ -0,0 +1,183 @@
1
+ import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
2
+ import { ComponentPortal } from '@angular/cdk/portal';
3
+ import { Directive, ElementRef, Injector, Input, ViewContainerRef } from '@angular/core';
4
+ import { OVERLAY_REFERENCE } from '../../providers/overlay.provider';
5
+ import { AppGuidedTourService } from '../../services/guided-tour/guided-tour.service';
6
+ import { AppGuidedTourComponent } from './guided-tour.component';
7
+ import { GUIDED_TOUR_DATA } from './guided-tour.interface';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/cdk/overlay";
10
+ import * as i2 from "../../services/guided-tour/guided-tour.service";
11
+ /** Guided tour directive. */
12
+ export class AppGuidedTourDirective {
13
+ /**
14
+ * @param el A wrapper around a native element inside of a View.
15
+ * @param overlay Service to create Overlays.
16
+ * @param overlayConfig Initial configuration used when creating an overlay.
17
+ * @param viewContainerRef Represents a container where one or more views can be attached to a component.
18
+ * @param tour Guided tour service.
19
+ */
20
+ constructor(el, overlay, overlayConfig, viewContainerRef, tour) {
21
+ this.el = el;
22
+ this.overlay = overlay;
23
+ this.overlayConfig = overlayConfig;
24
+ this.viewContainerRef = viewContainerRef;
25
+ this.tour = tour;
26
+ /** Guided tour step configuration. */
27
+ this.appGuidedTour = void 0;
28
+ this.highlightElement = false;
29
+ /** Connected positions configuration. */
30
+ this.flexibleConnectedPositions = [
31
+ // below origin
32
+ {
33
+ originX: 'center',
34
+ originY: 'bottom',
35
+ overlayX: 'center',
36
+ overlayY: 'top',
37
+ },
38
+ {
39
+ originX: 'center',
40
+ originY: 'bottom',
41
+ overlayX: 'end',
42
+ overlayY: 'top',
43
+ },
44
+ {
45
+ originX: 'center',
46
+ originY: 'bottom',
47
+ overlayX: 'start',
48
+ overlayY: 'top',
49
+ },
50
+ // above origin
51
+ {
52
+ originX: 'center',
53
+ originY: 'top',
54
+ overlayX: 'center',
55
+ overlayY: 'bottom',
56
+ },
57
+ {
58
+ originX: 'center',
59
+ originY: 'top',
60
+ overlayX: 'end',
61
+ overlayY: 'bottom',
62
+ },
63
+ {
64
+ originX: 'center',
65
+ originY: 'top',
66
+ overlayX: 'start',
67
+ overlayY: 'bottom',
68
+ },
69
+ ];
70
+ /** Scroll strategy. */
71
+ this.scrollStrategy = 'reposition';
72
+ /** Overlay reference. */
73
+ this.overlayRef = null;
74
+ }
75
+ /** Overlay configurator. */
76
+ configureOverlay() {
77
+ const positionHost = this.nativeElement;
78
+ if (typeof positionHost !== 'undefined') {
79
+ this.overlayConfig.hasBackdrop = false;
80
+ this.overlayConfig.panelClass = '';
81
+ this.overlayConfig.minHeight = void 0;
82
+ this.overlayConfig.minWidth = void 0;
83
+ this.overlayConfig.maxHeight = void 0;
84
+ this.overlayConfig.maxWidth = void 0;
85
+ this.overlayConfig.height = void 0;
86
+ this.overlayConfig.width = void 0;
87
+ switch (this.scrollStrategy) {
88
+ case 'block':
89
+ this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.block();
90
+ break;
91
+ case 'close':
92
+ this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.close();
93
+ break;
94
+ case 'noop':
95
+ this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.noop();
96
+ break;
97
+ case 'reposition':
98
+ default:
99
+ this.overlayConfig.scrollStrategy = this.overlay.scrollStrategies.reposition();
100
+ break;
101
+ }
102
+ this.overlayConfig.positionStrategy = this.overlay
103
+ .position()
104
+ .flexibleConnectedTo(positionHost)
105
+ .setOrigin(positionHost)
106
+ .withPositions(this.flexibleConnectedPositions);
107
+ }
108
+ }
109
+ /** Overlay creator. */
110
+ createOverlay() {
111
+ if (this.overlayRef === null) {
112
+ this.configureOverlay();
113
+ this.overlayRef = this.overlay.create(this.overlayConfig);
114
+ }
115
+ return this.overlayRef;
116
+ }
117
+ /** Disposes an overlay. */
118
+ dispose() {
119
+ if (this.overlayRef !== null) {
120
+ void this.overlayRef?.detach();
121
+ void this.overlayRef?.dispose();
122
+ this.overlayRef = null;
123
+ this.decorateNativeEl(true);
124
+ }
125
+ }
126
+ /** Displays an overlay. */
127
+ display() {
128
+ if (typeof this.appGuidedTour !== 'undefined' && !this.overlayRef?.hasAttached) {
129
+ const overlayRef = this.createOverlay();
130
+ const context = Injector.create({
131
+ providers: [
132
+ {
133
+ provide: OVERLAY_REFERENCE,
134
+ useValue: overlayRef,
135
+ },
136
+ {
137
+ provide: GUIDED_TOUR_DATA,
138
+ useValue: { ...this.appGuidedTour },
139
+ },
140
+ {
141
+ provide: AppGuidedTourService,
142
+ useValue: this.tour,
143
+ },
144
+ ],
145
+ });
146
+ const portal = new ComponentPortal(AppGuidedTourComponent, this.viewContainerRef, context);
147
+ void this.overlayRef?.attach(portal);
148
+ this.decorateNativeEl();
149
+ }
150
+ }
151
+ decorateNativeEl(reset) {
152
+ if (typeof this.nativeElement !== 'undefined' && this.highlightElement) {
153
+ if (reset === true) {
154
+ this.nativeElement.style.border = 'unset';
155
+ return;
156
+ }
157
+ this.nativeElement.style.border = '1px dotted black';
158
+ }
159
+ }
160
+ ngAfterContentInit() {
161
+ this.nativeElement = this.el.nativeElement;
162
+ }
163
+ ngOnDestroy() {
164
+ this.dispose();
165
+ }
166
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AppGuidedTourDirective, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i1.OverlayConfig }, { token: i0.ViewContainerRef }, { token: i2.AppGuidedTourService }], target: i0.ɵɵFactoryTarget.Directive }); }
167
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: AppGuidedTourDirective, selector: "[appGuidedTour]", inputs: { appGuidedTour: "appGuidedTour", highlightElement: "highlightElement", flexibleConnectedPositions: "flexibleConnectedPositions", scrollStrategy: "scrollStrategy" }, ngImport: i0 }); }
168
+ }
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AppGuidedTourDirective, decorators: [{
170
+ type: Directive,
171
+ args: [{
172
+ selector: '[appGuidedTour]',
173
+ }]
174
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i1.OverlayConfig }, { type: i0.ViewContainerRef }, { type: i2.AppGuidedTourService }], propDecorators: { appGuidedTour: [{
175
+ type: Input
176
+ }], highlightElement: [{
177
+ type: Input
178
+ }], flexibleConnectedPositions: [{
179
+ type: Input
180
+ }], scrollStrategy: [{
181
+ type: Input
182
+ }] } });
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXRvdXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jbGllbnQtZ3VpZGVkLXRvdXIvc3JjL2xpYi9jb21wb25lbnRzL2d1aWRlZC10b3VyL2d1aWRlZC10b3VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFvQixTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFtQixNQUFNLHlCQUF5QixDQUFDOzs7O0FBRTVFLDZCQUE2QjtBQUk3QixNQUFNLE9BQU8sc0JBQXNCO0lBeURqQzs7Ozs7O09BTUc7SUFDSCxZQUNtQixFQUFjLEVBQ2QsT0FBZ0IsRUFDaEIsYUFBNEIsRUFDNUIsZ0JBQWtDLEVBQ2xDLElBQTBCO1FBSjFCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsU0FBSSxHQUFKLElBQUksQ0FBc0I7UUFwRTdDLHNDQUFzQztRQUN0QixrQkFBYSxHQUFnQyxLQUFLLENBQUMsQ0FBQztRQUVwRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekMs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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT1ZFUkxBWV9SRUZFUkVOQ0UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvb3ZlcmxheS5wcm92aWRlcic7XG5pbXBvcnQgeyBBcHBHdWlkZWRUb3VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2d1aWRlZC10b3VyL2d1aWRlZC10b3VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwR3VpZGVkVG91ckNvbXBvbmVudCB9IGZyb20gJy4vZ3VpZGVkLXRvdXIuY29tcG9uZW50JztcbmltcG9ydCB7IEdVSURFRF9UT1VSX0RBVEEsIElHdWlkZWRUb3VyRGF0YSB9IGZyb20gJy4vZ3VpZGVkLXRvdXIuaW50ZXJmYWNlJztcblxuLyoqIEd1aWRlZCB0b3VyIGRpcmVjdGl2ZS4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thcHBHdWlkZWRUb3VyXScsXG59KVxuZXhwb3J0IGNsYXNzIEFwcEd1aWRlZFRvdXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAvKiogR3VpZGVkIHRvdXIgc3RlcCBjb25maWd1cmF0aW9uLiAqL1xuICBASW5wdXQoKSBwdWJsaWMgYXBwR3VpZGVkVG91cjogSUd1aWRlZFRvdXJEYXRhIHwgdW5kZWZpbmVkID0gdm9pZCAwO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWdobGlnaHRFbGVtZW50ID0gZmFsc2U7XG5cbiAgLyoqIENvbm5lY3RlZCBwb3NpdGlvbnMgY29uZmlndXJhdGlvbi4gKi9cbiAgQElucHV0KCkgcHVibGljIGZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICAgIC8vIGJlbG93IG9yaWdpblxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgIH0sXG4gICAgLy8gYWJvdmUgb3JpZ2luXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgfSxcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgfSxcbiAgXTtcblxuICAvKiogU2Nyb2xsIHN0cmF0ZWd5LiAqL1xuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsU3RyYXRlZ3k6ICdibG9jaycgfCAnY2xvc2UnIHwgJ25vb3AnIHwgJ3JlcG9zaXRpb24nID0gJ3JlcG9zaXRpb24nO1xuXG4gIC8qKiBOYXRpdmUgZWxlbWVudCByZWYuICovXG4gIHByaXZhdGUgbmF0aXZlRWxlbWVudD86IEhUTUxFbGVtZW50O1xuXG4gIC8qKiBPdmVybGF5IHJlZmVyZW5jZS4gKi9cbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBlbCBBIHdyYXBwZXIgYXJvdW5kIGEgbmF0aXZlIGVsZW1lbnQgaW5zaWRlIG9mIGEgVmlldy5cbiAgICogQHBhcmFtIG92ZXJsYXkgU2VydmljZSB0byBjcmVhdGUgT3ZlcmxheXMuXG4gICAqIEBwYXJhbSBvdmVybGF5Q29uZmlnIEluaXRpYWwgY29uZmlndXJhdGlvbiB1c2VkIHdoZW4gY3JlYXRpbmcgYW4gb3ZlcmxheS5cbiAgICogQHBhcmFtIHZpZXdDb250YWluZXJSZWYgUmVwcmVzZW50cyBhIGNvbnRhaW5lciB3aGVyZSBvbmUgb3IgbW9yZSB2aWV3cyBjYW4gYmUgYXR0YWNoZWQgdG8gYSBjb21wb25lbnQuXG4gICAqIEBwYXJhbSB0b3VyIEd1aWRlZCB0b3VyIHNlcnZpY2UuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXlDb25maWc6IE92ZXJsYXlDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG91cjogQXBwR3VpZGVkVG91clNlcnZpY2UsXG4gICkge31cblxuICAvKiogT3ZlcmxheSBjb25maWd1cmF0b3IuICovXG4gIHByaXZhdGUgY29uZmlndXJlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvbkhvc3QgPSB0aGlzLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHR5cGVvZiBwb3NpdGlvbkhvc3QgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLm92ZXJsYXlDb25maWcuaGFzQmFja2Ryb3AgPSBmYWxzZTtcbiAgICAgIHRoaXMub3ZlcmxheUNvbmZpZy5wYW5lbENsYXNzID0gJyc7XG4gICAgICB0aGlzLm92ZXJsYXlDb25maWcubWluSGVpZ2h0ID0gdm9pZCAwO1xuICAgICAgdGhpcy5vdmVybGF5Q29uZmlnLm1pbldpZHRoID0gdm9pZCAwO1xuICAgICAgdGhpcy5vdmVybGF5Q29uZmlnLm1heEhlaWdodCA9IHZvaWQgMDtcbiAgICAgIHRoaXMub3ZlcmxheUNvbmZpZy5tYXhXaWR0aCA9IHZvaWQgMDtcbiAgICAgIHRoaXMub3ZlcmxheUNvbmZpZy5oZWlnaHQgPSB2b2lkIDA7XG4gICAgICB0aGlzLm92ZXJsYXlDb25maWcud2lkdGggPSB2b2lkIDA7XG4gICAgICBzd2l0Y2ggKHRoaXMuc2Nyb2xsU3RyYXRlZ3kpIHtcbiAgICAgICAgY2FzZSAnYmxvY2snOlxuICAgICAgICAgIHRoaXMub3ZlcmxheUNvbmZpZy5zY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Nsb3NlJzpcbiAgICAgICAgICB0aGlzLm92ZXJsYXlDb25maWcuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdub29wJzpcbiAgICAgICAgICB0aGlzLm92ZXJsYXlDb25maWcuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ub29wKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3JlcG9zaXRpb24nOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRoaXMub3ZlcmxheUNvbmZpZy5zY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHRoaXMub3ZlcmxheUNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHBvc2l0aW9uSG9zdClcbiAgICAgICAgLnNldE9yaWdpbihwb3NpdGlvbkhvc3QpXG4gICAgICAgIC53aXRoUG9zaXRpb25zKHRoaXMuZmxleGlibGVDb25uZWN0ZWRQb3NpdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBPdmVybGF5IGNyZWF0b3IuICovXG4gIHByaXZhdGUgY3JlYXRlT3ZlcmxheSgpOiBPdmVybGF5UmVmIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZiA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5jb25maWd1cmVPdmVybGF5KCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHRoaXMub3ZlcmxheUNvbmZpZyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWY7XG4gIH1cblxuICAvKiogRGlzcG9zZXMgYW4gb3ZlcmxheS4gKi9cbiAgcHVibGljIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZiAhPT0gbnVsbCkge1xuICAgICAgdm9pZCB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgICAgdm9pZCB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XG4gICAgICB0aGlzLmRlY29yYXRlTmF0aXZlRWwodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIERpc3BsYXlzIGFuIG92ZXJsYXkuICovXG4gIHB1YmxpYyBkaXNwbGF5KCk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgdGhpcy5hcHBHdWlkZWRUb3VyICE9PSAndW5kZWZpbmVkJyAmJiAhdGhpcy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCkge1xuICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgICAgY29uc3QgY29udGV4dCA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE9WRVJMQVlfUkVGRVJFTkNFLFxuICAgICAgICAgICAgdXNlVmFsdWU6IG92ZXJsYXlSZWYsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBHVUlERURfVE9VUl9EQVRBLFxuICAgICAgICAgICAgdXNlVmFsdWU6IHsgLi4udGhpcy5hcHBHdWlkZWRUb3VyIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBcHBHdWlkZWRUb3VyU2VydmljZSxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB0aGlzLnRvdXIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChBcHBHdWlkZWRUb3VyQ29tcG9uZW50LCB0aGlzLnZpZXdDb250YWluZXJSZWYsIGNvbnRleHQpO1xuICAgICAgdm9pZCB0aGlzLm92ZXJsYXlSZWY/LmF0dGFjaChwb3J0YWwpO1xuICAgICAgdGhpcy5kZWNvcmF0ZU5hdGl2ZUVsKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZWNvcmF0ZU5hdGl2ZUVsKHJlc2V0PzogYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgdGhpcy5uYXRpdmVFbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmhpZ2hsaWdodEVsZW1lbnQpIHtcbiAgICAgIGlmIChyZXNldCA9PT0gdHJ1ZSkge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm9yZGVyID0gJ3Vuc2V0JztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnN0eWxlLmJvcmRlciA9ICcxcHggZG90dGVkIGJsYWNrJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMubmF0aXZlRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,16 @@
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==
@@ -0,0 +1,57 @@
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 final step. Highlighting enabled.',
39
+ first: false,
40
+ last: true,
41
+ },
42
+ ]);
43
+ }
44
+ ngAfterViewInit() {
45
+ this.tour.configuration = this.steps;
46
+ }
47
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AppGuidedTourExampleComponent, deps: [{ token: i1.AppGuidedTourService }], target: i0.ɵɵFactoryTarget.Component }); }
48
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.7", type: AppGuidedTourExampleComponent, selector: "app-guided-tour-example", providers: [AppGuidedTourService], viewQueries: [{ propertyName: "steps", predicate: AppGuidedTourDirective, descendants: true }], ngImport: i0, template: "<p>... Some content ...</p>\n\n<ng-container *ngIf=\"tourConig$() as config\">\n <div [appGuidedTour]=\"config.at(1)\" [highlightElement]=\"true\">second item to explain</div>\n\n <p>... Some content ...</p>\n\n <div [appGuidedTour]=\"config.at(2)\" [highlightElement]=\"true\">third item to explain</div>\n\n <p>... Some content ...</p>\n\n <div [appGuidedTour]=\"config.at(0)\">first item to explain</div>\n</ng-container>\n\n<p>... Some content ...</p>\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", styles: [":host{display:block;padding:16px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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 }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AppGuidedTourExampleComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ selector: 'app-guided-tour-example', providers: [AppGuidedTourService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p>... Some content ...</p>\n\n<ng-container *ngIf=\"tourConig$() as config\">\n <div [appGuidedTour]=\"config.at(1)\" [highlightElement]=\"true\">second item to explain</div>\n\n <p>... Some content ...</p>\n\n <div [appGuidedTour]=\"config.at(2)\" [highlightElement]=\"true\">third item to explain</div>\n\n <p>... Some content ...</p>\n\n <div [appGuidedTour]=\"config.at(0)\">first item to explain</div>\n</ng-container>\n\n<p>... Some content ...</p>\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", styles: [":host{display:block;padding:16px}\n"] }]
53
+ }], ctorParameters: () => [{ type: i1.AppGuidedTourService }], propDecorators: { steps: [{
54
+ type: ViewChildren,
55
+ args: [AppGuidedTourDirective]
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXRvdXItZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NsaWVudC1ndWlkZWQtdG91ci9zcmMvbGliL2NvbXBvbmVudHMvZ3VpZGVkLXRvdXItZXhhbXBsZS9ndWlkZWQtdG91ci1leGFtcGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2xpZW50LWd1aWRlZC10b3VyL3NyYy9saWIvY29tcG9uZW50cy9ndWlkZWQtdG91ci1leGFtcGxlL2d1aWRlZC10b3VyLWV4YW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQUc5RSxtQ0FBbUM7QUFRbkMsTUFBTSxPQUFPLDZCQUE2QjtJQWdDeEM7O09BRUc7SUFDSCxZQUE0QixJQUEwQjtRQUExQixTQUFJLEdBQUosSUFBSSxDQUFzQjtRQS9CdEQsa0NBQWtDO1FBQzNCLGVBQVUsR0FBRyxNQUFNLENBQW9CO1lBQzVDO2dCQUNFLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssRUFBRSxPQUFPO2dCQUNkLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixXQUFXLEVBQUUsd0NBQXdDO2dCQUNyRCxLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUUsS0FBSzthQUNaO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLFdBQVcsRUFBRSx3Q0FBd0M7Z0JBQ3JELEtBQUssRUFBRSxLQUFLO2dCQUNaLElBQUksRUFBRSxLQUFLO2FBQ1o7WUFDRDtnQkFDRSxLQUFLLEVBQUUsQ0FBQztnQkFDUixLQUFLLEVBQUUsT0FBTztnQkFDZCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsV0FBVyxFQUFFLHVDQUF1QztnQkFDcEQsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osSUFBSSxFQUFFLElBQUk7YUFDWDtTQUNGLENBQUMsQ0FBQztJQUtzRCxDQUFDO0lBRW5ELGVBQWU7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN2QyxDQUFDO2lJQXZDVSw2QkFBNkI7cUhBQTdCLDZCQUE2QixrREFIN0IsQ0FBQyxvQkFBb0IsQ0FBQyxvREFLbkIsc0JBQXNCLGdEQ2hCdEMscXFCQXFCQTs7MkZEUGEsNkJBQTZCO2tCQVB6QyxTQUFTOytCQUNFLHlCQUF5QixhQUd4QixDQUFDLG9CQUFvQixDQUFDLG1CQUNoQix1QkFBdUIsQ0FBQyxNQUFNO3lGQUlGLEtBQUs7c0JBQWpELFlBQVk7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgUXVlcnlMaXN0LCBzaWduYWwsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHBHdWlkZWRUb3VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2d1aWRlZC10b3VyL2d1aWRlZC10b3VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwR3VpZGVkVG91ckRpcmVjdGl2ZSB9IGZyb20gJy4uL2d1aWRlZC10b3VyL2d1aWRlZC10b3VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJR3VpZGVkVG91ckRhdGEgfSBmcm9tICcuLi9ndWlkZWQtdG91ci9ndWlkZWQtdG91ci5pbnRlcmZhY2UnO1xuXG4vKiogQW4gZXhhbXBsZSBvZiBhIGd1aWRlZCB0b3VyLiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWd1aWRlZC10b3VyLWV4YW1wbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3VpZGVkLXRvdXItZXhhbXBsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2d1aWRlZC10b3VyLWV4YW1wbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbQXBwR3VpZGVkVG91clNlcnZpY2VdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXBwR3VpZGVkVG91ckV4YW1wbGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqIFRvdXIgc3RlcHMuICovXG4gIEBWaWV3Q2hpbGRyZW4oQXBwR3VpZGVkVG91ckRpcmVjdGl2ZSkgcHVibGljIHN0ZXBzITogUXVlcnlMaXN0PEFwcEd1aWRlZFRvdXJEaXJlY3RpdmU+O1xuXG4gIC8qKiBFeGFtcGxlIHRvdXIgY29uZmlndXJhdGlvbi4gKi9cbiAgcHVibGljIHRvdXJDb25pZyQgPSBzaWduYWw8SUd1aWRlZFRvdXJEYXRhW10+KFtcbiAgICB7XG4gICAgICBpbmRleDogMCxcbiAgICAgIHRpdGxlOiAnZmlyc3QnLFxuICAgICAgc3VidGl0bGU6ICdGaXJzdCBzdGVwJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGZpcnN0IHN0ZXAuIEhpZ2hsaWdodGluZyBkaXNhYmxlZC4nLFxuICAgICAgZmlyc3Q6IHRydWUsXG4gICAgICBsYXN0OiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGluZGV4OiAxLFxuICAgICAgdGl0bGU6ICdzZWNvbmQnLFxuICAgICAgc3VidGl0bGU6ICdTZWNvbmQgc3RlcCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZSBzZWNvbmQgc3RlcC4gSGlnaGxpZ2h0aW5nIGVuYWJsZWQuJyxcbiAgICAgIGZpcnN0OiBmYWxzZSxcbiAgICAgIGxhc3Q6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgaW5kZXg6IDIsXG4gICAgICB0aXRsZTogJ3RoaXJkJyxcbiAgICAgIHN1YnRpdGxlOiAnVGhpcmQgc3RlcCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZSBmaW5hbCBzdGVwLiBIaWdobGlnaHRpbmcgZW5hYmxlZC4nLFxuICAgICAgZmlyc3Q6IGZhbHNlLFxuICAgICAgbGFzdDogdHJ1ZSxcbiAgICB9LFxuICBdKTtcblxuICAvKipcbiAgICogQHBhcmFtIHRvdXIgR3VpZGVkIHRvdXIgc2VydmljZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0b3VyOiBBcHBHdWlkZWRUb3VyU2VydmljZSkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudG91ci5jb25maWd1cmF0aW9uID0gdGhpcy5zdGVwcztcbiAgfVxufVxuIiwiPHA+Li4uIFNvbWUgY29udGVudCAuLi48L3A+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ0b3VyQ29uaWckKCkgYXMgY29uZmlnXCI+XG4gIDxkaXYgW2FwcEd1aWRlZFRvdXJdPVwiY29uZmlnLmF0KDEpXCIgW2hpZ2hsaWdodEVsZW1lbnRdPVwidHJ1ZVwiPnNlY29uZCBpdGVtIHRvIGV4cGxhaW48L2Rpdj5cblxuICA8cD4uLi4gU29tZSBjb250ZW50IC4uLjwvcD5cblxuICA8ZGl2IFthcHBHdWlkZWRUb3VyXT1cImNvbmZpZy5hdCgyKVwiIFtoaWdobGlnaHRFbGVtZW50XT1cInRydWVcIj50aGlyZCBpdGVtIHRvIGV4cGxhaW48L2Rpdj5cblxuICA8cD4uLi4gU29tZSBjb250ZW50IC4uLjwvcD5cblxuICA8ZGl2IFthcHBHdWlkZWRUb3VyXT1cImNvbmZpZy5hdCgwKVwiPmZpcnN0IGl0ZW0gdG8gZXhwbGFpbjwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxwPi4uLiBTb21lIGNvbnRlbnQgLi4uPC9wPlxuXG5AaWYgKCF0b3VyLmFjdGl2ZSkge1xuICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cInRvdXIubmV4dCgpXCI+U3RhcnQgdG91cjwvYnV0dG9uPlxufSBAZWxzZSB7XG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJ3YXJuXCIgKGNsaWNrKT1cInRvdXIuZW5kKClcIj5FbmQgdG91cjwvYnV0dG9uPlxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './guided-tour/guided-tour.directive';
2
+ export * from './guided-tour/guided-tour.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NsaWVudC1ndWlkZWQtdG91ci9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ndWlkZWQtdG91ci9ndWlkZWQtdG91ci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9ndWlkZWQtdG91ci9ndWlkZWQtdG91ci5pbnRlcmZhY2UnO1xuIl19
@@ -0,0 +1,24 @@
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: "17.0.7", ngImport: i0, type: AppGuidedTourExampleRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: AppGuidedTourExampleRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
15
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AppGuidedTourExampleRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", 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=
@@ -0,0 +1,21 @@
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: "17.0.7", ngImport: i0, type: AppGuidedTourExampleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: AppGuidedTourExampleModule, declarations: [AppGuidedTourExampleComponent], imports: [CommonModule, MatButtonModule, MatIconModule, AppGuidedTourModule, AppGuidedTourExampleRoutingModule] }); }
12
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: AppGuidedTourExampleModule, imports: [CommonModule, MatButtonModule, MatIconModule, AppGuidedTourModule, AppGuidedTourExampleRoutingModule] }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", 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
@@ -0,0 +1,25 @@
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: "17.0.7", ngImport: i0, type: AppGuidedTourModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", 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: "17.0.7", ngImport: i0, type: AppGuidedTourModule, providers: [overlayProvider], imports: [CommonModule, OverlayModule, MatButtonModule, MatIconModule, MatCardModule] }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", 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=
@@ -0,0 +1,12 @@
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