@wlcm/angular 17.3.5 → 17.4.1
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/package.json +7 -1
- package/phone-input/esm2022/lib/directives/phone-input.directive.mjs +8 -2
- package/phone-input/fesm2022/wlcm-angular-phone-input.mjs +7 -1
- package/phone-input/fesm2022/wlcm-angular-phone-input.mjs.map +1 -1
- package/stepper/README.md +7 -0
- package/stepper/esm2022/index.mjs +11 -0
- package/stepper/esm2022/lib/components/step/step.component.mjs +53 -0
- package/stepper/esm2022/lib/components/step-header/step-header.component.mjs +81 -0
- package/stepper/esm2022/lib/components/stepper/stepper.component.mjs +15 -0
- package/stepper/esm2022/lib/components/stepper-header/stepper-header.component.mjs +16 -0
- package/stepper/esm2022/lib/constants/step.constants.mjs +9 -0
- package/stepper/esm2022/lib/constants/stepper.stepper.mjs +3 -0
- package/stepper/esm2022/lib/directives/load-on-active-step.directive.mjs +51 -0
- package/stepper/esm2022/lib/models/step.models.mjs +60 -0
- package/stepper/esm2022/lib/models/stepper.models.mjs +114 -0
- package/stepper/esm2022/lib/stepper.module.mjs +34 -0
- package/stepper/esm2022/wlcm-angular-stepper.mjs +5 -0
- package/stepper/fesm2022/wlcm-angular-stepper.mjs +387 -0
- package/stepper/fesm2022/wlcm-angular-stepper.mjs.map +1 -0
- package/stepper/index.d.ts +10 -0
- package/stepper/lib/components/step/step.component.d.ts +16 -0
- package/stepper/lib/components/step-header/step-header.component.d.ts +20 -0
- package/stepper/lib/components/stepper/stepper.component.d.ts +6 -0
- package/stepper/lib/components/stepper-header/stepper-header.component.d.ts +8 -0
- package/stepper/lib/constants/step.constants.d.ts +4 -0
- package/stepper/lib/constants/stepper.stepper.d.ts +3 -0
- package/stepper/lib/directives/load-on-active-step.directive.d.ts +13 -0
- package/stepper/lib/models/step.models.d.ts +43 -0
- package/stepper/lib/models/stepper.models.d.ts +44 -0
- package/stepper/lib/stepper.module.d.ts +12 -0
- package/styles/components/stepper/_step-header.scss +123 -0
- package/styles/components/stepper/_step.scss +15 -0
- package/styles/components/stepper/_stepper-header.scss +13 -0
- package/styles/components/stepper/_stepper.scss +6 -0
- package/styles/components/stepper/indes.scss +9 -0
- package/styles/core/_all-theme.scss +2 -0
@@ -0,0 +1,60 @@
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export class WlcmStep {
|
5
|
+
}
|
6
|
+
export class WlcmStepBase extends WlcmStep {
|
7
|
+
set key(value) {
|
8
|
+
this._key$.next(value);
|
9
|
+
}
|
10
|
+
get key() {
|
11
|
+
return this._key$.value;
|
12
|
+
}
|
13
|
+
set label(value) {
|
14
|
+
this._label$.next(value);
|
15
|
+
}
|
16
|
+
get label() {
|
17
|
+
return this._label$.value;
|
18
|
+
}
|
19
|
+
set completed(value) {
|
20
|
+
this._completed$.next(value);
|
21
|
+
}
|
22
|
+
get completed() {
|
23
|
+
return this._completed$.value;
|
24
|
+
}
|
25
|
+
set disabled(value) {
|
26
|
+
this._disabled$.next(value);
|
27
|
+
}
|
28
|
+
get disabled() {
|
29
|
+
return this._disabled$.value;
|
30
|
+
}
|
31
|
+
constructor(options) {
|
32
|
+
super();
|
33
|
+
this.options = options;
|
34
|
+
this._key$ = new BehaviorSubject(null);
|
35
|
+
this.key$ = this._key$.asObservable();
|
36
|
+
this._label$ = new BehaviorSubject('');
|
37
|
+
this.label$ = this._label$.asObservable();
|
38
|
+
this._completed$ = new BehaviorSubject(false);
|
39
|
+
this.completed$ = this._completed$.asObservable();
|
40
|
+
this._disabled$ = new BehaviorSubject(false);
|
41
|
+
this.disabled$ = this._disabled$.asObservable();
|
42
|
+
this.disabled = this.options.hasOwnProperty('completed') ? this.options.completed : false;
|
43
|
+
this.disabled = this.options.hasOwnProperty('disabled') ? this.options.disabled : 'on_any_previous_incomplete';
|
44
|
+
}
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
46
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmStepBase, inputs: { key: "key", label: "label", completed: "completed", disabled: "disabled" }, usesInheritance: true, ngImport: i0 }); }
|
47
|
+
}
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepBase, decorators: [{
|
49
|
+
type: Directive
|
50
|
+
}], ctorParameters: () => [{ type: undefined }], propDecorators: { key: [{
|
51
|
+
type: Input
|
52
|
+
}], label: [{
|
53
|
+
type: Input,
|
54
|
+
args: [{ required: true }]
|
55
|
+
}], completed: [{
|
56
|
+
type: Input
|
57
|
+
}], disabled: [{
|
58
|
+
type: Input
|
59
|
+
}] } });
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3N0ZXBwZXIvc3JjL2xpYi9tb2RlbHMvc3RlcC5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7QUFVbkQsTUFBTSxPQUFnQixRQUFRO0NBb0I3QjtBQUdELE1BQU0sT0FBZ0IsWUFBYSxTQUFRLFFBQVE7SUFDakQsSUFBYSxHQUFHLENBQUMsS0FBYztRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBTUQsSUFBK0IsS0FBSyxDQUFDLEtBQWE7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQU1ELElBQWEsU0FBUyxDQUFDLEtBQWM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQU1ELElBQWEsUUFBUSxDQUFDLEtBQTJCO1FBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFNRCxZQUFzQixPQUF3QjtRQUM1QyxLQUFLLEVBQUUsQ0FBQztRQURZLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBckM3QixVQUFLLEdBQTZCLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBRTdFLFNBQUksR0FBd0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQVM5QyxZQUFPLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRTNFLFdBQU0sR0FBdUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQVNqRCxnQkFBVyxHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVwRixlQUFVLEdBQXdCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7UUFTMUQsZUFBVSxHQUEwQyxJQUFJLGVBQWUsQ0FBdUIsS0FBSyxDQUFDLENBQUM7UUFFN0csY0FBUyxHQUFxQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBS3BGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFM0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFTLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDO0lBQ2xILENBQUM7OEdBbkRtQixZQUFZO2tHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRGpDLFNBQVM7MkVBRUssR0FBRztzQkFBZixLQUFLO2dCQVd5QixLQUFLO3NCQUFuQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFXWixTQUFTO3NCQUFyQixLQUFLO2dCQVdPLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgV2xjbVN0ZXBEaXNhYmxlVmFsdWUgPSAnb25fYW55X3ByZXZpb3VzX2luY29tcGxldGUnIHwgYm9vbGVhbjtcblxuZXhwb3J0IGludGVyZmFjZSBXbGNtU3RlcE9wdGlvbnMge1xuICBjb21wbGV0ZWQ/OiBib29sZWFuO1xuXG4gIGRpc2FibGVkPzogV2xjbVN0ZXBEaXNhYmxlVmFsdWU7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBXbGNtU3RlcCB7XG4gIGFic3RyYWN0IHNldCBrZXkodmFsdWU6IHVua25vd24pO1xuICBhYnN0cmFjdCBnZXQga2V5KCk6IHVua25vd247XG5cbiAgYWJzdHJhY3Qga2V5JDogT2JzZXJ2YWJsZTx1bmtub3duPjtcblxuICBhYnN0cmFjdCBzZXQgbGFiZWwodmFsdWU6IHN0cmluZyk7XG4gIGFic3RyYWN0IGdldCBsYWJlbCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgbGFiZWwkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgYWJzdHJhY3Qgc2V0IGNvbXBsZXRlZCh2YWx1ZTogYm9vbGVhbik7XG4gIGFic3RyYWN0IGdldCBjb21wbGV0ZWQoKTogYm9vbGVhbjtcblxuICBhYnN0cmFjdCBjb21wbGV0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IHNldCBkaXNhYmxlZCh2YWx1ZTogV2xjbVN0ZXBEaXNhYmxlVmFsdWUpO1xuICBhYnN0cmFjdCBnZXQgZGlzYWJsZWQoKTogV2xjbVN0ZXBEaXNhYmxlVmFsdWU7XG5cbiAgYWJzdHJhY3QgZGlzYWJsZWQkOiBPYnNlcnZhYmxlPFdsY21TdGVwRGlzYWJsZVZhbHVlPjtcbn1cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV2xjbVN0ZXBCYXNlIGV4dGVuZHMgV2xjbVN0ZXAge1xuICBASW5wdXQoKSBzZXQga2V5KHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fa2V5JC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQga2V5KCk6IHVua25vd24ge1xuICAgIHJldHVybiB0aGlzLl9rZXkkLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfa2V5JDogQmVoYXZpb3JTdWJqZWN0PHVua25vd24+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx1bmtub3duPihudWxsKTtcblxuICByZWFkb25seSBrZXkkOiBPYnNlcnZhYmxlPHVua25vd24+ID0gdGhpcy5fa2V5JC5hc09ic2VydmFibGUoKTtcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzZXQgbGFiZWwodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2xhYmVsJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgbGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWwkLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbGFiZWwkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgcmVhZG9ubHkgbGFiZWwkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLl9sYWJlbCQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgQElucHV0KCkgc2V0IGNvbXBsZXRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2NvbXBsZXRlZCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IGNvbXBsZXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY29tcGxldGVkJC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBsZXRlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGNvbXBsZXRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl9jb21wbGV0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWx1ZTogV2xjbVN0ZXBEaXNhYmxlVmFsdWUpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IGRpc2FibGVkKCk6IFdsY21TdGVwRGlzYWJsZVZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQkLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGlzYWJsZWQkOiBCZWhhdmlvclN1YmplY3Q8V2xjbVN0ZXBEaXNhYmxlVmFsdWU+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXbGNtU3RlcERpc2FibGVWYWx1ZT4oZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkJDogT2JzZXJ2YWJsZTxXbGNtU3RlcERpc2FibGVWYWx1ZT4gPSB0aGlzLl9kaXNhYmxlZCQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG9wdGlvbnM6IFdsY21TdGVwT3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5vcHRpb25zLmhhc093blByb3BlcnR5KCdjb21wbGV0ZWQnKSA/IHRoaXMub3B0aW9ucy5jb21wbGV0ZWQhIDogZmFsc2U7XG5cbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5vcHRpb25zLmhhc093blByb3BlcnR5KCdkaXNhYmxlZCcpID8gdGhpcy5vcHRpb25zLmRpc2FibGVkISA6ICdvbl9hbnlfcHJldmlvdXNfaW5jb21wbGV0ZSc7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,114 @@
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { ChangeDetectorRef, Directive, contentChildren, effect } from '@angular/core';
|
3
|
+
import { BehaviorSubject, Subject, combineLatest, distinctUntilChanged, filter, map, skip, takeUntil, } from 'rxjs';
|
4
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
5
|
+
import { WLCM_STEP } from '../constants/step.constants';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
export class WlcmStepsNavigator {
|
8
|
+
}
|
9
|
+
let WlcmStepperBase = class WlcmStepperBase extends WlcmStepsNavigator {
|
10
|
+
constructor(changeDetector) {
|
11
|
+
super();
|
12
|
+
this.changeDetector = changeDetector;
|
13
|
+
this._listUpdated$ = new Subject();
|
14
|
+
this._keyToIndexMap = new Map();
|
15
|
+
this._steps = contentChildren(WLCM_STEP, { descendants: true });
|
16
|
+
this._active$ = new BehaviorSubject(null);
|
17
|
+
this.active$ = this._active$.asObservable();
|
18
|
+
this._minIncompleteStepIndex$ = new BehaviorSubject(0);
|
19
|
+
this.minIncompleteStepIndex$ = this._minIncompleteStepIndex$
|
20
|
+
.asObservable()
|
21
|
+
.pipe(filter((index) => index !== Infinity));
|
22
|
+
effect(() => this._handleUpdatedList(this._steps()));
|
23
|
+
}
|
24
|
+
get active() {
|
25
|
+
return this._active$.value;
|
26
|
+
}
|
27
|
+
get isActiveCompleted() {
|
28
|
+
return this.active.completed;
|
29
|
+
}
|
30
|
+
get minIncompleteStepIndex() {
|
31
|
+
return this._minIncompleteStepIndex$.value;
|
32
|
+
}
|
33
|
+
next() {
|
34
|
+
if (!this.canActivateNext())
|
35
|
+
return;
|
36
|
+
const index = this._activeIndex + 1;
|
37
|
+
if (index < this._steps().length)
|
38
|
+
this.activate(this._steps()[index].key);
|
39
|
+
}
|
40
|
+
previous() {
|
41
|
+
const index = this._activeIndex - 1;
|
42
|
+
if (index >= 0)
|
43
|
+
this.activate(this._steps()[index].key);
|
44
|
+
}
|
45
|
+
activate(key) {
|
46
|
+
if (!this._keyToIndexMap.has(key))
|
47
|
+
return;
|
48
|
+
const step = this._getStep(key);
|
49
|
+
this._active$.next(step);
|
50
|
+
this.changeDetector.markForCheck();
|
51
|
+
}
|
52
|
+
canActivateNext() {
|
53
|
+
return this.isActiveCompleted;
|
54
|
+
}
|
55
|
+
isCurrentOrPrevious(key) {
|
56
|
+
const index = this._keyToIndexMap.get(key);
|
57
|
+
const activeIndex = this._activeIndex;
|
58
|
+
return index === activeIndex || activeIndex > index;
|
59
|
+
}
|
60
|
+
getStepIndex(key) {
|
61
|
+
return this._keyToIndexMap.get(key);
|
62
|
+
}
|
63
|
+
get _activeIndex() {
|
64
|
+
return this._keyToIndexMap.get(this.active.key);
|
65
|
+
}
|
66
|
+
_getStep(key) {
|
67
|
+
return this._steps()[this._keyToIndexMap.get(key)];
|
68
|
+
}
|
69
|
+
_handleUpdatedList(list) {
|
70
|
+
this._listUpdated$.next();
|
71
|
+
this._keyToIndexMap.clear();
|
72
|
+
list.forEach((step, index) => {
|
73
|
+
if (!step.key)
|
74
|
+
step.key = `${index}`;
|
75
|
+
this._keyToIndexMap.set(step.key, index);
|
76
|
+
this._handleKeyChanges(step, index);
|
77
|
+
});
|
78
|
+
this._handleCompleteChanges(list);
|
79
|
+
if (!this._active$.value)
|
80
|
+
this.activate(list[0].key);
|
81
|
+
}
|
82
|
+
_handleKeyChanges(step, index) {
|
83
|
+
let previousKey = step.key;
|
84
|
+
step.key$
|
85
|
+
.pipe(skip(1))
|
86
|
+
.pipe(untilDestroyed(this), takeUntil(this._listUpdated$))
|
87
|
+
.subscribe((newKey) => {
|
88
|
+
this._keyToIndexMap.delete(previousKey);
|
89
|
+
this._keyToIndexMap.set(newKey, index);
|
90
|
+
previousKey = newKey;
|
91
|
+
});
|
92
|
+
}
|
93
|
+
_handleCompleteChanges(list) {
|
94
|
+
combineLatest(list.map((step, index) => step.completed$
|
95
|
+
.pipe(distinctUntilChanged())
|
96
|
+
.pipe(map((isCompleted) => (isCompleted ? Infinity : index)))))
|
97
|
+
.pipe(untilDestroyed(this), takeUntil(this._listUpdated$))
|
98
|
+
.subscribe((indexes) => {
|
99
|
+
const minIndex = Math.min(...indexes);
|
100
|
+
this._minIncompleteStepIndex$.next(minIndex !== Infinity ? minIndex : -1);
|
101
|
+
});
|
102
|
+
}
|
103
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperBase, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
104
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "17.3.5", type: WlcmStepperBase, queries: [{ propertyName: "_steps", predicate: WLCM_STEP, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
|
105
|
+
};
|
106
|
+
WlcmStepperBase = __decorate([
|
107
|
+
UntilDestroy(),
|
108
|
+
__metadata("design:paramtypes", [ChangeDetectorRef])
|
109
|
+
], WlcmStepperBase);
|
110
|
+
export { WlcmStepperBase };
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperBase, decorators: [{
|
112
|
+
type: Directive
|
113
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3N0ZXBwZXIvc3JjL2xpYi9tb2RlbHMvc3RlcHBlci5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQVUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQ0wsZUFBZSxFQUVmLE9BQU8sRUFDUCxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBQ0gsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUd4RCxNQUFNLE9BQWdCLGtCQUFrQjtDQXNCdkM7QUFJTSxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFnQixTQUFRLGtCQUFrQjtJQWlCckQsWUFBc0IsY0FBaUM7UUFDckQsS0FBSyxFQUFFLENBQUM7UUFEWSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFoQi9DLGtCQUFhLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFN0MsbUJBQWMsR0FBeUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUUvQyxXQUFNLEdBQW9DLGVBQWUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVyRixhQUFRLEdBQXFDLElBQUksZUFBZSxDQUFrQixJQUFJLENBQUMsQ0FBQztRQUVoRyxZQUFPLEdBQWdDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFNUQsNkJBQXdCLEdBQTRCLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5GLDRCQUF1QixHQUF1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LFVBQVU7YUFDWixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUN6RSxDQUNGO2FBQ0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3pELFNBQVMsQ0FBQyxDQUFDLE9BQWlCLEVBQUUsRUFBRTtZQUMvQixNQUFNLFFBQVEsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7WUFFOUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQWxJVSxlQUFlO2tHQUFmLGVBQWUsaURBSzBDLFNBQVM7O0FBTGxFLGVBQWU7SUFGM0IsWUFBWSxFQUFFO3FDQW1CeUIsaUJBQWlCO0dBakI1QyxlQUFlLENBbUkzQjs7MkZBbklZLGVBQWU7a0JBRDNCLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBTaWduYWwsIGNvbnRlbnRDaGlsZHJlbiwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgc2tpcCxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgV0xDTV9TVEVQIH0gZnJvbSAnLi4vY29uc3RhbnRzL3N0ZXAuY29uc3RhbnRzJztcbmltcG9ydCB7IFdsY21TdGVwIH0gZnJvbSAnLi9zdGVwLm1vZGVscyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBXbGNtU3RlcHNOYXZpZ2F0b3Ige1xuICBhYnN0cmFjdCBnZXQgYWN0aXZlKCk6IFdsY21TdGVwO1xuXG4gIGFic3RyYWN0IHJlYWRvbmx5IGFjdGl2ZSQ6IE9ic2VydmFibGU8V2xjbVN0ZXAgfCBudWxsPjtcblxuICBhYnN0cmFjdCBnZXQgbWluSW5jb21wbGV0ZVN0ZXBJbmRleCgpOiBudW1iZXI7XG5cbiAgYWJzdHJhY3QgcmVhZG9ubHkgbWluSW5jb21wbGV0ZVN0ZXBJbmRleCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBhYnN0cmFjdCBnZXQgaXNBY3RpdmVDb21wbGV0ZWQoKTogYm9vbGVhbjtcblxuICBhYnN0cmFjdCBuZXh0KCk6IHZvaWQ7XG5cbiAgYWJzdHJhY3QgcHJldmlvdXMoKTogdm9pZDtcblxuICBhYnN0cmFjdCBhY3RpdmF0ZShrZXk6IHVua25vd24pOiB2b2lkO1xuXG4gIGFic3RyYWN0IGNhbkFjdGl2YXRlTmV4dCgpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IGlzQ3VycmVudE9yUHJldmlvdXMoa2V5OiB1bmtub3duKTogYm9vbGVhbjtcblxuICBhYnN0cmFjdCBnZXRTdGVwSW5kZXgoa2V5OiB1bmtub3duKTogbnVtYmVyIHwgdW5kZWZpbmVkO1xufVxuXG5AVW50aWxEZXN0cm95KClcbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFdsY21TdGVwcGVyQmFzZSBleHRlbmRzIFdsY21TdGVwc05hdmlnYXRvciB7XG4gIHByaXZhdGUgX2xpc3RVcGRhdGVkJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfa2V5VG9JbmRleE1hcDogTWFwPHVua25vd24sIG51bWJlcj4gPSBuZXcgTWFwKCk7XG5cbiAgcHJvdGVjdGVkIF9zdGVwczogU2lnbmFsPFJlYWRvbmx5QXJyYXk8V2xjbVN0ZXA+PiA9IGNvbnRlbnRDaGlsZHJlbihXTENNX1NURVAsIHsgZGVzY2VuZGFudHM6IHRydWUgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlJDogQmVoYXZpb3JTdWJqZWN0PFdsY21TdGVwIHwgbnVsbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFdsY21TdGVwIHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgYWN0aXZlJDogT2JzZXJ2YWJsZTxXbGNtU3RlcCB8IG51bGw+ID0gdGhpcy5fYWN0aXZlJC5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9taW5JbmNvbXBsZXRlU3RlcEluZGV4JDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApO1xuXG4gIHJlYWRvbmx5IG1pbkluY29tcGxldGVTdGVwSW5kZXgkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSB0aGlzLl9taW5JbmNvbXBsZXRlU3RlcEluZGV4JFxuICAgIC5hc09ic2VydmFibGUoKVxuICAgIC5waXBlKGZpbHRlcigoaW5kZXg6IG51bWJlcikgPT4gaW5kZXggIT09IEluZmluaXR5KSk7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG5cbiAgICBlZmZlY3QoKCkgPT4gdGhpcy5faGFuZGxlVXBkYXRlZExpc3QodGhpcy5fc3RlcHMoKSkpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZSgpOiBXbGNtU3RlcCB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZSQudmFsdWUhO1xuICB9XG5cbiAgZ2V0IGlzQWN0aXZlQ29tcGxldGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZS5jb21wbGV0ZWQ7XG4gIH1cblxuICBnZXQgbWluSW5jb21wbGV0ZVN0ZXBJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW5JbmNvbXBsZXRlU3RlcEluZGV4JC52YWx1ZTtcbiAgfVxuXG4gIG5leHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNhbkFjdGl2YXRlTmV4dCgpKSByZXR1cm47XG5cbiAgICBjb25zdCBpbmRleDogbnVtYmVyID0gdGhpcy5fYWN0aXZlSW5kZXggKyAxO1xuXG4gICAgaWYgKGluZGV4IDwgdGhpcy5fc3RlcHMoKS5sZW5ndGgpIHRoaXMuYWN0aXZhdGUodGhpcy5fc3RlcHMoKVtpbmRleF0ua2V5KTtcbiAgfVxuXG4gIHByZXZpb3VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLl9hY3RpdmVJbmRleCAtIDE7XG5cbiAgICBpZiAoaW5kZXggPj0gMCkgdGhpcy5hY3RpdmF0ZSh0aGlzLl9zdGVwcygpW2luZGV4XS5rZXkpO1xuICB9XG5cbiAgYWN0aXZhdGUoa2V5OiB1bmtub3duKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9rZXlUb0luZGV4TWFwLmhhcyhrZXkpKSByZXR1cm47XG5cbiAgICBjb25zdCBzdGVwOiBXbGNtU3RlcCA9IHRoaXMuX2dldFN0ZXAoa2V5KTtcblxuICAgIHRoaXMuX2FjdGl2ZSQubmV4dChzdGVwKTtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBjYW5BY3RpdmF0ZU5leHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBY3RpdmVDb21wbGV0ZWQ7XG4gIH1cblxuICBpc0N1cnJlbnRPclByZXZpb3VzKGtleTogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLl9rZXlUb0luZGV4TWFwLmdldChrZXkpITtcblxuICAgIGNvbnN0IGFjdGl2ZUluZGV4OiBudW1iZXIgPSB0aGlzLl9hY3RpdmVJbmRleDtcblxuICAgIHJldHVybiBpbmRleCA9PT0gYWN0aXZlSW5kZXggfHwgYWN0aXZlSW5kZXggPiBpbmRleDtcbiAgfVxuXG4gIGdldFN0ZXBJbmRleChrZXk6IHVua25vd24pOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9rZXlUb0luZGV4TWFwLmdldChrZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2FjdGl2ZUluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2tleVRvSW5kZXhNYXAuZ2V0KHRoaXMuYWN0aXZlLmtleSkhO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U3RlcChrZXk6IHVua25vd24pOiBXbGNtU3RlcCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0ZXBzKClbdGhpcy5fa2V5VG9JbmRleE1hcC5nZXQoa2V5KSFdO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlVXBkYXRlZExpc3QobGlzdDogUmVhZG9ubHlBcnJheTxXbGNtU3RlcD4pOiB2b2lkIHtcbiAgICB0aGlzLl9saXN0VXBkYXRlZCQubmV4dCgpO1xuXG4gICAgdGhpcy5fa2V5VG9JbmRleE1hcC5jbGVhcigpO1xuXG4gICAgbGlzdC5mb3JFYWNoKChzdGVwOiBXbGNtU3RlcCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgaWYgKCFzdGVwLmtleSkgc3RlcC5rZXkgPSBgJHtpbmRleH1gO1xuXG4gICAgICB0aGlzLl9rZXlUb0luZGV4TWFwLnNldChzdGVwLmtleSwgaW5kZXgpO1xuXG4gICAgICB0aGlzLl9oYW5kbGVLZXlDaGFuZ2VzKHN0ZXAsIGluZGV4KTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2hhbmRsZUNvbXBsZXRlQ2hhbmdlcyhsaXN0KTtcblxuICAgIGlmICghdGhpcy5fYWN0aXZlJC52YWx1ZSkgdGhpcy5hY3RpdmF0ZShsaXN0WzBdLmtleSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVLZXlDaGFuZ2VzKHN0ZXA6IFdsY21TdGVwLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgbGV0IHByZXZpb3VzS2V5OiB1bmtub3duID0gc3RlcC5rZXk7XG5cbiAgICBzdGVwLmtleSRcbiAgICAgIC5waXBlKHNraXAoMSkpXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSwgdGFrZVVudGlsKHRoaXMuX2xpc3RVcGRhdGVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChuZXdLZXk6IHVua25vd24pID0+IHtcbiAgICAgICAgdGhpcy5fa2V5VG9JbmRleE1hcC5kZWxldGUocHJldmlvdXNLZXkpO1xuXG4gICAgICAgIHRoaXMuX2tleVRvSW5kZXhNYXAuc2V0KG5ld0tleSwgaW5kZXgpO1xuXG4gICAgICAgIHByZXZpb3VzS2V5ID0gbmV3S2V5O1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDb21wbGV0ZUNoYW5nZXMobGlzdDogUmVhZG9ubHlBcnJheTxXbGNtU3RlcD4pOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgbGlzdC5tYXAoKHN0ZXA6IFdsY21TdGVwLCBpbmRleDogbnVtYmVyKSA9PlxuICAgICAgICBzdGVwLmNvbXBsZXRlZCRcbiAgICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgICAgIC5waXBlKG1hcCgoaXNDb21wbGV0ZWQ6IGJvb2xlYW4pID0+IChpc0NvbXBsZXRlZCA/IEluZmluaXR5IDogaW5kZXgpKSlcbiAgICAgIClcbiAgICApXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSwgdGFrZVVudGlsKHRoaXMuX2xpc3RVcGRhdGVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChpbmRleGVzOiBudW1iZXJbXSkgPT4ge1xuICAgICAgICBjb25zdCBtaW5JbmRleDogbnVtYmVyID0gTWF0aC5taW4oLi4uaW5kZXhlcyk7XG5cbiAgICAgICAgdGhpcy5fbWluSW5jb21wbGV0ZVN0ZXBJbmRleCQubmV4dChtaW5JbmRleCAhPT0gSW5maW5pdHkgPyBtaW5JbmRleCA6IC0xKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { WlcmStepperComponent } from './components/stepper/stepper.component';
|
4
|
+
import { WlcmStepHeaderComponent } from './components/step-header/step-header.component';
|
5
|
+
import { WlcmStepperHeaderComponent } from './components/stepper-header/stepper-header.component';
|
6
|
+
import { WlcmStepComponent } from './components/step/step.component';
|
7
|
+
import { WlcmLoadOnActiveStepDirective } from './directives/load-on-active-step.directive';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
const publicComponents = [
|
10
|
+
WlcmStepComponent,
|
11
|
+
WlcmStepperComponent,
|
12
|
+
WlcmStepHeaderComponent,
|
13
|
+
WlcmStepperHeaderComponent,
|
14
|
+
];
|
15
|
+
const publicDirectives = [WlcmLoadOnActiveStepDirective];
|
16
|
+
export class WlcmStepperModule {
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
18
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperModule, imports: [CommonModule, WlcmStepComponent,
|
19
|
+
WlcmStepperComponent,
|
20
|
+
WlcmStepHeaderComponent,
|
21
|
+
WlcmStepperHeaderComponent, WlcmLoadOnActiveStepDirective], exports: [WlcmStepComponent,
|
22
|
+
WlcmStepperComponent,
|
23
|
+
WlcmStepHeaderComponent,
|
24
|
+
WlcmStepperHeaderComponent, WlcmLoadOnActiveStepDirective] }); }
|
25
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperModule, imports: [CommonModule, publicComponents] }); }
|
26
|
+
}
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperModule, decorators: [{
|
28
|
+
type: NgModule,
|
29
|
+
args: [{
|
30
|
+
imports: [CommonModule, ...publicComponents, ...publicDirectives],
|
31
|
+
exports: [...publicComponents, ...publicDirectives],
|
32
|
+
}]
|
33
|
+
}] });
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3N0ZXBwZXIvc3JjL2xpYi9zdGVwcGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFFM0YsTUFBTSxnQkFBZ0IsR0FBb0I7SUFDeEMsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQix1QkFBdUI7SUFDdkIsMEJBQTBCO0NBQzNCLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFvQixDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFNMUUsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsWUFIbEIsWUFBWSxFQVR0QixpQkFBaUI7WUFDakIsb0JBQW9CO1lBQ3BCLHVCQUF1QjtZQUN2QiwwQkFBMEIsRUFHZSw2QkFBNkIsYUFOdEUsaUJBQWlCO1lBQ2pCLG9CQUFvQjtZQUNwQix1QkFBdUI7WUFDdkIsMEJBQTBCLEVBR2UsNkJBQTZCOytHQU0zRCxpQkFBaUIsWUFIbEIsWUFBWSxFQUFLLGdCQUFnQjs7MkZBR2hDLGlCQUFpQjtrQkFKN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxHQUFHLGdCQUFnQixDQUFDO29CQUNqRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixFQUFFLEdBQUcsZ0JBQWdCLENBQUM7aUJBQ3BEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBXbGNtU3RlcHBlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFdsY21TdGVwSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N0ZXAtaGVhZGVyL3N0ZXAtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXbGNtU3RlcHBlckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdGVwcGVyLWhlYWRlci9zdGVwcGVyLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2xjbVN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RlcC9zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXbGNtTG9hZE9uQWN0aXZlU3RlcERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9sb2FkLW9uLWFjdGl2ZS1zdGVwLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IHB1YmxpY0NvbXBvbmVudHM6IFR5cGU8dW5rbm93bj5bXSA9IFtcbiAgV2xjbVN0ZXBDb21wb25lbnQsXG4gIFdsY21TdGVwcGVyQ29tcG9uZW50LFxuICBXbGNtU3RlcEhlYWRlckNvbXBvbmVudCxcbiAgV2xjbVN0ZXBwZXJIZWFkZXJDb21wb25lbnQsXG5dO1xuXG5jb25zdCBwdWJsaWNEaXJlY3RpdmVzOiBUeXBlPHVua25vd24+W10gPSBbV2xjbUxvYWRPbkFjdGl2ZVN0ZXBEaXJlY3RpdmVdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCAuLi5wdWJsaWNDb21wb25lbnRzLCAuLi5wdWJsaWNEaXJlY3RpdmVzXSxcbiAgZXhwb3J0czogWy4uLnB1YmxpY0NvbXBvbmVudHMsIC4uLnB1YmxpY0RpcmVjdGl2ZXNdLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtU3RlcHBlck1vZHVsZSB7fVxuIl19
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2xjbS1hbmd1bGFyLXN0ZXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL3N0ZXBwZXIvc3JjL3dsY20tYW5ndWxhci1zdGVwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
@@ -0,0 +1,387 @@
|
|
1
|
+
import { __decorate, __metadata } from 'tslib';
|
2
|
+
import * as i1 from '@angular/common';
|
3
|
+
import { CommonModule } from '@angular/common';
|
4
|
+
import * as i0 from '@angular/core';
|
5
|
+
import { InjectionToken, contentChildren, effect, ChangeDetectorRef, Directive, input, ElementRef, Component, Inject, HostBinding, Input, forwardRef, NgZone, TemplateRef, ViewContainerRef, NgModule } from '@angular/core';
|
6
|
+
import { Subject, BehaviorSubject, filter, skip, takeUntil, combineLatest, distinctUntilChanged, map, switchMap, of } from 'rxjs';
|
7
|
+
import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
|
8
|
+
|
9
|
+
const WLCM_STEPS_NAVIGATOR = new InjectionToken('WLCM_STEPS_NAVIGATOR');
|
10
|
+
|
11
|
+
const WLCM_STEP = new InjectionToken('WLCM_STEP');
|
12
|
+
const WLCM_STEP_OPTIONS = new InjectionToken('WLCM_STEP_OPTIONS', {
|
13
|
+
factory: () => ({
|
14
|
+
completed: false,
|
15
|
+
disabled: 'on_any_previous_incomplete',
|
16
|
+
}),
|
17
|
+
});
|
18
|
+
|
19
|
+
class WlcmStepsNavigator {
|
20
|
+
}
|
21
|
+
let WlcmStepperBase = class WlcmStepperBase extends WlcmStepsNavigator {
|
22
|
+
constructor(changeDetector) {
|
23
|
+
super();
|
24
|
+
this.changeDetector = changeDetector;
|
25
|
+
this._listUpdated$ = new Subject();
|
26
|
+
this._keyToIndexMap = new Map();
|
27
|
+
this._steps = contentChildren(WLCM_STEP, { descendants: true });
|
28
|
+
this._active$ = new BehaviorSubject(null);
|
29
|
+
this.active$ = this._active$.asObservable();
|
30
|
+
this._minIncompleteStepIndex$ = new BehaviorSubject(0);
|
31
|
+
this.minIncompleteStepIndex$ = this._minIncompleteStepIndex$
|
32
|
+
.asObservable()
|
33
|
+
.pipe(filter((index) => index !== Infinity));
|
34
|
+
effect(() => this._handleUpdatedList(this._steps()));
|
35
|
+
}
|
36
|
+
get active() {
|
37
|
+
return this._active$.value;
|
38
|
+
}
|
39
|
+
get isActiveCompleted() {
|
40
|
+
return this.active.completed;
|
41
|
+
}
|
42
|
+
get minIncompleteStepIndex() {
|
43
|
+
return this._minIncompleteStepIndex$.value;
|
44
|
+
}
|
45
|
+
next() {
|
46
|
+
if (!this.canActivateNext())
|
47
|
+
return;
|
48
|
+
const index = this._activeIndex + 1;
|
49
|
+
if (index < this._steps().length)
|
50
|
+
this.activate(this._steps()[index].key);
|
51
|
+
}
|
52
|
+
previous() {
|
53
|
+
const index = this._activeIndex - 1;
|
54
|
+
if (index >= 0)
|
55
|
+
this.activate(this._steps()[index].key);
|
56
|
+
}
|
57
|
+
activate(key) {
|
58
|
+
if (!this._keyToIndexMap.has(key))
|
59
|
+
return;
|
60
|
+
const step = this._getStep(key);
|
61
|
+
this._active$.next(step);
|
62
|
+
this.changeDetector.markForCheck();
|
63
|
+
}
|
64
|
+
canActivateNext() {
|
65
|
+
return this.isActiveCompleted;
|
66
|
+
}
|
67
|
+
isCurrentOrPrevious(key) {
|
68
|
+
const index = this._keyToIndexMap.get(key);
|
69
|
+
const activeIndex = this._activeIndex;
|
70
|
+
return index === activeIndex || activeIndex > index;
|
71
|
+
}
|
72
|
+
getStepIndex(key) {
|
73
|
+
return this._keyToIndexMap.get(key);
|
74
|
+
}
|
75
|
+
get _activeIndex() {
|
76
|
+
return this._keyToIndexMap.get(this.active.key);
|
77
|
+
}
|
78
|
+
_getStep(key) {
|
79
|
+
return this._steps()[this._keyToIndexMap.get(key)];
|
80
|
+
}
|
81
|
+
_handleUpdatedList(list) {
|
82
|
+
this._listUpdated$.next();
|
83
|
+
this._keyToIndexMap.clear();
|
84
|
+
list.forEach((step, index) => {
|
85
|
+
if (!step.key)
|
86
|
+
step.key = `${index}`;
|
87
|
+
this._keyToIndexMap.set(step.key, index);
|
88
|
+
this._handleKeyChanges(step, index);
|
89
|
+
});
|
90
|
+
this._handleCompleteChanges(list);
|
91
|
+
if (!this._active$.value)
|
92
|
+
this.activate(list[0].key);
|
93
|
+
}
|
94
|
+
_handleKeyChanges(step, index) {
|
95
|
+
let previousKey = step.key;
|
96
|
+
step.key$
|
97
|
+
.pipe(skip(1))
|
98
|
+
.pipe(untilDestroyed(this), takeUntil(this._listUpdated$))
|
99
|
+
.subscribe((newKey) => {
|
100
|
+
this._keyToIndexMap.delete(previousKey);
|
101
|
+
this._keyToIndexMap.set(newKey, index);
|
102
|
+
previousKey = newKey;
|
103
|
+
});
|
104
|
+
}
|
105
|
+
_handleCompleteChanges(list) {
|
106
|
+
combineLatest(list.map((step, index) => step.completed$
|
107
|
+
.pipe(distinctUntilChanged())
|
108
|
+
.pipe(map((isCompleted) => (isCompleted ? Infinity : index)))))
|
109
|
+
.pipe(untilDestroyed(this), takeUntil(this._listUpdated$))
|
110
|
+
.subscribe((indexes) => {
|
111
|
+
const minIndex = Math.min(...indexes);
|
112
|
+
this._minIncompleteStepIndex$.next(minIndex !== Infinity ? minIndex : -1);
|
113
|
+
});
|
114
|
+
}
|
115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperBase, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
116
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "17.3.5", type: WlcmStepperBase, queries: [{ propertyName: "_steps", predicate: WLCM_STEP, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
|
117
|
+
};
|
118
|
+
WlcmStepperBase = __decorate([
|
119
|
+
UntilDestroy(),
|
120
|
+
__metadata("design:paramtypes", [ChangeDetectorRef])
|
121
|
+
], WlcmStepperBase);
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperBase, decorators: [{
|
123
|
+
type: Directive
|
124
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
|
125
|
+
|
126
|
+
let WlcmStepHeaderComponent = class WlcmStepHeaderComponent {
|
127
|
+
get isPassed() {
|
128
|
+
return this._key && this.navigator.isCurrentOrPrevious(this._key);
|
129
|
+
}
|
130
|
+
get isCompleted() {
|
131
|
+
return this._step.completed;
|
132
|
+
}
|
133
|
+
constructor(elementRef, navigator) {
|
134
|
+
this.elementRef = elementRef;
|
135
|
+
this.navigator = navigator;
|
136
|
+
this.step = input.required();
|
137
|
+
this._stepUpdated$ = new Subject();
|
138
|
+
effect(() => this._handleDisableStatusChanges());
|
139
|
+
}
|
140
|
+
activate() {
|
141
|
+
if (this.navigator.active?.key === this.step().key)
|
142
|
+
return;
|
143
|
+
this.navigator.activate(this.step().key);
|
144
|
+
}
|
145
|
+
get element() {
|
146
|
+
return this.elementRef.nativeElement;
|
147
|
+
}
|
148
|
+
get _key() {
|
149
|
+
return this.step().key;
|
150
|
+
}
|
151
|
+
get _step() {
|
152
|
+
return this.step();
|
153
|
+
}
|
154
|
+
_handleDisableStatusChanges() {
|
155
|
+
this._stepUpdated$.next();
|
156
|
+
this.step()
|
157
|
+
.disabled$.pipe(switchMap((value) => {
|
158
|
+
if (value === 'on_any_previous_incomplete') {
|
159
|
+
return this.navigator.minIncompleteStepIndex$.pipe(map((minIndex) => {
|
160
|
+
if (minIndex < 0)
|
161
|
+
return false;
|
162
|
+
return minIndex < this.navigator.getStepIndex(this.step().key);
|
163
|
+
}));
|
164
|
+
}
|
165
|
+
return of(value);
|
166
|
+
}))
|
167
|
+
.pipe(untilDestroyed(this), takeUntil(this._stepUpdated$))
|
168
|
+
.subscribe((isDisabled) => {
|
169
|
+
if (isDisabled) {
|
170
|
+
return this.element.classList.add('wlcm-step-header-disabled');
|
171
|
+
}
|
172
|
+
this.element.classList.remove('wlcm-step-header-disabled');
|
173
|
+
});
|
174
|
+
}
|
175
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepHeaderComponent, deps: [{ token: i0.ElementRef }, { token: WLCM_STEPS_NAVIGATOR }], target: i0.ɵɵFactoryTarget.Component }); }
|
176
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.5", type: WlcmStepHeaderComponent, isStandalone: true, selector: "wlcm-step-header", inputs: { step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.wlcm-step-header-passed": "this.isPassed", "class.wlcm-step-header-completed": "this.isCompleted" }, classAttribute: "wlcm-step-header" }, ngImport: i0, template: "<button class=\"wlcm-step-header-button\" (click)=\"activate()\">\n <span class=\"wlcm-step-header-label\">{{ step().label$ | async }}</span>\n\n <div class=\"wlcm-step-header-progress-bar\">\n <div class=\"wlcm-step-header-complete-indicator\"></div>\n\n <div class=\"wlcm-step-header-pass-indicator\"></div>\n </div>\n</button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
177
|
+
};
|
178
|
+
WlcmStepHeaderComponent = __decorate([
|
179
|
+
UntilDestroy(),
|
180
|
+
__metadata("design:paramtypes", [ElementRef, WlcmStepsNavigator])
|
181
|
+
], WlcmStepHeaderComponent);
|
182
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepHeaderComponent, decorators: [{
|
183
|
+
type: Component,
|
184
|
+
args: [{ selector: 'wlcm-step-header', host: { class: 'wlcm-step-header' }, standalone: true, imports: [CommonModule], template: "<button class=\"wlcm-step-header-button\" (click)=\"activate()\">\n <span class=\"wlcm-step-header-label\">{{ step().label$ | async }}</span>\n\n <div class=\"wlcm-step-header-progress-bar\">\n <div class=\"wlcm-step-header-complete-indicator\"></div>\n\n <div class=\"wlcm-step-header-pass-indicator\"></div>\n </div>\n</button>\n" }]
|
185
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: WlcmStepsNavigator, decorators: [{
|
186
|
+
type: Inject,
|
187
|
+
args: [WLCM_STEPS_NAVIGATOR]
|
188
|
+
}] }], propDecorators: { isPassed: [{
|
189
|
+
type: HostBinding,
|
190
|
+
args: ['class.wlcm-step-header-passed']
|
191
|
+
}], isCompleted: [{
|
192
|
+
type: HostBinding,
|
193
|
+
args: ['class.wlcm-step-header-completed']
|
194
|
+
}] } });
|
195
|
+
|
196
|
+
class WlcmStep {
|
197
|
+
}
|
198
|
+
class WlcmStepBase extends WlcmStep {
|
199
|
+
set key(value) {
|
200
|
+
this._key$.next(value);
|
201
|
+
}
|
202
|
+
get key() {
|
203
|
+
return this._key$.value;
|
204
|
+
}
|
205
|
+
set label(value) {
|
206
|
+
this._label$.next(value);
|
207
|
+
}
|
208
|
+
get label() {
|
209
|
+
return this._label$.value;
|
210
|
+
}
|
211
|
+
set completed(value) {
|
212
|
+
this._completed$.next(value);
|
213
|
+
}
|
214
|
+
get completed() {
|
215
|
+
return this._completed$.value;
|
216
|
+
}
|
217
|
+
set disabled(value) {
|
218
|
+
this._disabled$.next(value);
|
219
|
+
}
|
220
|
+
get disabled() {
|
221
|
+
return this._disabled$.value;
|
222
|
+
}
|
223
|
+
constructor(options) {
|
224
|
+
super();
|
225
|
+
this.options = options;
|
226
|
+
this._key$ = new BehaviorSubject(null);
|
227
|
+
this.key$ = this._key$.asObservable();
|
228
|
+
this._label$ = new BehaviorSubject('');
|
229
|
+
this.label$ = this._label$.asObservable();
|
230
|
+
this._completed$ = new BehaviorSubject(false);
|
231
|
+
this.completed$ = this._completed$.asObservable();
|
232
|
+
this._disabled$ = new BehaviorSubject(false);
|
233
|
+
this.disabled$ = this._disabled$.asObservable();
|
234
|
+
this.disabled = this.options.hasOwnProperty('completed') ? this.options.completed : false;
|
235
|
+
this.disabled = this.options.hasOwnProperty('disabled') ? this.options.disabled : 'on_any_previous_incomplete';
|
236
|
+
}
|
237
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
238
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmStepBase, inputs: { key: "key", label: "label", completed: "completed", disabled: "disabled" }, usesInheritance: true, ngImport: i0 }); }
|
239
|
+
}
|
240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepBase, decorators: [{
|
241
|
+
type: Directive
|
242
|
+
}], ctorParameters: () => [{ type: undefined }], propDecorators: { key: [{
|
243
|
+
type: Input
|
244
|
+
}], label: [{
|
245
|
+
type: Input,
|
246
|
+
args: [{ required: true }]
|
247
|
+
}], completed: [{
|
248
|
+
type: Input
|
249
|
+
}], disabled: [{
|
250
|
+
type: Input
|
251
|
+
}] } });
|
252
|
+
|
253
|
+
let WlcmStepComponent = class WlcmStepComponent extends WlcmStepBase {
|
254
|
+
constructor(zone, elementRef, changeDetectorRef, options, stepsNavigator) {
|
255
|
+
super(options);
|
256
|
+
this.zone = zone;
|
257
|
+
this.elementRef = elementRef;
|
258
|
+
this.changeDetectorRef = changeDetectorRef;
|
259
|
+
this.options = options;
|
260
|
+
this.stepsNavigator = stepsNavigator;
|
261
|
+
this.zone.runOutsideAngular(() => this._handleActiveChanges());
|
262
|
+
}
|
263
|
+
get element() {
|
264
|
+
return this.elementRef.nativeElement;
|
265
|
+
}
|
266
|
+
_handleActiveChanges() {
|
267
|
+
this.stepsNavigator.active$.pipe(untilDestroyed(this)).subscribe((active) => {
|
268
|
+
if (active?.key === this.key) {
|
269
|
+
this.element.classList.add('wlcm-step-active');
|
270
|
+
return this.changeDetectorRef.markForCheck();
|
271
|
+
}
|
272
|
+
this.element.classList.remove('wlcm-step-active');
|
273
|
+
});
|
274
|
+
}
|
275
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: WLCM_STEP_OPTIONS }, { token: WLCM_STEPS_NAVIGATOR }], target: i0.ɵɵFactoryTarget.Component }); }
|
276
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmStepComponent, isStandalone: true, selector: "wlcm-step", host: { classAttribute: "wlcm-step" }, providers: [{ provide: WLCM_STEP, useExisting: forwardRef(() => WlcmStepComponent) }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
277
|
+
};
|
278
|
+
WlcmStepComponent = __decorate([
|
279
|
+
UntilDestroy(),
|
280
|
+
__metadata("design:paramtypes", [NgZone,
|
281
|
+
ElementRef,
|
282
|
+
ChangeDetectorRef, Object, WlcmStepsNavigator])
|
283
|
+
], WlcmStepComponent);
|
284
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepComponent, decorators: [{
|
285
|
+
type: Component,
|
286
|
+
args: [{ selector: 'wlcm-step', host: { class: 'wlcm-step' }, standalone: true, imports: [CommonModule], providers: [{ provide: WLCM_STEP, useExisting: forwardRef(() => WlcmStepComponent) }], template: "<ng-content></ng-content>\n" }]
|
287
|
+
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
288
|
+
type: Inject,
|
289
|
+
args: [WLCM_STEP_OPTIONS]
|
290
|
+
}] }, { type: WlcmStepsNavigator, decorators: [{
|
291
|
+
type: Inject,
|
292
|
+
args: [WLCM_STEPS_NAVIGATOR]
|
293
|
+
}] }] });
|
294
|
+
|
295
|
+
class WlcmStepperHeaderComponent {
|
296
|
+
constructor() {
|
297
|
+
this.steps = input.required();
|
298
|
+
}
|
299
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
300
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: WlcmStepperHeaderComponent, isStandalone: true, selector: "wlcm-stepper-header", inputs: { steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "wlcm-stepper-header" }, ngImport: i0, template: "@for (step of steps(); track step) {\n<wlcm-step-header [step]=\"step\"></wlcm-step-header>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: WlcmStepHeaderComponent, selector: "wlcm-step-header", inputs: ["step"] }] }); }
|
301
|
+
}
|
302
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperHeaderComponent, decorators: [{
|
303
|
+
type: Component,
|
304
|
+
args: [{ selector: 'wlcm-stepper-header', host: { class: 'wlcm-stepper-header' }, standalone: true, imports: [CommonModule, WlcmStepHeaderComponent], template: "@for (step of steps(); track step) {\n<wlcm-step-header [step]=\"step\"></wlcm-step-header>\n}\n" }]
|
305
|
+
}] });
|
306
|
+
|
307
|
+
class WlcmStepperComponent extends WlcmStepperBase {
|
308
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
309
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmStepperComponent, isStandalone: true, selector: "wlcm-stepper", host: { classAttribute: "wlcm-stepper" }, providers: [{ provide: WLCM_STEPS_NAVIGATOR, useExisting: forwardRef(() => WlcmStepperComponent) }], usesInheritance: true, ngImport: i0, template: "<wlcm-stepper-header [steps]=\"_steps()\"></wlcm-stepper-header>\n\n<ng-content select=\"wlcm-step\"></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: WlcmStepperHeaderComponent, selector: "wlcm-stepper-header", inputs: ["steps"] }] }); }
|
310
|
+
}
|
311
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperComponent, decorators: [{
|
312
|
+
type: Component,
|
313
|
+
args: [{ selector: 'wlcm-stepper', host: { class: 'wlcm-stepper' }, standalone: true, imports: [CommonModule, WlcmStepperHeaderComponent], providers: [{ provide: WLCM_STEPS_NAVIGATOR, useExisting: forwardRef(() => WlcmStepperComponent) }], template: "<wlcm-stepper-header [steps]=\"_steps()\"></wlcm-stepper-header>\n\n<ng-content select=\"wlcm-step\"></ng-content>\n" }]
|
314
|
+
}] });
|
315
|
+
|
316
|
+
let WlcmLoadOnActiveStepDirective = class WlcmLoadOnActiveStepDirective {
|
317
|
+
constructor(step, navigator, templateRef, viewContainer) {
|
318
|
+
this.step = step;
|
319
|
+
this.navigator = navigator;
|
320
|
+
this.templateRef = templateRef;
|
321
|
+
this.viewContainer = viewContainer;
|
322
|
+
this.navigator.active$.pipe(untilDestroyed(this)).subscribe((active) => {
|
323
|
+
if (active?.key === step.key) {
|
324
|
+
this.viewContainer.clear();
|
325
|
+
this.viewContainer.createEmbeddedView(this.templateRef);
|
326
|
+
}
|
327
|
+
else {
|
328
|
+
this.viewContainer.clear();
|
329
|
+
}
|
330
|
+
});
|
331
|
+
}
|
332
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmLoadOnActiveStepDirective, deps: [{ token: WLCM_STEP }, { token: WLCM_STEPS_NAVIGATOR }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
333
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmLoadOnActiveStepDirective, isStandalone: true, selector: "[wlcmLoadOnActiveStep]", ngImport: i0 }); }
|
334
|
+
};
|
335
|
+
WlcmLoadOnActiveStepDirective = __decorate([
|
336
|
+
UntilDestroy(),
|
337
|
+
__metadata("design:paramtypes", [WlcmStep,
|
338
|
+
WlcmStepsNavigator,
|
339
|
+
TemplateRef,
|
340
|
+
ViewContainerRef])
|
341
|
+
], WlcmLoadOnActiveStepDirective);
|
342
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmLoadOnActiveStepDirective, decorators: [{
|
343
|
+
type: Directive,
|
344
|
+
args: [{
|
345
|
+
selector: '[wlcmLoadOnActiveStep]',
|
346
|
+
standalone: true,
|
347
|
+
}]
|
348
|
+
}], ctorParameters: () => [{ type: WlcmStep, decorators: [{
|
349
|
+
type: Inject,
|
350
|
+
args: [WLCM_STEP]
|
351
|
+
}] }, { type: WlcmStepsNavigator, decorators: [{
|
352
|
+
type: Inject,
|
353
|
+
args: [WLCM_STEPS_NAVIGATOR]
|
354
|
+
}] }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
|
355
|
+
|
356
|
+
const publicComponents = [
|
357
|
+
WlcmStepComponent,
|
358
|
+
WlcmStepperComponent,
|
359
|
+
WlcmStepHeaderComponent,
|
360
|
+
WlcmStepperHeaderComponent,
|
361
|
+
];
|
362
|
+
const publicDirectives = [WlcmLoadOnActiveStepDirective];
|
363
|
+
class WlcmStepperModule {
|
364
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
365
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperModule, imports: [CommonModule, WlcmStepComponent,
|
366
|
+
WlcmStepperComponent,
|
367
|
+
WlcmStepHeaderComponent,
|
368
|
+
WlcmStepperHeaderComponent, WlcmLoadOnActiveStepDirective], exports: [WlcmStepComponent,
|
369
|
+
WlcmStepperComponent,
|
370
|
+
WlcmStepHeaderComponent,
|
371
|
+
WlcmStepperHeaderComponent, WlcmLoadOnActiveStepDirective] }); }
|
372
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperModule, imports: [CommonModule, publicComponents] }); }
|
373
|
+
}
|
374
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmStepperModule, decorators: [{
|
375
|
+
type: NgModule,
|
376
|
+
args: [{
|
377
|
+
imports: [CommonModule, ...publicComponents, ...publicDirectives],
|
378
|
+
exports: [...publicComponents, ...publicDirectives],
|
379
|
+
}]
|
380
|
+
}] });
|
381
|
+
|
382
|
+
/**
|
383
|
+
* Generated bundle index. Do not edit.
|
384
|
+
*/
|
385
|
+
|
386
|
+
export { WLCM_STEP, WLCM_STEPS_NAVIGATOR, WLCM_STEP_OPTIONS, WlcmLoadOnActiveStepDirective, WlcmStep, WlcmStepComponent, WlcmStepHeaderComponent, WlcmStepperComponent, WlcmStepperHeaderComponent, WlcmStepperModule, WlcmStepsNavigator };
|
387
|
+
//# sourceMappingURL=wlcm-angular-stepper.mjs.map
|