@the-liberators/ngx-scrumteamsurvey-tools 2.2.79 → 2.2.81

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.
@@ -5283,19 +5283,13 @@ class DialogSettingsComponent extends ComponentWithViewStateBase {
5283
5283
  onDataUpdate(data) {
5284
5284
  this.settings = this.userSettingsService.get();
5285
5285
  this.isSubscriber = data.isSubscriber;
5286
- this.isLoggedIn = data.userInfo != null;
5286
+ this.isSingleTeam = data.teamMetaData != null;
5287
5287
  if (this.isSubscriber) {
5288
5288
  this.form.controls.benchmarkType.enable();
5289
5289
  }
5290
5290
  else {
5291
5291
  this.form.controls.benchmarkType.disable();
5292
5292
  }
5293
- if (this.isLoggedIn) {
5294
- this.form.controls.stacking.disable(); // not relevant for coaching center and team dashboard
5295
- }
5296
- else {
5297
- this.form.controls.stacking.enable();
5298
- }
5299
5293
  this.benchmarkTypes = data.factorScores.benchmark.available.map(p => new SelectItem(p.key, p.name));
5300
5294
  this.form.controls.deltaPeriod.setValue(this.settings.global.deltaPeriod);
5301
5295
  this.form.controls.benchmarkType.setValue(this.settings.global.benchmark);
@@ -5310,14 +5304,32 @@ class DialogSettingsComponent extends ComponentWithViewStateBase {
5310
5304
  this.form.controls.overviewFactors.setValue(this.settings.global.overviewFactors);
5311
5305
  this.form.controls.otherModelOverviewFactors.setValue(this.settings.global.overviewFactors.filter(p => this.factors.find(x => x.value == p) == null));
5312
5306
  }
5307
+ this.deltaPeriods = [
5308
+ new SelectItem("None", "Don't compare (shows results from past 12 months)"),
5309
+ new SelectItem("PreviousMonth", "Compare current month with previous month"),
5310
+ new SelectItem("PreviousQuarter", "Compare recent 3 months with previous 3 months"),
5311
+ new SelectItem("PreviousHalfYear", "Compare recent 6 months with previous 6 months"),
5312
+ new SelectItem("PreviousYear", "Compare recent 12 months with previous 12 months")
5313
+ ];
5314
+ this.interventionFilterTypes = [
5315
+ new SelectItem(InterventionFilterType.All.toString(), "Show both open vs completed actions"),
5316
+ new SelectItem(InterventionFilterType.OnlyOpen.toString(), "Show only open actions"),
5317
+ new SelectItem(InterventionFilterType.OnlyCompleted.toString(), "Show only completed actions"),
5318
+ new SelectItem(InterventionFilterType.None.toString(), "Hide actions")
5319
+ ];
5320
+ this.qualifyByTypes = [
5321
+ new SelectItem(QualifiedByEnum.benchmark.toString(), "Against benchmark"),
5322
+ new SelectItem(QualifiedByEnum.delta.toString(), this.isSingleTeam ? "Against previous snapshot" : "Against previous period"),
5323
+ new SelectItem(QualifiedByEnum.none.toString(), "No comparison"),
5324
+ ];
5313
5325
  }
5314
5326
  ;
5315
5327
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DialogSettingsComponent, deps: [{ token: i1$3.MatDialogRef }, { token: FactorService }, { token: UserSettingService }, { token: i1.MatSnackBar }, { token: i4$1.FormBuilder }, { token: VIEWSTATE_PROVIDER }], target: i0.ɵɵFactoryTarget.Component }); }
5316
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: DialogSettingsComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dialog-header\">\n <h1 mat-dialog-title>Statistical Settings</h1>\n <div class=\"close\" mat-dialog-close><i class=\"responsive icon ph-x-bold\" ></i></div>\n</div>\n<mat-dialog-content>\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <mat-form-field class=\"interventionFilterType\" subscriptSizing=\"dynamic\">\n <mat-label>Which action totals do you want to see under 'Insights'?</mat-label>\n <mat-select class=\"interventionfilter-dropdown\" formControlName=\"interventionFilterType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of interventionFilterTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"qualifyBy\" subscriptSizing=\"dynamic\">\n <mat-label>What should we compare with (determines colors)?</mat-label>\n <mat-select class=\"qualifyBy-dropdown\" formControlName=\"qualifyBy\">\n <mat-option class=\"select-option\" *ngFor=\"let item of qualifyByTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"stacking\" *ngIf=\"!isLoggedIn\" subscriptSizing=\"dynamic\">\n <mat-label>Combine recent snapshots for each team?</mat-label>\n <mat-select class=\"stacking-dropdown\" formControlName=\"stacking\">\n <mat-option class=\"select-option\" [value]=\"'false'\">No, only use most recent snapshot</mat-option>\n <mat-option class=\"select-option\" [value]=\"'true'\">Yes, stack and use most recent measure for each factor</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"benchmark\" subscriptSizing=\"dynamic\">\n <mat-label>Which benchmark should we use?</mat-label>\n <mat-select class=\"benchmark-dropdown\" formControlName=\"benchmarkType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of benchmarkTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div *ngIf=\"!isSubscriber\" class=\"message message-information\">\n <span class=\"ph-info-fill icon\"></span>\n Eager to see how your team compares to other benchmarks? Subscribe to unlock dozens of benchmarks, including the 'Top 100 most effective teams', benchmarks for world regions, sectors, scaling frameworks and your organization.\n </div>\n\n <ng-container *ngIf=\"isLoggedIn\">\n <mat-form-field class=\"deltaPeriod\" subscriptSizing=\"dynamic\">\n <mat-label>Which periods should we compare?</mat-label>\n <mat-select class=\"deltaPeriod-dropdown\" formControlName=\"deltaPeriod\">\n <mat-option class=\"select-option\" *ngFor=\"let item of deltaPeriods\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"overviewFactors\" subscriptSizing=\"dynamic\">\n <mat-label>Which factors should we show in the overview?</mat-label>\n <mat-select class=\"overviewFactors-dropdown\" formControlName=\"overviewFactors\" multiple>\n <mat-option class=\"select-option\" [ngClass]=\"{'lower' : factor.lower}\" *ngFor=\"let factor of factors\" [value]=\"factor.value\">{{factor.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <div class=\"toolbar\">\n <button class=\"button primary\" type=\"submit\" [ngClass]=\"{'loading': sending }\">submit</button>\n <button class=\"button\" mat-dialog-close>cancel</button>\n </div>\n </form>\n</mat-dialog-content>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.errors{margin-bottom:15px}h2{font-size:30px;font-weight:600;margin-bottom:0}.mat-mdc-option.lower{margin-left:20px}.mat-dialog-content .mat-form-field{margin-bottom:30px!important}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i4$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }] }); }
5328
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: DialogSettingsComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dialog-header\">\n <h1 mat-dialog-title>Statistical Settings</h1>\n <div class=\"close\" mat-dialog-close><i class=\"responsive icon ph-x-bold\" ></i></div>\n</div>\n<mat-dialog-content>\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <mat-form-field class=\"interventionFilterType\" subscriptSizing=\"dynamic\">\n <mat-label>Which action totals do you want to see under 'Insights'?</mat-label>\n <mat-select class=\"interventionfilter-dropdown\" formControlName=\"interventionFilterType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of interventionFilterTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"qualifyBy\" subscriptSizing=\"dynamic\">\n <mat-label>What should we compare with (determines colors)?</mat-label>\n <mat-select class=\"qualifyBy-dropdown\" formControlName=\"qualifyBy\">\n <mat-option class=\"select-option\" *ngFor=\"let item of qualifyByTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"stacking\" subscriptSizing=\"dynamic\" *ngIf=\"isSingleTeam\">\n <mat-label>Combine snapshots (to merge focus snapshots)?</mat-label>\n <mat-select class=\"stacking-dropdown\" formControlName=\"stacking\">\n <mat-option class=\"select-option\" [value]=\"'false'\">No, only use most recent snapshot</mat-option>\n <mat-option class=\"select-option\" [value]=\"'true'\">Yes, combine and use most recent measure</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"benchmark\" subscriptSizing=\"dynamic\">\n <mat-label>Which benchmark should we use?</mat-label>\n <mat-select class=\"benchmark-dropdown\" formControlName=\"benchmarkType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of benchmarkTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div *ngIf=\"!isSubscriber\" class=\"message message-information\">\n <span class=\"ph-info-fill icon\"></span>\n Eager to see how your team compares to other benchmarks? Subscribe to unlock dozens of benchmarks, including the 'Top 100 most effective teams', benchmarks for world regions, sectors, scaling frameworks and your organization.\n </div>\n\n <ng-container *ngIf=\"!isSingleTeam\">\n <mat-form-field class=\"deltaPeriod\" subscriptSizing=\"dynamic\">\n <mat-label>Which periods should we compare?</mat-label>\n <mat-select class=\"deltaPeriod-dropdown\" formControlName=\"deltaPeriod\">\n <mat-option class=\"select-option\" *ngFor=\"let item of deltaPeriods\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"overviewFactors\" subscriptSizing=\"dynamic\">\n <mat-label>Which factors should we show in the overview?</mat-label>\n <mat-select class=\"overviewFactors-dropdown\" formControlName=\"overviewFactors\" multiple>\n <mat-option class=\"select-option\" [ngClass]=\"{'lower' : factor.lower}\" *ngFor=\"let factor of factors\" [value]=\"factor.value\">{{factor.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <div class=\"toolbar\">\n <button class=\"button primary\" type=\"submit\" [ngClass]=\"{'loading': sending }\">submit</button>\n <button class=\"button\" mat-dialog-close>cancel</button>\n </div>\n </form>\n</mat-dialog-content>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.errors{margin-bottom:15px}h2{font-size:30px;font-weight:600;margin-bottom:0}.mat-mdc-option.lower{margin-left:20px}.mat-dialog-content .mat-form-field{margin-bottom:30px!important}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i4$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }] }); }
5317
5329
  }
5318
5330
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DialogSettingsComponent, decorators: [{
5319
5331
  type: Component,
5320
- args: [{ template: "<div class=\"dialog-header\">\n <h1 mat-dialog-title>Statistical Settings</h1>\n <div class=\"close\" mat-dialog-close><i class=\"responsive icon ph-x-bold\" ></i></div>\n</div>\n<mat-dialog-content>\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <mat-form-field class=\"interventionFilterType\" subscriptSizing=\"dynamic\">\n <mat-label>Which action totals do you want to see under 'Insights'?</mat-label>\n <mat-select class=\"interventionfilter-dropdown\" formControlName=\"interventionFilterType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of interventionFilterTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"qualifyBy\" subscriptSizing=\"dynamic\">\n <mat-label>What should we compare with (determines colors)?</mat-label>\n <mat-select class=\"qualifyBy-dropdown\" formControlName=\"qualifyBy\">\n <mat-option class=\"select-option\" *ngFor=\"let item of qualifyByTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"stacking\" *ngIf=\"!isLoggedIn\" subscriptSizing=\"dynamic\">\n <mat-label>Combine recent snapshots for each team?</mat-label>\n <mat-select class=\"stacking-dropdown\" formControlName=\"stacking\">\n <mat-option class=\"select-option\" [value]=\"'false'\">No, only use most recent snapshot</mat-option>\n <mat-option class=\"select-option\" [value]=\"'true'\">Yes, stack and use most recent measure for each factor</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"benchmark\" subscriptSizing=\"dynamic\">\n <mat-label>Which benchmark should we use?</mat-label>\n <mat-select class=\"benchmark-dropdown\" formControlName=\"benchmarkType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of benchmarkTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div *ngIf=\"!isSubscriber\" class=\"message message-information\">\n <span class=\"ph-info-fill icon\"></span>\n Eager to see how your team compares to other benchmarks? Subscribe to unlock dozens of benchmarks, including the 'Top 100 most effective teams', benchmarks for world regions, sectors, scaling frameworks and your organization.\n </div>\n\n <ng-container *ngIf=\"isLoggedIn\">\n <mat-form-field class=\"deltaPeriod\" subscriptSizing=\"dynamic\">\n <mat-label>Which periods should we compare?</mat-label>\n <mat-select class=\"deltaPeriod-dropdown\" formControlName=\"deltaPeriod\">\n <mat-option class=\"select-option\" *ngFor=\"let item of deltaPeriods\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"overviewFactors\" subscriptSizing=\"dynamic\">\n <mat-label>Which factors should we show in the overview?</mat-label>\n <mat-select class=\"overviewFactors-dropdown\" formControlName=\"overviewFactors\" multiple>\n <mat-option class=\"select-option\" [ngClass]=\"{'lower' : factor.lower}\" *ngFor=\"let factor of factors\" [value]=\"factor.value\">{{factor.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <div class=\"toolbar\">\n <button class=\"button primary\" type=\"submit\" [ngClass]=\"{'loading': sending }\">submit</button>\n <button class=\"button\" mat-dialog-close>cancel</button>\n </div>\n </form>\n</mat-dialog-content>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.errors{margin-bottom:15px}h2{font-size:30px;font-weight:600;margin-bottom:0}.mat-mdc-option.lower{margin-left:20px}.mat-dialog-content .mat-form-field{margin-bottom:30px!important}\n"] }]
5332
+ args: [{ template: "<div class=\"dialog-header\">\n <h1 mat-dialog-title>Statistical Settings</h1>\n <div class=\"close\" mat-dialog-close><i class=\"responsive icon ph-x-bold\" ></i></div>\n</div>\n<mat-dialog-content>\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <mat-form-field class=\"interventionFilterType\" subscriptSizing=\"dynamic\">\n <mat-label>Which action totals do you want to see under 'Insights'?</mat-label>\n <mat-select class=\"interventionfilter-dropdown\" formControlName=\"interventionFilterType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of interventionFilterTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"qualifyBy\" subscriptSizing=\"dynamic\">\n <mat-label>What should we compare with (determines colors)?</mat-label>\n <mat-select class=\"qualifyBy-dropdown\" formControlName=\"qualifyBy\">\n <mat-option class=\"select-option\" *ngFor=\"let item of qualifyByTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"stacking\" subscriptSizing=\"dynamic\" *ngIf=\"isSingleTeam\">\n <mat-label>Combine snapshots (to merge focus snapshots)?</mat-label>\n <mat-select class=\"stacking-dropdown\" formControlName=\"stacking\">\n <mat-option class=\"select-option\" [value]=\"'false'\">No, only use most recent snapshot</mat-option>\n <mat-option class=\"select-option\" [value]=\"'true'\">Yes, combine and use most recent measure</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"benchmark\" subscriptSizing=\"dynamic\">\n <mat-label>Which benchmark should we use?</mat-label>\n <mat-select class=\"benchmark-dropdown\" formControlName=\"benchmarkType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of benchmarkTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div *ngIf=\"!isSubscriber\" class=\"message message-information\">\n <span class=\"ph-info-fill icon\"></span>\n Eager to see how your team compares to other benchmarks? Subscribe to unlock dozens of benchmarks, including the 'Top 100 most effective teams', benchmarks for world regions, sectors, scaling frameworks and your organization.\n </div>\n\n <ng-container *ngIf=\"!isSingleTeam\">\n <mat-form-field class=\"deltaPeriod\" subscriptSizing=\"dynamic\">\n <mat-label>Which periods should we compare?</mat-label>\n <mat-select class=\"deltaPeriod-dropdown\" formControlName=\"deltaPeriod\">\n <mat-option class=\"select-option\" *ngFor=\"let item of deltaPeriods\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"overviewFactors\" subscriptSizing=\"dynamic\">\n <mat-label>Which factors should we show in the overview?</mat-label>\n <mat-select class=\"overviewFactors-dropdown\" formControlName=\"overviewFactors\" multiple>\n <mat-option class=\"select-option\" [ngClass]=\"{'lower' : factor.lower}\" *ngFor=\"let factor of factors\" [value]=\"factor.value\">{{factor.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <div class=\"toolbar\">\n <button class=\"button primary\" type=\"submit\" [ngClass]=\"{'loading': sending }\">submit</button>\n <button class=\"button\" mat-dialog-close>cancel</button>\n </div>\n </form>\n</mat-dialog-content>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.errors{margin-bottom:15px}h2{font-size:30px;font-weight:600;margin-bottom:0}.mat-mdc-option.lower{margin-left:20px}.mat-dialog-content .mat-form-field{margin-bottom:30px!important}\n"] }]
5321
5333
  }], ctorParameters: () => [{ type: i1$3.MatDialogRef }, { type: FactorService }, { type: UserSettingService }, { type: i1.MatSnackBar }, { type: i4$1.FormBuilder }, { type: ViewModelStateBase, decorators: [{
5322
5334
  type: Inject,
5323
5335
  args: [VIEWSTATE_PROVIDER]
@@ -5332,17 +5344,20 @@ class OpenSettingsDialogDirective {
5332
5344
  dialogConfig.autoFocus = false;
5333
5345
  dialogConfig.enterAnimationDuration = 0;
5334
5346
  dialogConfig.exitAnimationDuration = 0;
5347
+ dialogConfig.data = {};
5335
5348
  this.dialog.open(DialogSettingsComponent, dialogConfig);
5336
5349
  }
5337
5350
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: OpenSettingsDialogDirective, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
5338
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: OpenSettingsDialogDirective, selector: "[settingsDialog]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
5351
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: OpenSettingsDialogDirective, selector: "[settingsDialog]", inputs: { showSettingStacking: "showSettingStacking" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
5339
5352
  }
5340
5353
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: OpenSettingsDialogDirective, decorators: [{
5341
5354
  type: Directive,
5342
5355
  args: [{
5343
5356
  selector: '[settingsDialog]',
5344
5357
  }]
5345
- }], ctorParameters: () => [{ type: i1$3.MatDialog }], propDecorators: { onClick: [{
5358
+ }], ctorParameters: () => [{ type: i1$3.MatDialog }], propDecorators: { showSettingStacking: [{
5359
+ type: Input
5360
+ }], onClick: [{
5346
5361
  type: HostListener,
5347
5362
  args: ['click']
5348
5363
  }] } });
@@ -5382,7 +5397,7 @@ class FactorsComponent extends ComponentWithViewStateBase {
5382
5397
  }
5383
5398
  ;
5384
5399
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FactorsComponent, deps: [{ token: VIEWSTATE_PROVIDER }, { token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
5385
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: FactorsComponent, selector: "factors", usesInheritance: true, ngImport: i0, template: "<div class=\"results\" *ngIf=\"loaded\">\n <limitationsapply [notes]=\"globalNotes\"></limitationsapply>\n\n <div class=\"resultstoolbar\">\n <h3>Detailed results</h3>\n <div class=\"legend\">\n <div class=\"column you\" *ngIf=\"showParticipant\">\n <span class=\"marker\"></span>\n <span class=\"label\">you</span>\n </div>\n\n <div [class]=\"'column ' + segment.name | lowercase\" *ngFor=\"let segment of populationSegments\">\n <span class=\"marker\"></span>\n <span class=\"label\">{{segment.name | lowercase}} {{segment.occurances || 1}}x</span>\n </div>\n\n <div class=\"column confidence\">\n <span class=\"marker\"></span>\n <span class=\"label\">benchmark '{{benchmarkName}}' <a [routerLink]=\"[]\" id=\"change-benchmark\" settingsDialog><span class=\"icon ph-faders-bold\"></span></a></span>\n </div>\n </div>\n <div class=\"filters\">\n <mat-slide-toggle *ngIf=\"showParticipant\" class=\"toggle showmyscores\" [(ngModel)]=\"showIndividualScore\">Show my scores</mat-slide-toggle>\n <mat-slide-toggle class=\"toggle showscoringrange\" [(ngModel)]=\"showTeamRange\" *ngIf=\"subscribed\">Show range of scores in my team</mat-slide-toggle>\n <mat-slide-toggle class=\"toggle showscoringrange\" *ngIf=\"!subscribed\" subscribeDialog>Show range of scores in my team</mat-slide-toggle>\n </div>\n </div>\n\n <div class=\"dimensions\">\n <div class=\"dimension\" *ngFor=\"let factor of factors\" [id]=\"'factor-' + factor.name | slugify\">\n <factor-axis [showIndividualScore]=\"showIndividualScore\" [showTeamRange]=\"showTeamRange\" [dimensionSelector]=\"factor\"></factor-axis>\n </div>\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.results{margin-bottom:50px}.results .moreparticipantsneeded{background:#ef6f00;padding:15px;color:#fff}.results .dimensions{border:3px solid #f0f0f0}.results .dimension{border-bottom:3px solid #f0f0f0}.results .dimension:last-of-type{border-bottom:none}.results .resultstoolbar{padding:20px;background:#f0f0f0;position:relative}.results .resultstoolbar .warning{position:absolute;top:25px;right:25px;text-decoration:none;color:#ef6f00}.results .resultstoolbar .warning .icon{font-size:36px}.results .resultstoolbar .legend .column .label a{text-decoration:none}.results .resultstoolbar .legend .column .label .icon{margin-left:5px;font-size:18px}.results .resultstoolbar .legend .column.you .marker{background:#1f3f8f}.results .resultstoolbar .legend .column.teammember .marker{background:#00af77}.results .resultstoolbar .legend .column.stakeholder .marker{background:#fff73f}.results .resultstoolbar .legend .column.supporter .marker{background:#ef6f00}.results .resultstoolbar .legend .column.confidence .marker{background:#ef59a1}.results .resultstoolbar .filters{margin-top:30px;align-items:center;display:flex}@media only screen and (max-width: 1320px){.results .resultstoolbar .filters{display:block}}.results .resultstoolbar .filters .toggle{margin-right:30px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5$2.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: OpenSubscribeDialogDirective, selector: "[subscribeDialog]" }, { kind: "directive", type: OpenSettingsDialogDirective, selector: "[settingsDialog]" }, { kind: "component", type: FactorAxisComponent, selector: "factor-axis", inputs: ["dimensionSelector", "showIndividualScore", "showTeamRange"] }, { kind: "component", type: LimitationsApplyComponent, selector: "limitationsapply", inputs: ["notes"] }, { kind: "pipe", type: i1$1.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: SlugifyPipe, name: "slugify" }] }); }
5400
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: FactorsComponent, selector: "factors", usesInheritance: true, ngImport: i0, template: "<div class=\"results\" *ngIf=\"loaded\">\n <limitationsapply [notes]=\"globalNotes\"></limitationsapply>\n\n <div class=\"resultstoolbar\">\n <h3>Detailed results</h3>\n <div class=\"legend\">\n <div class=\"column you\" *ngIf=\"showParticipant\">\n <span class=\"marker\"></span>\n <span class=\"label\">you</span>\n </div>\n\n <div [class]=\"'column ' + segment.name | lowercase\" *ngFor=\"let segment of populationSegments\">\n <span class=\"marker\"></span>\n <span class=\"label\">{{segment.name | lowercase}} {{segment.occurances || 1}}x</span>\n </div>\n\n <div class=\"column confidence\">\n <span class=\"marker\"></span>\n <span class=\"label\">benchmark '{{benchmarkName}}' <a [routerLink]=\"[]\" id=\"change-benchmark\" settingsDialog><span class=\"icon ph-faders-bold\"></span></a></span>\n </div>\n </div>\n <div class=\"filters\">\n <mat-slide-toggle *ngIf=\"showParticipant\" class=\"toggle showmyscores\" [(ngModel)]=\"showIndividualScore\">Show my scores</mat-slide-toggle>\n <mat-slide-toggle class=\"toggle showscoringrange\" [(ngModel)]=\"showTeamRange\" *ngIf=\"subscribed\">Show range of scores in my team</mat-slide-toggle>\n <mat-slide-toggle class=\"toggle showscoringrange\" *ngIf=\"!subscribed\" subscribeDialog>Show range of scores in my team</mat-slide-toggle>\n </div>\n </div>\n\n <div class=\"dimensions\">\n <div class=\"dimension\" *ngFor=\"let factor of factors\" [id]=\"'factor-' + factor.name | slugify\">\n <factor-axis [showIndividualScore]=\"showIndividualScore\" [showTeamRange]=\"showTeamRange\" [dimensionSelector]=\"factor\"></factor-axis>\n </div>\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.results{margin-bottom:50px}.results .moreparticipantsneeded{background:#ef6f00;padding:15px;color:#fff}.results .dimensions{border:3px solid #f0f0f0}.results .dimension{border-bottom:3px solid #f0f0f0}.results .dimension:last-of-type{border-bottom:none}.results .resultstoolbar{padding:20px;background:#f0f0f0;position:relative}.results .resultstoolbar .warning{position:absolute;top:25px;right:25px;text-decoration:none;color:#ef6f00}.results .resultstoolbar .warning .icon{font-size:36px}.results .resultstoolbar .legend .column .label a{text-decoration:none}.results .resultstoolbar .legend .column .label .icon{margin-left:5px;font-size:18px}.results .resultstoolbar .legend .column.you .marker{background:#1f3f8f}.results .resultstoolbar .legend .column.teammember .marker{background:#00af77}.results .resultstoolbar .legend .column.stakeholder .marker{background:#fff73f}.results .resultstoolbar .legend .column.supporter .marker{background:#ef6f00}.results .resultstoolbar .legend .column.confidence .marker{background:#ef59a1}.results .resultstoolbar .filters{margin-top:30px;align-items:center;display:flex}@media only screen and (max-width: 1320px){.results .resultstoolbar .filters{display:block}}.results .resultstoolbar .filters .toggle{margin-right:30px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5$2.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: OpenSubscribeDialogDirective, selector: "[subscribeDialog]" }, { kind: "directive", type: OpenSettingsDialogDirective, selector: "[settingsDialog]", inputs: ["showSettingStacking"] }, { kind: "component", type: FactorAxisComponent, selector: "factor-axis", inputs: ["dimensionSelector", "showIndividualScore", "showTeamRange"] }, { kind: "component", type: LimitationsApplyComponent, selector: "limitationsapply", inputs: ["notes"] }, { kind: "pipe", type: i1$1.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: SlugifyPipe, name: "slugify" }] }); }
5386
5401
  }
5387
5402
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FactorsComponent, decorators: [{
5388
5403
  type: Component,
@@ -5548,6 +5563,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
5548
5563
  type: Input
5549
5564
  }] } });
5550
5565
 
5566
+ class AgeIndicatorComponent {
5567
+ constructor() {
5568
+ }
5569
+ ngOnInit() {
5570
+ var measureDate = new Date(this.lastMeasured);
5571
+ var lastMeasuredMonths = Math.max(0, (new Date().getFullYear() - measureDate.getFullYear()) * 12 - measureDate.getMonth() + new Date().getMonth());
5572
+ if (lastMeasuredMonths > 12) {
5573
+ lastMeasuredMonths == 12;
5574
+ }
5575
+ this.lastMeasuredDots = new Array(lastMeasuredMonths);
5576
+ this.lastMeasuredOpacity = 1 - (lastMeasuredMonths / 14);
5577
+ if (lastMeasuredMonths <= 1) {
5578
+ this.lastMeasuredTooltip = 'This factor was last measured 1 month or less ago. It is fresh data.';
5579
+ }
5580
+ else if (lastMeasuredMonths >= 12) {
5581
+ this.lastMeasuredTooltip = 'This factor was last measured 12 month or more ago. We recommend to measure this again to keep data fresh.';
5582
+ }
5583
+ else {
5584
+ this.lastMeasuredTooltip = 'This factor was last measured ' + lastMeasuredMonths + ' month or more ago. The fresher your data, the more reliable it is.';
5585
+ }
5586
+ }
5587
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AgeIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5588
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: AgeIndicatorComponent, selector: "age-indicator", inputs: { lastMeasured: "lastMeasured" }, ngImport: i0, template: "<div class=\"age-indicator\" [style.opacity]=\"lastMeasuredOpacity\" [matTooltip]=\"lastMeasuredTooltip\" *ngIf=\"lastMeasuredDots\">\n <div class=\"age-indicator-dot\" *ngFor=\"let dot of lastMeasuredDots\"></div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
5589
+ }
5590
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AgeIndicatorComponent, decorators: [{
5591
+ type: Component,
5592
+ args: [{ selector: 'age-indicator', template: "<div class=\"age-indicator\" [style.opacity]=\"lastMeasuredOpacity\" [matTooltip]=\"lastMeasuredTooltip\" *ngIf=\"lastMeasuredDots\">\n <div class=\"age-indicator-dot\" *ngFor=\"let dot of lastMeasuredDots\"></div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}\n"] }]
5593
+ }], ctorParameters: () => [], propDecorators: { lastMeasured: [{
5594
+ type: Input
5595
+ }] } });
5596
+
5551
5597
  class QuickTipsComponent extends ComponentWithViewStateBase {
5552
5598
  constructor(state, snackBar) {
5553
5599
  super(state, snackBar);
@@ -5676,11 +5722,11 @@ class ModelFactorComponent extends ComponentWithViewStateBase {
5676
5722
  }
5677
5723
  ;
5678
5724
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ModelFactorComponent, deps: [{ token: VIEWSTATE_PROVIDER }, { token: UserSettingService }, { token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
5679
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: ModelFactorComponent, selector: "model-factor", inputs: { dimension: "dimension", factorExtraClass: "factorExtraClass" }, usesInheritance: true, ngImport: i0, template: "<div [class]=\"'factor ' + factorExtraClass + ' ' + direction\" [ngClass]=\"{'factor-notmeasured' : !dataAvailable}\" [id]=\"'factor-' + dimensionKey\" #factor (click)=\"popover.open()\">\n <div class=\"factor-content\">\n <h2>\n {{name}}\n </h2>\n <div [class]=\"'progressbar progressbar-' + direction\">\n <div class=\"progressbar-score\">{{score | number:'1.0-0'}}</div>\n <div class=\"progressbar-confidence\" *ngIf=\"confidenceAvailable\" [matTooltip]=\"'Most responses fall in the range of ' + factorScore.lowerConfidence + ' (15% percentile) and ' + factorScore.upperConfidence + ' (85% percentile)'\" [style]=\"'left: ' + factorScoreLeft + '%; width: ' + factorScoreWidth + '%'\"></div>\n <div class=\"progressbar-bar\" *ngIf=\"!confidenceAvailable\" [style]=\"'width: ' + score + '%'\"></div>\n </div>\n <delta-arrow *ngIf=\"dataAvailable\" [factorScore]=\"factorScore\" [delta]=\"delta\" [noDataIndicator]=\"false\"></delta-arrow>\n </div>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'All' && (openInterventions > 0 || completedInterventions > 0)\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open, and ' + completedInterventions + ' completed action(s). Each action is identified and created by the teams themselves.'\">\n {{openInterventions}}<small>/{{completedInterventions}}</small>\n </div>\n <a class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyOpen' && openInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.open, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-flask icon\"></i> {{openInterventions}}\n </a>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyCompleted' && completedInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.completed, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' completed improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-check-bold icon\"></i> {{completedInterventions}}\n </div>\n <div class=\"emphasize emphasize-impediments\" *ngIf=\"impededInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.impeded, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + impededInterventions + ' actions where teams are requesting from help from outside the team.'\">\n <img class=\"icon\" src=\"/assets/img/impeded.svg\" /> {{impededInterventions}}\n </div>\n</div>\n\n<div [id]=\"'factor-' + dimensionKey + '-subfactors'\" class=\"subfactors\">\n <model-factor [dimension]=\"subDimension\" [factorExtraClass]=\"'factor-sub'\" *ngFor=\"let subDimension of subDimensions\"></model-factor>\n</div>\n\n<sat-popover #popover horizontalAlign=\"after\" [anchor]=\"factor\" verticalAlign=\"center\" [hasBackdrop]=\"true\" [autoFocus]=\"false\">\n <div class=\"popover\" [id]=\"'popover-' + dimensionKey\">\n <div class=\"popover-container\">\n <span (click)=\"popover.close()\" class=\"close ph-x\"></span>\n <h3 factorInformationDialog [factor]=\"dimension\">\n {{name}}\n <span class=\"icon ph-info-fill\"></span>\n </h3>\n <div class=\"description\">{{description}}</div>\n\n <div class=\"message message-warning limitations\" *ngIf=\"notes && notes.length > 0\">\n <span class=\"icon ph-warning-circle\"></span>\n <span *ngIf=\"notes.length == 1\">\n {{notes.length}} limitation applies to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n <span *ngIf=\"notes.length > 1\">\n {{notes.length}} limitations apply to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n </div>\n\n <div class=\"breakdown\">\n <div [matTooltip]=\"'This is the average score of teams in the benchmark [' + benchmark + ']. Change the benchmark under \\'Settings\\'.'\" [attr.normalizedScore]=\"benchmarkScore\" [class]=\"'progressbar progressbar-inverted progressbar-benchmark'\" *ngIf=\"benchmarkScore != 0\">\n <div class=\"progressbar-bar\" [style]=\"'width: ' + benchmarkScore + '%'\"></div>\n <div class=\"progressbar-label\">benchmark</div>\n <div class=\"progressbar-score\">{{benchmarkScore | number:'1.0-0' }}</div>W\n </div>\n <div class=\"details\">\n </div>\n </div>\n\n <model-factor-breakdown [factor]=\"currentFactor\"></model-factor-breakdown>\n\n <quicktips [dimensionKey]=\"dimensionKey\" [extraClass]=\"'quicktips-popover'\"></quicktips>\n\n <div class=\"link\" *ngIf=\"feedbackAvailable\">\n <a [routerLink]=\"[baseUrl, 'tips']\" [fragment]=\"dimensionKey\">discover how to improve ></a>\n </div>\n </div>\n <div class=\"arrow\"></div>\n </div>\n</sat-popover>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.quicktips-popover{background:none}h3{cursor:pointer;margin-bottom:10px}h3 .icon{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i1$4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3$1.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: OpenFactorInformationDialogDirective, selector: "[factorInformationDialog]", inputs: ["factor"] }, { kind: "component", type: DeltaArrowComponent, selector: "delta-arrow", inputs: ["factorScore", "delta", "noDataIndicator"] }, { kind: "component", type: QuickTipsComponent, selector: "quicktips", inputs: ["dimensionKey", "extraClass"] }, { kind: "component", type: ModelFactorComponent, selector: "model-factor", inputs: ["dimension", "factorExtraClass"] }, { kind: "component", type: ModelFactorBreakdownComponent, selector: "model-factor-breakdown", inputs: ["factor", "pageSize"] }, { kind: "directive", type: OpenNotesDialogDirective, selector: "[notesDialog]", inputs: ["notes"] }, { kind: "pipe", type: i1$1.DecimalPipe, name: "number" }] }); }
5725
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: ModelFactorComponent, selector: "model-factor", inputs: { dimension: "dimension", factorExtraClass: "factorExtraClass" }, usesInheritance: true, ngImport: i0, template: "<div [class]=\"'factor ' + factorExtraClass + ' ' + direction\" [ngClass]=\"{'factor-notmeasured' : !dataAvailable}\" [id]=\"'factor-' + dimensionKey\" #factor (click)=\"popover.open()\">\n <div class=\"factor-content\">\n <h2>\n {{name}}\n </h2>\n <div [class]=\"'progressbar progressbar-' + direction\">\n <div class=\"progressbar-score\">{{score | number:'1.0-0'}}</div>\n <div class=\"progressbar-confidence\" *ngIf=\"confidenceAvailable\" [matTooltip]=\"'Most responses fall in the range of ' + factorScore.lowerConfidence + ' (15% percentile) and ' + factorScore.upperConfidence + ' (85% percentile)'\" [style]=\"'left: ' + factorScoreLeft + '%; width: ' + factorScoreWidth + '%'\"></div>\n <div class=\"progressbar-bar\" *ngIf=\"!confidenceAvailable\" [style]=\"'width: ' + score + '%'\"></div>\n </div>\n <age-indicator [lastMeasured]=\"factorScore.lastMeasured\"></age-indicator>\n <delta-arrow *ngIf=\"dataAvailable\" [factorScore]=\"factorScore\" [delta]=\"delta\" [noDataIndicator]=\"false\"></delta-arrow>\n </div>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'All' && (openInterventions > 0 || completedInterventions > 0)\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open, and ' + completedInterventions + ' completed action(s). Each action is identified and created by the teams themselves.'\">\n {{openInterventions}}<small>/{{completedInterventions}}</small>\n </div>\n <a class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyOpen' && openInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.open, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-flask icon\"></i> {{openInterventions}}\n </a>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyCompleted' && completedInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.completed, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' completed improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-check-bold icon\"></i> {{completedInterventions}}\n </div>\n <div class=\"emphasize emphasize-impediments\" *ngIf=\"impededInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.impeded, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + impededInterventions + ' actions where teams are requesting from help from outside the team.'\">\n <img class=\"icon\" src=\"/assets/img/impeded.svg\" /> {{impededInterventions}}\n </div>\n</div>\n\n<div [id]=\"'factor-' + dimensionKey + '-subfactors'\" class=\"subfactors\">\n <model-factor [dimension]=\"subDimension\" [factorExtraClass]=\"'factor-sub'\" *ngFor=\"let subDimension of subDimensions\"></model-factor>\n</div>\n\n<sat-popover #popover horizontalAlign=\"after\" [anchor]=\"factor\" verticalAlign=\"center\" [hasBackdrop]=\"true\" [autoFocus]=\"false\">\n <div class=\"popover\" [id]=\"'popover-' + dimensionKey\">\n <div class=\"popover-container\">\n <span (click)=\"popover.close()\" class=\"close ph-x\"></span>\n <h3 factorInformationDialog [factor]=\"dimension\">\n {{name}}\n <span class=\"icon ph-info-fill\"></span>\n </h3>\n <div class=\"description\">{{description}}</div>\n\n <div class=\"message message-warning limitations\" *ngIf=\"notes && notes.length > 0\">\n <span class=\"icon ph-warning-circle\"></span>\n <span *ngIf=\"notes.length == 1\">\n {{notes.length}} limitation applies to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n <span *ngIf=\"notes.length > 1\">\n {{notes.length}} limitations apply to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n </div>\n\n <div class=\"breakdown\">\n <div [matTooltip]=\"'This is the average score of teams in the benchmark [' + benchmark + ']. Change the benchmark under \\'Settings\\'.'\" [attr.normalizedScore]=\"benchmarkScore\" [class]=\"'progressbar progressbar-inverted progressbar-benchmark'\" *ngIf=\"benchmarkScore != 0\">\n <div class=\"progressbar-bar\" [style]=\"'width: ' + benchmarkScore + '%'\"></div>\n <div class=\"progressbar-label\">benchmark</div>\n <div class=\"progressbar-score\">{{benchmarkScore | number:'1.0-0' }}</div>W\n </div>\n <div class=\"details\">\n </div>\n </div>\n\n <model-factor-breakdown [factor]=\"currentFactor\"></model-factor-breakdown>\n\n <quicktips [dimensionKey]=\"dimensionKey\" [extraClass]=\"'quicktips-popover'\"></quicktips>\n\n <div class=\"link\" *ngIf=\"feedbackAvailable\">\n <a [routerLink]=\"[baseUrl, 'tips']\" [fragment]=\"dimensionKey\">discover how to improve ></a>\n </div>\n </div>\n <div class=\"arrow\"></div>\n </div>\n</sat-popover>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.quicktips-popover{background:none}h3{cursor:pointer;margin-bottom:10px}h3 .icon{vertical-align:middle}.age-indicator{width:100%;display:flex;font-size:8px;flex-direction:row;justify-content:center;margin-top:3px;margin-bottom:3px}.age-indicator .age-indicator-dot{width:4px;height:4px;background:#2f2f2f;border-radius:4px;margin-right:1px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i1$4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3$1.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: OpenFactorInformationDialogDirective, selector: "[factorInformationDialog]", inputs: ["factor"] }, { kind: "component", type: DeltaArrowComponent, selector: "delta-arrow", inputs: ["factorScore", "delta", "noDataIndicator"] }, { kind: "component", type: AgeIndicatorComponent, selector: "age-indicator", inputs: ["lastMeasured"] }, { kind: "component", type: QuickTipsComponent, selector: "quicktips", inputs: ["dimensionKey", "extraClass"] }, { kind: "component", type: ModelFactorComponent, selector: "model-factor", inputs: ["dimension", "factorExtraClass"] }, { kind: "component", type: ModelFactorBreakdownComponent, selector: "model-factor-breakdown", inputs: ["factor", "pageSize"] }, { kind: "directive", type: OpenNotesDialogDirective, selector: "[notesDialog]", inputs: ["notes"] }, { kind: "pipe", type: i1$1.DecimalPipe, name: "number" }] }); }
5680
5726
  }
5681
5727
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ModelFactorComponent, decorators: [{
5682
5728
  type: Component,
5683
- args: [{ selector: 'model-factor', template: "<div [class]=\"'factor ' + factorExtraClass + ' ' + direction\" [ngClass]=\"{'factor-notmeasured' : !dataAvailable}\" [id]=\"'factor-' + dimensionKey\" #factor (click)=\"popover.open()\">\n <div class=\"factor-content\">\n <h2>\n {{name}}\n </h2>\n <div [class]=\"'progressbar progressbar-' + direction\">\n <div class=\"progressbar-score\">{{score | number:'1.0-0'}}</div>\n <div class=\"progressbar-confidence\" *ngIf=\"confidenceAvailable\" [matTooltip]=\"'Most responses fall in the range of ' + factorScore.lowerConfidence + ' (15% percentile) and ' + factorScore.upperConfidence + ' (85% percentile)'\" [style]=\"'left: ' + factorScoreLeft + '%; width: ' + factorScoreWidth + '%'\"></div>\n <div class=\"progressbar-bar\" *ngIf=\"!confidenceAvailable\" [style]=\"'width: ' + score + '%'\"></div>\n </div>\n <delta-arrow *ngIf=\"dataAvailable\" [factorScore]=\"factorScore\" [delta]=\"delta\" [noDataIndicator]=\"false\"></delta-arrow>\n </div>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'All' && (openInterventions > 0 || completedInterventions > 0)\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open, and ' + completedInterventions + ' completed action(s). Each action is identified and created by the teams themselves.'\">\n {{openInterventions}}<small>/{{completedInterventions}}</small>\n </div>\n <a class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyOpen' && openInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.open, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-flask icon\"></i> {{openInterventions}}\n </a>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyCompleted' && completedInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.completed, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' completed improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-check-bold icon\"></i> {{completedInterventions}}\n </div>\n <div class=\"emphasize emphasize-impediments\" *ngIf=\"impededInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.impeded, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + impededInterventions + ' actions where teams are requesting from help from outside the team.'\">\n <img class=\"icon\" src=\"/assets/img/impeded.svg\" /> {{impededInterventions}}\n </div>\n</div>\n\n<div [id]=\"'factor-' + dimensionKey + '-subfactors'\" class=\"subfactors\">\n <model-factor [dimension]=\"subDimension\" [factorExtraClass]=\"'factor-sub'\" *ngFor=\"let subDimension of subDimensions\"></model-factor>\n</div>\n\n<sat-popover #popover horizontalAlign=\"after\" [anchor]=\"factor\" verticalAlign=\"center\" [hasBackdrop]=\"true\" [autoFocus]=\"false\">\n <div class=\"popover\" [id]=\"'popover-' + dimensionKey\">\n <div class=\"popover-container\">\n <span (click)=\"popover.close()\" class=\"close ph-x\"></span>\n <h3 factorInformationDialog [factor]=\"dimension\">\n {{name}}\n <span class=\"icon ph-info-fill\"></span>\n </h3>\n <div class=\"description\">{{description}}</div>\n\n <div class=\"message message-warning limitations\" *ngIf=\"notes && notes.length > 0\">\n <span class=\"icon ph-warning-circle\"></span>\n <span *ngIf=\"notes.length == 1\">\n {{notes.length}} limitation applies to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n <span *ngIf=\"notes.length > 1\">\n {{notes.length}} limitations apply to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n </div>\n\n <div class=\"breakdown\">\n <div [matTooltip]=\"'This is the average score of teams in the benchmark [' + benchmark + ']. Change the benchmark under \\'Settings\\'.'\" [attr.normalizedScore]=\"benchmarkScore\" [class]=\"'progressbar progressbar-inverted progressbar-benchmark'\" *ngIf=\"benchmarkScore != 0\">\n <div class=\"progressbar-bar\" [style]=\"'width: ' + benchmarkScore + '%'\"></div>\n <div class=\"progressbar-label\">benchmark</div>\n <div class=\"progressbar-score\">{{benchmarkScore | number:'1.0-0' }}</div>W\n </div>\n <div class=\"details\">\n </div>\n </div>\n\n <model-factor-breakdown [factor]=\"currentFactor\"></model-factor-breakdown>\n\n <quicktips [dimensionKey]=\"dimensionKey\" [extraClass]=\"'quicktips-popover'\"></quicktips>\n\n <div class=\"link\" *ngIf=\"feedbackAvailable\">\n <a [routerLink]=\"[baseUrl, 'tips']\" [fragment]=\"dimensionKey\">discover how to improve ></a>\n </div>\n </div>\n <div class=\"arrow\"></div>\n </div>\n</sat-popover>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.quicktips-popover{background:none}h3{cursor:pointer;margin-bottom:10px}h3 .icon{vertical-align:middle}\n"] }]
5729
+ args: [{ selector: 'model-factor', template: "<div [class]=\"'factor ' + factorExtraClass + ' ' + direction\" [ngClass]=\"{'factor-notmeasured' : !dataAvailable}\" [id]=\"'factor-' + dimensionKey\" #factor (click)=\"popover.open()\">\n <div class=\"factor-content\">\n <h2>\n {{name}}\n </h2>\n <div [class]=\"'progressbar progressbar-' + direction\">\n <div class=\"progressbar-score\">{{score | number:'1.0-0'}}</div>\n <div class=\"progressbar-confidence\" *ngIf=\"confidenceAvailable\" [matTooltip]=\"'Most responses fall in the range of ' + factorScore.lowerConfidence + ' (15% percentile) and ' + factorScore.upperConfidence + ' (85% percentile)'\" [style]=\"'left: ' + factorScoreLeft + '%; width: ' + factorScoreWidth + '%'\"></div>\n <div class=\"progressbar-bar\" *ngIf=\"!confidenceAvailable\" [style]=\"'width: ' + score + '%'\"></div>\n </div>\n <age-indicator [lastMeasured]=\"factorScore.lastMeasured\"></age-indicator>\n <delta-arrow *ngIf=\"dataAvailable\" [factorScore]=\"factorScore\" [delta]=\"delta\" [noDataIndicator]=\"false\"></delta-arrow>\n </div>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'All' && (openInterventions > 0 || completedInterventions > 0)\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open, and ' + completedInterventions + ' completed action(s). Each action is identified and created by the teams themselves.'\">\n {{openInterventions}}<small>/{{completedInterventions}}</small>\n </div>\n <a class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyOpen' && openInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.open, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-flask icon\"></i> {{openInterventions}}\n </a>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyCompleted' && completedInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.completed, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' completed improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-check-bold icon\"></i> {{completedInterventions}}\n </div>\n <div class=\"emphasize emphasize-impediments\" *ngIf=\"impededInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.impeded, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + impededInterventions + ' actions where teams are requesting from help from outside the team.'\">\n <img class=\"icon\" src=\"/assets/img/impeded.svg\" /> {{impededInterventions}}\n </div>\n</div>\n\n<div [id]=\"'factor-' + dimensionKey + '-subfactors'\" class=\"subfactors\">\n <model-factor [dimension]=\"subDimension\" [factorExtraClass]=\"'factor-sub'\" *ngFor=\"let subDimension of subDimensions\"></model-factor>\n</div>\n\n<sat-popover #popover horizontalAlign=\"after\" [anchor]=\"factor\" verticalAlign=\"center\" [hasBackdrop]=\"true\" [autoFocus]=\"false\">\n <div class=\"popover\" [id]=\"'popover-' + dimensionKey\">\n <div class=\"popover-container\">\n <span (click)=\"popover.close()\" class=\"close ph-x\"></span>\n <h3 factorInformationDialog [factor]=\"dimension\">\n {{name}}\n <span class=\"icon ph-info-fill\"></span>\n </h3>\n <div class=\"description\">{{description}}</div>\n\n <div class=\"message message-warning limitations\" *ngIf=\"notes && notes.length > 0\">\n <span class=\"icon ph-warning-circle\"></span>\n <span *ngIf=\"notes.length == 1\">\n {{notes.length}} limitation applies to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n <span *ngIf=\"notes.length > 1\">\n {{notes.length}} limitations apply to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n </div>\n\n <div class=\"breakdown\">\n <div [matTooltip]=\"'This is the average score of teams in the benchmark [' + benchmark + ']. Change the benchmark under \\'Settings\\'.'\" [attr.normalizedScore]=\"benchmarkScore\" [class]=\"'progressbar progressbar-inverted progressbar-benchmark'\" *ngIf=\"benchmarkScore != 0\">\n <div class=\"progressbar-bar\" [style]=\"'width: ' + benchmarkScore + '%'\"></div>\n <div class=\"progressbar-label\">benchmark</div>\n <div class=\"progressbar-score\">{{benchmarkScore | number:'1.0-0' }}</div>W\n </div>\n <div class=\"details\">\n </div>\n </div>\n\n <model-factor-breakdown [factor]=\"currentFactor\"></model-factor-breakdown>\n\n <quicktips [dimensionKey]=\"dimensionKey\" [extraClass]=\"'quicktips-popover'\"></quicktips>\n\n <div class=\"link\" *ngIf=\"feedbackAvailable\">\n <a [routerLink]=\"[baseUrl, 'tips']\" [fragment]=\"dimensionKey\">discover how to improve ></a>\n </div>\n </div>\n <div class=\"arrow\"></div>\n </div>\n</sat-popover>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.quicktips-popover{background:none}h3{cursor:pointer;margin-bottom:10px}h3 .icon{vertical-align:middle}.age-indicator{width:100%;display:flex;font-size:8px;flex-direction:row;justify-content:center;margin-top:3px;margin-bottom:3px}.age-indicator .age-indicator-dot{width:4px;height:4px;background:#2f2f2f;border-radius:4px;margin-right:1px}\n"] }]
5684
5730
  }], ctorParameters: () => [{ type: ViewModelStateBase, decorators: [{
5685
5731
  type: Inject,
5686
5732
  args: [VIEWSTATE_PROVIDER]
@@ -5971,7 +6017,7 @@ class ModelComponent extends ComponentWithViewStateBase {
5971
6017
  }
5972
6018
  ;
5973
6019
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ModelComponent, deps: [{ token: VIEWSTATE_PROVIDER }, { token: i1$3.MatDialog }, { token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
5974
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: ModelComponent, selector: "model", host: { listeners: { "window:resize": "determineScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "\n<div *ngIf=\"!showModel\" class=\"message message-warning\">\n <div><span class=\"icon ph-info-fill\"></span> We've hidden the model visualization because your resolution is too low. Please try a larger device, like a tablet, laptop or desktop.</div>\n</div>\n\n<limitationsapply [notes]=\"globalNotes\"></limitationsapply>\n\n<div class=\"wirebox model\" *ngIf=\"factors && showModel\">\n <div class=\"top\">\n <div class=\"toolbar\">\n <div class=\"toolbar-settings\">\n <div class=\"toolbar-setting\">\n <div class=\"toolbar-setting-title\">Selected Benchmark</div>\n <div class=\"toolbar-setting-label\">{{benchmark}}</div>\n </div>\n <div class=\"toolbar-setting\">\n <div class=\"toolbar-setting-title\">compare results to</div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.none\">No comparison</div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.delta && deltaType == 'PreviousSnapshot'\">Previous snapshot from {{deltaDateRange | dateRange}}</div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.delta && deltaType != 'PreviousSnapshot'\">Current period <span class=\"icon ph-info-fill\" [matTooltip]=\"'Current period ranges from ' + (dateRange | dateRange) + '. This includes weighed measurements from ' + pointCount + ' ' + pointType + ': ' + pointNames\"></span> with previous period <span class=\"icon ph-info-fill\" [matTooltip]=\"'Previous period ranges from ' + (deltaDateRange | dateRange) + '. This includes weighed measurements from ' + deltaTeams + ' ' + pointType + ': ' + deltaTeamNames\"></span></div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.benchmark\">Against benchmark</div>\n </div>\n <div class=\"toolbar-setting\" *ngIf=\"qualifiedBy != QualifiedByEnum.none\">\n <div class=\"toolbar-setting-title\">comparison legend</div>\n <div class=\"toolbar-setting-markers negative\">\n <ng-container *ngIf=\"qualifiedBy == 'Benchmark'\">\n <div class=\"toolbar-setting-marker negative\">\n <span class=\"marker\"></span>\n <span class=\"label\">lower</span>\n </div>\n <div class=\"toolbar-setting-marker neutral\">\n <span class=\"marker\"></span>\n <span class=\"label\">similar</span>\n </div>\n <div class=\"toolbar-setting-marker positive\">\n <span class=\"marker\"></span>\n <span class=\"label\">higher</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"qualifiedBy == 'Delta'\">\n <div class=\"toolbar-setting-marker negative\">\n <span class=\"marker\"></span>\n <span class=\"label\">decreased</span>\n </div>\n <div class=\"toolbar-setting-marker neutral\">\n <span class=\"marker\"></span>\n <span class=\"label\">similar</span>\n </div>\n <div class=\"toolbar-setting-marker positive\">\n <span class=\"marker\"></span>\n <span class=\"label\">improved</span>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"buttons\">\n <div class=\"button\" id=\"change-settings\" settingsDialog><span class=\"ph-faders icon\"></span> Settings</div>\n <div class=\"button\" id=\"export-factorscores\" exportFactorScoresDialog *ngIf=\"isLoggedIn\"><span class=\"ph-download-simple icon\"></span> Export</div>\n </div>\n </div>\n </div>\n <div class=\"content\">\n <div class=\"model\">\n <div *ngIf=\"!showModel || !showSubFactorArrows\" class=\"message message-warning\">\n <div><span class=\"icon ph-info-fill\"></span> View on a larger device to see more details (like lower-order factors).</div>\n </div>\n\n <div class=\"model-frame\" [class]=\"'model-' + modelDefinition.publicKey\">\n <ng-container *ngFor=\"let factor of factors\">\n <model-factor [dimension]=\"factor\" [factorExtraClass]=\"'factor-primary'\"></model-factor>\n </ng-container>\n </div>\n\n <ng-container *ngFor=\"let factor of factors\">\n <arrow [from]=\"'#factor-' + factor.publicKey\" [to]=\"'#factor-' + effect.to\" [onlyVisible]=\"true\" [tail]=\"true\" [head]=\"false\" [width]=\"effect.standardizedBeta * 10\" [text]=\"'+'\" *ngFor=\"let effect of factor.effects\"></arrow>\n <ng-container *ngIf=\"showSubFactorArrows\">\n <ng-container *ngFor=\"let lowerFactor of factor.lower\">\n <arrow [from]=\"'#factor-' + lowerFactor.publicKey\" [to]=\"'#factor-' + lowerEffect.to\" [onlyVisible]=\"true\" [tail]=\"false\" [head]=\"false\" [width]=\"1\" *ngFor=\"let lowerEffect of lowerFactor.effects\"></arrow>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div class=\"bottom\">\n <div class=\"message message-information\">\n <div>\n <span class=\"icon ph-info-fill\"></span>\n <span>\n <span [innerHtml]=\"modelDefinition.attribution\"></span>\n <span>&nbsp;Explore our <a href=\"https://github.com/theliberators/scrumteamsurvey.docs/wiki\" target=\"_blank\">wiki</a> for details on calculations and common questions.</span>\n </span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.content .model .model-frame{margin-top:30px;min-height:1000px;position:relative}@media only screen and (max-width: 1320px){.content .model .model-frame{min-height:350px}}.message{flex-wrap:wrap}.message ul{margin-bottom:0;margin-top:15px}.break{flex-basis:100%;height:0}.toolbar .buttons{min-width:350px;text-align:right}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: ArrowComponent, selector: "arrow", inputs: ["from", "to", "head", "tail", "text", "toolTip", "color", "width", "onlyVisible", "fromX", "fromY", "toX", "toY"] }, { kind: "component", type: ModelFactorComponent, selector: "model-factor", inputs: ["dimension", "factorExtraClass"] }, { kind: "directive", type: OpenSettingsDialogDirective, selector: "[settingsDialog]" }, { kind: "directive", type: OpenExportFactorScoresDialogDirective, selector: "[exportFactorScoresDialog]" }, { kind: "component", type: LimitationsApplyComponent, selector: "limitationsapply", inputs: ["notes"] }, { kind: "pipe", type: DateRangePipe, name: "dateRange" }] }); }
6020
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: ModelComponent, selector: "model", host: { listeners: { "window:resize": "determineScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "\n<div *ngIf=\"!showModel\" class=\"message message-warning\">\n <div><span class=\"icon ph-info-fill\"></span> We've hidden the model visualization because your resolution is too low. Please try a larger device, like a tablet, laptop or desktop.</div>\n</div>\n\n<limitationsapply [notes]=\"globalNotes\"></limitationsapply>\n\n<div class=\"wirebox model\" *ngIf=\"factors && showModel\">\n <div class=\"top\">\n <div class=\"toolbar\">\n <div class=\"toolbar-settings\">\n <div class=\"toolbar-setting\">\n <div class=\"toolbar-setting-title\">Selected Benchmark</div>\n <div class=\"toolbar-setting-label\">{{benchmark}}</div>\n </div>\n <div class=\"toolbar-setting\">\n <div class=\"toolbar-setting-title\">compare results to</div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.none\">No comparison</div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.delta && deltaType == 'PreviousSnapshot'\">Previous snapshot from {{deltaDateRange | dateRange}}</div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.delta && deltaType != 'PreviousSnapshot'\">Current period <span class=\"icon ph-info-fill\" [matTooltip]=\"'Current period ranges from ' + (dateRange | dateRange) + '. This includes weighed measurements from ' + pointCount + ' ' + pointType + ': ' + pointNames\"></span> with previous period <span class=\"icon ph-info-fill\" [matTooltip]=\"'Previous period ranges from ' + (deltaDateRange | dateRange) + '. This includes weighed measurements from ' + deltaTeams + ' ' + pointType + ': ' + deltaTeamNames\"></span></div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.benchmark\">Against benchmark</div>\n </div>\n <div class=\"toolbar-setting\" *ngIf=\"qualifiedBy != QualifiedByEnum.none\">\n <div class=\"toolbar-setting-title\">comparison legend</div>\n <div class=\"toolbar-setting-markers negative\">\n <ng-container *ngIf=\"qualifiedBy == 'Benchmark'\">\n <div class=\"toolbar-setting-marker negative\">\n <span class=\"marker\"></span>\n <span class=\"label\">lower</span>\n </div>\n <div class=\"toolbar-setting-marker neutral\">\n <span class=\"marker\"></span>\n <span class=\"label\">similar</span>\n </div>\n <div class=\"toolbar-setting-marker positive\">\n <span class=\"marker\"></span>\n <span class=\"label\">higher</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"qualifiedBy == 'Delta'\">\n <div class=\"toolbar-setting-marker negative\">\n <span class=\"marker\"></span>\n <span class=\"label\">decreased</span>\n </div>\n <div class=\"toolbar-setting-marker neutral\">\n <span class=\"marker\"></span>\n <span class=\"label\">similar</span>\n </div>\n <div class=\"toolbar-setting-marker positive\">\n <span class=\"marker\"></span>\n <span class=\"label\">improved</span>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"buttons\">\n <div class=\"button\" id=\"change-settings\" settingsDialog><span class=\"ph-faders icon\"></span> Settings</div>\n <div class=\"button\" id=\"export-factorscores\" exportFactorScoresDialog *ngIf=\"isLoggedIn\"><span class=\"ph-download-simple icon\"></span> Export</div>\n </div>\n </div>\n </div>\n <div class=\"content\">\n <div class=\"model\">\n <div *ngIf=\"!showModel || !showSubFactorArrows\" class=\"message message-warning\">\n <div><span class=\"icon ph-info-fill\"></span> View on a larger device to see more details (like lower-order factors).</div>\n </div>\n\n <div class=\"model-frame\" [class]=\"'model-' + modelDefinition.publicKey\">\n <ng-container *ngFor=\"let factor of factors\">\n <model-factor [dimension]=\"factor\" [factorExtraClass]=\"'factor-primary'\"></model-factor>\n </ng-container>\n </div>\n\n <ng-container *ngFor=\"let factor of factors\">\n <arrow [from]=\"'#factor-' + factor.publicKey\" [to]=\"'#factor-' + effect.to\" [onlyVisible]=\"true\" [tail]=\"true\" [head]=\"false\" [width]=\"effect.standardizedBeta * 10\" [text]=\"'+'\" *ngFor=\"let effect of factor.effects\"></arrow>\n <ng-container *ngIf=\"showSubFactorArrows\">\n <ng-container *ngFor=\"let lowerFactor of factor.lower\">\n <arrow [from]=\"'#factor-' + lowerFactor.publicKey\" [to]=\"'#factor-' + lowerEffect.to\" [onlyVisible]=\"true\" [tail]=\"false\" [head]=\"false\" [width]=\"1\" *ngFor=\"let lowerEffect of lowerFactor.effects\"></arrow>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div class=\"bottom\">\n <div class=\"message message-information\">\n <div>\n <span class=\"icon ph-info-fill\"></span>\n <span>\n <span [innerHtml]=\"modelDefinition.attribution\"></span>\n <span>&nbsp;Explore our <a href=\"https://github.com/theliberators/scrumteamsurvey.docs/wiki\" target=\"_blank\">wiki</a> for details on calculations and common questions.</span>\n </span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.content .model .model-frame{margin-top:30px;min-height:1000px;position:relative}@media only screen and (max-width: 1320px){.content .model .model-frame{min-height:350px}}.message{flex-wrap:wrap}.message ul{margin-bottom:0;margin-top:15px}.break{flex-basis:100%;height:0}.toolbar .buttons{min-width:350px;text-align:right}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: ArrowComponent, selector: "arrow", inputs: ["from", "to", "head", "tail", "text", "toolTip", "color", "width", "onlyVisible", "fromX", "fromY", "toX", "toY"] }, { kind: "component", type: ModelFactorComponent, selector: "model-factor", inputs: ["dimension", "factorExtraClass"] }, { kind: "directive", type: OpenSettingsDialogDirective, selector: "[settingsDialog]", inputs: ["showSettingStacking"] }, { kind: "directive", type: OpenExportFactorScoresDialogDirective, selector: "[exportFactorScoresDialog]" }, { kind: "component", type: LimitationsApplyComponent, selector: "limitationsapply", inputs: ["notes"] }, { kind: "pipe", type: DateRangePipe, name: "dateRange" }] }); }
5975
6021
  }
5976
6022
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ModelComponent, decorators: [{
5977
6023
  type: Component,
@@ -6238,11 +6284,11 @@ class RoadmapComponent extends ComponentWithViewStateBase {
6238
6284
  }
6239
6285
  ;
6240
6286
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: RoadmapComponent, deps: [{ token: VIEWSTATE_PROVIDER }, { token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
6241
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: RoadmapComponent, selector: "roadmap", usesInheritance: true, ngImport: i0, template: "<div class=\"roadmap\" brandbackground [palette]=\"'accent'\" *ngIf=\"show\">\n <h3>Our roadmap</h3>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Analyze patterns in results across your clients (like 'Insights' in the Teams Dashboard)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Create benchmarks or baseline from your clients\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Perform GDPR-compliance check and set up partner agreements\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Develop a short-form questionnaire that can be taken frequently\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Allow stakeholders & supporters to provide their perspective for groups of teams\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Rebrand Scrum Team\u00A0Survey (Q3-Q4)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> More Enterprise Features (MFA, SSO, potentially custom domains) (Q1)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Introduce Lightweight Partner\u00A0Program (Q1-2)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Evolve Feedback To Support Action\u00A0Learning (Q2-3)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Transition Teamwork Model Out Of\u00A0Beta (Q2-3)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Expand with non-survey measures (Q4)\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.roadmap{padding:20px;position:relative}.roadmap .close{position:absolute;top:15px;right:15px;font-size:30px;cursor:pointer}.roadmap .feature{display:flex;align-items:center;align-content:center}.roadmap .feature .icon{margin-right:15px}.roadmap .toolbar{margin-top:30px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: BrandBackgroundDirective, selector: "[brandbackground]", inputs: ["palette"] }] }); }
6287
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: RoadmapComponent, selector: "roadmap", usesInheritance: true, ngImport: i0, template: "<div class=\"roadmap\" brandbackground [palette]=\"'accent'\" *ngIf=\"show\">\n <h3>Our roadmap</h3>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> More Enterprise Features (MFA, SSO, potentially custom domains) (Q1)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Introduce Lightweight Partner\u00A0Program (Q1-2)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Add basic API for select Enterprise users (Q3)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Evolve Feedback To Support Action\u00A0Learning (in progress, Q2-4)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Transition Teamwork Model Out Of\u00A0Beta (Q4)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Expand with non-survey measures (Q1-2, 2025)\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.roadmap{padding:20px;position:relative}.roadmap .close{position:absolute;top:15px;right:15px;font-size:30px;cursor:pointer}.roadmap .feature{display:flex;align-items:center;align-content:center}.roadmap .feature .icon{margin-right:15px}.roadmap .toolbar{margin-top:30px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: BrandBackgroundDirective, selector: "[brandbackground]", inputs: ["palette"] }] }); }
6242
6288
  }
6243
6289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: RoadmapComponent, decorators: [{
6244
6290
  type: Component,
6245
- args: [{ selector: 'roadmap', template: "<div class=\"roadmap\" brandbackground [palette]=\"'accent'\" *ngIf=\"show\">\n <h3>Our roadmap</h3>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Analyze patterns in results across your clients (like 'Insights' in the Teams Dashboard)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Create benchmarks or baseline from your clients\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Perform GDPR-compliance check and set up partner agreements\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Develop a short-form questionnaire that can be taken frequently\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Allow stakeholders & supporters to provide their perspective for groups of teams\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Rebrand Scrum Team\u00A0Survey (Q3-Q4)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> More Enterprise Features (MFA, SSO, potentially custom domains) (Q1)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Introduce Lightweight Partner\u00A0Program (Q1-2)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Evolve Feedback To Support Action\u00A0Learning (Q2-3)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Transition Teamwork Model Out Of\u00A0Beta (Q2-3)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Expand with non-survey measures (Q4)\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.roadmap{padding:20px;position:relative}.roadmap .close{position:absolute;top:15px;right:15px;font-size:30px;cursor:pointer}.roadmap .feature{display:flex;align-items:center;align-content:center}.roadmap .feature .icon{margin-right:15px}.roadmap .toolbar{margin-top:30px}\n"] }]
6291
+ args: [{ selector: 'roadmap', template: "<div class=\"roadmap\" brandbackground [palette]=\"'accent'\" *ngIf=\"show\">\n <h3>Our roadmap</h3>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> More Enterprise Features (MFA, SSO, potentially custom domains) (Q1)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Introduce Lightweight Partner\u00A0Program (Q1-2)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Add basic API for select Enterprise users (Q3)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Evolve Feedback To Support Action\u00A0Learning (in progress, Q2-4)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Transition Teamwork Model Out Of\u00A0Beta (Q4)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Expand with non-survey measures (Q1-2, 2025)\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.roadmap{padding:20px;position:relative}.roadmap .close{position:absolute;top:15px;right:15px;font-size:30px;cursor:pointer}.roadmap .feature{display:flex;align-items:center;align-content:center}.roadmap .feature .icon{margin-right:15px}.roadmap .toolbar{margin-top:30px}\n"] }]
6246
6292
  }], ctorParameters: () => [{ type: ViewModelStateBase, decorators: [{
6247
6293
  type: Inject,
6248
6294
  args: [VIEWSTATE_PROVIDER]
@@ -6973,6 +7019,7 @@ class ResultsModule {
6973
7019
  BenchmarkIndicatorComponent,
6974
7020
  FocusAreasComponent,
6975
7021
  ImpactIndicatorComponent,
7022
+ AgeIndicatorComponent,
6976
7023
  RoadmapComponent,
6977
7024
  CoachingCenterTeaserComponent,
6978
7025
  ModelComponent,
@@ -7046,6 +7093,7 @@ class ResultsModule {
7046
7093
  DeltaArrowComponent,
7047
7094
  BenchmarkIndicatorComponent,
7048
7095
  CoachingCenterTeaserComponent,
7096
+ AgeIndicatorComponent,
7049
7097
  FocusAreasComponent,
7050
7098
  ImpactIndicatorComponent,
7051
7099
  VideoComponent,
@@ -7162,6 +7210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
7162
7210
  BenchmarkIndicatorComponent,
7163
7211
  FocusAreasComponent,
7164
7212
  ImpactIndicatorComponent,
7213
+ AgeIndicatorComponent,
7165
7214
  RoadmapComponent,
7166
7215
  CoachingCenterTeaserComponent,
7167
7216
  ModelComponent,
@@ -7212,6 +7261,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
7212
7261
  DeltaArrowComponent,
7213
7262
  BenchmarkIndicatorComponent,
7214
7263
  CoachingCenterTeaserComponent,
7264
+ AgeIndicatorComponent,
7215
7265
  FocusAreasComponent,
7216
7266
  ImpactIndicatorComponent,
7217
7267
  VideoComponent,
@@ -7512,5 +7562,5 @@ const ViewModelStateConfigToken = new InjectionToken('viewmodelstate-angular.con
7512
7562
  * Generated bundle index. Do not edit.
7513
7563
  */
7514
7564
 
7515
- export { AactionConfigToken, AccountService$1 as AccountService, ActionClientConfig, ActionCollectionDto, ActionConfigDto, ActionDto, ActionListComponent, ActionListFilter, ActionManageComponent, ActionOptionDto, ActionOptionsDto, ActionPrefillDto, ActionService, ActionTeamDto, ActionTileComponent, ActionsModule, AlertClientConfig, AlertConfigDto, AlertConfigToken, AlertDto, AlertFilterDto, AlertResponseDto, AlertService, AlertsComponent, AlertsModule, ApiConfig, ApiConfigDto, ApiConfigToken, ApiErrorDto, ArrowComponent, BackButtonDirective, BackButtonDirectiveModule, BadgeCollectionDto, BadgeComponent, BadgeDto, BadgeProgressionComponent, BadgeStreakComponent, BadgeTypeEnum, BadgesComponent, BenchmarkIndicatorComponent, BenchmarkOptionDto, BenchmarkTypeEnum, BrandBackgroundDirective, BrandConditionalBackgroundColorDirective, BrandConditionalColorDirective, BrandHoverColorDirective, BrandingModule, BrandingProvider, BrandingSettingsDto, CallbackPipe, CallbackPipeModule, ChannelDefaultBrandingDto, ChannelDto, CheckboxComponent, CheckboxModule, ClientInfoDto, CoachingCenterTeaserComponent, CommunityClientConfig, CommunityClientConfigDto, CommunityConfigToken, CommunityModule, ComponentBase, ComponentWithViewStateBase, ContactService, ContentBrandingDto, ContextItemDto, ContextTypes, DIALOG_GUIDES_TOKEN, DIALOG_GUIDE_TOKEN, DateRangeDto, DateRangePipe, DateRangePipeModule, DefinitionDto, DeltaArrowComponent, DeltaPeriodEnum, DialogAccountComponent, DialogAccountModule, DialogActionFiltersComponent, DialogActionManageComponent, DialogAlertsComponent, DialogExportActionsComponent, DialogExportFactorScoresComponent, DialogExportTeamListComponent, DialogFactorInformationComponent, DialogGuideComponent, DialogGuidesComponent, DialogModelFilterComponent, DialogResourceDownloadComponent, DialogSettingsComponent, DialogSubscribeComponent, DialogSubscribeModule, DialogSupportComponent, DialogSupportModule, DimensionResultDto, DismissAlertRequestDto, DismissPopupService, DoItYourselfComponent, DoItYourselfWorkshopsComponent, EffectDto, EffectTypeEnum, ErrorConfigToken, ErrorDetailDto, ErrorDto, ErrorServiceConfig, ErrorServiceConfigDto, ErrorServiceModule, ExpandComponent, ExpandItemDto, ExpandModule, ExportActionsRequestDto, ExportFactorScoresRequestDto, ExportTeamListRequestDto, FactorAxisComponent, FactorEffectDto, FactorInformationDialogModule, FactorRecommendationDto, FactorScoreCollectionBenchmarkDto, FactorScoreCollectionCompositionDto, FactorScoreCollectionCompositionSegmentDto, FactorScoreCollectionDeltaDto, FactorScoreCollectionDto, FactorScoreCollectionFiltersDto, FactorScoreCompositionPointDto, FactorScoreCompositionPointsDto, FactorScoreDto, FactorService, FactorStructureConstraintDto, FactorStructureDto, FactorStructureSegmentDto, FactorsComponent, FeedbackQuickTipDto, FeedbackResourceDto, FilterTagsComponent, FocusAreasComponent, FooterComponent, FrontAndBackendErrorHandler, GUIDESTATE_PROVIDER, GetHelpFormComponent, GuardsModule, GuideCollectionDto, GuideConfigDto, GuideDto, GuideMediaTypeEnum, GuidePopupService, GuideSettingsDto, GuideStateDto, GuideStateInBackEndService, GuideStateInBrowserService, GuideStepDto, GuideStepMediaDto, GuidesClientConfig, GuidesConfigToken, GuidesModule, ImageSliderComponent, ImpactIndicatorComponent, IncludeActionsModeEnum, InterventionFilterType, InterventionOwnerEnum, InterventionOwnerToStringPipe, InterventionSortEnum, InterventionStateEnum, InterventionStateToStringPipe, InterventionSummaryDto, InterventionTypeEnum, InterventionTypeToStringPipe, InviteUrlDto, LegalDocumentDto, LegalDto, LiberatorKitsComponent, LimitationsApplyComponent, LoadModes, LoadingComponent, LoadingModule, LocalUserDto, LoggingSeverityEnum, MatTagsComponent, MatTagsModule, MeasurementDto, MeetupDto, MeetupResponseDto, MeetupsComponent, ModelComponent, ModelDefinitionDto, ModelDemoUrlDto, ModelFactorBreakdownComponent, ModelFactorComponent, ModelFilter, ModelStructureDto, ModelSummaryDto, ModelSwitcherComponent, NavButtonComponent, NavigationUrlDto, NavigationUrlTypeEnum, NgAddToCalendarModule, NoReloadStrategy, OpenAccountDialogDirective, OpenActionFiltersDialogDirective, OpenAddActionDialogDirective, OpenAlertsDialogDirective, OpenContactSalesDialog, OpenEditActionDialogDirective, OpenExportActionsDialogDirective, OpenExportFactorScoresDialogDirective, OpenExportTeamListDialogDirective, OpenFactorInformationDialogDirective, OpenFeedbackDialogDirective, OpenGuideDialogDirective, OpenGuidesDialogDirective, OpenLookingForHelpDialog, OpenModelFilterDialog, OpenReportBugDialogDirective, OpenResourceDownloadDialogDirective, OpenSettingsDialogDirective, OpenSubscribeDialogDirective, OpenSupportDialogDirective, PaginatedResponse, PaginatorComponent, PaginatorModule, PagingOptions, PaletteItem, ParticipantDto, ParticipantsComponent, ParticipationRateDto, PointDto, PointTypeEnum, ProcessingDataDto, QualificationEnum, QualifiedByEnum, QuestionnaireTypeDto, QuickTipsComponent, RecentContentComponent, RecommendationComponent, RecommendationsComponent, ReloadOnPushStrategy, ResearchComponent, ResetPasswordRequestDto, ResourceDownloadModule, ResourceDownloadRedirectUrlDto, ResourceDownloadService, ResourceDto, ResourceResponseDto, ResultsClientConfig, ResultsClientDto, ResultsConfigToken, ResultsModule, ResumeGuideHoverComponent, RoadmapComponent, ScaleSelectorComponent, ScaleSelectorModule, SegmentEnum, SegmentNamePipe, SegmentNamePipeModule, SelectItem, SessionIdInterceptor, SessionIdProvider, SiteDefaultFooterComponent, SiteDefaultHeaderComponent, SiteMicroFooterComponent, SlugifyPipe, SlugifyPipeModule, SnapshotDto, SnapshotMetaDataDto, StartGuideDirective, SubscriptionTierEnum, TeamDashboardTeaserComponent, TeamDto, TeamEffectivenessComponent, TeamListFilter, TeamListResponseDto, TeamMetaDataDto, TeamNameAndKeyDto, TeamSortEnum, TeamStatusEnum, TermsService, TermsUpdatedComponent, TipBadgeComponent, TrendDataRequestDto, TrendDataSetDto, TrendService, TrendsComponent, UpdateInProgressComponent, UserGlobalSettingsDto, UserInfoDto, UserListFilter, UserListResponseDto, UserNameAndKeyDto, UserProfileComponent, UserProfileDto, UserProfileService, UserSettingService, UserSettingsDto, UserSpecificSettingsDto, VIEWSTATE_LOAD_STRATEGY, VIEWSTATE_PROVIDER, VIEWSTATE_RELOAD_STRATEGY, VIEWSTATE_USERSETTINGS_STRATEGY, ValidChangeTokenGuard, ValidKeyGuard, ValidKeySnapshotKeyGuard, ValidKeyTeamKeyGuard, VariableDto, VideoComponent, ViewModelStateBase, ViewModelStateConfig, ViewModelStateConfigDto, ViewModelStateConfigToken, ViewModelStateModule, WidgetFactorScoreComponent, WidgetParticipationRateComponent, compareInputValidator, domainValidator };
7565
+ export { AactionConfigToken, AccountService$1 as AccountService, ActionClientConfig, ActionCollectionDto, ActionConfigDto, ActionDto, ActionListComponent, ActionListFilter, ActionManageComponent, ActionOptionDto, ActionOptionsDto, ActionPrefillDto, ActionService, ActionTeamDto, ActionTileComponent, ActionsModule, AgeIndicatorComponent, AlertClientConfig, AlertConfigDto, AlertConfigToken, AlertDto, AlertFilterDto, AlertResponseDto, AlertService, AlertsComponent, AlertsModule, ApiConfig, ApiConfigDto, ApiConfigToken, ApiErrorDto, ArrowComponent, BackButtonDirective, BackButtonDirectiveModule, BadgeCollectionDto, BadgeComponent, BadgeDto, BadgeProgressionComponent, BadgeStreakComponent, BadgeTypeEnum, BadgesComponent, BenchmarkIndicatorComponent, BenchmarkOptionDto, BenchmarkTypeEnum, BrandBackgroundDirective, BrandConditionalBackgroundColorDirective, BrandConditionalColorDirective, BrandHoverColorDirective, BrandingModule, BrandingProvider, BrandingSettingsDto, CallbackPipe, CallbackPipeModule, ChannelDefaultBrandingDto, ChannelDto, CheckboxComponent, CheckboxModule, ClientInfoDto, CoachingCenterTeaserComponent, CommunityClientConfig, CommunityClientConfigDto, CommunityConfigToken, CommunityModule, ComponentBase, ComponentWithViewStateBase, ContactService, ContentBrandingDto, ContextItemDto, ContextTypes, DIALOG_GUIDES_TOKEN, DIALOG_GUIDE_TOKEN, DateRangeDto, DateRangePipe, DateRangePipeModule, DefinitionDto, DeltaArrowComponent, DeltaPeriodEnum, DialogAccountComponent, DialogAccountModule, DialogActionFiltersComponent, DialogActionManageComponent, DialogAlertsComponent, DialogExportActionsComponent, DialogExportFactorScoresComponent, DialogExportTeamListComponent, DialogFactorInformationComponent, DialogGuideComponent, DialogGuidesComponent, DialogModelFilterComponent, DialogResourceDownloadComponent, DialogSettingsComponent, DialogSubscribeComponent, DialogSubscribeModule, DialogSupportComponent, DialogSupportModule, DimensionResultDto, DismissAlertRequestDto, DismissPopupService, DoItYourselfComponent, DoItYourselfWorkshopsComponent, EffectDto, EffectTypeEnum, ErrorConfigToken, ErrorDetailDto, ErrorDto, ErrorServiceConfig, ErrorServiceConfigDto, ErrorServiceModule, ExpandComponent, ExpandItemDto, ExpandModule, ExportActionsRequestDto, ExportFactorScoresRequestDto, ExportTeamListRequestDto, FactorAxisComponent, FactorEffectDto, FactorInformationDialogModule, FactorRecommendationDto, FactorScoreCollectionBenchmarkDto, FactorScoreCollectionCompositionDto, FactorScoreCollectionCompositionSegmentDto, FactorScoreCollectionDeltaDto, FactorScoreCollectionDto, FactorScoreCollectionFiltersDto, FactorScoreCompositionPointDto, FactorScoreCompositionPointsDto, FactorScoreDto, FactorService, FactorStructureConstraintDto, FactorStructureDto, FactorStructureSegmentDto, FactorsComponent, FeedbackQuickTipDto, FeedbackResourceDto, FilterTagsComponent, FocusAreasComponent, FooterComponent, FrontAndBackendErrorHandler, GUIDESTATE_PROVIDER, GetHelpFormComponent, GuardsModule, GuideCollectionDto, GuideConfigDto, GuideDto, GuideMediaTypeEnum, GuidePopupService, GuideSettingsDto, GuideStateDto, GuideStateInBackEndService, GuideStateInBrowserService, GuideStepDto, GuideStepMediaDto, GuidesClientConfig, GuidesConfigToken, GuidesModule, ImageSliderComponent, ImpactIndicatorComponent, IncludeActionsModeEnum, InterventionFilterType, InterventionOwnerEnum, InterventionOwnerToStringPipe, InterventionSortEnum, InterventionStateEnum, InterventionStateToStringPipe, InterventionSummaryDto, InterventionTypeEnum, InterventionTypeToStringPipe, InviteUrlDto, LegalDocumentDto, LegalDto, LiberatorKitsComponent, LimitationsApplyComponent, LoadModes, LoadingComponent, LoadingModule, LocalUserDto, LoggingSeverityEnum, MatTagsComponent, MatTagsModule, MeasurementDto, MeetupDto, MeetupResponseDto, MeetupsComponent, ModelComponent, ModelDefinitionDto, ModelDemoUrlDto, ModelFactorBreakdownComponent, ModelFactorComponent, ModelFilter, ModelStructureDto, ModelSummaryDto, ModelSwitcherComponent, NavButtonComponent, NavigationUrlDto, NavigationUrlTypeEnum, NgAddToCalendarModule, NoReloadStrategy, OpenAccountDialogDirective, OpenActionFiltersDialogDirective, OpenAddActionDialogDirective, OpenAlertsDialogDirective, OpenContactSalesDialog, OpenEditActionDialogDirective, OpenExportActionsDialogDirective, OpenExportFactorScoresDialogDirective, OpenExportTeamListDialogDirective, OpenFactorInformationDialogDirective, OpenFeedbackDialogDirective, OpenGuideDialogDirective, OpenGuidesDialogDirective, OpenLookingForHelpDialog, OpenModelFilterDialog, OpenReportBugDialogDirective, OpenResourceDownloadDialogDirective, OpenSettingsDialogDirective, OpenSubscribeDialogDirective, OpenSupportDialogDirective, PaginatedResponse, PaginatorComponent, PaginatorModule, PagingOptions, PaletteItem, ParticipantDto, ParticipantsComponent, ParticipationRateDto, PointDto, PointTypeEnum, ProcessingDataDto, QualificationEnum, QualifiedByEnum, QuestionnaireTypeDto, QuickTipsComponent, RecentContentComponent, RecommendationComponent, RecommendationsComponent, ReloadOnPushStrategy, ResearchComponent, ResetPasswordRequestDto, ResourceDownloadModule, ResourceDownloadRedirectUrlDto, ResourceDownloadService, ResourceDto, ResourceResponseDto, ResultsClientConfig, ResultsClientDto, ResultsConfigToken, ResultsModule, ResumeGuideHoverComponent, RoadmapComponent, ScaleSelectorComponent, ScaleSelectorModule, SegmentEnum, SegmentNamePipe, SegmentNamePipeModule, SelectItem, SessionIdInterceptor, SessionIdProvider, SiteDefaultFooterComponent, SiteDefaultHeaderComponent, SiteMicroFooterComponent, SlugifyPipe, SlugifyPipeModule, SnapshotDto, SnapshotMetaDataDto, StartGuideDirective, SubscriptionTierEnum, TeamDashboardTeaserComponent, TeamDto, TeamEffectivenessComponent, TeamListFilter, TeamListResponseDto, TeamMetaDataDto, TeamNameAndKeyDto, TeamSortEnum, TeamStatusEnum, TermsService, TermsUpdatedComponent, TipBadgeComponent, TrendDataRequestDto, TrendDataSetDto, TrendService, TrendsComponent, UpdateInProgressComponent, UserGlobalSettingsDto, UserInfoDto, UserListFilter, UserListResponseDto, UserNameAndKeyDto, UserProfileComponent, UserProfileDto, UserProfileService, UserSettingService, UserSettingsDto, UserSpecificSettingsDto, VIEWSTATE_LOAD_STRATEGY, VIEWSTATE_PROVIDER, VIEWSTATE_RELOAD_STRATEGY, VIEWSTATE_USERSETTINGS_STRATEGY, ValidChangeTokenGuard, ValidKeyGuard, ValidKeySnapshotKeyGuard, ValidKeyTeamKeyGuard, VariableDto, VideoComponent, ViewModelStateBase, ViewModelStateConfig, ViewModelStateConfigDto, ViewModelStateConfigToken, ViewModelStateModule, WidgetFactorScoreComponent, WidgetParticipationRateComponent, compareInputValidator, domainValidator };
7516
7566
  //# sourceMappingURL=the-liberators-ngx-scrumteamsurvey-tools.mjs.map