ng-configcat-publicapi-ui 2.4.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/esm2020/lib/_services/public-api.service.mjs +11 -5
  2. package/esm2020/lib/_services/setting-list-form-helper.mjs +30 -13
  3. package/esm2020/lib/authorization/authorization.component.mjs +3 -3
  4. package/esm2020/lib/base/base.component.mjs +7 -4
  5. package/esm2020/lib/configuration.mjs +3 -3
  6. package/esm2020/lib/dialogs/concurrent-dialog/concurrent-dialog.component.mjs +3 -3
  7. package/esm2020/lib/dialogs/expand-dialog/expand-dialog.component.mjs +3 -3
  8. package/esm2020/lib/dialogs/reason-dialog/reason-dialog.component.mjs +3 -3
  9. package/esm2020/lib/dialogs/save-snackbar/save-snackbar.component.mjs +4 -4
  10. package/esm2020/lib/ng-configcat-publicapi-ui.module.mjs +4 -4
  11. package/esm2020/lib/selects/config-select/config-select.component.mjs +3 -3
  12. package/esm2020/lib/selects/environment-select/environment-select.component.mjs +3 -3
  13. package/esm2020/lib/selects/product-select/product-select.component.mjs +3 -3
  14. package/esm2020/lib/selects/setting-select/setting-select.component.mjs +3 -3
  15. package/esm2020/lib/setting-item/setting-item.component.mjs +17 -5
  16. package/esm2020/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.mjs +4 -4
  17. package/esm2020/lib/setting-list/setting/rollout-rules/rollout-rules.component.mjs +21 -6
  18. package/esm2020/lib/setting-list/setting/setting.component.mjs +18 -6
  19. package/esm2020/lib/setting-list/setting/value/value.component.mjs +4 -4
  20. package/esm2020/lib/setting-list/setting-list.component.mjs +18 -9
  21. package/fesm2015/ng-configcat-publicapi-ui.mjs +157 -83
  22. package/fesm2015/ng-configcat-publicapi-ui.mjs.map +1 -1
  23. package/fesm2020/ng-configcat-publicapi-ui.mjs +156 -83
  24. package/fesm2020/ng-configcat-publicapi-ui.mjs.map +1 -1
  25. package/lib/_services/public-api.service.d.ts +2 -1
  26. package/lib/base/base.component.d.ts +1 -0
  27. package/lib/setting-item/setting-item.component.d.ts +5 -2
  28. package/lib/setting-list/setting/rollout-rules/rollout-rules.component.d.ts +10 -2
  29. package/lib/setting-list/setting/setting.component.d.ts +5 -2
  30. package/lib/setting-list/setting-list.component.d.ts +5 -1
  31. package/package.json +4 -4
@@ -1,5 +1,5 @@
1
1
  import { Injectable, Optional } from '@angular/core';
2
- import { Configuration as PublicApiConfiguration, ProductsService, EnvironmentsService, ConfigsService, FeatureFlagsSettingsService, FeatureFlagSettingValuesService, MeService, IntegrationLinksService } from 'ng-configcat-publicapi';
2
+ import { Configuration as PublicApiConfiguration, ProductsService, EnvironmentsService, ConfigsService, FeatureFlagsSettingsService, FeatureFlagSettingValuesService, MeService, IntegrationLinksService, SegmentsService } from 'ng-configcat-publicapi';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common/http";
5
5
  import * as i2 from "../configuration";
@@ -50,13 +50,19 @@ export class PublicApiService {
50
50
  password: basicAuthPassword ?? this.configuration?.basicAuthPassword
51
51
  }));
52
52
  }
53
+ createSegmentsService(basicAuthUsername = null, basicAuthPassword = null, basePath = null) {
54
+ return new SegmentsService(this.httpClient, basePath ?? this.configuration?.basePath, new PublicApiConfiguration({
55
+ username: basicAuthUsername ?? this.configuration?.basicAuthUsername,
56
+ password: basicAuthPassword ?? this.configuration?.basicAuthPassword
57
+ }));
58
+ }
53
59
  }
54
- PublicApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: PublicApiService, deps: [{ token: i1.HttpClient }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
55
- PublicApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: PublicApiService, providedIn: 'root' });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: PublicApiService, decorators: [{
60
+ PublicApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: PublicApiService, deps: [{ token: i1.HttpClient }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
61
+ PublicApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: PublicApiService, providedIn: 'root' });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: PublicApiService, decorators: [{
57
63
  type: Injectable,
58
64
  args: [{ providedIn: 'root' }]
59
65
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Configuration, decorators: [{
60
66
  type: Optional
61
67
  }] }]; } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS9zcmMvbGliL19zZXJ2aWNlcy9wdWJsaWMtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUNILGFBQWEsSUFBSSxzQkFBc0IsRUFDdkMsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFDcEQsMkJBQTJCLEVBQUUsK0JBQStCLEVBQUUsU0FBUyxFQUN2RSx1QkFBdUIsRUFDMUIsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUloQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLFlBQ1ksVUFBc0IsRUFDVixhQUE0QjtRQUR4QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ1Ysa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDcEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxvQkFBbUMsSUFBSSxFQUFFLG9CQUFtQyxJQUFJLEVBQUUsV0FBMEIsSUFBSTtRQUM1SCxPQUFPLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUMxRSxJQUFJLHNCQUFzQixDQUFDO1lBQ3ZCLFFBQVEsRUFBRSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLGlCQUFpQjtZQUNwRSxRQUFRLEVBQUUsaUJBQWlCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxpQkFBaUI7U0FDdkUsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQscUJBQXFCLENBQUMsb0JBQW1DLElBQUksRUFBRSxvQkFBbUMsSUFBSSxFQUFFLFdBQTBCLElBQUk7UUFDbEksT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxF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LFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFLekIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgICBDb25maWd1cmF0aW9uIGFzIFB1YmxpY0FwaUNvbmZpZ3VyYXRpb24sXG4gICAgUHJvZHVjdHNTZXJ2aWNlLCBFbnZpcm9ubWVudHNTZXJ2aWNlLCBDb25maWdzU2VydmljZSxcbiAgICBGZWF0dXJlRmxhZ3NTZXR0aW5nc1NlcnZpY2UsIEZlYXR1cmVGbGFnU2V0dGluZ1ZhbHVlc1NlcnZpY2UsIE1lU2VydmljZSxcbiAgICBJbnRlZ3JhdGlvbkxpbmtzU2VydmljZVxufSBmcm9tICduZy1jb25maWdjYXQtcHVibGljYXBpJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9jb25maWd1cmF0aW9uJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQdWJsaWNBcGlTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbikge1xuICAgIH1cblxuICAgIGNyZWF0ZU1lU2VydmljZShiYXNpY0F1dGhVc2VybmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGJhc2ljQXV0aFBhc3N3b3JkOiBzdHJpbmcgfCBudWxsID0gbnVsbCwgYmFzZVBhdGg6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBuZXcgTWVTZXJ2aWNlKHRoaXMuaHR0cENsaWVudCwgYmFzZVBhdGggPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNlUGF0aCxcbiAgICAgICAgICAgIG5ldyBQdWJsaWNBcGlDb25maWd1cmF0aW9uKHtcbiAgICAgICAgICAgICAgICB1c2VybmFtZTogYmFzaWNBdXRoVXNlcm5hbWUgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhVc2VybmFtZSxcbiAgICAgICAgICAgICAgICBwYXNzd29yZDogYmFzaWNBdXRoUGFzc3dvcmQgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhQYXNzd29yZFxuICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIGNyZWF0ZVByb2R1Y3RzU2VydmljZShiYXNpY0F1dGhVc2VybmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGJhc2ljQXV0aFBhc3N3b3JkOiBzdHJpbmcgfCBudWxsID0gbnVsbCwgYmFzZVBhdGg6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdHNTZXJ2aWNlKHRoaXMuaHR0cENsaWVudCwgYmFzZVBhdGggPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNlUGF0aCxcbiAgICAgICAgICAgIG5ldyBQdWJsaWNBcGlDb25maWd1cmF0aW9uKHtcbiAgICAgICAgICAgICAgICB1c2VybmFtZTogYmFzaWNBdXRoVXNlcm5hbWUgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhVc2VybmFtZSxcbiAgICAgICAgICAgICAgICBwYXNzd29yZDogYmFzaWNBdXRoUGFzc3dvcmQgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhQYXNzd29yZFxuICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIGNyZWF0ZUNvbmZpZ3NTZXJ2aWNlKGJhc2ljQXV0aFVzZXJuYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbCwgYmFzaWNBdXRoUGFzc3dvcmQ6IHN0cmluZyB8IG51bGwgPSBudWxsLCBiYXNlUGF0aDogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb25maWdzU2VydmljZSh0aGlzLmh0dHBDbGllbnQsIGJhc2VQYXRoID8/IHRoaXMuY29uZmlndXJhdGlvbj8uYmFzZVBhdGgsIG5ldyBQdWJsaWNBcGlDb25maWd1cmF0aW9uKHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiBiYXNpY0F1dGhVc2VybmFtZSA/PyB0aGlzLmNvbmZpZ3VyYXRpb24/LmJhc2ljQXV0aFVzZXJuYW1lLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IGJhc2ljQXV0aFBhc3N3b3JkID8/IHRoaXMuY29uZmlndXJhdGlvbj8uYmFzaWNBdXRoUGFzc3dvcmRcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIGNyZWF0ZUVudmlyb25tZW50c1NlcnZpY2UoYmFzaWNBdXRoVXNlcm5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsLCBiYXNpY0F1dGhQYXNzd29yZDogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGJhc2VQYXRoOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEVudmlyb25tZW50c1NlcnZpY2UodGhpcy5odHRwQ2xpZW50LCBiYXNlUGF0aCA/PyB0aGlzLmNvbmZpZ3VyYXRpb24/LmJhc2VQYXRoLCBuZXcgUHVibGljQXBpQ29uZmlndXJhdGlvbih7XG4gICAgICAgICAgICB1c2VybmFtZTogYmFzaWNBdXRoVXNlcm5hbWUgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhVc2VybmFtZSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiBiYXNpY0F1dGhQYXNzd29yZCA/PyB0aGlzLmNvbmZpZ3VyYXRpb24/LmJhc2ljQXV0aFBhc3N3b3JkXG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBjcmVhdGVTZXR0aW5nc1NlcnZpY2UoYmFzaWNBdXRoVXNlcm5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsLCBiYXNpY0F1dGhQYXNzd29yZDogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGJhc2VQYXRoOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEZlYXR1cmVGbGFnc1NldHRpbmdzU2VydmljZSh0aGlzLmh0dHBDbGllbnQsIGJhc2VQYXRoID8/IHRoaXMuY29uZmlndXJhdGlvbj8uYmFzZVBhdGgsIG5ldyBQdWJsaWNBcGlDb25maWd1cmF0aW9uKHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiBiYXNpY0F1dGhVc2VybmFtZSA/PyB0aGlzLmNvbmZpZ3VyYXRpb24/LmJhc2ljQXV0aFVzZXJuYW1lLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IGJhc2ljQXV0aFBhc3N3b3JkID8/IHRoaXMuY29uZmlndXJhdGlvbj8uYmFzaWNBdXRoUGFzc3dvcmRcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIGNyZWF0ZVNldHRpbmdWYWx1ZXNTZXJ2aWNlKGJhc2ljQXV0aFVzZXJuYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbCwgYmFzaWNBdXRoUGFzc3dvcmQ6IHN0cmluZyB8IG51bGwgPSBudWxsLCBiYXNlUGF0aDogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGZWF0dXJlRmxhZ1NldHRpbmdWYWx1ZXNTZXJ2aWNlKHRoaXMuaHR0cENsaWVudCwgYmFzZVBhdGggPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNlUGF0aCwgbmV3IFB1YmxpY0FwaUNvbmZpZ3VyYXRpb24oe1xuICAgICAgICAgICAgdXNlcm5hbWU6IGJhc2ljQXV0aFVzZXJuYW1lID8/IHRoaXMuY29uZmlndXJhdGlvbj8uYmFzaWNBdXRoVXNlcm5hbWUsXG4gICAgICAgICAgICBwYXNzd29yZDogYmFzaWNBdXRoUGFzc3dvcmQgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhQYXNzd29yZFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgY3JlYXRlSW50ZWdyYXRpb25MaW5rc1NlcnZpY2UoYmFzaWNBdXRoVXNlcm5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsLCBiYXNpY0F1dGhQYXNzd29yZDogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGJhc2VQYXRoOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEludGVncmF0aW9uTGlua3NTZXJ2aWNlKHRoaXMuaHR0cENsaWVudCwgYmFzZVBhdGggPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNlUGF0aCwgbmV3IFB1YmxpY0FwaUNvbmZpZ3VyYXRpb24oe1xuICAgICAgICAgICAgdXNlcm5hbWU6IGJhc2ljQXV0aFVzZXJuYW1lID8/IHRoaXMuY29uZmlndXJhdGlvbj8uYmFzaWNBdXRoVXNlcm5hbWUsXG4gICAgICAgICAgICBwYXNzd29yZDogYmFzaWNBdXRoUGFzc3dvcmQgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhQYXNzd29yZFxuICAgICAgICB9KSk7XG4gICAgfVxufVxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS9zcmMvbGliL19zZXJ2aWNlcy9wdWJsaWMtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUNILGFBQWEsSUFBSSxzQkFBc0IsRUFDdkMsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFDcEQsMkJBQTJCLEVBQUUsK0JBQStCLEVBQUUsU0FBUyxFQUN2RSx1QkFBdUIsRUFDdkIsZUFBZSxFQUNsQixNQUFNLHdCQUF3QixDQUFDOzs7O0FBSWhDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFekIsWUFDWSxVQUFzQixFQUNWLGFBQTRCO1FBRHhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDVixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUNwRCxDQUFDO0lBRUQsZUFBZSxDQUFDLG9CQUFtQyxJQUFJLEVBQUUsb0JBQW1DLElBQUksRUFBRSxXQUEwQixJQUFJO1FBQzVILE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQzFFLElBQUksc0JBQXNCLENBQUM7WUFDdkIsUUFBUSxFQUFFLGlCQUFpQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsaUJBQWlCO1lBQ3BFLFFBQVEsRUFBRSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLGlCQUFpQjtTQUN2RSxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxvQkFBbUMsSUFBSSxFQUFFLG9CQUFtQyxJQUFJLEVBQUUsV0FBMEIsSUFBSTtRQUNsSSxPQUFPLElBQUksZUFBZSxDQUFDLElBQUks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QUUsV0FBMEIsSUFBSTtRQUNsSSxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksc0JBQXNCLENBQUM7WUFDN0csUUFBUSxFQUFFLGlCQUFpQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsaUJBQWlCO1lBQ3BFLFFBQVEsRUFBRSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLGlCQUFpQjtTQUN2RSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7OzZHQS9EUSxnQkFBZ0I7aUhBQWhCLGdCQUFnQixjQURILE1BQU07MkZBQ25CLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUt6QixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1xuICAgIENvbmZpZ3VyYXRpb24gYXMgUHVibGljQXBpQ29uZmlndXJhdGlvbixcbiAgICBQcm9kdWN0c1NlcnZpY2UsIEVudmlyb25tZW50c1NlcnZpY2UsIENvbmZpZ3NTZXJ2aWNlLFxuICAgIEZlYXR1cmVGbGFnc1NldHRpbmdzU2VydmljZSwgRmVhdHVyZUZsYWdTZXR0aW5nVmFsdWVzU2VydmljZSwgTWVTZXJ2aWNlLFxuICAgIEludGVncmF0aW9uTGlua3NTZXJ2aWNlLFxuICAgIFNlZ21lbnRzU2VydmljZVxufSBmcm9tICduZy1jb25maWdjYXQtcHVibGljYXBpJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9jb25maWd1cmF0aW9uJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQdWJsaWNBcGlTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbikge1xuICAgIH1cblxuICAgIGNyZWF0ZU1lU2VydmljZShiYXNpY0F1dGhVc2VybmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGJhc2ljQXV0aFBhc3N3b3JkOiBzdHJpbmcgfCBudWxsID0gbnVsbCwgYmFzZVBhdGg6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBuZXcgTWVTZXJ2aWNlKHRoaXMuaHR0cENsaWVudCwgYmFzZVBhdGggPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNlUGF0aCxcbiAgICAgICAgICAgIG5ldyBQdWJsaWNBcGlDb25maWd1cmF0aW9uKHtcbiAgICAgICAgICAgICAgICB1c2VybmFtZTogYmFzaWNBdXRoVXNlcm5hbWUgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhVc2VybmFtZSxcbiAgICAgICAgICAgICAgICBwYXNzd29yZDogYmFzaWNBdXRoUGFzc3dvcmQgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhQYXNzd29yZFxuICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIGNyZWF0ZVByb2R1Y3RzU2VydmljZShiYXNpY0F1dGhVc2VybmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGJhc2ljQXV0aFBhc3N3b3JkOiBzdHJpbmcgfCBudWxsID0gbnVsbCwgYmFzZVBhdGg6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdHNTZXJ2aWNlKHRoaXMuaHR0cENsaWVudCwgYmFzZVBhdGggPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNlUGF0aCxcbiAgICAgICAgICAgIG5ldyBQdWJsaWNBcGlDb25maWd1cmF0aW9uKHtcbiAgICAgICAgICAgICAgICB1c2VybmFtZTogYmFzaWNBdXRoVXNlcm5hbWUgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhVc2VybmFtZSxcbiAgICAgICAgICAgICAgICBwYXNzd29yZDogYmFzaWNBdXRoUGFzc3dvcmQgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhQYXNzd29yZFxuICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIGNyZWF0ZUNvbmZpZ3NTZXJ2aWNlKGJhc2ljQXV0aFVzZXJuYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbCwgYmFzaWNBdXRoUGFzc3dvcmQ6IHN0cmluZyB8IG51bGwgPSBudWxsLCBiYXNlUGF0aDogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb25maWdzU2VydmljZSh0aGlzLmh0dHBDbGllbnQsIGJhc2VQYXRoID8/IHRoaXMuY29uZmlndXJhdGlvbj8uYmFzZVBhdGgsIG5ldyBQdWJsaWNBcGlDb25maWd1cmF0aW9uKHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiBiYXNpY0F1dGhVc2VybmFtZSA/PyB0aGlzLmNvbmZpZ3VyYXRpb24/LmJhc2ljQXV0aFVzZXJuYW1lLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IGJhc2ljQXV0aFBhc3N3b3JkID8/IHRoaXMuY29uZmlndXJhdGlvbj8uYmFzaWNBdXRoUGFzc3dvcmRcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIGNyZWF0ZUVudmlyb25tZW50c1NlcnZpY2UoYmFzaWNBdXRoVXNlcm5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsLCBiYXNpY0F1dGhQYXNzd29yZDogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGJhc2VQYXRoOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEVudmlyb25tZW50c1NlcnZpY2UodGhpcy5odHRwQ2xpZW50LCBiYXNlUGF0aCA/PyB0aGlzLmNvbmZpZ3VyYXRpb24/LmJhc2VQYXRoLCBuZXcgUHVibGljQXBpQ29uZmlndXJhdGlvbih7XG4gICAgICAgICAgICB1c2VybmFtZTogYmFzaWNBdXRoVXNlcm5hbWUgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhVc2VybmFtZSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiBiYXNpY0F1dGhQYXNzd29yZCA/PyB0aGlzLmNvbmZpZ3VyYXRpb24/LmJhc2ljQXV0aFBhc3N3b3JkXG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBjcmVhdGVTZXR0aW5nc1NlcnZpY2UoYmFzaWNBdXRoVXNlcm5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsLCBiYXNpY0F1dGhQYXNzd29yZDogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGJhc2VQYXRoOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEZlYXR1cmVGbGFnc1NldHRpbmdzU2VydmljZSh0aGlzLmh0dHBDbGllbnQsIGJhc2VQYXRoID8/IHRoaXMuY29uZmlndXJhdGlvbj8uYmFzZVBhdGgsIG5ldyBQdWJsaWNBcGlDb25maWd1cmF0aW9uKHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiBiYXNpY0F1dGhVc2VybmFtZSA/PyB0aGlzLmNvbmZpZ3VyYXRpb24/LmJhc2ljQXV0aFVzZXJuYW1lLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IGJhc2ljQXV0aFBhc3N3b3JkID8/IHRoaXMuY29uZmlndXJhdGlvbj8uYmFzaWNBdXRoUGFzc3dvcmRcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIGNyZWF0ZVNldHRpbmdWYWx1ZXNTZXJ2aWNlKGJhc2ljQXV0aFVzZXJuYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbCwgYmFzaWNBdXRoUGFzc3dvcmQ6IHN0cmluZyB8IG51bGwgPSBudWxsLCBiYXNlUGF0aDogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGZWF0dXJlRmxhZ1NldHRpbmdWYWx1ZXNTZXJ2aWNlKHRoaXMuaHR0cENsaWVudCwgYmFzZVBhdGggPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNlUGF0aCwgbmV3IFB1YmxpY0FwaUNvbmZpZ3VyYXRpb24oe1xuICAgICAgICAgICAgdXNlcm5hbWU6IGJhc2ljQXV0aFVzZXJuYW1lID8/IHRoaXMuY29uZmlndXJhdGlvbj8uYmFzaWNBdXRoVXNlcm5hbWUsXG4gICAgICAgICAgICBwYXNzd29yZDogYmFzaWNBdXRoUGFzc3dvcmQgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhQYXNzd29yZFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgY3JlYXRlSW50ZWdyYXRpb25MaW5rc1NlcnZpY2UoYmFzaWNBdXRoVXNlcm5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsLCBiYXNpY0F1dGhQYXNzd29yZDogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGJhc2VQYXRoOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEludGVncmF0aW9uTGlua3NTZXJ2aWNlKHRoaXMuaHR0cENsaWVudCwgYmFzZVBhdGggPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNlUGF0aCwgbmV3IFB1YmxpY0FwaUNvbmZpZ3VyYXRpb24oe1xuICAgICAgICAgICAgdXNlcm5hbWU6IGJhc2ljQXV0aFVzZXJuYW1lID8/IHRoaXMuY29uZmlndXJhdGlvbj8uYmFzaWNBdXRoVXNlcm5hbWUsXG4gICAgICAgICAgICBwYXNzd29yZDogYmFzaWNBdXRoUGFzc3dvcmQgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhQYXNzd29yZFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgY3JlYXRlU2VnbWVudHNTZXJ2aWNlKGJhc2ljQXV0aFVzZXJuYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbCwgYmFzaWNBdXRoUGFzc3dvcmQ6IHN0cmluZyB8IG51bGwgPSBudWxsLCBiYXNlUGF0aDogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBTZWdtZW50c1NlcnZpY2UodGhpcy5odHRwQ2xpZW50LCBiYXNlUGF0aCA/PyB0aGlzLmNvbmZpZ3VyYXRpb24/LmJhc2VQYXRoLCBuZXcgUHVibGljQXBpQ29uZmlndXJhdGlvbih7XG4gICAgICAgICAgICB1c2VybmFtZTogYmFzaWNBdXRoVXNlcm5hbWUgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5iYXNpY0F1dGhVc2VybmFtZSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiBiYXNpY0F1dGhQYXNzd29yZCA/PyB0aGlzLmNvbmZpZ3VyYXRpb24/LmJhc2ljQXV0aFBhc3N3b3JkXG4gICAgICAgIH0pKTtcbiAgICB9XG59XG4iXX0=
@@ -85,15 +85,32 @@ export class SettingListFormHelper {
85
85
  });
86
86
  }
87
87
  createRolloutRuleFormGroup(r, readOnly, settingType) {
88
- return this.formBuilder.group({
89
- comparisonAttribute: [{ value: r.comparisonAttribute, disabled: readOnly }, [Validators.required]],
90
- comparator: [{ value: r.comparator, disabled: readOnly }, [Validators.required]],
91
- comparisonValue: [{ value: r.comparisonValue, disabled: readOnly }, [Validators.required]],
92
- value: [
93
- { value: r.value, disabled: readOnly },
94
- this.getValidatorsForSettingType(settingType)
95
- ],
96
- });
88
+ if (r.comparator) {
89
+ return this.formBuilder.group({
90
+ type: [{ value: 0, disabled: true }],
91
+ comparisonAttribute: [{ value: r.comparisonAttribute, disabled: readOnly }, [Validators.required]],
92
+ comparator: [{ value: r.comparator, disabled: readOnly }, [Validators.required]],
93
+ comparisonValue: [{ value: r.comparisonValue, disabled: readOnly }, [Validators.required]],
94
+ value: [
95
+ { value: r.value, disabled: readOnly },
96
+ this.getValidatorsForSettingType(settingType)
97
+ ],
98
+ });
99
+ }
100
+ else if (r.segmentComparator) {
101
+ return this.formBuilder.group({
102
+ type: [{ value: 1, disabled: true }],
103
+ segmentComparator: [{ value: r.segmentComparator, disabled: readOnly }, [Validators.required]],
104
+ segmentId: [{ value: r.segmentId, disabled: readOnly }, [Validators.required]],
105
+ value: [
106
+ { value: r.value, disabled: readOnly },
107
+ this.getValidatorsForSettingType(settingType)
108
+ ],
109
+ });
110
+ }
111
+ else {
112
+ throw new Error('Invalid rollout rule');
113
+ }
97
114
  }
98
115
  getValidatorsForSettingType(settingType) {
99
116
  switch (settingType) {
@@ -126,10 +143,10 @@ export class SettingListFormHelper {
126
143
  }
127
144
  }
128
145
  }
129
- SettingListFormHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SettingListFormHelper, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Injectable });
130
- SettingListFormHelper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SettingListFormHelper, providedIn: 'root' });
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SettingListFormHelper, decorators: [{
146
+ SettingListFormHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SettingListFormHelper, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Injectable });
147
+ SettingListFormHelper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SettingListFormHelper, providedIn: 'root' });
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SettingListFormHelper, decorators: [{
132
149
  type: Injectable,
133
150
  args: [{ providedIn: 'root' }]
134
151
  }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1saXN0LWZvcm0taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS9zcmMvbGliL19zZXJ2aWNlcy9zZXR0aW5nLWxpc3QtZm9ybS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWUsVUFBVSxFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBZ0QsV0FBVyxFQUFxQixNQUFNLHdCQUF3QixDQUFDOzs7QUFHdEgsTUFBTSxPQUFPLHFCQUFxQjtJQUU5QixZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFJLENBQUM7SUFFakQsNEJBQTRCLENBQUMsa0JBQXNDO1FBQy9ELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3JDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FDakMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDdEMsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsRUFBRSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdFLENBQUMsQ0FBQyxDQUFDO1lBRVAsWUFBWTtZQUNaLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztnQkFDaEMsYUFBYSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQ3hGLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElB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TyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZFLE1BQU0sb0JBQW9CLEdBQUcsMkJBQTJCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEgsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztTQUNwRDthQUFNO1lBQ0gsT0FBTyxFQUFFLENBQUM7U0FDYjtJQUNMLENBQUM7O2tIQXZJUSxxQkFBcUI7c0hBQXJCLHFCQUFxQixjQURSLE1BQU07MkZBQ25CLHFCQUFxQjtrQkFEakMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXR0aW5nVmFsdWVzTW9kZWwgfSBmcm9tICcuLi9fbW9kZWxzL3NldHRpbmdWYWx1ZXNNb2RlbCc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycywgRm9ybUdyb3VwLCBGb3JtQXJyYXkgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb2xsb3V0UGVyY2VudGFnZUl0ZW1Nb2RlbCwgUm9sbG91dFJ1bGVNb2RlbCwgU2V0dGluZ1R5cGUsIFNldHRpbmdWYWx1ZU1vZGVsIH0gZnJvbSAnbmctY29uZmlnY2F0LXB1YmxpY2FwaSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2V0dGluZ0xpc3RGb3JtSGVscGVyIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7IH1cblxuICAgIGNyZWF0ZVNldHRpbmdWYWx1ZXNGb3JtR3JvdXAoc2V0dGluZ1ZhbHVlc01vZGVsOiBTZXR0aW5nVmFsdWVzTW9kZWwpIHtcbiAgICAgICAgY29uc3QgZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICBzZXR0aW5nVmFsdWVzOiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFxuICAgICAgICAgICAgICAgIHNldHRpbmdWYWx1ZXNNb2RlbC5zZXR0aW5nVmFsdWVzLm1hcChzdiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVNldHRpbmdWYWx1ZUZvcm1Hcm91cChzdiwgc2V0dGluZ1ZhbHVlc01vZGVsLnJlYWRPbmx5KTtcbiAgICAgICAgICAgICAgICB9KSksXG5cbiAgICAgICAgICAgIC8vIERlY29yYXRvclxuICAgICAgICAgICAgZW52aXJvbm1lbnQ6IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIGVudmlyb25tZW50SWQ6IFt7IHZhbHVlOiBzZXR0aW5nVmFsdWVzTW9kZWwuZW52aXJvbm1lbnQuZW52aXJvbm1lbnRJZCwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgbmFtZTogW3sgdmFsdWU6IHNldHRpbmdWYWx1ZXNNb2RlbC5lbnZpcm9ubWVudC5uYW1lLCBkaXNhYmxlZDogdHJ1ZSB9XSxcbiAgICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgICBjb21wYXJpc29uQXR0cmlidXRlczogW1tdXSxcbiAgICAgICAgICAgIGFsbFJvbGxvdXRSdWxlc0NvdW50OiBbMF1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgcm9sbG91dFJ1bGVzID0gdGhpcy5nZXRBbGxSb2xsb3V0UnVsZXMoZm9ybUdyb3VwKTtcbiAgICAgICAgY29uc3QgY29tcGFyaXNvbkF0dHJpYnV0ZXMgPSB0aGlzLmdldENvbXBhcmlzb25BdHRyaWJ1dGVzKHJvbGxvdXRSdWxlcyk7XG4gICAgICAgIGZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgYWxsUm9sbG91dFJ1bGVzQ291bnQ6IHJvbGxvdXRSdWxlcy5sZW5ndGggfSk7XG4gICAgICAgIGZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgY29tcGFyaXNvbkF0dHJpYnV0ZXM6IGNvbXBhcmlzb25BdHRyaWJ1dGVzIH0pO1xuICAgICAgICByZXR1cm4gZm9ybUdyb3VwO1xuICAgIH1cblxuICAgIFxuICAgIGNyZWF0ZVNldHRpbmdWYWx1ZUZvcm1Hcm91cChzZXR0aW5nVmFsdWVNb2RlbDogU2V0dGluZ1ZhbHVlTW9kZWwsIHJlYWRPbmx5OiBib29sZWFuKSB7XG4gICAgICAgIGlmICghc2V0dGluZ1ZhbHVlTW9kZWwuc2V0dGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe30pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIHNldHRpbmdJZDogW3NldHRpbmdWYWx1ZU1vZGVsLnNldHRpbmcuc2V0dGluZ0lkXSxcbiAgICAgICAgICAgIHZhbHVlOiBbXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogc2V0dGluZ1ZhbHVlTW9kZWwudmFsdWUsIGRpc2FibGVkOiByZWFkT25seSB9LFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0VmFsaWRhdG9yc0ZvclNldHRpbmdUeXBlKHNldHRpbmdWYWx1ZU1vZGVsLnNldHRpbmcuc2V0dGluZ1R5cGUpXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcm9sbG91dFBlcmNlbnRhZ2VJdGVtczogc2V0dGluZ1ZhbHVlTW9kZWwucm9sbG91dFBlcmNlbnRhZ2VJdGVtc1xuICAgICAgICAgICAgICAgID8gdGhpcy5mb3JtQnVpbGRlci5hcnJheShzZXR0aW5nVmFsdWVNb2RlbC5yb2xsb3V0UGVyY2VudGFnZUl0ZW1zLm1hcChwID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSgpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJvbGxvdXRQZXJjZW50YWdlSXRlbUZvcm1Hcm91cChwLCByZWFkT25seSwgc2V0dGluZ1ZhbHVlTW9kZWwuc2V0dGluZy5zZXR0aW5nVHlwZSk7XG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFtdKSwgcm9sbG91dFJ1bGVzOiBzZXR0aW5nVmFsdWVNb2RlbC5yb2xsb3V0UnVsZXNcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KHNldHRpbmdWYWx1ZU1vZGVsLnJvbGxvdXRSdWxlcy5tYXAociA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlKClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJvbGxvdXRSdWxlRm9ybUdyb3VwKHIsIHJlYWRPbmx5LCBzZXR0aW5nVmFsdWVNb2RlbC5zZXR0aW5nLnNldHRpbmdUeXBlKTtcbiAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5mb3JtQnVpbGRlci5hcnJheShbXSksXG5cbiAgICAgICAgICAgIHVwZGF0ZWRBdDogW3sgdmFsdWU6IHNldHRpbmdWYWx1ZU1vZGVsLnVwZGF0ZWRBdCwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICBsYXN0VXBkYXRlclVzZXJFbWFpbDogW3sgdmFsdWU6IHNldHRpbmdWYWx1ZU1vZGVsLmxhc3RVcGRhdGVyVXNlckVtYWlsLCBkaXNhYmxlZDogdHJ1ZSB9XSxcbiAgICAgICAgICAgIGxhc3RVcGRhdGVyVXNlckZ1bGxOYW1lOiBbeyB2YWx1ZTogc2V0dGluZ1ZhbHVlTW9kZWwubGFzdFVwZGF0ZXJVc2VyRnVsbE5hbWUsIGRpc2FibGVkOiB0cnVlIH1dLFxuXG4gICAgICAgICAgICByb2xsb3V0UGVyY2VudGFnZUl0ZW1zU3VtOiBbeyB2YWx1ZTogMTAwLCBkaXNhYmxlZDogZmFsc2UgfSwgW1ZhbGlkYXRvcnMubWluKDEwMCksIFZhbGlkYXRvcnMubWF4KDEwMCldXSxcbiAgICAgICAgICAgIC8vIERlY29yYXRpb25cbiAgICAgICAgICAgIHNldHRpbmc6IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIHNldHRpbmdJZDogW3sgdmFsdWU6IHNldHRpbmdWYWx1ZU1vZGVsLnNldHRpbmcuc2V0dGluZ0lkLCBkaXNhYmxlZDogdHJ1ZSB9XSxcbiAgICAgICAgICAgICAgICBrZXk6IFt7IHZhbHVlOiBzZXR0aW5nVmFsdWVNb2RlbC5zZXR0aW5nLmtleSwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgbmFtZTogW3sgdmFsdWU6IHNldHRpbmdWYWx1ZU1vZGVsLnNldHRpbmcubmFtZSwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgaGludDogW3sgdmFsdWU6IHNldHRpbmdWYWx1ZU1vZGVsLnNldHRpbmcuaGludCwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgc2V0dGluZ1R5cGU6IFt7IHZhbHVlOiBzZXR0aW5nVmFsdWVNb2RlbC5zZXR0aW5nLnNldHRpbmdUeXBlLCBkaXNhYmxlZDogdHJ1ZSB9XSxcbiAgICAgICAgICAgICAgICBjcmVhdG9yRW1haWw6IFt7IHZhbHVlOiBzZXR0aW5nVmFsdWVNb2RlbC5zZXR0aW5nLmNyZWF0b3JFbWFpbCwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgY3JlYXRvckZ1bGxOYW1lOiBbeyB2YWx1ZTogc2V0dGluZ1ZhbHVlTW9kZWwuc2V0dGluZy5jcmVhdG9yRnVsbE5hbWUsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogW3sgdmFsdWU6IHNldHRpbmdWYWx1ZU1vZGVsLnNldHRpbmcuY3JlYXRlZEF0LCBkaXNhYmxlZDogdHJ1ZSB9XVxuICAgICAgICAgICAgfSksXG5cbiAgICAgICAgICAgIGludGVncmF0aW9uTGlua3M6IHNldHRpbmdWYWx1ZU1vZGVsLmludGVncmF0aW9uTGlua3MgPyB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KHNldHRpbmdWYWx1ZU1vZGVsLmludGVncmF0aW9uTGlua3MubWFwKGlsID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICAgICAgICAgIGtleTogW3sgdmFsdWU6IGlsLmtleSwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBbeyB2YWx1ZTogaWwuZGVzY3JpcHRpb24sIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgICAgICAgICAgICAgICBpbnRlZ3JhdGlvbkxpbmtUeXBlOiBbeyB2YWx1ZTogaWwuaW50ZWdyYXRpb25MaW5rVHlwZSwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgICAgIHVybDogW3sgdmFsdWU6IGlsLnVybCwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSkgOiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFtdKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjcmVhdGVSb2xsb3V0UGVyY2VudGFnZUl0ZW1Gb3JtR3JvdXAocDogUm9sbG91dFBlcmNlbnRhZ2VJdGVtTW9kZWwsIHJlYWRPbmx5OiBib29sZWFuLCBzZXR0aW5nVHlwZTogU2V0dGluZ1R5cGUgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgcGVyY2VudGFnZTogW3sgdmFsdWU6IHAucGVyY2VudGFnZSwgZGlzYWJsZWQ6IHJlYWRPbmx5IH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbigwKSwgVmFsaWRhdG9ycy5tYXgoMTAwKV1dLFxuICAgICAgICAgICAgdmFsdWU6IFtcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiBwLnZhbHVlLCBkaXNhYmxlZDogcmVhZE9ubHkgfSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFZhbGlkYXRvcnNGb3JTZXR0aW5nVHlwZShzZXR0aW5nVHlwZSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB2YWx1ZURpc2FibGVkOiBbXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogcC52YWx1ZSwgZGlzYWJsZWQ6IHRydWUgfSwgLy8gRm9yIHBlcmNlbnRhZ2UgaXRlbSB2YWx1ZVxuICAgICAgICAgICAgXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjcmVhdGVSb2xsb3V0UnVsZUZvcm1Hcm91cChyOiBSb2xsb3V0UnVsZU1vZGVsLCByZWFkT25seTogYm9vbGVhbiwgc2V0dGluZ1R5cGU6IFNldHRpbmdUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIGNvbXBhcmlzb25BdHRyaWJ1dGU6IFt7IHZhbHVlOiByLmNvbXBhcmlzb25BdHRyaWJ1dGUsIGRpc2FibGVkOiByZWFkT25seSB9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgICAgICAgY29tcGFyYXRvcjogW3sgdmFsdWU6IHIuY29tcGFyYXRvciwgZGlzYWJsZWQ6IHJlYWRPbmx5IH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICAgICAgICBjb21wYXJpc29uVmFsdWU6IFt7IHZhbHVlOiByLmNvbXBhcmlzb25WYWx1ZSwgZGlzYWJsZWQ6IHJlYWRPbmx5IH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICAgICAgICB2YWx1ZTogW1xuICAgICAgICAgICAgICAgIHsgdmFsdWU6IHIudmFsdWUsIGRpc2FibGVkOiByZWFkT25seSB9LFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0VmFsaWRhdG9yc0ZvclNldHRpbmdUeXBlKHNldHRpbmdUeXBlKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWYWxpZGF0b3JzRm9yU2V0dGluZ1R5cGUoc2V0dGluZ1R5cGU6IFNldHRpbmdUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHN3aXRjaCAoc2V0dGluZ1R5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgU2V0dGluZ1R5cGUuSW50OlxuICAgICAgICAgICAgICAgIHJldHVybiBbVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1pbigtMjE0NzQ4MzY0OCksIFZhbGlkYXRvcnMubWF4KDIxNDc0ODM2NDcpLCBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bLStdP1swLTldXFxcXGQqJCcpXTtcbiAgICAgICAgICAgIGNhc2UgU2V0dGluZ1R5cGUuRG91YmxlOlxuICAgICAgICAgICAgICAgIHJldHVybiBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oLTEuNzk3NjkzMTM0ODYyMzJFKzMwOCksIFZhbGlkYXRvcnMubWF4KDEuNzk3NjkzMTM0ODYyMzJFKzMwOCldO1xuICAgICAgICAgICAgY2FzZSBTZXR0aW5nVHlwZS5TdHJpbmc6XG4gICAgICAgICAgICBjYXNlIFNldHRpbmdUeXBlLkJvb2xlYW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtWYWxpZGF0b3JzLnJlcXVpcmVkXTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBbGxSb2xsb3V0UnVsZXMoZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcbiAgICAgICAgY29uc3Qgc2V0dGluZ1ZhbHVlcyA9IGZvcm1Hcm91cC5nZXQoJ3NldHRpbmdWYWx1ZXMnKSBhcyBGb3JtQXJyYXk7XG4gICAgICAgIGNvbnN0IHJvbGxvdXRSdWxlcyA9IHNldHRpbmdWYWx1ZXMuY29udHJvbHMubWFwKGN2ID0+IChjdi5nZXQoJ3JvbGxvdXRSdWxlcycpIGFzIEZvcm1BcnJheSkudmFsdWUpO1xuICAgICAgICByZXR1cm4gcm9sbG91dFJ1bGVzLmxlbmd0aCA9PT0gMCA/IHJvbGxvdXRSdWxlcyA6IHJvbGxvdXRSdWxlcy5yZWR1Y2UoKGEsIGIpID0+IGEuY29uY2F0KGIpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbXBhcmlzb25BdHRyaWJ1dGVzKHJvbGxvdXRSdWxlczogYW55W10pIHtcbiAgICAgICAgaWYgKHJvbGxvdXRSdWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50Q29tcGFyaXNvbkF0dHJpYnV0ZXMgPSByb2xsb3V0UnVsZXMubWFwKHIgPT4gci5jb21wYXJpc29uQXR0cmlidXRlKTtcblxuICAgICAgICAgICAgY29uc3QgZGVmYXVsdENvbXBhcmlzb25BdHRyaWJ1dGVzID0gWydJZGVudGlmaWVyJywgJ0VtYWlsJywgJ0NvdW50cnknXTtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBhcmlzb25BdHRyaWJ1dGVzID0gY3VycmVudENvbXBhcmlzb25BdHRyaWJ1dGVzLmZpbHRlcihjID0+IGRlZmF1bHRDb21wYXJpc29uQXR0cmlidXRlcy5pbmRleE9mKGMpID09PSAtMSk7XG4gICAgICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KGNvbXBhcmlzb25BdHRyaWJ1dGVzKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1saXN0LWZvcm0taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS9zcmMvbGliL19zZXJ2aWNlcy9zZXR0aW5nLWxpc3QtZm9ybS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWUsVUFBVSxFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBZ0QsV0FBVyxFQUFxQixNQUFNLHdCQUF3QixDQUFDOzs7QUFHdEgsTUFBTSxPQUFPLHFCQUFxQjtJQUU5QixZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFJLENBQUM7SUFFakQsNEJBQTRCLENBQUMsa0JBQXNDO1FBQy9ELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3JDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FDakMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDdEMsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsRUFBRSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdFLENBQUMsQ0FBQyxDQUFDO1lBRVAsWUFBWTtZQUNaLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztnQkFDaEMsYUFBYSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQ3hGLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElB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YUFBTTtZQUNILE9BQU8sRUFBRSxDQUFDO1NBQ2I7SUFDTCxDQUFDOztrSEF0SlEscUJBQXFCO3NIQUFyQixxQkFBcUIsY0FEUixNQUFNOzJGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2V0dGluZ1ZhbHVlc01vZGVsIH0gZnJvbSAnLi4vX21vZGVscy9zZXR0aW5nVmFsdWVzTW9kZWwnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMsIEZvcm1Hcm91cCwgRm9ybUFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm9sbG91dFBlcmNlbnRhZ2VJdGVtTW9kZWwsIFJvbGxvdXRSdWxlTW9kZWwsIFNldHRpbmdUeXBlLCBTZXR0aW5nVmFsdWVNb2RlbCB9IGZyb20gJ25nLWNvbmZpZ2NhdC1wdWJsaWNhcGknO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdMaXN0Rm9ybUhlbHBlciB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikgeyB9XG5cbiAgICBjcmVhdGVTZXR0aW5nVmFsdWVzRm9ybUdyb3VwKHNldHRpbmdWYWx1ZXNNb2RlbDogU2V0dGluZ1ZhbHVlc01vZGVsKSB7XG4gICAgICAgIGNvbnN0IGZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgc2V0dGluZ1ZhbHVlczogdGhpcy5mb3JtQnVpbGRlci5hcnJheShcbiAgICAgICAgICAgICAgICBzZXR0aW5nVmFsdWVzTW9kZWwuc2V0dGluZ1ZhbHVlcy5tYXAoc3YgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVTZXR0aW5nVmFsdWVGb3JtR3JvdXAoc3YsIHNldHRpbmdWYWx1ZXNNb2RlbC5yZWFkT25seSk7XG4gICAgICAgICAgICAgICAgfSkpLFxuXG4gICAgICAgICAgICAvLyBEZWNvcmF0b3JcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgICAgICBlbnZpcm9ubWVudElkOiBbeyB2YWx1ZTogc2V0dGluZ1ZhbHVlc01vZGVsLmVudmlyb25tZW50LmVudmlyb25tZW50SWQsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgICAgICAgICAgIG5hbWU6IFt7IHZhbHVlOiBzZXR0aW5nVmFsdWVzTW9kZWwuZW52aXJvbm1lbnQubmFtZSwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICB9KSxcblxuICAgICAgICAgICAgY29tcGFyaXNvbkF0dHJpYnV0ZXM6IFtbXV0sXG4gICAgICAgICAgICBhbGxSb2xsb3V0UnVsZXNDb3VudDogWzBdXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJvbGxvdXRSdWxlcyA9IHRoaXMuZ2V0QWxsUm9sbG91dFJ1bGVzKGZvcm1Hcm91cCk7XG4gICAgICAgIGNvbnN0IGNvbXBhcmlzb25BdHRyaWJ1dGVzID0gdGhpcy5nZXRDb21wYXJpc29uQXR0cmlidXRlcyhyb2xsb3V0UnVsZXMpO1xuICAgICAgICBmb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGFsbFJvbGxvdXRSdWxlc0NvdW50OiByb2xsb3V0UnVsZXMubGVuZ3RoIH0pO1xuICAgICAgICBmb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGNvbXBhcmlzb25BdHRyaWJ1dGVzOiBjb21wYXJpc29uQXR0cmlidXRlcyB9KTtcbiAgICAgICAgcmV0dXJuIGZvcm1Hcm91cDtcbiAgICB9XG5cblxuICAgIGNyZWF0ZVNldHRpbmdWYWx1ZUZvcm1Hcm91cChzZXR0aW5nVmFsdWVNb2RlbDogU2V0dGluZ1ZhbHVlTW9kZWwsIHJlYWRPbmx5OiBib29sZWFuKSB7XG4gICAgICAgIGlmICghc2V0dGluZ1ZhbHVlTW9kZWwuc2V0dGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe30pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIHNldHRpbmdJZDogW3NldHRpbmdWYWx1ZU1vZGVsLnNldHRpbmcuc2V0dGluZ0lkXSxcbiAgICAgICAgICAgIHZhbHVlOiBbXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogc2V0dGluZ1ZhbHVlTW9kZWwudmFsdWUsIGRpc2FibGVkOiByZWFkT25seSB9LFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0VmFsaWRhdG9yc0ZvclNldHRpbmdUeXBlKHNldHRpbmdWYWx1ZU1vZGVsLnNldHRpbmcuc2V0dGluZ1R5cGUpXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcm9sbG91dFBlcmNlbnRhZ2VJdGVtczogc2V0dGluZ1ZhbHVlTW9kZWwucm9sbG91dFBlcmNlbnRhZ2VJdGVtc1xuICAgICAgICAgICAgICAgID8gdGhpcy5mb3JtQnVpbGRlci5hcnJheShzZXR0aW5nVmFsdWVNb2RlbC5yb2xsb3V0UGVyY2VudGFnZUl0ZW1zLm1hcChwID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSgpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJvbGxvdXRQZXJjZW50YWdlSXRlbUZvcm1Hcm91cChwLCByZWFkT25seSwgc2V0dGluZ1ZhbHVlTW9kZWwuc2V0dGluZy5zZXR0aW5nVHlwZSk7XG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFtdKSwgcm9sbG91dFJ1bGVzOiBzZXR0aW5nVmFsdWVNb2RlbC5yb2xsb3V0UnVsZXNcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KHNldHRpbmdWYWx1ZU1vZGVsLnJvbGxvdXRSdWxlcy5tYXAociA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlKClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJvbGxvdXRSdWxlRm9ybUdyb3VwKHIsIHJlYWRPbmx5LCBzZXR0aW5nVmFsdWVNb2RlbC5zZXR0aW5nLnNldHRpbmdUeXBlKTtcbiAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5mb3JtQnVpbGRlci5hcnJheShbXSksXG5cbiAgICAgICAgICAgIHVwZGF0ZWRBdDogW3sgdmFsdWU6IHNldHRpbmdWYWx1ZU1vZGVsLnVwZGF0ZWRBdCwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICBsYXN0VXBkYXRlclVzZXJFbWFpbDogW3sgdmFsdWU6IHNldHRpbmdWYWx1ZU1vZGVsLmxhc3RVcGRhdGVyVXNlckVtYWlsLCBkaXNhYmxlZDogdHJ1ZSB9XSxcbiAgICAgICAgICAgIGxhc3RVcGRhdGVyVXNlckZ1bGxOYW1lOiBbeyB2YWx1ZTogc2V0dGluZ1ZhbHVlTW9kZWwubGFzdFVwZGF0ZXJVc2VyRnVsbE5hbWUsIGRpc2FibGVkOiB0cnVlIH1dLFxuXG4gICAgICAgICAgICByb2xsb3V0UGVyY2VudGFnZUl0ZW1zU3VtOiBbeyB2YWx1ZTogMTAwLCBkaXNhYmxlZDogZmFsc2UgfSwgW1ZhbGlkYXRvcnMubWluKDEwMCksIFZhbGlkYXRvcnMubWF4KDEwMCldXSxcbiAgICAgICAgICAgIC8vIERlY29yYXRpb25cbiAgICAgICAgICAgIHNldHRpbmc6IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIHNldHRpbmdJZDogW3sgdmFsdWU6IHNldHRpbmdWYWx1ZU1vZGVsLnNldHRpbmcuc2V0dGluZ0lkLCBkaXNhYmxlZDogdHJ1ZSB9XSxcbiAgICAgICAgICAgICAgICBrZXk6IFt7IHZhbHVlOiBzZXR0aW5nVmFsdWVNb2RlbC5zZXR0aW5nLmtleSwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgbmFtZTogW3sgdmFsdWU6IHNldHRpbmdWYWx1ZU1vZGVsLnNldHRpbmcubmFtZSwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgaGludDogW3sgdmFsdWU6IHNldHRpbmdWYWx1ZU1vZGVsLnNldHRpbmcuaGludCwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgc2V0dGluZ1R5cGU6IFt7IHZhbHVlOiBzZXR0aW5nVmFsdWVNb2RlbC5zZXR0aW5nLnNldHRpbmdUeXBlLCBkaXNhYmxlZDogdHJ1ZSB9XSxcbiAgICAgICAgICAgICAgICBjcmVhdG9yRW1haWw6IFt7IHZhbHVlOiBzZXR0aW5nVmFsdWVNb2RlbC5zZXR0aW5nLmNyZWF0b3JFbWFpbCwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgY3JlYXRvckZ1bGxOYW1lOiBbeyB2YWx1ZTogc2V0dGluZ1ZhbHVlTW9kZWwuc2V0dGluZy5jcmVhdG9yRnVsbE5hbWUsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogW3sgdmFsdWU6IHNldHRpbmdWYWx1ZU1vZGVsLnNldHRpbmcuY3JlYXRlZEF0LCBkaXNhYmxlZDogdHJ1ZSB9XVxuICAgICAgICAgICAgfSksXG5cbiAgICAgICAgICAgIGludGVncmF0aW9uTGlua3M6IHNldHRpbmdWYWx1ZU1vZGVsLmludGVncmF0aW9uTGlua3MgPyB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KHNldHRpbmdWYWx1ZU1vZGVsLmludGVncmF0aW9uTGlua3MubWFwKGlsID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICAgICAgICAgIGtleTogW3sgdmFsdWU6IGlsLmtleSwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBbeyB2YWx1ZTogaWwuZGVzY3JpcHRpb24sIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgICAgICAgICAgICAgICBpbnRlZ3JhdGlvbkxpbmtUeXBlOiBbeyB2YWx1ZTogaWwuaW50ZWdyYXRpb25MaW5rVHlwZSwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgICAgIHVybDogW3sgdmFsdWU6IGlsLnVybCwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSkgOiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFtdKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjcmVhdGVSb2xsb3V0UGVyY2VudGFnZUl0ZW1Gb3JtR3JvdXAocDogUm9sbG91dFBlcmNlbnRhZ2VJdGVtTW9kZWwsIHJlYWRPbmx5OiBib29sZWFuLCBzZXR0aW5nVHlwZTogU2V0dGluZ1R5cGUgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgcGVyY2VudGFnZTogW3sgdmFsdWU6IHAucGVyY2VudGFnZSwgZGlzYWJsZWQ6IHJlYWRPbmx5IH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbigwKSwgVmFsaWRhdG9ycy5tYXgoMTAwKV1dLFxuICAgICAgICAgICAgdmFsdWU6IFtcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiBwLnZhbHVlLCBkaXNhYmxlZDogcmVhZE9ubHkgfSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFZhbGlkYXRvcnNGb3JTZXR0aW5nVHlwZShzZXR0aW5nVHlwZSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB2YWx1ZURpc2FibGVkOiBbXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogcC52YWx1ZSwgZGlzYWJsZWQ6IHRydWUgfSwgLy8gRm9yIHBlcmNlbnRhZ2UgaXRlbSB2YWx1ZVxuICAgICAgICAgICAgXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjcmVhdGVSb2xsb3V0UnVsZUZvcm1Hcm91cChyOiBSb2xsb3V0UnVsZU1vZGVsLCByZWFkT25seTogYm9vbGVhbiwgc2V0dGluZ1R5cGU6IFNldHRpbmdUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChyLmNvbXBhcmF0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBbeyB2YWx1ZTogMCwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICAgICAgICAgICAgY29tcGFyaXNvbkF0dHJpYnV0ZTogW3sgdmFsdWU6IHIuY29tcGFyaXNvbkF0dHJpYnV0ZSwgZGlzYWJsZWQ6IHJlYWRPbmx5IH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICAgICAgICAgICAgY29tcGFyYXRvcjogW3sgdmFsdWU6IHIuY29tcGFyYXRvciwgZGlzYWJsZWQ6IHJlYWRPbmx5IH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICAgICAgICAgICAgY29tcGFyaXNvblZhbHVlOiBbeyB2YWx1ZTogci5jb21wYXJpc29uVmFsdWUsIGRpc2FibGVkOiByZWFkT25seSB9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBbXG4gICAgICAgICAgICAgICAgICAgIHsgdmFsdWU6IHIudmFsdWUsIGRpc2FibGVkOiByZWFkT25seSB9LFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFZhbGlkYXRvcnNGb3JTZXR0aW5nVHlwZShzZXR0aW5nVHlwZSlcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoci5zZWdtZW50Q29tcGFyYXRvcikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIHR5cGU6IFt7IHZhbHVlOiAxLCBkaXNhYmxlZDogdHJ1ZSB9XSxcbiAgICAgICAgICAgICAgICBzZWdtZW50Q29tcGFyYXRvcjogW3sgdmFsdWU6IHIuc2VnbWVudENvbXBhcmF0b3IsIGRpc2FibGVkOiByZWFkT25seSB9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgICAgICAgICAgIHNlZ21lbnRJZDogW3sgdmFsdWU6IHIuc2VnbWVudElkLCBkaXNhYmxlZDogcmVhZE9ubHkgfSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogW1xuICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiByLnZhbHVlLCBkaXNhYmxlZDogcmVhZE9ubHkgfSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRWYWxpZGF0b3JzRm9yU2V0dGluZ1R5cGUoc2V0dGluZ1R5cGUpXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJvbGxvdXQgcnVsZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWYWxpZGF0b3JzRm9yU2V0dGluZ1R5cGUoc2V0dGluZ1R5cGU6IFNldHRpbmdUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHN3aXRjaCAoc2V0dGluZ1R5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgU2V0dGluZ1R5cGUuSW50OlxuICAgICAgICAgICAgICAgIHJldHVybiBbVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1pbigtMjE0NzQ4MzY0OCksIFZhbGlkYXRvcnMubWF4KDIxNDc0ODM2NDcpLCBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bLStdP1swLTldXFxcXGQqJCcpXTtcbiAgICAgICAgICAgIGNhc2UgU2V0dGluZ1R5cGUuRG91YmxlOlxuICAgICAgICAgICAgICAgIHJldHVybiBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oLTEuNzk3NjkzMTM0ODYyMzJFKzMwOCksIFZhbGlkYXRvcnMubWF4KDEuNzk3NjkzMTM0ODYyMzJFKzMwOCldO1xuICAgICAgICAgICAgY2FzZSBTZXR0aW5nVHlwZS5TdHJpbmc6XG4gICAgICAgICAgICBjYXNlIFNldHRpbmdUeXBlLkJvb2xlYW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtWYWxpZGF0b3JzLnJlcXVpcmVkXTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBbGxSb2xsb3V0UnVsZXMoZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcbiAgICAgICAgY29uc3Qgc2V0dGluZ1ZhbHVlcyA9IGZvcm1Hcm91cC5nZXQoJ3NldHRpbmdWYWx1ZXMnKSBhcyBGb3JtQXJyYXk7XG4gICAgICAgIGNvbnN0IHJvbGxvdXRSdWxlcyA9IHNldHRpbmdWYWx1ZXMuY29udHJvbHMubWFwKGN2ID0+IChjdi5nZXQoJ3JvbGxvdXRSdWxlcycpIGFzIEZvcm1BcnJheSkudmFsdWUpO1xuICAgICAgICByZXR1cm4gcm9sbG91dFJ1bGVzLmxlbmd0aCA9PT0gMCA/IHJvbGxvdXRSdWxlcyA6IHJvbGxvdXRSdWxlcy5yZWR1Y2UoKGEsIGIpID0+IGEuY29uY2F0KGIpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbXBhcmlzb25BdHRyaWJ1dGVzKHJvbGxvdXRSdWxlczogYW55W10pIHtcbiAgICAgICAgaWYgKHJvbGxvdXRSdWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50Q29tcGFyaXNvbkF0dHJpYnV0ZXMgPSByb2xsb3V0UnVsZXMubWFwKHIgPT4gci5jb21wYXJpc29uQXR0cmlidXRlKTtcblxuICAgICAgICAgICAgY29uc3QgZGVmYXVsdENvbXBhcmlzb25BdHRyaWJ1dGVzID0gWydJZGVudGlmaWVyJywgJ0VtYWlsJywgJ0NvdW50cnknXTtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBhcmlzb25BdHRyaWJ1dGVzID0gY3VycmVudENvbXBhcmlzb25BdHRyaWJ1dGVzLmZpbHRlcihjID0+IGRlZmF1bHRDb21wYXJpc29uQXR0cmlidXRlcy5pbmRleE9mKGMpID09PSAtMSk7XG4gICAgICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KGNvbXBhcmlzb25BdHRyaWJ1dGVzKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -37,9 +37,9 @@ export class AuthorizationComponent {
37
37
  });
38
38
  }
39
39
  }
40
- AuthorizationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: AuthorizationComponent, deps: [{ token: i1.FormBuilder }, { token: i2.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
41
- AuthorizationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: AuthorizationComponent, selector: "configcat-authorization", inputs: { basePath: "basePath" }, outputs: { authorized: "authorized" }, ngImport: i0, template: "<form [formGroup]=\"formGroup\" (ngSubmit)=\"onSubmit()\">\n <div class=\"container\">\n <div class=\"form\">\n <p>\n <a href=\"https://app.configcat.com/my-account/public-api-credentials\" target=\"_blank\">\n Get your Basic Auth user name and password</a> to access ConfigCat Public API.\n <br /><br />\n <b>Note!</b> Your ConfigCat account's email address and password will not work here.\n </p>\n\n <mat-form-field class=\"form-field\">\n <mat-label>Basic auth user name</mat-label>\n <input matInput placeholder=\"Basic auth user name\" formControlName=\"basicAuthUsername\">\n <mat-error *ngIf=\"formGroup.controls.basicAuthUsername.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.basicAuthUsername)}}\n </mat-error>\n </mat-form-field>\n <mat-form-field class=\"form-field\">\n <mat-label>Basic auth password</mat-label>\n <input matInput placeholder=\"Basic auth password\" formControlName=\"basicAuthPassword\" type=\"password\"\n autocomplete=\"current-password\">\n <mat-error *ngIf=\"formGroup.controls.basicAuthPassword.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.basicAuthPassword)}}\n </mat-error>\n </mat-form-field>\n <div>\n <button mat-raised-button color=\"primary\" type=\"submit\" class=\"submit\">Authorize</button>\n <mat-error *ngIf=\"formGroup.invalid && formGroup.errors && formGroup.errors.invalidAuthorization\">\n {{formGroup.errors.invalidAuthorization}}</mat-error>\n </div>\n </div>\n </div>\n</form>", styles: [".container{display:flex;margin:8px}.form{width:100%}.form-field{width:100%;margin-bottom:8px}.submit{margin-top:8px;margin-bottom:8px}\n"], components: [{ type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.MatLabel, selector: "mat-label" }, { type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatError, selector: "mat-error", inputs: ["id"] }] });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: AuthorizationComponent, decorators: [{
40
+ AuthorizationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AuthorizationComponent, deps: [{ token: i1.FormBuilder }, { token: i2.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
41
+ AuthorizationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: AuthorizationComponent, selector: "configcat-authorization", inputs: { basePath: "basePath" }, outputs: { authorized: "authorized" }, ngImport: i0, template: "<form [formGroup]=\"formGroup\" (ngSubmit)=\"onSubmit()\">\n <div class=\"container\">\n <div class=\"form\">\n <p>\n <a href=\"https://app.configcat.com/my-account/public-api-credentials\" target=\"_blank\">\n Get your Basic Auth user name and password</a> to access ConfigCat Public API.\n <br /><br />\n <b>Note!</b> Your ConfigCat account's email address and password will not work here.\n </p>\n\n <mat-form-field class=\"form-field\">\n <mat-label>Basic auth user name</mat-label>\n <input matInput placeholder=\"Basic auth user name\" formControlName=\"basicAuthUsername\">\n <mat-error *ngIf=\"formGroup.controls.basicAuthUsername.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.basicAuthUsername)}}\n </mat-error>\n </mat-form-field>\n <mat-form-field class=\"form-field\">\n <mat-label>Basic auth password</mat-label>\n <input matInput placeholder=\"Basic auth password\" formControlName=\"basicAuthPassword\" type=\"password\"\n autocomplete=\"current-password\">\n <mat-error *ngIf=\"formGroup.controls.basicAuthPassword.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.basicAuthPassword)}}\n </mat-error>\n </mat-form-field>\n <div>\n <button mat-raised-button color=\"primary\" type=\"submit\" class=\"submit\">Authorize</button>\n <mat-error *ngIf=\"formGroup.invalid && formGroup.errors && formGroup.errors.invalidAuthorization\">\n {{formGroup.errors.invalidAuthorization}}</mat-error>\n </div>\n </div>\n </div>\n</form>", styles: [".container{display:flex;margin:8px}.form{width:100%}.form-field{width:100%;margin-bottom:8px}.submit{margin-top:8px;margin-bottom:8px}\n"], components: [{ type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.MatLabel, selector: "mat-label" }, { type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatError, selector: "mat-error", inputs: ["id"] }] });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AuthorizationComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{ selector: 'configcat-authorization', template: "<form [formGroup]=\"formGroup\" (ngSubmit)=\"onSubmit()\">\n <div class=\"container\">\n <div class=\"form\">\n <p>\n <a href=\"https://app.configcat.com/my-account/public-api-credentials\" target=\"_blank\">\n Get your Basic Auth user name and password</a> to access ConfigCat Public API.\n <br /><br />\n <b>Note!</b> Your ConfigCat account's email address and password will not work here.\n </p>\n\n <mat-form-field class=\"form-field\">\n <mat-label>Basic auth user name</mat-label>\n <input matInput placeholder=\"Basic auth user name\" formControlName=\"basicAuthUsername\">\n <mat-error *ngIf=\"formGroup.controls.basicAuthUsername.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.basicAuthUsername)}}\n </mat-error>\n </mat-form-field>\n <mat-form-field class=\"form-field\">\n <mat-label>Basic auth password</mat-label>\n <input matInput placeholder=\"Basic auth password\" formControlName=\"basicAuthPassword\" type=\"password\"\n autocomplete=\"current-password\">\n <mat-error *ngIf=\"formGroup.controls.basicAuthPassword.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.basicAuthPassword)}}\n </mat-error>\n </mat-form-field>\n <div>\n <button mat-raised-button color=\"primary\" type=\"submit\" class=\"submit\">Authorize</button>\n <mat-error *ngIf=\"formGroup.invalid && formGroup.errors && formGroup.errors.invalidAuthorization\">\n {{formGroup.errors.invalidAuthorization}}</mat-error>\n </div>\n </div>\n </div>\n</form>", styles: [".container{display:flex;margin:8px}.form{width:100%}.form-field{width:100%;margin-bottom:8px}.submit{margin-top:8px;margin-bottom:8px}\n"] }]
45
45
  }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.PublicApiService }]; }, propDecorators: { basePath: [{
@@ -23,10 +23,13 @@ export class BaseComponent {
23
23
  createSettingValuesService() {
24
24
  return this.publicApiService.createSettingValuesService(this.basicAuthUsername, this.basicAuthPassword, this.basePath);
25
25
  }
26
+ createSegmentsService() {
27
+ return this.publicApiService.createSegmentsService(this.basicAuthUsername, this.basicAuthPassword, this.basePath);
28
+ }
26
29
  }
27
- BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BaseComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
28
- BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: BaseComponent, selector: "base", inputs: { basePath: "basePath", basicAuthUsername: "basicAuthUsername", basicAuthPassword: "basicAuthPassword" }, ngImport: i0, template: '<div></div>', isInline: true });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BaseComponent, decorators: [{
30
+ BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BaseComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
31
+ BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BaseComponent, selector: "base", inputs: { basePath: "basePath", basicAuthUsername: "basicAuthUsername", basicAuthPassword: "basicAuthPassword" }, ngImport: i0, template: '<div></div>', isInline: true });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BaseComponent, decorators: [{
30
33
  type: Component,
31
34
  args: [{
32
35
  selector: 'base',
@@ -39,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
39
42
  }], basicAuthPassword: [{
40
43
  type: Input
41
44
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvYmFzZS9iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBWSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTNELE1BQU0sT0FBTyxhQUFhO0lBTXhCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSjdDLGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBQy9CLHNCQUFpQixHQUFrQixJQUFJLENBQUM7UUFDeEMsc0JBQWlCLEdBQWtCLElBQUksQ0FBQztJQUdqRCxDQUFDO0lBRVMscUJBQXFCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFUyxvQkFBb0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVTLHlCQUF5QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4SCxDQUFDO0lBRVMscUJBQXFCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFUywwQkFBMEI7UUFDbEMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekgsQ0FBQzs7MEdBM0JVLGFBQWE7OEZBQWIsYUFBYSw4SkFGZCxhQUFhOzJGQUVaLGFBQWE7a0JBSnpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLE1BQU07b0JBQ2hCLFFBQVEsRUFBRSxhQUFhO2lCQUN4Qjt1R0FHVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgUHVibGljQXBpU2VydmljZSB9IGZyb20gJy4uL19zZXJ2aWNlcy9wdWJsaWMtYXBpLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYXNlJyxcbiAgdGVtcGxhdGU6ICc8ZGl2PjwvZGl2Pidcbn0pXG5leHBvcnQgY2xhc3MgQmFzZUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgYmFzZVBhdGg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBiYXNpY0F1dGhVc2VybmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGJhc2ljQXV0aFBhc3N3b3JkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHB1YmxpY0FwaVNlcnZpY2U6IFB1YmxpY0FwaVNlcnZpY2UpIHtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVQcm9kdWN0c1NlcnZpY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucHVibGljQXBpU2VydmljZS5jcmVhdGVQcm9kdWN0c1NlcnZpY2UodGhpcy5iYXNpY0F1dGhVc2VybmFtZSwgdGhpcy5iYXNpY0F1dGhQYXNzd29yZCwgdGhpcy5iYXNlUGF0aCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQ29uZmlnc1NlcnZpY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucHVibGljQXBpU2VydmljZS5jcmVhdGVDb25maWdzU2VydmljZSh0aGlzLmJhc2ljQXV0aFVzZXJuYW1lLCB0aGlzLmJhc2ljQXV0aFBhc3N3b3JkLCB0aGlzLmJhc2VQYXRoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVFbnZpcm9ubWVudHNTZXJ2aWNlKCkge1xuICAgIHJldHVybiB0aGlzLnB1YmxpY0FwaVNlcnZpY2UuY3JlYXRlRW52aXJvbm1lbnRzU2VydmljZSh0aGlzLmJhc2ljQXV0aFVzZXJuYW1lLCB0aGlzLmJhc2ljQXV0aFBhc3N3b3JkLCB0aGlzLmJhc2VQYXRoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVTZXR0aW5nc1NlcnZpY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucHVibGljQXBpU2VydmljZS5jcmVhdGVTZXR0aW5nc1NlcnZpY2UodGhpcy5iYXNpY0F1dGhVc2VybmFtZSwgdGhpcy5iYXNpY0F1dGhQYXNzd29yZCwgdGhpcy5iYXNlUGF0aCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlU2V0dGluZ1ZhbHVlc1NlcnZpY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucHVibGljQXBpU2VydmljZS5jcmVhdGVTZXR0aW5nVmFsdWVzU2VydmljZSh0aGlzLmJhc2ljQXV0aFVzZXJuYW1lLCB0aGlzLmJhc2ljQXV0aFBhc3N3b3JkLCB0aGlzLmJhc2VQYXRoKTtcbiAgfVxufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvYmFzZS9iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBWSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTNELE1BQU0sT0FBTyxhQUFhO0lBTXhCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSjdDLGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBQy9CLHNCQUFpQixHQUFrQixJQUFJLENBQUM7UUFDeEMsc0JBQWlCLEdBQWtCLElBQUksQ0FBQztJQUdqRCxDQUFDO0lBRVMscUJBQXFCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFUyxvQkFBb0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVTLHlCQUF5QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4SCxDQUFDO0lBRVMscUJBQXFCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFUywwQkFBMEI7UUFDbEMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekgsQ0FBQztJQUVTLHFCQUFxQjtRQUM3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwSCxDQUFDOzswR0EvQlUsYUFBYTs4RkFBYixhQUFhLDhKQUZkLGFBQWE7MkZBRVosYUFBYTtrQkFKekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsTUFBTTtvQkFDaEIsUUFBUSxFQUFFLGFBQWE7aUJBQ3hCO3VHQUdVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBQdWJsaWNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vX3NlcnZpY2VzL3B1YmxpYy1hcGkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Jhc2UnLFxuICB0ZW1wbGF0ZTogJzxkaXY+PC9kaXY+J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNlQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBiYXNlUGF0aDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGJhc2ljQXV0aFVzZXJuYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgYmFzaWNBdXRoUGFzc3dvcmQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHVibGljQXBpU2VydmljZTogUHVibGljQXBpU2VydmljZSkge1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZVByb2R1Y3RzU2VydmljZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wdWJsaWNBcGlTZXJ2aWNlLmNyZWF0ZVByb2R1Y3RzU2VydmljZSh0aGlzLmJhc2ljQXV0aFVzZXJuYW1lLCB0aGlzLmJhc2ljQXV0aFBhc3N3b3JkLCB0aGlzLmJhc2VQYXRoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb25maWdzU2VydmljZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wdWJsaWNBcGlTZXJ2aWNlLmNyZWF0ZUNvbmZpZ3NTZXJ2aWNlKHRoaXMuYmFzaWNBdXRoVXNlcm5hbWUsIHRoaXMuYmFzaWNBdXRoUGFzc3dvcmQsIHRoaXMuYmFzZVBhdGgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUVudmlyb25tZW50c1NlcnZpY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucHVibGljQXBpU2VydmljZS5jcmVhdGVFbnZpcm9ubWVudHNTZXJ2aWNlKHRoaXMuYmFzaWNBdXRoVXNlcm5hbWUsIHRoaXMuYmFzaWNBdXRoUGFzc3dvcmQsIHRoaXMuYmFzZVBhdGgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZVNldHRpbmdzU2VydmljZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wdWJsaWNBcGlTZXJ2aWNlLmNyZWF0ZVNldHRpbmdzU2VydmljZSh0aGlzLmJhc2ljQXV0aFVzZXJuYW1lLCB0aGlzLmJhc2ljQXV0aFBhc3N3b3JkLCB0aGlzLmJhc2VQYXRoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVTZXR0aW5nVmFsdWVzU2VydmljZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wdWJsaWNBcGlTZXJ2aWNlLmNyZWF0ZVNldHRpbmdWYWx1ZXNTZXJ2aWNlKHRoaXMuYmFzaWNBdXRoVXNlcm5hbWUsIHRoaXMuYmFzaWNBdXRoUGFzc3dvcmQsIHRoaXMuYmFzZVBhdGgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZVNlZ21lbnRzU2VydmljZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wdWJsaWNBcGlTZXJ2aWNlLmNyZWF0ZVNlZ21lbnRzU2VydmljZSh0aGlzLmJhc2ljQXV0aFVzZXJuYW1lLCB0aGlzLmJhc2ljQXV0aFBhc3N3b3JkLCB0aGlzLmJhc2VQYXRoKTtcbiAgfVxufVxuIl19
@@ -5,9 +5,9 @@ export class Configuration {
5
5
  this.basePath = 'https://api.configcat.com';
6
6
  }
7
7
  }
8
- Configuration.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: Configuration, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9
- Configuration.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: Configuration });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: Configuration, decorators: [{
8
+ Configuration.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: Configuration, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9
+ Configuration.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: Configuration });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: Configuration, decorators: [{
11
11
  type: Injectable
12
12
  }] });
13
13
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbmZpZ2NhdC1wdWJsaWNhcGktdWkvc3JjL2xpYi9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxhQUFhO0lBRDFCO1FBSUksYUFBUSxHQUFHLDJCQUEyQixDQUFDO0tBQzFDOzswR0FKWSxhQUFhOzhHQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb24ge1xuICAgIGJhc2ljQXV0aFVzZXJuYW1lPzogc3RyaW5nO1xuICAgIGJhc2ljQXV0aFBhc3N3b3JkPzogc3RyaW5nO1xuICAgIGJhc2VQYXRoID0gJ2h0dHBzOi8vYXBpLmNvbmZpZ2NhdC5jb20nO1xufVxuIl19
@@ -16,9 +16,9 @@ export class ConcurrentDialogComponent {
16
16
  this.dialogRef.close({ button: 'discard' });
17
17
  }
18
18
  }
19
- ConcurrentDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ConcurrentDialogComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
20
- ConcurrentDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ConcurrentDialogComponent, selector: "configcat-concurrent-dialog", ngImport: i0, template: "<h3 mat-dialog-title>Concurrent update detected</h3>\n<p>\n Somebody updated the feature flags & settings while you were editing them.\n</p>\n<ul>\n <li>\n To discard your local changes and reload the updated values, click <strong>Discard my changes & reload</strong>\n </li>\n <li>\n To save you local values and overwrite the remote changes, click <strong>Save anyway</strong>\n </li>\n</ul>\n<p>For more info about the changes check the <a [routerLink]=\"['/auditlog']\" target=\"_blank\" rel=\"noopener noreferrer\" >audit logs</a> in a new tab.</p>\n<div mat-dialog-actions>\n <button type=\"button\" style=\"margin-right: 10px;\" mat-raised-button color=\"primary\" (click)=\"discard()\">Discard\n local changes & reload</button>\n <button type=\"button\" mat-raised-button (click)=\"save()\">Save anyway</button>\n</div>", styles: [""], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ConcurrentDialogComponent, decorators: [{
19
+ ConcurrentDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ConcurrentDialogComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
20
+ ConcurrentDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: ConcurrentDialogComponent, selector: "configcat-concurrent-dialog", ngImport: i0, template: "<h3 mat-dialog-title>Concurrent update detected</h3>\n<p>\n Somebody updated the feature flags & settings while you were editing them.\n</p>\n<ul>\n <li>\n To discard your local changes and reload the updated values, click <strong>Discard my changes & reload</strong>\n </li>\n <li>\n To save you local values and overwrite the remote changes, click <strong>Save anyway</strong>\n </li>\n</ul>\n<p>For more info about the changes check the <a [routerLink]=\"['/auditlog']\" target=\"_blank\" rel=\"noopener noreferrer\" >audit logs</a> in a new tab.</p>\n<div mat-dialog-actions>\n <button type=\"button\" style=\"margin-right: 10px;\" mat-raised-button color=\"primary\" (click)=\"discard()\">Discard\n local changes & reload</button>\n <button type=\"button\" mat-raised-button (click)=\"save()\">Save anyway</button>\n</div>", styles: [""], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ConcurrentDialogComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: 'configcat-concurrent-dialog', template: "<h3 mat-dialog-title>Concurrent update detected</h3>\n<p>\n Somebody updated the feature flags & settings while you were editing them.\n</p>\n<ul>\n <li>\n To discard your local changes and reload the updated values, click <strong>Discard my changes & reload</strong>\n </li>\n <li>\n To save you local values and overwrite the remote changes, click <strong>Save anyway</strong>\n </li>\n</ul>\n<p>For more info about the changes check the <a [routerLink]=\"['/auditlog']\" target=\"_blank\" rel=\"noopener noreferrer\" >audit logs</a> in a new tab.</p>\n<div mat-dialog-actions>\n <button type=\"button\" style=\"margin-right: 10px;\" mat-raised-button color=\"primary\" (click)=\"discard()\">Discard\n local changes & reload</button>\n <button type=\"button\" mat-raised-button (click)=\"save()\">Save anyway</button>\n</div>", styles: [""] }]
24
24
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }]; } });
@@ -65,9 +65,9 @@ export class ExpandDialogComponent {
65
65
  this.dialogRef.close();
66
66
  }
67
67
  }
68
- ExpandDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ExpandDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.FormBuilder }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
69
- ExpandDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ExpandDialogComponent, selector: "configcat-expand-dialog", ngImport: i0, template: "<div mat-dialog-content class=\"container\">\n\n <mat-form-field appearance=\"outline\" *ngIf=\"!data.multiline\">\n <mat-label></mat-label>\n <textarea matInput [formControl]=\"data.control\" rows=\"15\"></textarea>\n </mat-form-field>\n <div [formGroup]=\"formGroup\" *ngIf=\"data.multiline\">\n <div *ngFor=\"let valueControl of getValueControls(); let i = index;\"\n class=\"value-field\">\n <mat-form-field appearance=\"outline\">\n <input matInput [formControl]=\"valueControl\" rows=\"15\" />\n </mat-form-field>\n <button (click)=\"remove(i)\" mat-icon-button type=\"button\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n </div>\n <button (click)=\"add()\" mat-icon-button type=\"button\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n</div>\n<div mat-dialog-actions>\n <button type=\"button\" mat-raised-button color=\"primary\" (click)=\"close()\">Done</button>\n</div>", styles: [".container>*{width:100%}.container>* .value-field{display:flex;font-size:12px;flex-wrap:nowrap}.container>* .value-field mat-form-field{flex-grow:1}\n"], components: [{ type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatLabel, selector: "mat-label" }, { type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ExpandDialogComponent, decorators: [{
68
+ ExpandDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ExpandDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.FormBuilder }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
69
+ ExpandDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: ExpandDialogComponent, selector: "configcat-expand-dialog", ngImport: i0, template: "<div mat-dialog-content class=\"container\">\n\n <mat-form-field appearance=\"outline\" *ngIf=\"!data.multiline\">\n <mat-label></mat-label>\n <textarea matInput [formControl]=\"data.control\" rows=\"15\"></textarea>\n </mat-form-field>\n <div [formGroup]=\"formGroup\" *ngIf=\"data.multiline\">\n <div *ngFor=\"let valueControl of getValueControls(); let i = index;\"\n class=\"value-field\">\n <mat-form-field appearance=\"outline\">\n <input matInput [formControl]=\"valueControl\" rows=\"15\" />\n </mat-form-field>\n <button (click)=\"remove(i)\" mat-icon-button type=\"button\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n </div>\n <button (click)=\"add()\" mat-icon-button type=\"button\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n</div>\n<div mat-dialog-actions>\n <button type=\"button\" mat-raised-button color=\"primary\" (click)=\"close()\">Done</button>\n</div>", styles: [".container>*{width:100%}.container>* .value-field{display:flex;font-size:12px;flex-wrap:nowrap}.container>* .value-field mat-form-field{flex-grow:1}\n"], components: [{ type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatLabel, selector: "mat-label" }, { type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ExpandDialogComponent, decorators: [{
71
71
  type: Component,
72
72
  args: [{ selector: 'configcat-expand-dialog', template: "<div mat-dialog-content class=\"container\">\n\n <mat-form-field appearance=\"outline\" *ngIf=\"!data.multiline\">\n <mat-label></mat-label>\n <textarea matInput [formControl]=\"data.control\" rows=\"15\"></textarea>\n </mat-form-field>\n <div [formGroup]=\"formGroup\" *ngIf=\"data.multiline\">\n <div *ngFor=\"let valueControl of getValueControls(); let i = index;\"\n class=\"value-field\">\n <mat-form-field appearance=\"outline\">\n <input matInput [formControl]=\"valueControl\" rows=\"15\" />\n </mat-form-field>\n <button (click)=\"remove(i)\" mat-icon-button type=\"button\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n </div>\n <button (click)=\"add()\" mat-icon-button type=\"button\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n</div>\n<div mat-dialog-actions>\n <button type=\"button\" mat-raised-button color=\"primary\" (click)=\"close()\">Done</button>\n</div>", styles: [".container>*{width:100%}.container>* .value-field{display:flex;font-size:12px;flex-wrap:nowrap}.container>* .value-field mat-form-field{flex-grow:1}\n"] }]
73
73
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i2.FormBuilder }, { type: undefined, decorators: [{
@@ -27,9 +27,9 @@ export class ReasonDialogComponent {
27
27
  this.dialogRef.close({ button: 'cancel' });
28
28
  }
29
29
  }
30
- ReasonDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ReasonDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
31
- ReasonDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ReasonDialogComponent, selector: "configcat-reason-dialog", ngImport: i0, template: "<h3 mat-dialog-title>Add notes</h3>\n<p>This will appear in the Why column of the Audit Log.</p>\n<form [formGroup]=\"formGroup\" (ngSubmit)=\"handleSaveButton()\">\n <div mat-dialog-content class=\"container\">\n <mat-form-field appearance=\"outline\">\n <mat-label></mat-label>\n <textarea matInput formControlName=\"reason\" name=\"reason\" placeholder=\"I'm changing settings because...\"\n rows=\"3\"></textarea>\n <mat-error *ngIf=\"formGroup.controls.reason.invalid\">The field is required.</mat-error>\n </mat-form-field>\n </div>\n <br>\n <div mat-dialog-actions>\n <button type=\"submit\" style=\"margin-right: 10px;\" mat-raised-button color=\"primary\">Add notes & Save</button>\n <button type=\"button\" mat-raised-button (click)=\"cancel()\">Cancel</button>\n </div>\n</form>", styles: [".container>*{width:100%}\n"], components: [{ type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3.MatLabel, selector: "mat-label" }, { type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ReasonDialogComponent, decorators: [{
30
+ ReasonDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ReasonDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
31
+ ReasonDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: ReasonDialogComponent, selector: "configcat-reason-dialog", ngImport: i0, template: "<h3 mat-dialog-title>Add notes</h3>\n<p>This will appear in the Why column of the Audit Log.</p>\n<form [formGroup]=\"formGroup\" (ngSubmit)=\"handleSaveButton()\">\n <div mat-dialog-content class=\"container\">\n <mat-form-field appearance=\"outline\">\n <mat-label></mat-label>\n <textarea matInput formControlName=\"reason\" name=\"reason\" placeholder=\"I'm changing settings because...\"\n rows=\"3\"></textarea>\n <mat-error *ngIf=\"formGroup.controls.reason.invalid\">The field is required.</mat-error>\n </mat-form-field>\n </div>\n <br>\n <div mat-dialog-actions>\n <button type=\"submit\" style=\"margin-right: 10px;\" mat-raised-button color=\"primary\">Add notes & Save</button>\n <button type=\"button\" mat-raised-button (click)=\"cancel()\">Cancel</button>\n </div>\n</form>", styles: [".container>*{width:100%}\n"], components: [{ type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3.MatLabel, selector: "mat-label" }, { type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ReasonDialogComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{ selector: 'configcat-reason-dialog', template: "<h3 mat-dialog-title>Add notes</h3>\n<p>This will appear in the Why column of the Audit Log.</p>\n<form [formGroup]=\"formGroup\" (ngSubmit)=\"handleSaveButton()\">\n <div mat-dialog-content class=\"container\">\n <mat-form-field appearance=\"outline\">\n <mat-label></mat-label>\n <textarea matInput formControlName=\"reason\" name=\"reason\" placeholder=\"I'm changing settings because...\"\n rows=\"3\"></textarea>\n <mat-error *ngIf=\"formGroup.controls.reason.invalid\">The field is required.</mat-error>\n </mat-form-field>\n </div>\n <br>\n <div mat-dialog-actions>\n <button type=\"submit\" style=\"margin-right: 10px;\" mat-raised-button color=\"primary\">Add notes & Save</button>\n <button type=\"button\" mat-raised-button (click)=\"cancel()\">Cancel</button>\n </div>\n</form>", styles: [".container>*{width:100%}\n"] }]
35
35
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i2.FormBuilder }]; } });
@@ -5,10 +5,10 @@ export class SaveSnackbarComponent {
5
5
  ngOnInit() {
6
6
  }
7
7
  }
8
- SaveSnackbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SaveSnackbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- SaveSnackbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: SaveSnackbarComponent, selector: "configcat-save-snackbar", ngImport: i0, template: "<p class=\"header\">Settings saved successfully.</p>", styles: ["p{text-align:center;font-weight:bold}.header{font-size:1.2em}\n"] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SaveSnackbarComponent, decorators: [{
8
+ SaveSnackbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SaveSnackbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ SaveSnackbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: SaveSnackbarComponent, selector: "configcat-save-snackbar", ngImport: i0, template: "<p class=\"header\">Settings saved successfully.</p>", styles: ["p{text-align:center;font-weight:700}.header{font-size:1.2em}\n"] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SaveSnackbarComponent, decorators: [{
11
11
  type: Component,
12
- args: [{ selector: 'configcat-save-snackbar', template: "<p class=\"header\">Settings saved successfully.</p>", styles: ["p{text-align:center;font-weight:bold}.header{font-size:1.2em}\n"] }]
12
+ args: [{ selector: 'configcat-save-snackbar', template: "<p class=\"header\">Settings saved successfully.</p>", styles: ["p{text-align:center;font-weight:700}.header{font-size:1.2em}\n"] }]
13
13
  }], ctorParameters: function () { return []; } });
14
14
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1zbmFja2Jhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvZGlhbG9ncy9zYXZlLXNuYWNrYmFyL3NhdmUtc25hY2tiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS9zcmMvbGliL2RpYWxvZ3Mvc2F2ZS1zbmFja2Jhci9zYXZlLXNuYWNrYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBT2xELE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7O2tIQUxVLHFCQUFxQjtzR0FBckIscUJBQXFCLCtEQ1BsQyxzREFBa0Q7MkZET3JDLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb25maWdjYXQtc2F2ZS1zbmFja2JhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zYXZlLXNuYWNrYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2F2ZS1zbmFja2Jhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNhdmVTbmFja2JhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG59XG4iLCI8cCBjbGFzcz1cImhlYWRlclwiPlNldHRpbmdzIHNhdmVkIHN1Y2Nlc3NmdWxseS48L3A+Il19
@@ -44,8 +44,8 @@ export class NgConfigCatPublicApiUIModule {
44
44
  };
45
45
  }
46
46
  }
47
- NgConfigCatPublicApiUIModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgConfigCatPublicApiUIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
48
- NgConfigCatPublicApiUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgConfigCatPublicApiUIModule, declarations: [BaseComponent,
47
+ NgConfigCatPublicApiUIModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgConfigCatPublicApiUIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
48
+ NgConfigCatPublicApiUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgConfigCatPublicApiUIModule, declarations: [BaseComponent,
49
49
  ProductSelectComponent,
50
50
  ConfigSelectComponent,
51
51
  EnvironmentSelectComponent,
@@ -84,7 +84,7 @@ NgConfigCatPublicApiUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.
84
84
  EnvironmentSelectComponent,
85
85
  SettingSelectComponent,
86
86
  SettingItemComponent] });
87
- NgConfigCatPublicApiUIModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgConfigCatPublicApiUIModule, imports: [[
87
+ NgConfigCatPublicApiUIModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgConfigCatPublicApiUIModule, imports: [[
88
88
  CommonModule,
89
89
  FormsModule,
90
90
  ReactiveFormsModule,
@@ -105,7 +105,7 @@ NgConfigCatPublicApiUIModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.
105
105
  MatMenuModule,
106
106
  ApiModule
107
107
  ]] });
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgConfigCatPublicApiUIModule, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgConfigCatPublicApiUIModule, decorators: [{
109
109
  type: NgModule,
110
110
  args: [{
111
111
  declarations: [
@@ -31,15 +31,15 @@ export class ConfigSelectComponent extends BaseComponent {
31
31
  }
32
32
  }
33
33
  }
34
- ConfigSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ConfigSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
35
- ConfigSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ConfigSelectComponent, selector: "configcat-config-select", inputs: { valueFormControl: "valueFormControl", productId: "productId" }, providers: [
34
+ ConfigSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ConfigSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
35
+ ConfigSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: ConfigSelectComponent, selector: "configcat-config-select", inputs: { valueFormControl: "valueFormControl", productId: "productId" }, providers: [
36
36
  {
37
37
  provide: NG_VALUE_ACCESSOR,
38
38
  useExisting: forwardRef(() => ConfigSelectComponent),
39
39
  multi: true
40
40
  }
41
41
  ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Config\" [formControl]=\"valueFormControl\" *ngIf=\"configs\" name=\"value\">\n <mat-option *ngFor=\"let config of configs\" [value]=\"config.configId\">{{config.name}}</mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ConfigSelectComponent, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ConfigSelectComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{ selector: 'configcat-config-select', providers: [
45
45
  {
@@ -30,9 +30,9 @@ export class EnvironmentSelectComponent extends BaseComponent {
30
30
  }
31
31
  }
32
32
  }
33
- EnvironmentSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EnvironmentSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
34
- EnvironmentSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: EnvironmentSelectComponent, selector: "configcat-environment-select", inputs: { valueFormControl: "valueFormControl", productId: "productId" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Environment\" [formControl]=\"valueFormControl\" *ngIf=\"environments\" name=\"value\">\n <mat-option *ngFor=\"let environment of environments\" [value]=\"environment.environmentId\">{{environment.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EnvironmentSelectComponent, decorators: [{
33
+ EnvironmentSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: EnvironmentSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
34
+ EnvironmentSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: EnvironmentSelectComponent, selector: "configcat-environment-select", inputs: { valueFormControl: "valueFormControl", productId: "productId" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Environment\" [formControl]=\"valueFormControl\" *ngIf=\"environments\" name=\"value\">\n <mat-option *ngFor=\"let environment of environments\" [value]=\"environment.environmentId\">{{environment.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: EnvironmentSelectComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'configcat-environment-select', template: "<mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Environment\" [formControl]=\"valueFormControl\" *ngIf=\"environments\" name=\"value\">\n <mat-option *ngFor=\"let environment of environments\" [value]=\"environment.environmentId\">{{environment.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"] }]
38
38
  }], ctorParameters: function () { return [{ type: i1.PublicApiService }]; }, propDecorators: { valueFormControl: [{
@@ -25,9 +25,9 @@ export class ProductSelectComponent extends BaseComponent {
25
25
  });
26
26
  }
27
27
  }
28
- ProductSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ProductSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
29
- ProductSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ProductSelectComponent, selector: "configcat-product-select", inputs: { valueFormControl: "valueFormControl" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Product\" [formControl]=\"valueFormControl\" name=\"productValue\">\n <mat-option *ngFor=\"let product of products\" [value]=\"product.productId\">{{product.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ProductSelectComponent, decorators: [{
28
+ ProductSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ProductSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
29
+ ProductSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: ProductSelectComponent, selector: "configcat-product-select", inputs: { valueFormControl: "valueFormControl" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Product\" [formControl]=\"valueFormControl\" name=\"productValue\">\n <mat-option *ngFor=\"let product of products\" [value]=\"product.productId\">{{product.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ProductSelectComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: 'configcat-product-select', template: "<mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Product\" [formControl]=\"valueFormControl\" name=\"productValue\">\n <mat-option *ngFor=\"let product of products\" [value]=\"product.productId\">{{product.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"] }]
33
33
  }], ctorParameters: function () { return [{ type: i1.PublicApiService }]; }, propDecorators: { valueFormControl: [{
@@ -30,9 +30,9 @@ export class SettingSelectComponent extends BaseComponent {
30
30
  }
31
31
  }
32
32
  }
33
- SettingSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SettingSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
34
- SettingSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: SettingSelectComponent, selector: "configcat-setting-select", inputs: { valueFormControl: "valueFormControl", configId: "configId" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Feature flag or setting\" [formControl]=\"valueFormControl\" *ngIf=\"settings\" name=\"value\">\n <mat-option *ngFor=\"let setting of settings\" [value]=\"setting.settingId\">{{setting.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SettingSelectComponent, decorators: [{
33
+ SettingSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SettingSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
34
+ SettingSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: SettingSelectComponent, selector: "configcat-setting-select", inputs: { valueFormControl: "valueFormControl", configId: "configId" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Feature flag or setting\" [formControl]=\"valueFormControl\" *ngIf=\"settings\" name=\"value\">\n <mat-option *ngFor=\"let setting of settings\" [value]=\"setting.settingId\">{{setting.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SettingSelectComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'configcat-setting-select', template: "<mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Feature flag or setting\" [formControl]=\"valueFormControl\" *ngIf=\"settings\" name=\"value\">\n <mat-option *ngFor=\"let setting of settings\" [value]=\"setting.settingId\">{{setting.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"] }]
38
38
  }], ctorParameters: function () { return [{ type: i1.PublicApiService }]; }, propDecorators: { valueFormControl: [{