@rfprodz/client-guided-tour 1.1.5 → 1.2.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.
- package/fesm2022/rfprodz-client-guided-tour.mjs +51 -71
- package/fesm2022/rfprodz-client-guided-tour.mjs.map +1 -1
- package/package.json +9 -11
- package/types/rfprodz-client-guided-tour.d.ts +136 -0
- 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
- package/index.d.ts +0 -4
- package/lib/components/guided-tour/guided-tour.component.d.ts +0 -15
- package/lib/components/guided-tour/guided-tour.directive.d.ts +0 -51
- package/lib/components/guided-tour/guided-tour.interface.d.ts +0 -14
- package/lib/components/guided-tour-example/guided-tour-example.component.d.ts +0 -20
- package/lib/components/index.d.ts +0 -2
- package/lib/guided-tour-example-routing.module.d.ts +0 -7
- package/lib/guided-tour-example.module.d.ts +0 -12
- package/lib/guided-tour.module.d.ts +0 -13
- package/lib/providers/overlay.provider.d.ts +0 -6
- package/lib/services/guided-tour/guided-tour.service.d.ts +0 -22
- package/lib/services/index.d.ts +0 -1
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
|
|
1
|
+
import { OverlayConfig, Overlay, OverlayModule } from '@angular/cdk/overlay';
|
|
3
2
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
|
-
import * as i2$1 from '@angular/common';
|
|
5
|
-
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
6
3
|
import * as i0 from '@angular/core';
|
|
7
|
-
import { InjectionToken, Injectable,
|
|
8
|
-
import * as
|
|
4
|
+
import { InjectionToken, Injectable, inject, ChangeDetectionStrategy, Component, ElementRef, ViewContainerRef, DOCUMENT, Injector, Input, Directive, NgModule, signal, ViewChildren } from '@angular/core';
|
|
5
|
+
import * as i1 from '@angular/material/button';
|
|
9
6
|
import { MatButtonModule } from '@angular/material/button';
|
|
10
|
-
import * as
|
|
7
|
+
import * as i2 from '@angular/material/icon';
|
|
11
8
|
import { MatIconModule } from '@angular/material/icon';
|
|
12
|
-
import * as
|
|
9
|
+
import * as i3 from '@angular/material/card';
|
|
13
10
|
import { MatCardModule } from '@angular/material/card';
|
|
14
|
-
import * as i1$1 from '@angular/
|
|
11
|
+
import * as i1$1 from '@angular/common';
|
|
12
|
+
import { CommonModule } from '@angular/common';
|
|
13
|
+
import * as i1$2 from '@angular/router';
|
|
15
14
|
import { RouterModule } from '@angular/router';
|
|
16
15
|
|
|
17
16
|
/** The overlay reference injection token. */
|
|
@@ -64,10 +63,10 @@ class AppGuidedTourService {
|
|
|
64
63
|
this.active?.dispose();
|
|
65
64
|
this.active = void 0;
|
|
66
65
|
}
|
|
67
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
68
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
66
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
67
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourService, providedIn: 'any' }); }
|
|
69
68
|
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourService, decorators: [{
|
|
71
70
|
type: Injectable,
|
|
72
71
|
args: [{
|
|
73
72
|
providedIn: 'any',
|
|
@@ -91,41 +90,27 @@ const guidedTourDataProvider = {
|
|
|
91
90
|
|
|
92
91
|
/** Guided tour component. */
|
|
93
92
|
class AppGuidedTourComponent {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
*/
|
|
98
|
-
constructor(tour, data) {
|
|
99
|
-
this.tour = tour;
|
|
100
|
-
this.data = data;
|
|
93
|
+
constructor() {
|
|
94
|
+
this.tour = inject(AppGuidedTourService);
|
|
95
|
+
this.data = inject(GUIDED_TOUR_DATA);
|
|
101
96
|
}
|
|
102
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
103
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
97
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
98
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.3", 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: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
104
99
|
}
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourComponent, decorators: [{
|
|
106
101
|
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"] }]
|
|
108
|
-
}]
|
|
109
|
-
type: Inject,
|
|
110
|
-
args: [GUIDED_TOUR_DATA]
|
|
111
|
-
}] }] });
|
|
102
|
+
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"] }]
|
|
103
|
+
}] });
|
|
112
104
|
|
|
113
105
|
/** Guided tour directive. */
|
|
114
106
|
class AppGuidedTourDirective {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
constructor(el, overlay, overlayConfig, viewContainerRef, doc, tour) {
|
|
123
|
-
this.el = el;
|
|
124
|
-
this.overlay = overlay;
|
|
125
|
-
this.overlayConfig = overlayConfig;
|
|
126
|
-
this.viewContainerRef = viewContainerRef;
|
|
127
|
-
this.doc = doc;
|
|
128
|
-
this.tour = tour;
|
|
107
|
+
constructor() {
|
|
108
|
+
this.el = inject(ElementRef);
|
|
109
|
+
this.overlay = inject(Overlay);
|
|
110
|
+
this.overlayConfig = inject(OverlayConfig);
|
|
111
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
112
|
+
this.doc = inject(DOCUMENT);
|
|
113
|
+
this.tour = inject(AppGuidedTourService);
|
|
129
114
|
/** Guided tour step configuration. */
|
|
130
115
|
this.appGuidedTour = void 0;
|
|
131
116
|
this.highlightElement = false;
|
|
@@ -322,18 +307,16 @@ class AppGuidedTourDirective {
|
|
|
322
307
|
ngOnDestroy() {
|
|
323
308
|
this.dispose();
|
|
324
309
|
}
|
|
325
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
326
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
310
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
311
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.3", type: AppGuidedTourDirective, isStandalone: false, selector: "[appGuidedTour]", inputs: { appGuidedTour: "appGuidedTour", highlightElement: "highlightElement", flexibleConnectedPositions: "flexibleConnectedPositions", scrollStrategy: "scrollStrategy" }, ngImport: i0 }); }
|
|
327
312
|
}
|
|
328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
313
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourDirective, decorators: [{
|
|
329
314
|
type: Directive,
|
|
330
315
|
args: [{
|
|
331
316
|
selector: '[appGuidedTour]',
|
|
317
|
+
standalone: false,
|
|
332
318
|
}]
|
|
333
|
-
}],
|
|
334
|
-
type: Inject,
|
|
335
|
-
args: [DOCUMENT]
|
|
336
|
-
}] }, { type: AppGuidedTourService }], propDecorators: { appGuidedTour: [{
|
|
319
|
+
}], propDecorators: { appGuidedTour: [{
|
|
337
320
|
type: Input
|
|
338
321
|
}], highlightElement: [{
|
|
339
322
|
type: Input
|
|
@@ -344,11 +327,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
344
327
|
}] } });
|
|
345
328
|
|
|
346
329
|
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: "
|
|
330
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
331
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourModule, declarations: [AppGuidedTourComponent, AppGuidedTourDirective], imports: [CommonModule, OverlayModule, MatButtonModule, MatIconModule, MatCardModule], exports: [AppGuidedTourDirective] }); }
|
|
332
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourModule, providers: [overlayProvider], imports: [CommonModule, OverlayModule, MatButtonModule, MatIconModule, MatCardModule] }); }
|
|
350
333
|
}
|
|
351
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
334
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourModule, decorators: [{
|
|
352
335
|
type: NgModule,
|
|
353
336
|
args: [{
|
|
354
337
|
imports: [CommonModule, OverlayModule, MatButtonModule, MatIconModule, MatCardModule],
|
|
@@ -360,11 +343,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
360
343
|
|
|
361
344
|
/** An example of a guided tour. */
|
|
362
345
|
class AppGuidedTourExampleComponent {
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
*/
|
|
366
|
-
constructor(tour) {
|
|
367
|
-
this.tour = tour;
|
|
346
|
+
constructor() {
|
|
347
|
+
this.tour = inject(AppGuidedTourService);
|
|
368
348
|
/** Example tour configuration. */
|
|
369
349
|
this.tourConig$ = signal([
|
|
370
350
|
{
|
|
@@ -407,18 +387,18 @@ class AppGuidedTourExampleComponent {
|
|
|
407
387
|
first: false,
|
|
408
388
|
last: true,
|
|
409
389
|
},
|
|
410
|
-
]);
|
|
390
|
+
], ...(ngDevMode ? [{ debugName: "tourConig$" }] : []));
|
|
411
391
|
}
|
|
412
392
|
ngAfterViewInit() {
|
|
413
393
|
this.tour.configuration = [...this.steps];
|
|
414
394
|
}
|
|
415
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
416
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
395
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourExampleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
396
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", 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: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: AppGuidedTourDirective, selector: "[appGuidedTour]", inputs: ["appGuidedTour", "highlightElement", "flexibleConnectedPositions", "scrollStrategy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
417
397
|
}
|
|
418
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
398
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourExampleComponent, decorators: [{
|
|
419
399
|
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
|
-
}],
|
|
400
|
+
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"] }]
|
|
401
|
+
}], propDecorators: { steps: [{
|
|
422
402
|
type: ViewChildren,
|
|
423
403
|
args: [AppGuidedTourDirective]
|
|
424
404
|
}] } });
|
|
@@ -430,11 +410,11 @@ const routes = [
|
|
|
430
410
|
},
|
|
431
411
|
];
|
|
432
412
|
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: "
|
|
413
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourExampleRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
414
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourExampleRoutingModule, imports: [i1$2.RouterModule], exports: [RouterModule] }); }
|
|
415
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourExampleRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
436
416
|
}
|
|
437
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
417
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourExampleRoutingModule, decorators: [{
|
|
438
418
|
type: NgModule,
|
|
439
419
|
args: [{
|
|
440
420
|
imports: [RouterModule.forChild(routes)],
|
|
@@ -443,11 +423,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
443
423
|
}] });
|
|
444
424
|
|
|
445
425
|
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: "
|
|
426
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourExampleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
427
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourExampleModule, declarations: [AppGuidedTourExampleComponent], imports: [CommonModule, MatButtonModule, MatIconModule, AppGuidedTourModule, AppGuidedTourExampleRoutingModule] }); }
|
|
428
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourExampleModule, imports: [CommonModule, MatButtonModule, MatIconModule, AppGuidedTourModule, AppGuidedTourExampleRoutingModule] }); }
|
|
449
429
|
}
|
|
450
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
430
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AppGuidedTourExampleModule, decorators: [{
|
|
451
431
|
type: NgModule,
|
|
452
432
|
args: [{
|
|
453
433
|
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 { IGuidedTourDirective } from '../../components/guided-tour/guided-tour.interface';\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: IGuidedTourDirective[] = [];\n\n /** Guided tour step configuration. */\n public set configuration(steps: IGuidedTourDirective[]) {\n this.steps = steps.sort((x, y) => (x.appGuidedTour?.index ?? 0) - (y.appGuidedTour?.index ?? 0));\n }\n\n /** Active step. */\n public active?: IGuidedTourDirective;\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 type { ConnectedPosition } from '@angular/cdk/overlay';\nimport { 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\n/**\n * Guided tour directive interface.\n */\nexport interface IGuidedTourDirective {\n appGuidedTour?: IGuidedTourData;\n highlightElement: boolean;\n flexibleConnectedPositions: ConnectedPosition[];\n scrollStrategy: 'block' | 'close' | 'noop' | 'reposition';\n dispose(): void;\n display(): void;\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\nimport { AppGuidedTourService } from '../../services/guided-tour/guided-tour.service';\nimport { GUIDED_TOUR_DATA } 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 public readonly tour = inject(AppGuidedTourService);\n\n public readonly data = inject(GUIDED_TOUR_DATA);\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 { AfterContentInit, Directive, DOCUMENT, 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, IGuidedTourDirective } from './guided-tour.interface';\n\n/** Guided tour directive. */\n@Directive({\n selector: '[appGuidedTour]',\n standalone: false,\n})\nexport class AppGuidedTourDirective implements IGuidedTourDirective, AfterContentInit, OnDestroy {\n private readonly el = inject(ElementRef);\n\n private readonly overlay = inject(Overlay);\n\n private readonly overlayConfig = inject(OverlayConfig);\n\n private readonly viewContainerRef = inject(ViewContainerRef);\n\n private readonly doc = inject(DOCUMENT);\n\n private readonly tour = inject(AppGuidedTourService);\n\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 /** 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, inject, 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 public readonly tour = inject(AppGuidedTourService);\n\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 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":["i1","i2","i3.AppGuidedTourDirective"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rfprodz/client-guided-tour",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Guided tour feature for Angular clients.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular-module",
|
|
@@ -19,25 +19,23 @@
|
|
|
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": "21.0.2",
|
|
26
|
+
"@angular/common": "21.0.3",
|
|
27
|
+
"@angular/core": "21.0.3",
|
|
28
|
+
"@angular/material": "21.0.2",
|
|
29
|
+
"@angular/router": "21.0.3"
|
|
30
30
|
},
|
|
31
31
|
"module": "fesm2022/rfprodz-client-guided-tour.mjs",
|
|
32
|
-
"typings": "
|
|
32
|
+
"typings": "types/rfprodz-client-guided-tour.d.ts",
|
|
33
33
|
"exports": {
|
|
34
34
|
"./package.json": {
|
|
35
35
|
"default": "./package.json"
|
|
36
36
|
},
|
|
37
37
|
".": {
|
|
38
|
-
"types": "./
|
|
39
|
-
"esm2022": "./esm2022/rfprodz-client-guided-tour.mjs",
|
|
40
|
-
"esm": "./esm2022/rfprodz-client-guided-tour.mjs",
|
|
38
|
+
"types": "./types/rfprodz-client-guided-tour.d.ts",
|
|
41
39
|
"default": "./fesm2022/rfprodz-client-guided-tour.mjs"
|
|
42
40
|
}
|
|
43
41
|
},
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import * as i4 from '@angular/cdk/overlay';
|
|
2
|
+
import { ConnectedPosition } from '@angular/cdk/overlay';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { InjectionToken, Provider, AfterContentInit, OnDestroy, AfterViewInit, QueryList } from '@angular/core';
|
|
5
|
+
import * as _rfprodz_client_guided_tour from '@rfprodz/client-guided-tour';
|
|
6
|
+
import * as i3 from '@angular/common';
|
|
7
|
+
import * as i5 from '@angular/material/button';
|
|
8
|
+
import * as i6 from '@angular/material/icon';
|
|
9
|
+
import * as i7 from '@angular/material/card';
|
|
10
|
+
import * as i1 from '@angular/router';
|
|
11
|
+
|
|
12
|
+
/** Guided tour step data. */
|
|
13
|
+
interface IGuidedTourData {
|
|
14
|
+
index: number;
|
|
15
|
+
title: string;
|
|
16
|
+
subtitle: string;
|
|
17
|
+
description: string;
|
|
18
|
+
first: boolean;
|
|
19
|
+
last: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** Guided tour step data injection token. */
|
|
22
|
+
declare const GUIDED_TOUR_DATA: InjectionToken<IGuidedTourData>;
|
|
23
|
+
/** Guided tour step data provider. */
|
|
24
|
+
declare const guidedTourDataProvider: Provider;
|
|
25
|
+
/**
|
|
26
|
+
* Guided tour directive interface.
|
|
27
|
+
*/
|
|
28
|
+
interface IGuidedTourDirective {
|
|
29
|
+
appGuidedTour?: IGuidedTourData;
|
|
30
|
+
highlightElement: boolean;
|
|
31
|
+
flexibleConnectedPositions: ConnectedPosition[];
|
|
32
|
+
scrollStrategy: 'block' | 'close' | 'noop' | 'reposition';
|
|
33
|
+
dispose(): void;
|
|
34
|
+
display(): void;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Guided tour directive. */
|
|
38
|
+
declare class AppGuidedTourDirective implements IGuidedTourDirective, AfterContentInit, OnDestroy {
|
|
39
|
+
private readonly el;
|
|
40
|
+
private readonly overlay;
|
|
41
|
+
private readonly overlayConfig;
|
|
42
|
+
private readonly viewContainerRef;
|
|
43
|
+
private readonly doc;
|
|
44
|
+
private readonly tour;
|
|
45
|
+
/** Guided tour step configuration. */
|
|
46
|
+
appGuidedTour: IGuidedTourData | undefined;
|
|
47
|
+
highlightElement: boolean;
|
|
48
|
+
/** Connected positions configuration. */
|
|
49
|
+
flexibleConnectedPositions: ConnectedPosition[];
|
|
50
|
+
/** Scroll strategy. */
|
|
51
|
+
scrollStrategy: 'block' | 'close' | 'noop' | 'reposition';
|
|
52
|
+
/** Native element ref. */
|
|
53
|
+
private nativeElement?;
|
|
54
|
+
/** Original position of the native element. */
|
|
55
|
+
private nativeElementOriginalPosition?;
|
|
56
|
+
/** Native element frame. */
|
|
57
|
+
private readonly nativeElementFrame;
|
|
58
|
+
/** Overlay reference. */
|
|
59
|
+
private overlayRef;
|
|
60
|
+
/** Overlay configurator. */
|
|
61
|
+
private configureOverlay;
|
|
62
|
+
/** Overlay creator. */
|
|
63
|
+
private createOverlay;
|
|
64
|
+
/** Disposes an overlay. */
|
|
65
|
+
dispose(): void;
|
|
66
|
+
/** Displays an overlay. */
|
|
67
|
+
display(): void;
|
|
68
|
+
/** Adds elevation to the DOM element and scrolls the element into view. */
|
|
69
|
+
private decorateNativeEl;
|
|
70
|
+
ngAfterContentInit(): void;
|
|
71
|
+
ngOnDestroy(): void;
|
|
72
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppGuidedTourDirective, never>;
|
|
73
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AppGuidedTourDirective, "[appGuidedTour]", never, { "appGuidedTour": { "alias": "appGuidedTour"; "required": false; }; "highlightElement": { "alias": "highlightElement"; "required": false; }; "flexibleConnectedPositions": { "alias": "flexibleConnectedPositions"; "required": false; }; "scrollStrategy": { "alias": "scrollStrategy"; "required": false; }; }, {}, never, never, false, never>;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* @title Guided tour service.
|
|
78
|
+
* @description This service should be injected once for each tour. Use component `providers` array to declare.
|
|
79
|
+
*/
|
|
80
|
+
declare class AppGuidedTourService {
|
|
81
|
+
/** Guider tour steps. */
|
|
82
|
+
private steps;
|
|
83
|
+
/** Guided tour step configuration. */
|
|
84
|
+
set configuration(steps: IGuidedTourDirective[]);
|
|
85
|
+
/** Active step. */
|
|
86
|
+
active?: IGuidedTourDirective;
|
|
87
|
+
/** Activate next step. */
|
|
88
|
+
next(): void;
|
|
89
|
+
/** Activate previous step. */
|
|
90
|
+
previous(): void;
|
|
91
|
+
/** End tour. */
|
|
92
|
+
end(): void;
|
|
93
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppGuidedTourService, never>;
|
|
94
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AppGuidedTourService>;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** Guided tour component. */
|
|
98
|
+
declare class AppGuidedTourComponent {
|
|
99
|
+
readonly tour: AppGuidedTourService;
|
|
100
|
+
readonly data: _rfprodz_client_guided_tour.IGuidedTourData;
|
|
101
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppGuidedTourComponent, never>;
|
|
102
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AppGuidedTourComponent, "app-guided-tour", never, {}, {}, never, never, false, never>;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
declare class AppGuidedTourModule {
|
|
106
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppGuidedTourModule, never>;
|
|
107
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AppGuidedTourModule, [typeof AppGuidedTourComponent, typeof AppGuidedTourDirective], [typeof i3.CommonModule, typeof i4.OverlayModule, typeof i5.MatButtonModule, typeof i6.MatIconModule, typeof i7.MatCardModule], [typeof AppGuidedTourDirective]>;
|
|
108
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AppGuidedTourModule>;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/** An example of a guided tour. */
|
|
112
|
+
declare class AppGuidedTourExampleComponent implements AfterViewInit {
|
|
113
|
+
readonly tour: AppGuidedTourService;
|
|
114
|
+
/** Tour steps. */
|
|
115
|
+
steps: QueryList<AppGuidedTourDirective>;
|
|
116
|
+
/** Example tour configuration. */
|
|
117
|
+
tourConig$: i0.WritableSignal<IGuidedTourData[]>;
|
|
118
|
+
ngAfterViewInit(): void;
|
|
119
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppGuidedTourExampleComponent, never>;
|
|
120
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AppGuidedTourExampleComponent, "app-guided-tour-example", never, {}, {}, never, never, false, never>;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
declare class AppGuidedTourExampleRoutingModule {
|
|
124
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppGuidedTourExampleRoutingModule, never>;
|
|
125
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AppGuidedTourExampleRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
|
|
126
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AppGuidedTourExampleRoutingModule>;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
declare class AppGuidedTourExampleModule {
|
|
130
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppGuidedTourExampleModule, never>;
|
|
131
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AppGuidedTourExampleModule, [typeof AppGuidedTourExampleComponent], [typeof i3.CommonModule, typeof i5.MatButtonModule, typeof i6.MatIconModule, typeof AppGuidedTourModule, typeof AppGuidedTourExampleRoutingModule], never>;
|
|
132
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AppGuidedTourExampleModule>;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export { AppGuidedTourDirective, AppGuidedTourExampleModule, AppGuidedTourModule, AppGuidedTourService, GUIDED_TOUR_DATA, guidedTourDataProvider };
|
|
136
|
+
export type { IGuidedTourData, IGuidedTourDirective };
|