windows-plus-utilities 0.0.76 → 0.0.78

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3RlcC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aW5kb3dzLXBsdXMtdXRpbGl0aWVzL21vZGFsLXdpemFyZC91dGlsL2ludGVyZmFjZS9tb2RhbC1zdGVwLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBhdXRob3IgQWxleCBIb2Rzb25cclxuICogQGRlc2NyaXB0aW9uIGFuIGludGVyZmFjZSBkZWZpbmluZyB0aGUgcHJvcGVydGllcyBmb3IgYSBtb2RhbCBzdGVwXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFN0ZXBNb2RlbDxUPiB7XHJcblx0c3RlcEluZGV4OiBudW1iZXJcclxuXHR0aXRsZTogc3RyaW5nXHJcblx0aXNDb21wbGV0ZTogYm9vbGVhbixcclxuXHRwYXJhbWV0ZXJzOiBUW10sXHJcblx0c3RlcENhbGxiYWNrTmFtZT86IHN0cmluZyxcclxuXHR0cmlnZ2VyQ2FsbGJhY2s/OiBib29sZWFuXHJcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3RlcC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aW5kb3dzLXBsdXMtdXRpbGl0aWVzL21vZGFsLXdpemFyZC91dGlsL2ludGVyZmFjZS9tb2RhbC1zdGVwLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBhdXRob3IgQWxleCBIb2Rzb25cclxuICogQGRlc2NyaXB0aW9uIGFuIGludGVyZmFjZSBkZWZpbmluZyB0aGUgcHJvcGVydGllcyBmb3IgYSBtb2RhbCBzdGVwXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFN0ZXBNb2RlbDxUPiB7XHJcblx0c3RlcEluZGV4OiBudW1iZXJcclxuXHRzbHVnOiBzdHJpbmdcclxuXHR0aXRsZTogc3RyaW5nXHJcblx0aXNDb21wbGV0ZTogYm9vbGVhbixcclxuXHRwYXJhbWV0ZXJzOiBUW10sXHJcblx0c3RlcENhbGxiYWNrTmFtZT86IHN0cmluZyxcclxuXHR0cmlnZ2VyQ2FsbGJhY2s/OiBib29sZWFuXHJcbn0iXX0=
@@ -23,6 +23,15 @@ export class StepService {
23
23
  this.steps$ = new BehaviorSubject(this.steps);
24
24
  this.currentStep$.next(this.steps$.value[0]);
25
25
  }
26
+ /**
27
+ * @author Alex Hodson
28
+ * @description adjusts the step indexes to be sequential based on their position in the steps array
29
+ */
30
+ adjustStepIndexes() {
31
+ const currentSteps = [...this.steps];
32
+ currentSteps.forEach((element, index) => element.stepIndex = index + 1);
33
+ this.steps$.next(currentSteps);
34
+ }
26
35
  /**
27
36
  * @author Alex Hodson
28
37
  * @description inserts a new step at a specific index, specified by the step index property
@@ -139,13 +148,13 @@ export class StepService {
139
148
  const currentStep = this.currentStep$.value;
140
149
  if (!currentStep)
141
150
  return;
142
- const { stepIndex, parameters, triggerCallback } = currentStep;
151
+ const { stepIndex, slug, parameters, triggerCallback } = currentStep;
143
152
  if (triggerCallback && triggerStepCallback) {
144
153
  const results = await triggerStepCallback(stepIndex);
145
154
  if (!results && revert)
146
155
  return this.moveToPreviousStep();
147
156
  }
148
- let route = `step-${stepIndex}`;
157
+ let route = `step-${slug}`;
149
158
  if (getParameterValue)
150
159
  parameters.forEach((element) => route += `/${getParameterValue(element)}`);
151
160
  this.router.navigate([route], { relativeTo: this.activatedRoute });
@@ -171,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
171
180
  type: Inject,
172
181
  args: ['steps']
173
182
  }] }] });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2luZG93cy1wbHVzLXV0aWxpdGllcy9tb2RhbC13aXphcmQvdXRpbC9zZXJ2aWNlL3N0ZXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFPbkQsTUFBTSxPQUFPLFdBQVc7SUFhdEI7Ozs7T0FJRTtJQUNGLFlBQ1EsTUFBYyxFQUNkLGNBQThCLEVBQ2IsS0FBcUI7UUFGdEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNiLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBaEIvQzs7V0FFRztRQUNGLGlCQUFZLEdBQXVDLElBQUksZUFBZSxDQUFvQixJQUFJLENBQUMsQ0FBQztRQUNqRzs7V0FFRztRQUNILDZCQUF3QixHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQTtRQVd2RixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFpQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0Y7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxJQUFrQjtRQUM1QixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzFCLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDcEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxT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QU07OzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFzQkUsTUFBTTsyQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdGVwTW9kZWwgfSBmcm9tICcuLi9pbnRlcmZhY2UvbW9kYWwtc3RlcC5pbnRlcmZhY2UnXHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGVwU2VydmljZTxUPiB7XHJcblx0LyoqXHJcblx0ICogQGRlc2NyaXB0aW9uIHRoZSBzdWJqZWN0IGZvciB0aGUgbW9kYWwgc3RlcHNcclxuXHQgKi9cclxuICBzdGVwcyQ6IEJlaGF2aW9yU3ViamVjdDxTdGVwTW9kZWw8VD5bXT47XHJcblx0LyoqXHJcblx0ICogQGRlc2NyaXB0aW9uIHRoZSBzdWJqZWN0IGZvciB0aGUgY3VycmVudCBtb2RhbCBzdGVwXHJcblx0ICovXHJcbiAgY3VycmVudFN0ZXAkOiBCZWhhdmlvclN1YmplY3Q8U3RlcE1vZGVsPFQ+fG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGVwTW9kZWw8VD58bnVsbD4obnVsbCk7XHJcblx0LyoqXHJcblx0ICogQGRlc2NyaXB0aW9uIHRoZSBzdWJqZWN0IGZvciB0aGUgc3RlcCBmb3J3YXJkIGF2YWlsYWJpbGl0eVxyXG5cdCAqL1xyXG5cdHN0ZXBGb3J3YXJkQXZhaWxhYmlsaXR5JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSlcclxuIFx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiBjbGFzcyBjb25zdHJ1Y3RvciBzcGVjaWZ5aW5nIHRoZSByZXF1aXJlZCBzZXJ2aWNlcyBhbmQgcHJvcGVydGllc1xyXG5cdCAqIEBwYXJhbSBzdGVwcyB0aGUgc3RlcHMgaW4gdGhlIG1vZGFsXHJcblx0ICovXHJcbiAgY29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG5cdFx0cHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcblx0XHRASW5qZWN0KCdzdGVwcycpIHByaXZhdGUgc3RlcHM6IFN0ZXBNb2RlbDxUPltdXHJcblx0KSB7XHJcblx0XHR0aGlzLnN0ZXBzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RlcE1vZGVsPFQ+W10+KHRoaXMuc3RlcHMpXHJcbiAgICB0aGlzLmN1cnJlbnRTdGVwJC5uZXh0KHRoaXMuc3RlcHMkLnZhbHVlWzBdKTtcclxuICB9XHJcblx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiBpbnNlcnRzIGEgbmV3IHN0ZXAgYXQgYSBzcGVjaWZpYyBpbmRleCwgc3BlY2lmaWVkIGJ5IHRoZSBzdGVwIGluZGV4IHByb3BlcnR5XHJcblx0ICogQHBhcmFtIHN0ZXAgdGhlIHN0ZXAgdG8gYmUgaW5zZXJ0ZWRcclxuXHQgKi9cclxuXHRpbnNlcnRTdGVwKHN0ZXA6IFN0ZXBNb2RlbDxUPik6IHZvaWQge1xyXG5cdFx0Y29uc3QgeyBzdGVwSW5kZXggfSA9IHN0ZXBcclxuXHRcdGNvbnN0IGN1cnJlbnRTdGVwcyA9IFsuLi50aGlzLnN0ZXBzXVxyXG5cdFx0Y3VycmVudFN0ZXBzLmZvckVhY2goZWxlbWVudCA9PiBlbGVtZW50LnN0ZXBJbmRleCA9IChzdGVwSW5kZXggPD0gZWxlbWVudC5zdGVwSW5kZXggPyBlbGVtZW50LnN0ZXBJbmRleCArIDEgOiBlbGVtZW50LnN0ZXBJbmRleCkpXHJcblx0XHRjdXJyZW50U3RlcHMuc3BsaWNlKHN0ZXBJbmRleCAtIDEsIDAsIHN0ZXApXHJcblx0XHR0aGlzLnN0ZXBzJC5uZXh0KGN1cnJlbnRTdGVwcylcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiBzZXRzIHRoZSBjdXJyZW50IG1vZGFsIHN0ZXBcclxuXHQgKiBAcGFyYW0gc3RlcCB0aGUgc3RlcCB0byBiZSBzZXRcclxuXHQgKi9cclxuICBzZXRDdXJyZW50U3RlcChzdGVwOiBTdGVwTW9kZWw8VD4pOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFN0ZXAkLm5leHQoc3RlcCk7XHJcbiAgfVxyXG5cdC8qKlxyXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cclxuXHQgKiBAZGVzY3JpcHRpb24gcmV0dXJucyB0aGUgY3VycmVudCBtb2RhbCBzdGVwIG9ic2VydmFibGVcclxuXHQgKiBAcmV0dXJucyB0aGUgY3VycmVudCBtb2RhbCBzdGVwIG9ic2VydmFibGVcclxuXHQgKi9cclxuICBnZXRDdXJyZW50U3RlcE9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxTdGVwTW9kZWw8VD58bnVsbD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFN0ZXAkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHQvKipcclxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXHJcblx0ICogQGRlc2NyaXB0aW9uIHJldHVybnMgdGhlIGN1cnJlbnQgbW9kYWwgc3RlcCBvYnNlcnZhYmxlXHJcblx0ICogQHJldHVybnMgdGhlIGN1cnJlbnQgbW9kYWwgc3RlcCBvYnNlcnZhYmxlXHJcblx0ICovXHJcbiAgZ2V0Q3VycmVudFN0ZXAoKTogU3RlcE1vZGVsPFQ+fG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFN0ZXAkLmdldFZhbHVlKCk7XHJcbiAgfVxyXG5cdC8qKlxyXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cclxuXHQgKiBAZGVzY3JpcHRpb24gcmV0cmlldmVzIHRoZSBjdXJyZW50IHN0ZXBzXHJcblx0ICogQHJldHVybnMgdGhlIGN1cnJlbnQgc3RlcHNcclxuXHQgKi9cclxuXHRnZXRTdGVwcygpOiBTdGVwTW9kZWw8VD5bXSB7XHJcblx0XHRyZXR1cm4gdGhpcy5zdGVwcyQuZ2V0VmFsdWUoKVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXHJcblx0ICogQGRlc2NyaXB0aW9uIHJldHVybnMgdGhlIG1vZGFsIHN0ZXAgb2JzZXJ2YWJsZVxyXG5cdCAqIEByZXR1cm5zIHRoZSBtb2RhbCBzdGVwIG9ic2VydmFibGVcclxuXHQgKi9cclxuICBnZXRTdGVwc09ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxTdGVwTW9kZWw8VD5bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RlcHMkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHQvKipcclxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXHJcblx0ICogQGRlc2NyaXB0aW9uIHNldHMgdGhlIHN0ZXAgZm9yd2FyZCBhdmFpbGFiaWxpdHlcclxuXHQgKiBAcGFyYW0gYXZhaWxhYmxlIHdoZXRoZXIgYSBzdGVwIGZvcndhcmQgaXMgYXZhaWxhYmxlXHJcblx0ICovXHJcblx0c2V0U3RlcEZvcndhcmRBdmFpbGFiaWxpdHkoYXZhaWxhYmxlOiBib29sZWFuKTogdm9pZCB7XHJcblx0XHR0aGlzLnN0ZXBGb3J3YXJkQXZhaWxhYmlsaXR5JC5uZXh0KGF2YWlsYWJsZSlcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiByZXR1cm5zIHRoZSBzdGVwIGZvcndhcmQgYXZhaWxhYmlsaXR5IG9ic2VydmFibGVcclxuXHQgKiBAcmV0dXJucyB0aGUgc3RlcCBmb3J3YXJkIGF2YWlsYWJpbGl0eSBvYnNlcnZhYmxlXHJcblx0ICovXHJcblx0Z2V0U3RlcEZvcndhcmRBdmFpbGFiaWxpdHkoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5zdGVwRm9yd2FyZEF2YWlsYWJpbGl0eSQuYXNPYnNlcnZhYmxlKClcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiBtb3ZlcyB0byB0aGUgbmV4dCBtb2RhbCBzdGVwXHJcblx0ICovXHJcbiAgbW92ZVRvTmV4dFN0ZXAoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY3VycmVudFN0ZXAkLnZhbHVlIS5zdGVwSW5kZXg7XHJcblxyXG4gICAgaWYgKGluZGV4IDwgdGhpcy5zdGVwcyQudmFsdWUubGVuZ3RoKSB7XHJcblx0XHRcdGNvbnN0IG5leHRTdGVwID0gdGhpcy5zdGVwcyQudmFsdWVbaW5kZXhdXHJcblx0XHRcdGNvbnN0IGN1cnJlbnRTdGVwID0gdGhpcy5zdGVwcyQudmFsdWVbaW5kZXggLSAxXVxyXG4gICAgICB0aGlzLmN1cnJlbnRTdGVwJC5uZXh0KHtcclxuXHRcdFx0XHQuLi5uZXh0U3RlcCxcclxuXHRcdFx0XHQnc3RlcENhbGxiYWNrTmFtZSc6IGN1cnJlbnRTdGVwLnN0ZXBDYWxsYmFja05hbWUsXHJcblx0XHRcdFx0J3RyaWdnZXJDYWxsYmFjayc6ICEhY3VycmVudFN0ZXAuc3RlcENhbGxiYWNrTmFtZVxyXG5cdFx0XHR9KTtcclxuICAgIH1cclxuICB9XHJcblx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiBtb3ZlcyB0byB0aGUgcHJldmlvdXMgbW9kYWwgc3RlcFxyXG5cdCAqL1xyXG5cdG1vdmVUb1ByZXZpb3VzU3RlcCgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGluZGV4ID0gdGhpcy5jdXJyZW50U3RlcCQudmFsdWUhLnN0ZXBJbmRleFxyXG5cdFx0Y29uc3QgcHJldmlvdXMgPSB0aGlzLnN0ZXBzJC52YWx1ZS5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC5zdGVwSW5kZXggPT09IGluZGV4IC0gMSlcclxuXHJcblx0XHRpZiAoIXByZXZpb3VzKSByZXR1cm5cclxuXHJcblx0XHR0aGlzLmN1cnJlbnRTdGVwJC5uZXh0KHtcclxuXHRcdFx0Li4ucHJldmlvdXMsXHJcblx0XHRcdCd0cmlnZ2VyQ2FsbGJhY2snOiBmYWxzZVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cclxuXHQgKiBAZGVzY3JpcHRpb24gZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjdXJyZW50IHN0ZXAgaXMgdGhlIGxhc3RcclxuXHQgKiBAcmV0dXJucyB3aGV0aGVyIHRoZSBzdGVwIGlzIHRoZSBsYXN0IG9uZVxyXG5cdCAqL1xyXG4gIGlzTGFzdFN0ZXAoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50U3RlcCQudmFsdWUhLnN0ZXBJbmRleCA9PT0gdGhpcy5zdGVwcyQudmFsdWUubGVuZ3RoO1xyXG4gIH1cclxuXHJcblx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiB0cmlnZ2VycyBhbnkgcG90ZW50aWFsIFwiYWZ0ZXItc3RlcFwiIGZ1bmN0aW9uYWxpdHkgZm9yIHRoZSBjdXJyZW50IHN0ZXAgYW5kIGNoYW5nZXMgdGhlIGN1cnJlbnQgcm91dGUgd2l0aCBhbnkgcmVxdWlyZWQgcGFyYW1ldGVyc1xyXG5cdCAqIEBwYXJhbSBnZXRQYXJhbWV0ZXJWYWx1ZSB0aGUgY2FsbGJhY2sgd2hpY2ggcmV0cmlldmVzIHRoZSB2YWx1ZSBmb3IgYSBzdGVwIHBhcmFtZXRlclxyXG5cdCAqIEBwYXJhbSB0cmlnZ2VyU3RlcENhbGxiYWNrIHRoZSBjYWxsYmFjayB3aGljaCB0cmlnZ2VycyB0aGUgc3BlY2lmaWMgZnVuY3Rpb25hbGl0eSBmb3IgdGhlIHNwZWNpZmllZCBzdGVwIGluZGV4XHJcblx0ICovXHJcblx0YXN5bmMgaGFuZGxlU3RlcENoYW5nZShnZXRQYXJhbWV0ZXJWYWx1ZT86ICguLi5hcmdzOiBhbnkpID0+IGFueSwgdHJpZ2dlclN0ZXBDYWxsYmFjaz86ICguLi5hcmdzOiBhbnkpID0+IFByb21pc2U8Ym9vbGVhbj4sIHJldmVydDogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTx2b2lkfG51bGw+IHtcclxuXHRcdGNvbnN0IGN1cnJlbnRTdGVwID0gdGhpcy5jdXJyZW50U3RlcCQudmFsdWVcclxuXHRcdFx0XHJcblx0XHRpZiAoIWN1cnJlbnRTdGVwKSByZXR1cm5cclxuXHJcblx0XHRjb25zdCB7IHN0ZXBJbmRleCwgcGFyYW1ldGVycywgdHJpZ2dlckNhbGxiYWNrIH0gPSBjdXJyZW50U3RlcFxyXG5cclxuXHRcdGlmICh0cmlnZ2VyQ2FsbGJhY2sgJiYgdHJpZ2dlclN0ZXBDYWxsYmFjaykge1xyXG5cdFx0XHRjb25zdCByZXN1bHRzID0gYXdhaXQgdHJpZ2dlclN0ZXBDYWxsYmFjayhzdGVwSW5kZXgpXHJcblxyXG5cdFx0XHRpZiAoIXJlc3VsdHMgJiYgcmV2ZXJ0KSByZXR1cm4gdGhpcy5tb3ZlVG9QcmV2aW91c1N0ZXAoKVxyXG5cdFx0fSBcclxuXHJcblx0XHRsZXQgcm91dGUgPSBgc3RlcC0ke3N0ZXBJbmRleH1gXHJcblx0XHRpZiAoZ2V0UGFyYW1ldGVyVmFsdWUpIHBhcmFtZXRlcnMuZm9yRWFjaCgoZWxlbWVudCkgPT4gcm91dGUgKz0gYC8ke2dldFBhcmFtZXRlclZhbHVlKGVsZW1lbnQpfWApXHJcblx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcm91dGVdLCB7IHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUgfSlcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cclxuXHQgKiBAZGVzY3JpcHRpb24gY2xlYXJzIGFueSByb3V0ZSBwYXRocyBhbmQvb3IgcGFyYW1ldGVycyBjcmVhdGVkIGR1cmluZyB0aGUgc3RlcCBmdW5jdGlvbmFsaXR5LCByZXZlcnRpbmcgdGhlIHVybCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBzdGF0ZSB3aGVuIHRoZSBzdGVwIHBhdGhzIHdlcmUgYXBwZW5kZWRcclxuXHQgKi9cclxuXHRjbGVhclN0ZXBSb3V0ZSgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IHVybCA9IHRoaXMucm91dGVyLnVybFxyXG5cdFx0Y29uc3QgW2luaXRpYWxdID0gdXJsLnNwbGl0KCcvc3RlcC0nKVxyXG5cdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW2luaXRpYWxdKVxyXG5cdH1cclxufVxyXG4iXX0=
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2luZG93cy1wbHVzLXV0aWxpdGllcy9tb2RhbC13aXphcmQvdXRpbC9zZXJ2aWNlL3N0ZXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFPbkQsTUFBTSxPQUFPLFdBQVc7SUFhdEI7Ozs7T0FJRTtJQUNGLFlBQ1EsTUFBYyxFQUNkLGNBQThCLEVBQ2IsS0FBcUI7UUFGdEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNiLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBaEIvQzs7V0FFRztRQUNGLGlCQUFZLEdBQXVDLElBQUksZUFBZSxDQUFvQixJQUFJLENBQUMsQ0FBQztRQUNqRzs7V0FFRztRQUNILDZCQUF3QixHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQTtRQVd2RixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFpQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0Y7OztPQUdHO0lBQ0gsaUJBQWlCO1FBQ2hCLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDcEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ3ZFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLElBQWtCO1FBQzVCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDMUIsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNwQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7UUFDakksWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNGLGNBQWMsQ0FBQyxJQUFrQjtRQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0Y7Ozs7T0FJRztJQUNGLHdCQUF3QjtRQUN0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUNGOzs7O09BSUc7SUFDRixjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFDRjs7OztPQUlHO0lBQ0gsUUFBUTtRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUM5QixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNGLGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUNGOzs7O09BSUc7SUFDSCwwQkFBMEIsQ0FBQyxTQUFrQjtRQUM1QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsMEJBQTBCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxDQUFBO0lBQ3BELENBQUM7SUFDRDs7O09BR0c7SUFDRixjQUFjO1FBQ1osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFNLENBQUMsU0FBUyxDQUFDO1FBRWpELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3hDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3pDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUM3QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDekIsR0FBRyxRQUFRO2dCQUNYLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxnQkFBZ0I7Z0JBQ2hELGlCQUFpQixFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCO2FBQ2pELENBQUMsQ0FBQztRQUNGLENBQUM7SUFDSCxDQUFDO0lBQ0Y7OztPQUdHO0lBQ0gsa0JBQWtCO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBTSxDQUFDLFNBQVMsQ0FBQTtRQUNoRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUVuRixJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU07UUFFckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDdEIsR0FBRyxRQUFRO1lBQ1gsaUJBQWlCLEVBQUUsS0FBSztTQUN4QixDQUFDLENBQUM7SUFDSixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNGLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBTSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDekUsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGlCQUF5QyxFQUFFLG1CQUF3RCxFQUFFLFNBQWtCLEtBQUs7UUFDbEosTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUE7UUFFM0MsSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFNO1FBRXhCLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsR0FBRyxXQUFXLENBQUE7UUFFcEUsSUFBSSxlQUFlLElBQUksbUJBQW1CLEVBQUUsQ0FBQztZQUM1QyxNQUFNLE9BQU8sR0FBRyxNQUFNLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBRXBELElBQUksQ0FBQyxPQUFPLElBQUksTUFBTTtnQkFBRSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO1FBQ3pELENBQUM7UUFFRCxJQUFJLEtBQUssR0FBRyxRQUFRLElBQUksRUFBRSxDQUFBO1FBQzFCLElBQUksaUJBQWlCO1lBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ2pHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUE7SUFDbkUsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWM7UUFDYixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQTtRQUMzQixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDaEMsQ0FBQzs4R0FoTFcsV0FBVyxzRUFxQmQsT0FBTztrSEFyQkosV0FBVyxjQUZWLE1BQU07OzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFzQkUsTUFBTTsyQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdGVwTW9kZWwgfSBmcm9tICcuLi9pbnRlcmZhY2UvbW9kYWwtc3RlcC5pbnRlcmZhY2UnXHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGVwU2VydmljZTxUPiB7XHJcblx0LyoqXHJcblx0ICogQGRlc2NyaXB0aW9uIHRoZSBzdWJqZWN0IGZvciB0aGUgbW9kYWwgc3RlcHNcclxuXHQgKi9cclxuICBzdGVwcyQ6IEJlaGF2aW9yU3ViamVjdDxTdGVwTW9kZWw8VD5bXT47XHJcblx0LyoqXHJcblx0ICogQGRlc2NyaXB0aW9uIHRoZSBzdWJqZWN0IGZvciB0aGUgY3VycmVudCBtb2RhbCBzdGVwXHJcblx0ICovXHJcbiAgY3VycmVudFN0ZXAkOiBCZWhhdmlvclN1YmplY3Q8U3RlcE1vZGVsPFQ+fG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGVwTW9kZWw8VD58bnVsbD4obnVsbCk7XHJcblx0LyoqXHJcblx0ICogQGRlc2NyaXB0aW9uIHRoZSBzdWJqZWN0IGZvciB0aGUgc3RlcCBmb3J3YXJkIGF2YWlsYWJpbGl0eVxyXG5cdCAqL1xyXG5cdHN0ZXBGb3J3YXJkQXZhaWxhYmlsaXR5JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSlcclxuIFx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiBjbGFzcyBjb25zdHJ1Y3RvciBzcGVjaWZ5aW5nIHRoZSByZXF1aXJlZCBzZXJ2aWNlcyBhbmQgcHJvcGVydGllc1xyXG5cdCAqIEBwYXJhbSBzdGVwcyB0aGUgc3RlcHMgaW4gdGhlIG1vZGFsXHJcblx0ICovXHJcbiAgY29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG5cdFx0cHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcblx0XHRASW5qZWN0KCdzdGVwcycpIHByaXZhdGUgc3RlcHM6IFN0ZXBNb2RlbDxUPltdXHJcblx0KSB7XHJcblx0XHR0aGlzLnN0ZXBzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RlcE1vZGVsPFQ+W10+KHRoaXMuc3RlcHMpXHJcbiAgICB0aGlzLmN1cnJlbnRTdGVwJC5uZXh0KHRoaXMuc3RlcHMkLnZhbHVlWzBdKTtcclxuICB9XHJcblx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiBhZGp1c3RzIHRoZSBzdGVwIGluZGV4ZXMgdG8gYmUgc2VxdWVudGlhbCBiYXNlZCBvbiB0aGVpciBwb3NpdGlvbiBpbiB0aGUgc3RlcHMgYXJyYXlcclxuXHQgKi9cclxuXHRhZGp1c3RTdGVwSW5kZXhlcygpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGN1cnJlbnRTdGVwcyA9IFsuLi50aGlzLnN0ZXBzXVxyXG5cdFx0Y3VycmVudFN0ZXBzLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiBlbGVtZW50LnN0ZXBJbmRleCA9IGluZGV4ICsgMSlcclxuXHRcdHRoaXMuc3RlcHMkLm5leHQoY3VycmVudFN0ZXBzKVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXHJcblx0ICogQGRlc2NyaXB0aW9uIGluc2VydHMgYSBuZXcgc3RlcCBhdCBhIHNwZWNpZmljIGluZGV4LCBzcGVjaWZpZWQgYnkgdGhlIHN0ZXAgaW5kZXggcHJvcGVydHlcclxuXHQgKiBAcGFyYW0gc3RlcCB0aGUgc3RlcCB0byBiZSBpbnNlcnRlZFxyXG5cdCAqL1xyXG5cdGluc2VydFN0ZXAoc3RlcDogU3RlcE1vZGVsPFQ+KTogdm9pZCB7XHJcblx0XHRjb25zdCB7IHN0ZXBJbmRleCB9ID0gc3RlcFxyXG5cdFx0Y29uc3QgY3VycmVudFN0ZXBzID0gWy4uLnRoaXMuc3RlcHNdXHJcblx0XHRjdXJyZW50U3RlcHMuZm9yRWFjaChlbGVtZW50ID0+IGVsZW1lbnQuc3RlcEluZGV4ID0gKHN0ZXBJbmRleCA8PSBlbGVtZW50LnN0ZXBJbmRleCA/IGVsZW1lbnQuc3RlcEluZGV4ICsgMSA6IGVsZW1lbnQuc3RlcEluZGV4KSlcclxuXHRcdGN1cnJlbnRTdGVwcy5zcGxpY2Uoc3RlcEluZGV4IC0gMSwgMCwgc3RlcClcclxuXHRcdHRoaXMuc3RlcHMkLm5leHQoY3VycmVudFN0ZXBzKVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXHJcblx0ICogQGRlc2NyaXB0aW9uIHNldHMgdGhlIGN1cnJlbnQgbW9kYWwgc3RlcFxyXG5cdCAqIEBwYXJhbSBzdGVwIHRoZSBzdGVwIHRvIGJlIHNldFxyXG5cdCAqL1xyXG4gIHNldEN1cnJlbnRTdGVwKHN0ZXA6IFN0ZXBNb2RlbDxUPik6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50U3RlcCQubmV4dChzdGVwKTtcclxuICB9XHJcblx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IG1vZGFsIHN0ZXAgb2JzZXJ2YWJsZVxyXG5cdCAqIEByZXR1cm5zIHRoZSBjdXJyZW50IG1vZGFsIHN0ZXAgb2JzZXJ2YWJsZVxyXG5cdCAqL1xyXG4gIGdldEN1cnJlbnRTdGVwT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPFN0ZXBNb2RlbDxUPnxudWxsPiB7XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50U3RlcCQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cdC8qKlxyXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cclxuXHQgKiBAZGVzY3JpcHRpb24gcmV0dXJucyB0aGUgY3VycmVudCBtb2RhbCBzdGVwIG9ic2VydmFibGVcclxuXHQgKiBAcmV0dXJucyB0aGUgY3VycmVudCBtb2RhbCBzdGVwIG9ic2VydmFibGVcclxuXHQgKi9cclxuICBnZXRDdXJyZW50U3RlcCgpOiBTdGVwTW9kZWw8VD58bnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50U3RlcCQuZ2V0VmFsdWUoKTtcclxuICB9XHJcblx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiByZXRyaWV2ZXMgdGhlIGN1cnJlbnQgc3RlcHNcclxuXHQgKiBAcmV0dXJucyB0aGUgY3VycmVudCBzdGVwc1xyXG5cdCAqL1xyXG5cdGdldFN0ZXBzKCk6IFN0ZXBNb2RlbDxUPltdIHtcclxuXHRcdHJldHVybiB0aGlzLnN0ZXBzJC5nZXRWYWx1ZSgpXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cclxuXHQgKiBAZGVzY3JpcHRpb24gcmV0dXJucyB0aGUgbW9kYWwgc3RlcCBvYnNlcnZhYmxlXHJcblx0ICogQHJldHVybnMgdGhlIG1vZGFsIHN0ZXAgb2JzZXJ2YWJsZVxyXG5cdCAqL1xyXG4gIGdldFN0ZXBzT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPFN0ZXBNb2RlbDxUPltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGVwcyQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cdC8qKlxyXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cclxuXHQgKiBAZGVzY3JpcHRpb24gc2V0cyB0aGUgc3RlcCBmb3J3YXJkIGF2YWlsYWJpbGl0eVxyXG5cdCAqIEBwYXJhbSBhdmFpbGFibGUgd2hldGhlciBhIHN0ZXAgZm9yd2FyZCBpcyBhdmFpbGFibGVcclxuXHQgKi9cclxuXHRzZXRTdGVwRm9yd2FyZEF2YWlsYWJpbGl0eShhdmFpbGFibGU6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHRcdHRoaXMuc3RlcEZvcndhcmRBdmFpbGFiaWxpdHkkLm5leHQoYXZhaWxhYmxlKVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXHJcblx0ICogQGRlc2NyaXB0aW9uIHJldHVybnMgdGhlIHN0ZXAgZm9yd2FyZCBhdmFpbGFiaWxpdHkgb2JzZXJ2YWJsZVxyXG5cdCAqIEByZXR1cm5zIHRoZSBzdGVwIGZvcndhcmQgYXZhaWxhYmlsaXR5IG9ic2VydmFibGVcclxuXHQgKi9cclxuXHRnZXRTdGVwRm9yd2FyZEF2YWlsYWJpbGl0eSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuXHRcdHJldHVybiB0aGlzLnN0ZXBGb3J3YXJkQXZhaWxhYmlsaXR5JC5hc09ic2VydmFibGUoKVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXHJcblx0ICogQGRlc2NyaXB0aW9uIG1vdmVzIHRvIHRoZSBuZXh0IG1vZGFsIHN0ZXBcclxuXHQgKi9cclxuICBtb3ZlVG9OZXh0U3RlcCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jdXJyZW50U3RlcCQudmFsdWUhLnN0ZXBJbmRleDtcclxuXHJcbiAgICBpZiAoaW5kZXggPCB0aGlzLnN0ZXBzJC52YWx1ZS5sZW5ndGgpIHtcclxuXHRcdFx0Y29uc3QgbmV4dFN0ZXAgPSB0aGlzLnN0ZXBzJC52YWx1ZVtpbmRleF1cclxuXHRcdFx0Y29uc3QgY3VycmVudFN0ZXAgPSB0aGlzLnN0ZXBzJC52YWx1ZVtpbmRleCAtIDFdXHJcbiAgICAgIHRoaXMuY3VycmVudFN0ZXAkLm5leHQoe1xyXG5cdFx0XHRcdC4uLm5leHRTdGVwLFxyXG5cdFx0XHRcdCdzdGVwQ2FsbGJhY2tOYW1lJzogY3VycmVudFN0ZXAuc3RlcENhbGxiYWNrTmFtZSxcclxuXHRcdFx0XHQndHJpZ2dlckNhbGxiYWNrJzogISFjdXJyZW50U3RlcC5zdGVwQ2FsbGJhY2tOYW1lXHJcblx0XHRcdH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHQvKipcclxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXHJcblx0ICogQGRlc2NyaXB0aW9uIG1vdmVzIHRvIHRoZSBwcmV2aW91cyBtb2RhbCBzdGVwXHJcblx0ICovXHJcblx0bW92ZVRvUHJldmlvdXNTdGVwKCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgaW5kZXggPSB0aGlzLmN1cnJlbnRTdGVwJC52YWx1ZSEuc3RlcEluZGV4XHJcblx0XHRjb25zdCBwcmV2aW91cyA9IHRoaXMuc3RlcHMkLnZhbHVlLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnN0ZXBJbmRleCA9PT0gaW5kZXggLSAxKVxyXG5cclxuXHRcdGlmICghcHJldmlvdXMpIHJldHVyblxyXG5cclxuXHRcdHRoaXMuY3VycmVudFN0ZXAkLm5leHQoe1xyXG5cdFx0XHQuLi5wcmV2aW91cyxcclxuXHRcdFx0J3RyaWdnZXJDYWxsYmFjayc6IGZhbHNlXHJcblx0XHR9KTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgc3RlcCBpcyB0aGUgbGFzdFxyXG5cdCAqIEByZXR1cm5zIHdoZXRoZXIgdGhlIHN0ZXAgaXMgdGhlIGxhc3Qgb25lXHJcblx0ICovXHJcbiAgaXNMYXN0U3RlcCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRTdGVwJC52YWx1ZSEuc3RlcEluZGV4ID09PSB0aGlzLnN0ZXBzJC52YWx1ZS5sZW5ndGg7XHJcbiAgfVxyXG5cclxuXHQvKipcclxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXHJcblx0ICogQGRlc2NyaXB0aW9uIHRyaWdnZXJzIGFueSBwb3RlbnRpYWwgXCJhZnRlci1zdGVwXCIgZnVuY3Rpb25hbGl0eSBmb3IgdGhlIGN1cnJlbnQgc3RlcCBhbmQgY2hhbmdlcyB0aGUgY3VycmVudCByb3V0ZSB3aXRoIGFueSByZXF1aXJlZCBwYXJhbWV0ZXJzXHJcblx0ICogQHBhcmFtIGdldFBhcmFtZXRlclZhbHVlIHRoZSBjYWxsYmFjayB3aGljaCByZXRyaWV2ZXMgdGhlIHZhbHVlIGZvciBhIHN0ZXAgcGFyYW1ldGVyXHJcblx0ICogQHBhcmFtIHRyaWdnZXJTdGVwQ2FsbGJhY2sgdGhlIGNhbGxiYWNrIHdoaWNoIHRyaWdnZXJzIHRoZSBzcGVjaWZpYyBmdW5jdGlvbmFsaXR5IGZvciB0aGUgc3BlY2lmaWVkIHN0ZXAgaW5kZXhcclxuXHQgKi9cclxuXHRhc3luYyBoYW5kbGVTdGVwQ2hhbmdlKGdldFBhcmFtZXRlclZhbHVlPzogKC4uLmFyZ3M6IGFueSkgPT4gYW55LCB0cmlnZ2VyU3RlcENhbGxiYWNrPzogKC4uLmFyZ3M6IGFueSkgPT4gUHJvbWlzZTxib29sZWFuPiwgcmV2ZXJ0OiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPHZvaWR8bnVsbD4ge1xyXG5cdFx0Y29uc3QgY3VycmVudFN0ZXAgPSB0aGlzLmN1cnJlbnRTdGVwJC52YWx1ZVxyXG5cdFx0XHRcclxuXHRcdGlmICghY3VycmVudFN0ZXApIHJldHVyblxyXG5cclxuXHRcdGNvbnN0IHsgc3RlcEluZGV4LCBzbHVnLCBwYXJhbWV0ZXJzLCB0cmlnZ2VyQ2FsbGJhY2sgfSA9IGN1cnJlbnRTdGVwXHJcblxyXG5cdFx0aWYgKHRyaWdnZXJDYWxsYmFjayAmJiB0cmlnZ2VyU3RlcENhbGxiYWNrKSB7XHJcblx0XHRcdGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0cmlnZ2VyU3RlcENhbGxiYWNrKHN0ZXBJbmRleClcclxuXHJcblx0XHRcdGlmICghcmVzdWx0cyAmJiByZXZlcnQpIHJldHVybiB0aGlzLm1vdmVUb1ByZXZpb3VzU3RlcCgpXHJcblx0XHR9IFxyXG5cclxuXHRcdGxldCByb3V0ZSA9IGBzdGVwLSR7c2x1Z31gXHJcblx0XHRpZiAoZ2V0UGFyYW1ldGVyVmFsdWUpIHBhcmFtZXRlcnMuZm9yRWFjaCgoZWxlbWVudCkgPT4gcm91dGUgKz0gYC8ke2dldFBhcmFtZXRlclZhbHVlKGVsZW1lbnQpfWApXHJcblx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcm91dGVdLCB7IHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUgfSlcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cclxuXHQgKiBAZGVzY3JpcHRpb24gY2xlYXJzIGFueSByb3V0ZSBwYXRocyBhbmQvb3IgcGFyYW1ldGVycyBjcmVhdGVkIGR1cmluZyB0aGUgc3RlcCBmdW5jdGlvbmFsaXR5LCByZXZlcnRpbmcgdGhlIHVybCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBzdGF0ZSB3aGVuIHRoZSBzdGVwIHBhdGhzIHdlcmUgYXBwZW5kZWRcclxuXHQgKi9cclxuXHRjbGVhclN0ZXBSb3V0ZSgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IHVybCA9IHRoaXMucm91dGVyLnVybFxyXG5cdFx0Y29uc3QgW2luaXRpYWxdID0gdXJsLnNwbGl0KCcvc3RlcC0nKVxyXG5cdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW2luaXRpYWxdKVxyXG5cdH1cclxufVxyXG4iXX0=
@@ -26,6 +26,15 @@ class StepService {
26
26
  this.steps$ = new BehaviorSubject(this.steps);
27
27
  this.currentStep$.next(this.steps$.value[0]);
28
28
  }
29
+ /**
30
+ * @author Alex Hodson
31
+ * @description adjusts the step indexes to be sequential based on their position in the steps array
32
+ */
33
+ adjustStepIndexes() {
34
+ const currentSteps = [...this.steps];
35
+ currentSteps.forEach((element, index) => element.stepIndex = index + 1);
36
+ this.steps$.next(currentSteps);
37
+ }
29
38
  /**
30
39
  * @author Alex Hodson
31
40
  * @description inserts a new step at a specific index, specified by the step index property
@@ -142,13 +151,13 @@ class StepService {
142
151
  const currentStep = this.currentStep$.value;
143
152
  if (!currentStep)
144
153
  return;
145
- const { stepIndex, parameters, triggerCallback } = currentStep;
154
+ const { stepIndex, slug, parameters, triggerCallback } = currentStep;
146
155
  if (triggerCallback && triggerStepCallback) {
147
156
  const results = await triggerStepCallback(stepIndex);
148
157
  if (!results && revert)
149
158
  return this.moveToPreviousStep();
150
159
  }
151
- let route = `step-${stepIndex}`;
160
+ let route = `step-${slug}`;
152
161
  if (getParameterValue)
153
162
  parameters.forEach((element) => route += `/${getParameterValue(element)}`);
154
163
  this.router.navigate([route], { relativeTo: this.activatedRoute });
@@ -1 +1 @@
1
- {"version":3,"file":"windows-plus-utilities-modal-wizard.mjs","sources":["../../../projects/windows-plus-utilities/modal-wizard/util/service/step.service.ts","../../../projects/windows-plus-utilities/modal-wizard/components/step/step.component.ts","../../../projects/windows-plus-utilities/modal-wizard/components/step/step.component.html","../../../projects/windows-plus-utilities/modal-wizard/public-api.ts","../../../projects/windows-plus-utilities/modal-wizard/windows-plus-utilities-modal-wizard.ts"],"sourcesContent":["import { Inject, Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { StepModel } from '../interface/modal-step.interface'\r\nimport { ActivatedRoute, Router } from '@angular/router'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StepService<T> {\r\n\t/**\r\n\t * @description the subject for the modal steps\r\n\t */\r\n steps$: BehaviorSubject<StepModel<T>[]>;\r\n\t/**\r\n\t * @description the subject for the current modal step\r\n\t */\r\n currentStep$: BehaviorSubject<StepModel<T>|null> = new BehaviorSubject<StepModel<T>|null>(null);\r\n\t/**\r\n\t * @description the subject for the step forward availability\r\n\t */\r\n\tstepForwardAvailability$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false)\r\n \t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor specifying the required services and properties\r\n\t * @param steps the steps in the modal\r\n\t */\r\n constructor(\r\n\t\tprivate router: Router,\r\n\t\tprivate activatedRoute: ActivatedRoute,\r\n\t\t@Inject('steps') private steps: StepModel<T>[]\r\n\t) {\r\n\t\tthis.steps$ = new BehaviorSubject<StepModel<T>[]>(this.steps)\r\n this.currentStep$.next(this.steps$.value[0]);\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description inserts a new step at a specific index, specified by the step index property\r\n\t * @param step the step to be inserted\r\n\t */\r\n\tinsertStep(step: StepModel<T>): void {\r\n\t\tconst { stepIndex } = step\r\n\t\tconst currentSteps = [...this.steps]\r\n\t\tcurrentSteps.forEach(element => element.stepIndex = (stepIndex <= element.stepIndex ? element.stepIndex + 1 : element.stepIndex))\r\n\t\tcurrentSteps.splice(stepIndex - 1, 0, step)\r\n\t\tthis.steps$.next(currentSteps)\r\n\t}\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description sets the current modal step\r\n\t * @param step the step to be set\r\n\t */\r\n setCurrentStep(step: StepModel<T>): void {\r\n this.currentStep$.next(step);\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description returns the current modal step observable\r\n\t * @returns the current modal step observable\r\n\t */\r\n getCurrentStepObservable(): Observable<StepModel<T>|null> {\r\n return this.currentStep$.asObservable();\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description returns the current modal step observable\r\n\t * @returns the current modal step observable\r\n\t */\r\n getCurrentStep(): StepModel<T>|null {\r\n return this.currentStep$.getValue();\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description retrieves the current steps\r\n\t * @returns the current steps\r\n\t */\r\n\tgetSteps(): StepModel<T>[] {\r\n\t\treturn this.steps$.getValue()\r\n\t}\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description returns the modal step observable\r\n\t * @returns the modal step observable\r\n\t */\r\n getStepsObservable(): Observable<StepModel<T>[]> {\r\n return this.steps$.asObservable();\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description sets the step forward availability\r\n\t * @param available whether a step forward is available\r\n\t */\r\n\tsetStepForwardAvailability(available: boolean): void {\r\n\t\tthis.stepForwardAvailability$.next(available)\r\n\t}\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description returns the step forward availability observable\r\n\t * @returns the step forward availability observable\r\n\t */\r\n\tgetStepForwardAvailability(): Observable<boolean> {\r\n\t\treturn this.stepForwardAvailability$.asObservable()\r\n\t}\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description moves to the next modal step\r\n\t */\r\n moveToNextStep(): void {\r\n const index = this.currentStep$.value!.stepIndex;\r\n\r\n if (index < this.steps$.value.length) {\r\n\t\t\tconst nextStep = this.steps$.value[index]\r\n\t\t\tconst currentStep = this.steps$.value[index - 1]\r\n this.currentStep$.next({\r\n\t\t\t\t...nextStep,\r\n\t\t\t\t'stepCallbackName': currentStep.stepCallbackName,\r\n\t\t\t\t'triggerCallback': !!currentStep.stepCallbackName\r\n\t\t\t});\r\n }\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description moves to the previous modal step\r\n\t */\r\n\tmoveToPreviousStep(): void {\r\n\t\tconst index = this.currentStep$.value!.stepIndex\r\n\t\tconst previous = this.steps$.value.find(element => element.stepIndex === index - 1)\r\n\r\n\t\tif (!previous) return\r\n\r\n\t\tthis.currentStep$.next({\r\n\t\t\t...previous,\r\n\t\t\t'triggerCallback': false\r\n\t\t});\r\n\t}\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description determines whether the current step is the last\r\n\t * @returns whether the step is the last one\r\n\t */\r\n isLastStep(): boolean {\r\n return this.currentStep$.value!.stepIndex === this.steps$.value.length;\r\n }\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description triggers any potential \"after-step\" functionality for the current step and changes the current route with any required parameters\r\n\t * @param getParameterValue the callback which retrieves the value for a step parameter\r\n\t * @param triggerStepCallback the callback which triggers the specific functionality for the specified step index\r\n\t */\r\n\tasync handleStepChange(getParameterValue?: (...args: any) => any, triggerStepCallback?: (...args: any) => Promise<boolean>, revert: boolean = false): Promise<void|null> {\r\n\t\tconst currentStep = this.currentStep$.value\r\n\t\t\t\r\n\t\tif (!currentStep) return\r\n\r\n\t\tconst { stepIndex, parameters, triggerCallback } = currentStep\r\n\r\n\t\tif (triggerCallback && triggerStepCallback) {\r\n\t\t\tconst results = await triggerStepCallback(stepIndex)\r\n\r\n\t\t\tif (!results && revert) return this.moveToPreviousStep()\r\n\t\t} \r\n\r\n\t\tlet route = `step-${stepIndex}`\r\n\t\tif (getParameterValue) parameters.forEach((element) => route += `/${getParameterValue(element)}`)\r\n\t\tthis.router.navigate([route], { relativeTo: this.activatedRoute })\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description clears any route paths and/or parameters created during the step functionality, reverting the url back to the original state when the step paths were appended\r\n\t */\r\n\tclearStepRoute(): void {\r\n\t\tconst url = this.router.url\r\n\t\tconst [initial] = url.split('/step-')\r\n\t\tthis.router.navigate([initial])\r\n\t}\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Observable } from 'rxjs'\r\nimport { StepModel } from '../../util/interface/modal-step.interface'\r\nimport { StepService } from '../../util/service/step.service'\r\n\r\n@Component({\r\n selector: 'step',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './step.component.html',\r\n styleUrls: ['./step.component.sass']\r\n})\r\nexport class StepComponent {\r\n\t/**\r\n\t * @description an observable to the modal steps\r\n\t */\r\n steps: Observable<StepModel<any>[]>\r\n\t/**\r\n\t * @description an observable to the current step\r\n\t */\r\n currentStep: Observable<StepModel<any>|null>;\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor specifying the required services and properties\r\n\t * @param stepService the service class which contains access to the modal steps functionality\r\n\t */\r\n constructor(private stepService: StepService<any>) { }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the method to be run when the component is rendered\r\n\t */\r\n ngOnInit(): void {\r\n this.steps = this.stepService.getStepsObservable();\r\n this.currentStep = this.stepService.getCurrentStepObservable();\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description handles the user clicking a step\r\n\t * @param step the step clicked\r\n\t */\r\n onStepClick(step: StepModel<any>) {\r\n this.stepService.setCurrentStep(step);\r\n }\r\n}\r\n","<div class=\"form-steps-container\">\r\n\t<ng-container *ngFor=\"let step of steps | async; let i = index;\">\r\n\t\t<div class=\"d-flex flex-column align-items-center\">\r\n\t\t\t<div \r\n\t\t\t\t(click)=\"onStepClick(step)\"\r\n\t\t\t\t[ngClass]=\"{ 'step-complete': step.isComplete, 'step-incomplete': !step.isComplete, 'step-current': (currentStep | async)?.stepIndex === step.stepIndex }\"\r\n\t\t\t\tclass=\"step-bubble cursor-pointer\"\r\n\t\t\t>{{ step.stepIndex }}</div>\r\n\t\t\t<div>\r\n\t\t\t\t<span class=\"text-grey\">{{step.title}}</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div *ngIf=\"i < (steps | async)?.length - 1\" class=\"step-divider\"></div>\r\n\t</ng-container>\r\n</div>","/*\r\n * Public API Surface of windows-plus-utilities\r\n */\r\n\r\nexport * from './components/step/step.component';\r\n\r\nexport * from './util/interface/stepped-modal.interface'\r\nexport * from './util/interface/modal-step.interface'\r\nexport * from './util/service/step.service'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StepService"],"mappings":"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"}
1
+ {"version":3,"file":"windows-plus-utilities-modal-wizard.mjs","sources":["../../../projects/windows-plus-utilities/modal-wizard/util/service/step.service.ts","../../../projects/windows-plus-utilities/modal-wizard/components/step/step.component.ts","../../../projects/windows-plus-utilities/modal-wizard/components/step/step.component.html","../../../projects/windows-plus-utilities/modal-wizard/public-api.ts","../../../projects/windows-plus-utilities/modal-wizard/windows-plus-utilities-modal-wizard.ts"],"sourcesContent":["import { Inject, Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { StepModel } from '../interface/modal-step.interface'\r\nimport { ActivatedRoute, Router } from '@angular/router'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StepService<T> {\r\n\t/**\r\n\t * @description the subject for the modal steps\r\n\t */\r\n steps$: BehaviorSubject<StepModel<T>[]>;\r\n\t/**\r\n\t * @description the subject for the current modal step\r\n\t */\r\n currentStep$: BehaviorSubject<StepModel<T>|null> = new BehaviorSubject<StepModel<T>|null>(null);\r\n\t/**\r\n\t * @description the subject for the step forward availability\r\n\t */\r\n\tstepForwardAvailability$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false)\r\n \t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor specifying the required services and properties\r\n\t * @param steps the steps in the modal\r\n\t */\r\n constructor(\r\n\t\tprivate router: Router,\r\n\t\tprivate activatedRoute: ActivatedRoute,\r\n\t\t@Inject('steps') private steps: StepModel<T>[]\r\n\t) {\r\n\t\tthis.steps$ = new BehaviorSubject<StepModel<T>[]>(this.steps)\r\n this.currentStep$.next(this.steps$.value[0]);\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description adjusts the step indexes to be sequential based on their position in the steps array\r\n\t */\r\n\tadjustStepIndexes(): void {\r\n\t\tconst currentSteps = [...this.steps]\r\n\t\tcurrentSteps.forEach((element, index) => element.stepIndex = index + 1)\r\n\t\tthis.steps$.next(currentSteps)\r\n\t}\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description inserts a new step at a specific index, specified by the step index property\r\n\t * @param step the step to be inserted\r\n\t */\r\n\tinsertStep(step: StepModel<T>): void {\r\n\t\tconst { stepIndex } = step\r\n\t\tconst currentSteps = [...this.steps]\r\n\t\tcurrentSteps.forEach(element => element.stepIndex = (stepIndex <= element.stepIndex ? element.stepIndex + 1 : element.stepIndex))\r\n\t\tcurrentSteps.splice(stepIndex - 1, 0, step)\r\n\t\tthis.steps$.next(currentSteps)\r\n\t}\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description sets the current modal step\r\n\t * @param step the step to be set\r\n\t */\r\n setCurrentStep(step: StepModel<T>): void {\r\n this.currentStep$.next(step);\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description returns the current modal step observable\r\n\t * @returns the current modal step observable\r\n\t */\r\n getCurrentStepObservable(): Observable<StepModel<T>|null> {\r\n return this.currentStep$.asObservable();\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description returns the current modal step observable\r\n\t * @returns the current modal step observable\r\n\t */\r\n getCurrentStep(): StepModel<T>|null {\r\n return this.currentStep$.getValue();\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description retrieves the current steps\r\n\t * @returns the current steps\r\n\t */\r\n\tgetSteps(): StepModel<T>[] {\r\n\t\treturn this.steps$.getValue()\r\n\t}\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description returns the modal step observable\r\n\t * @returns the modal step observable\r\n\t */\r\n getStepsObservable(): Observable<StepModel<T>[]> {\r\n return this.steps$.asObservable();\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description sets the step forward availability\r\n\t * @param available whether a step forward is available\r\n\t */\r\n\tsetStepForwardAvailability(available: boolean): void {\r\n\t\tthis.stepForwardAvailability$.next(available)\r\n\t}\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description returns the step forward availability observable\r\n\t * @returns the step forward availability observable\r\n\t */\r\n\tgetStepForwardAvailability(): Observable<boolean> {\r\n\t\treturn this.stepForwardAvailability$.asObservable()\r\n\t}\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description moves to the next modal step\r\n\t */\r\n moveToNextStep(): void {\r\n const index = this.currentStep$.value!.stepIndex;\r\n\r\n if (index < this.steps$.value.length) {\r\n\t\t\tconst nextStep = this.steps$.value[index]\r\n\t\t\tconst currentStep = this.steps$.value[index - 1]\r\n this.currentStep$.next({\r\n\t\t\t\t...nextStep,\r\n\t\t\t\t'stepCallbackName': currentStep.stepCallbackName,\r\n\t\t\t\t'triggerCallback': !!currentStep.stepCallbackName\r\n\t\t\t});\r\n }\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description moves to the previous modal step\r\n\t */\r\n\tmoveToPreviousStep(): void {\r\n\t\tconst index = this.currentStep$.value!.stepIndex\r\n\t\tconst previous = this.steps$.value.find(element => element.stepIndex === index - 1)\r\n\r\n\t\tif (!previous) return\r\n\r\n\t\tthis.currentStep$.next({\r\n\t\t\t...previous,\r\n\t\t\t'triggerCallback': false\r\n\t\t});\r\n\t}\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description determines whether the current step is the last\r\n\t * @returns whether the step is the last one\r\n\t */\r\n isLastStep(): boolean {\r\n return this.currentStep$.value!.stepIndex === this.steps$.value.length;\r\n }\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description triggers any potential \"after-step\" functionality for the current step and changes the current route with any required parameters\r\n\t * @param getParameterValue the callback which retrieves the value for a step parameter\r\n\t * @param triggerStepCallback the callback which triggers the specific functionality for the specified step index\r\n\t */\r\n\tasync handleStepChange(getParameterValue?: (...args: any) => any, triggerStepCallback?: (...args: any) => Promise<boolean>, revert: boolean = false): Promise<void|null> {\r\n\t\tconst currentStep = this.currentStep$.value\r\n\t\t\t\r\n\t\tif (!currentStep) return\r\n\r\n\t\tconst { stepIndex, slug, parameters, triggerCallback } = currentStep\r\n\r\n\t\tif (triggerCallback && triggerStepCallback) {\r\n\t\t\tconst results = await triggerStepCallback(stepIndex)\r\n\r\n\t\t\tif (!results && revert) return this.moveToPreviousStep()\r\n\t\t} \r\n\r\n\t\tlet route = `step-${slug}`\r\n\t\tif (getParameterValue) parameters.forEach((element) => route += `/${getParameterValue(element)}`)\r\n\t\tthis.router.navigate([route], { relativeTo: this.activatedRoute })\r\n\t}\r\n\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description clears any route paths and/or parameters created during the step functionality, reverting the url back to the original state when the step paths were appended\r\n\t */\r\n\tclearStepRoute(): void {\r\n\t\tconst url = this.router.url\r\n\t\tconst [initial] = url.split('/step-')\r\n\t\tthis.router.navigate([initial])\r\n\t}\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Observable } from 'rxjs'\r\nimport { StepModel } from '../../util/interface/modal-step.interface'\r\nimport { StepService } from '../../util/service/step.service'\r\n\r\n@Component({\r\n selector: 'step',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './step.component.html',\r\n styleUrls: ['./step.component.sass']\r\n})\r\nexport class StepComponent {\r\n\t/**\r\n\t * @description an observable to the modal steps\r\n\t */\r\n steps: Observable<StepModel<any>[]>\r\n\t/**\r\n\t * @description an observable to the current step\r\n\t */\r\n currentStep: Observable<StepModel<any>|null>;\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description class constructor specifying the required services and properties\r\n\t * @param stepService the service class which contains access to the modal steps functionality\r\n\t */\r\n constructor(private stepService: StepService<any>) { }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description the method to be run when the component is rendered\r\n\t */\r\n ngOnInit(): void {\r\n this.steps = this.stepService.getStepsObservable();\r\n this.currentStep = this.stepService.getCurrentStepObservable();\r\n }\r\n\t/**\r\n\t * @author Alex Hodson\r\n\t * @description handles the user clicking a step\r\n\t * @param step the step clicked\r\n\t */\r\n onStepClick(step: StepModel<any>) {\r\n this.stepService.setCurrentStep(step);\r\n }\r\n}\r\n","<div class=\"form-steps-container\">\r\n\t<ng-container *ngFor=\"let step of steps | async; let i = index;\">\r\n\t\t<div class=\"d-flex flex-column align-items-center\">\r\n\t\t\t<div \r\n\t\t\t\t(click)=\"onStepClick(step)\"\r\n\t\t\t\t[ngClass]=\"{ 'step-complete': step.isComplete, 'step-incomplete': !step.isComplete, 'step-current': (currentStep | async)?.stepIndex === step.stepIndex }\"\r\n\t\t\t\tclass=\"step-bubble cursor-pointer\"\r\n\t\t\t>{{ step.stepIndex }}</div>\r\n\t\t\t<div>\r\n\t\t\t\t<span class=\"text-grey\">{{step.title}}</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div *ngIf=\"i < (steps | async)?.length - 1\" class=\"step-divider\"></div>\r\n\t</ng-container>\r\n</div>","/*\r\n * Public API Surface of windows-plus-utilities\r\n */\r\n\r\nexport * from './components/step/step.component';\r\n\r\nexport * from './util/interface/stepped-modal.interface'\r\nexport * from './util/interface/modal-step.interface'\r\nexport * from './util/service/step.service'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StepService"],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  export interface StepModel<T> {
6
6
  stepIndex: number;
7
+ slug: string;
7
8
  title: string;
8
9
  isComplete: boolean;
9
10
  parameters: T[];
@@ -24,6 +24,11 @@ export declare class StepService<T> {
24
24
  * @param steps the steps in the modal
25
25
  */
26
26
  constructor(router: Router, activatedRoute: ActivatedRoute, steps: StepModel<T>[]);
27
+ /**
28
+ * @author Alex Hodson
29
+ * @description adjusts the step indexes to be sequential based on their position in the steps array
30
+ */
31
+ adjustStepIndexes(): void;
27
32
  /**
28
33
  * @author Alex Hodson
29
34
  * @description inserts a new step at a specific index, specified by the step index property
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windows-plus-utilities",
3
- "version": "0.0.76",
3
+ "version": "0.0.78",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.8",
6
6
  "@angular/core": "^17.3.8",
@@ -31,23 +31,17 @@
31
31
  "esm": "./esm2022/context-menu/windows-plus-utilities-context-menu.mjs",
32
32
  "default": "./fesm2022/windows-plus-utilities-context-menu.mjs"
33
33
  },
34
- "./custom-card": {
35
- "types": "./custom-card/index.d.ts",
36
- "esm2022": "./esm2022/custom-card/windows-plus-utilities-custom-card.mjs",
37
- "esm": "./esm2022/custom-card/windows-plus-utilities-custom-card.mjs",
38
- "default": "./fesm2022/windows-plus-utilities-custom-card.mjs"
39
- },
40
34
  "./job-label": {
41
35
  "types": "./job-label/index.d.ts",
42
36
  "esm2022": "./esm2022/job-label/windows-plus-utilities-job-label.mjs",
43
37
  "esm": "./esm2022/job-label/windows-plus-utilities-job-label.mjs",
44
38
  "default": "./fesm2022/windows-plus-utilities-job-label.mjs"
45
39
  },
46
- "./main-menu": {
47
- "types": "./main-menu/index.d.ts",
48
- "esm2022": "./esm2022/main-menu/windows-plus-utilities-main-menu.mjs",
49
- "esm": "./esm2022/main-menu/windows-plus-utilities-main-menu.mjs",
50
- "default": "./fesm2022/windows-plus-utilities-main-menu.mjs"
40
+ "./custom-card": {
41
+ "types": "./custom-card/index.d.ts",
42
+ "esm2022": "./esm2022/custom-card/windows-plus-utilities-custom-card.mjs",
43
+ "esm": "./esm2022/custom-card/windows-plus-utilities-custom-card.mjs",
44
+ "default": "./fesm2022/windows-plus-utilities-custom-card.mjs"
51
45
  },
52
46
  "./empty-display": {
53
47
  "types": "./empty-display/index.d.ts",
@@ -55,6 +49,12 @@
55
49
  "esm": "./esm2022/empty-display/windows-plus-utilities-empty-display.mjs",
56
50
  "default": "./fesm2022/windows-plus-utilities-empty-display.mjs"
57
51
  },
52
+ "./main-menu": {
53
+ "types": "./main-menu/index.d.ts",
54
+ "esm2022": "./esm2022/main-menu/windows-plus-utilities-main-menu.mjs",
55
+ "esm": "./esm2022/main-menu/windows-plus-utilities-main-menu.mjs",
56
+ "default": "./fesm2022/windows-plus-utilities-main-menu.mjs"
57
+ },
58
58
  "./modal-wizard": {
59
59
  "types": "./modal-wizard/index.d.ts",
60
60
  "esm2022": "./esm2022/modal-wizard/windows-plus-utilities-modal-wizard.mjs",