@valtimo/components 12.12.0 → 12.14.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 (26) hide show
  1. package/esm2022/lib/components/carbon-list/carbon-list.component.mjs +8 -4
  2. package/esm2022/lib/components/carbon-list/tags-modal/tags-modal.component.mjs +1 -1
  3. package/esm2022/lib/components/confirmation-modal/confirmation-modal.component.mjs +1 -1
  4. package/esm2022/lib/components/page-header/page-header.component.mjs +4 -3
  5. package/esm2022/lib/components/page-title/page-title.component.mjs +4 -3
  6. package/esm2022/lib/components/value-path-selector/value-path-selector.component.mjs +3 -8
  7. package/esm2022/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.mjs +48 -27
  8. package/esm2022/lib/services/page-header.service.mjs +11 -1
  9. package/esm2022/lib/services/value-path-selector.service.mjs +14 -7
  10. package/fesm2022/valtimo-components.mjs +86 -47
  11. package/fesm2022/valtimo-components.mjs.map +1 -1
  12. package/lib/components/carbon-list/carbon-list.component.d.ts +2 -1
  13. package/lib/components/carbon-list/carbon-list.component.d.ts.map +1 -1
  14. package/lib/components/page-header/page-header.component.d.ts +1 -0
  15. package/lib/components/page-header/page-header.component.d.ts.map +1 -1
  16. package/lib/components/page-title/page-title.component.d.ts +1 -0
  17. package/lib/components/page-title/page-title.component.d.ts.map +1 -1
  18. package/lib/components/value-path-selector/value-path-selector.component.d.ts +1 -2
  19. package/lib/components/value-path-selector/value-path-selector.component.d.ts.map +1 -1
  20. package/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.d.ts +6 -4
  21. package/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.d.ts.map +1 -1
  22. package/lib/services/page-header.service.d.ts +4 -0
  23. package/lib/services/page-header.service.d.ts.map +1 -1
  24. package/lib/services/value-path-selector.service.d.ts +1 -0
  25. package/lib/services/value-path-selector.service.d.ts.map +1 -1
  26. package/package.json +1 -1
@@ -36,18 +36,20 @@ export class ValuePathSelectorService extends BaseApiService {
36
36
  const url = typeof version !== 'number'
37
37
  ? `/management/v2/value-resolver/document-definition/${documentDefinitionName}/keys`
38
38
  : `/management/v2/value-resolver/document-definition/${documentDefinitionName}/version/${version}/keys`;
39
- const prefixesWithoutCache = prefixes.filter((prefix) => !this.getCacheResult(prefix, type));
40
- return (prefixesWithoutCache.length > 0
39
+ const prefixesWithoutCache = this._prefixes.filter((prefix) => !this.getCacheResult(prefix, type));
40
+ return (prefixesWithoutCache.length > 0 || this._prefixes.length === 0
41
41
  ? this.httpClient.post(this.getApiUrl(url), {
42
42
  prefixes: prefixesWithoutCache,
43
43
  type,
44
44
  })
45
45
  : of([])).pipe(tap((results) => {
46
+ if (this._prefixes.length === 0)
47
+ this._prefixes = this.getPrefixesFromResults(results);
46
48
  if (type === ValuePathType.FIELD)
47
49
  this.cacheMapping(results.map((result) => ({ path: result.path })), type);
48
50
  else
49
51
  this.cacheMapping(results.reduce((acc, curr) => [...acc, ...this.mapCollectionItem(curr)], []), type);
50
- }), map(() => prefixes.reduce((acc, curr) => [...acc, ...(this.getCacheResult(curr, type) ?? [])], [])));
52
+ }), map(() => this._prefixes.reduce((acc, curr) => [...acc, ...(this.getCacheResult(curr, type) ?? [])], [])));
51
53
  }
52
54
  openClearCacheSubscription() {
53
55
  this._subscriptions.add(interval(60 * 1000).subscribe(() => {
@@ -80,9 +82,11 @@ export class ValuePathSelectorService extends BaseApiService {
80
82
  return;
81
83
  const prefixResults = this._prefixes.reduce((acc, curr) => ({
82
84
  ...acc,
83
- [curr]: {
84
- [type]: results.filter((result) => result.path.split(':')[0] === curr),
85
- },
85
+ ...(!this.getCacheResult(curr, type) && {
86
+ [curr]: {
87
+ [type]: results.filter((result) => result.path.split(':')[0] === curr),
88
+ },
89
+ }),
86
90
  }), {});
87
91
  const tempCache = {
88
92
  [this._documentDefinitionName]: {
@@ -91,6 +95,9 @@ export class ValuePathSelectorService extends BaseApiService {
91
95
  };
92
96
  this._cache = deepmerge(this._cache, tempCache);
93
97
  }
98
+ getPrefixesFromResults(results) {
99
+ return [...new Set(results.map((result) => result.path.split(':')[0]))];
100
+ }
94
101
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
95
102
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorService, providedIn: 'root' }); }
96
103
  }
@@ -100,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
100
107
  providedIn: 'root',
101
108
  }]
102
109
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtcGF0aC1zZWxlY3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvdmFsdWUtcGF0aC1zZWxlY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsRUFBYyxZQUFZLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3RixPQUFPLEVBS0wsYUFBYSxHQUVkLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFdkMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFFBQVEsQ0FBQzs7OztBQUsvQixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsY0FBYztJQVMxRCxZQUNxQixVQUFzQixFQUN0QixhQUE0QjtRQUUvQyxLQUFLLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBSGQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQU56QyxXQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUNwQyw4QkFBeUIsR0FBRyxJQUFJLGVBQWUsQ0FBNkIsSUFBSSxDQUFDLENBQUM7UUFDekUsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBT25ELElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVNLDBCQUEwQixD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QUMsT0FBd0IsRUFBRSxJQUFtQjtRQUNoRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07WUFBRSxPQUFPO1FBRTVCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUN6QyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDZCxHQUFHLEdBQUc7WUFDTixDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQXFCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQzthQUN0RjtTQUNGLENBQUMsRUFDRixFQUFFLENBQ0gsQ0FBQztRQUVGLE1BQU0sU0FBUyxHQUEyQjtZQUN4QyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFO2dCQUM5QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxhQUFhO2FBQy9CO1NBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQzsrR0FySVUsd0JBQXdCO21IQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTs7NEZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtJbmplY3RhYmxlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYXNlQXBpU2VydmljZSwgQ29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIGludGVydmFsLCBtYXAsIG9mLCB0YWtlLCB0YXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgVmFsdWVQYXRoSXRlbSxcbiAgVmFsdWVQYXRoUmVzcG9uc2UsXG4gIFZhbHVlUGF0aFNlbGVjdG9yQ2FjaGUsXG4gIFZhbHVlUGF0aFNlbGVjdG9yUHJlZml4LFxuICBWYWx1ZVBhdGhUeXBlLFxuICBWYWx1ZVBhdGhWZXJzaW9uQXJndW1lbnQsXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge2RlZXBtZXJnZX0gZnJvbSAnZGVlcG1lcmdlLXRzJztcbmltcG9ydCB7RG9jdW1lbnREZWZpbml0aW9uc30gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtpc0VxdWFsfSBmcm9tICdsb2Rhc2gnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVmFsdWVQYXRoU2VsZWN0b3JTZXJ2aWNlIGV4dGVuZHMgQmFzZUFwaVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9wcmVmaXhlczogVmFsdWVQYXRoU2VsZWN0b3JQcmVmaXhbXTtcbiAgcHJpdmF0ZSBfZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIF92ZXJzaW9uOiBWYWx1ZVBhdGhWZXJzaW9uQXJndW1lbnQ7XG5cbiAgcHJpdmF0ZSBfY2FjaGU6IFZhbHVlUGF0aFNlbGVjdG9yQ2FjaGUgPSB7fTtcbiAgcHJpdmF0ZSBfZG9jdW1lbnREZWZpbml0aW9uQ2FjaGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEb2N1bWVudERlZmluaXRpb25zIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoaHR0cENsaWVudCwgY29uZmlnU2VydmljZSk7XG4gICAgdGhpcy5vcGVuQ2xlYXJDYWNoZVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREb2N1bWVudERlZmluaXRpb25DYWNoZShjYWNoZTogRG9jdW1lbnREZWZpbml0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuX2RvY3VtZW50RGVmaW5pdGlvbkNhY2hlJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjdXJyZW50Q2FjaGUgPT4ge1xuICAgICAgaWYgKCFpc0VxdWFsKGNhY2hlLCBjdXJyZW50Q2FjaGUpKSB0aGlzLl9kb2N1bWVudERlZmluaXRpb25DYWNoZSQubmV4dChjYWNoZSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RG9jdW1lbnREZWZpbml0aW9uQ2FjaGUoKTogT2JzZXJ2YWJsZTxEb2N1bWVudERlZmluaXRpb25zIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLl9kb2N1bWVudERlZmluaXRpb25DYWNoZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVzb2x2YWJsZUtleXMoXG4gICAgcHJlZml4ZXM6IFZhbHVlUGF0aFNlbGVjdG9yUHJlZml4W10sXG4gICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nLFxuICAgIHR5cGU6IFZhbHVlUGF0aFR5cGUgPSBWYWx1ZVBhdGhUeXBlLkZJRUxELFxuICAgIHZlcnNpb246IFZhbHVlUGF0aFZlcnNpb25Bcmd1bWVudCA9ICdsYXRlc3QnXG4gICk6IE9ic2VydmFibGU8VmFsdWVQYXRoSXRlbVtdPiB7XG4gICAgdGhpcy5fcHJlZml4ZXMgPSBwcmVmaXhlcztcbiAgICB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lID0gZG9jdW1lbnREZWZpbml0aW9uTmFtZTtcbiAgICB0aGlzLl92ZXJzaW9uID0gdmVyc2lvbjtcblxuICAgIGNvbnN0IHVybCA9XG4gICAgICB0eXBlb2YgdmVyc2lvbiAhPT0gJ251bWJlcidcbiAgICAgICAgPyBgL21hbmFnZW1lbnQvdjIvdmFsdWUtcmVzb2x2ZXIvZG9jdW1lbnQtZGVmaW5pdGlvbi8ke2RvY3VtZW50RGVmaW5pdGlvbk5hbWV9L2tleXNgXG4gICAgICAgIDogYC9tYW5hZ2VtZW50L3YyL3ZhbHVlLXJlc29sdmVyL2RvY3VtZW50LWRlZmluaXRpb24vJHtkb2N1bWVudERlZmluaXRpb25OYW1lfS92ZXJzaW9uLyR7dmVyc2lvbn0va2V5c2A7XG5cbiAgICBjb25zdCBwcmVmaXhlc1dpdGhvdXRDYWNoZTogVmFsdWVQYXRoU2VsZWN0b3JQcmVmaXhbXSA9IHByZWZpeGVzLmZpbHRlcihcbiAgICAgIChwcmVmaXg6IFZhbHVlUGF0aFNlbGVjdG9yUHJlZml4KSA9PiAhdGhpcy5nZXRDYWNoZVJlc3VsdChwcmVmaXgsIHR5cGUpXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICBwcmVmaXhlc1dpdGhvdXRDYWNoZS5sZW5ndGggPiAwXG4gICAgICAgID8gdGhpcy5odHRwQ2xpZW50LnBvc3Q8VmFsdWVQYXRoUmVzcG9uc2VbXT4odGhpcy5nZXRBcGlVcmwodXJsKSwge1xuICAgICAgICAgICAgcHJlZml4ZXM6IHByZWZpeGVzV2l0aG91dENhY2hlLFxuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICB9KVxuICAgICAgICA6IG9mKFtdKVxuICAgICkucGlwZShcbiAgICAgIHRhcCgocmVzdWx0czogVmFsdWVQYXRoUmVzcG9uc2VbXSkgPT4ge1xuICAgICAgICBpZiAodHlwZSA9PT0gVmFsdWVQYXRoVHlwZS5GSUVMRClcbiAgICAgICAgICB0aGlzLmNhY2hlTWFwcGluZyhcbiAgICAgICAgICAgIHJlc3VsdHMubWFwKChyZXN1bHQ6IFZhbHVlUGF0aFJlc3BvbnNlKSA9PiAoe3BhdGg6IHJlc3VsdC5wYXRofSkpLFxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB0aGlzLmNhY2hlTWFwcGluZyhcbiAgICAgICAgICAgIHJlc3VsdHMucmVkdWNlKChhY2MsIGN1cnIpID0+IFsuLi5hY2MsIC4uLnRoaXMubWFwQ29sbGVjdGlvbkl0ZW0oY3VycildLCBbXSksXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKCgpID0+XG4gICAgICAgIHByZWZpeGVzLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiBbLi4uYWNjLCAuLi4odGhpcy5nZXRDYWNoZVJlc3VsdChjdXJyLCB0eXBlKSA/PyBbXSldLCBbXSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuQ2xlYXJDYWNoZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGludGVydmFsKDYwICogMTAwMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fY2FjaGUgPSB7fTtcbiAgICAgICAgdGhpcy5fZG9jdW1lbnREZWZpbml0aW9uQ2FjaGUkLm5leHQobnVsbCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldENhY2hlUmVzdWx0KFxuICAgIHByZWZpeDogVmFsdWVQYXRoU2VsZWN0b3JQcmVmaXgsXG4gICAgdHlwZTogVmFsdWVQYXRoVHlwZVxuICApOiBWYWx1ZVBhdGhJdGVtW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9jYWNoZVt0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lXT8uW3RoaXMuX3ZlcnNpb25dPy5bcHJlZml4XT8uW3R5cGVdO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBDb2xsZWN0aW9uSXRlbShpdGVtOiBWYWx1ZVBhdGhSZXNwb25zZSwgcGFyZW50UGF0aD86IHN0cmluZyk6IFZhbHVlUGF0aEl0ZW1bXSB7XG4gICAgY29uc3QgZmllbGRDaGlsZHJlbiA9IFtdO1xuICAgIGNvbnN0IGNvbGxlY3Rpb25DaGlsZHJlbiA9IFtdO1xuXG4gICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZDogVmFsdWVQYXRoUmVzcG9uc2UpID0+IHtcbiAgICAgIGlmIChjaGlsZC50eXBlID09PSBWYWx1ZVBhdGhUeXBlLkZJRUxEKSBmaWVsZENoaWxkcmVuLnB1c2goY2hpbGQpO1xuICAgICAgZWxzZSBjb2xsZWN0aW9uQ2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtwYXJlbnRQYXRoID8/ICcnfSR7aXRlbS5wYXRofWAsXG4gICAgICAgIGNoaWxkcmVuOiBmaWVsZENoaWxkcmVuLm1hcCgoY2hpbGQ6IFZhbHVlUGF0aFJlc3BvbnNlKSA9PiBjaGlsZC5wYXRoKSxcbiAgICAgIH0sXG4gICAgICAuLi5jb2xsZWN0aW9uQ2hpbGRyZW4ucmVkdWNlKFxuICAgICAgICAoYWNjLCBjdXJyKSA9PiBbLi4uYWNjLCAuLi50aGlzLm1hcENvbGxlY3Rpb25JdGVtKGN1cnIsIGAke3BhcmVudFBhdGggPz8gJyd9JHtpdGVtLnBhdGh9YCldLFxuICAgICAgICBbXVxuICAgICAgKSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWNoZU1hcHBpbmcocmVzdWx0czogVmFsdWVQYXRoSXRlbVtdLCB0eXBlOiBWYWx1ZVBhdGhUeXBlKTogdm9pZCB7XG4gICAgaWYgKCFyZXN1bHRzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgY29uc3QgcHJlZml4UmVzdWx0cyA9IHRoaXMuX3ByZWZpeGVzLnJlZHVjZShcbiAgICAgIChhY2MsIGN1cnIpID0+ICh7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgW2N1cnJdOiB7XG4gICAgICAgICAgW3R5cGVdOiByZXN1bHRzLmZpbHRlcigocmVzdWx0OiBWYWx1ZVBhdGhJdGVtKSA9PiByZXN1bHQucGF0aC5zcGxpdCgnOicpWzBdID09PSBjdXJyKSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xuXG4gICAgY29uc3QgdGVtcENhY2hlOiBWYWx1ZVBhdGhTZWxlY3RvckNhY2hlID0ge1xuICAgICAgW3RoaXMuX2RvY3VtZW50RGVmaW5pdGlvbk5hbWVdOiB7XG4gICAgICAgIFt0aGlzLl92ZXJzaW9uXTogcHJlZml4UmVzdWx0cyxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHRoaXMuX2NhY2hlID0gZGVlcG1lcmdlKHRoaXMuX2NhY2hlLCB0ZW1wQ2FjaGUpO1xuICB9XG59XG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtcGF0aC1zZWxlY3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvdmFsdWUtcGF0aC1zZWxlY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsRUFBYyxZQUFZLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3RixPQUFPLEVBS0wsYUFBYSxHQUVkLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFdkMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFFBQVEsQ0FBQzs7OztBQUsvQixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsY0FBYztJQVMxRCxZQUNxQixVQUFzQixFQUN0QixhQUE0QjtRQUUvQyxLQUFLLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBSGQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQU56QyxXQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUNwQyw4QkFBeUIsR0FBRyxJQUFJLGVBQWUsQ0FBNkIsSUFBSSxDQUFDLENBQUM7UUFDekUsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBT25ELElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVNLDBCQUEwQixD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LE1BQXlCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUM7K0dBaEpVLHdCQUF3QjttSEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07OzRGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmFzZUFwaVNlcnZpY2UsIENvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBpbnRlcnZhbCwgbWFwLCBvZiwgdGFrZSwgdGFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIFZhbHVlUGF0aEl0ZW0sXG4gIFZhbHVlUGF0aFJlc3BvbnNlLFxuICBWYWx1ZVBhdGhTZWxlY3RvckNhY2hlLFxuICBWYWx1ZVBhdGhTZWxlY3RvclByZWZpeCxcbiAgVmFsdWVQYXRoVHlwZSxcbiAgVmFsdWVQYXRoVmVyc2lvbkFyZ3VtZW50LFxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHtkZWVwbWVyZ2V9IGZyb20gJ2RlZXBtZXJnZS10cyc7XG5pbXBvcnQge0RvY3VtZW50RGVmaW5pdGlvbnN9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7aXNFcXVhbH0gZnJvbSAnbG9kYXNoJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFZhbHVlUGF0aFNlbGVjdG9yU2VydmljZSBleHRlbmRzIEJhc2VBcGlTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfcHJlZml4ZXM6IChWYWx1ZVBhdGhTZWxlY3RvclByZWZpeCB8IHN0cmluZylbXTtcbiAgcHJpdmF0ZSBfZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIF92ZXJzaW9uOiBWYWx1ZVBhdGhWZXJzaW9uQXJndW1lbnQ7XG5cbiAgcHJpdmF0ZSBfY2FjaGU6IFZhbHVlUGF0aFNlbGVjdG9yQ2FjaGUgPSB7fTtcbiAgcHJpdmF0ZSBfZG9jdW1lbnREZWZpbml0aW9uQ2FjaGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEb2N1bWVudERlZmluaXRpb25zIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoaHR0cENsaWVudCwgY29uZmlnU2VydmljZSk7XG4gICAgdGhpcy5vcGVuQ2xlYXJDYWNoZVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREb2N1bWVudERlZmluaXRpb25DYWNoZShjYWNoZTogRG9jdW1lbnREZWZpbml0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuX2RvY3VtZW50RGVmaW5pdGlvbkNhY2hlJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjdXJyZW50Q2FjaGUgPT4ge1xuICAgICAgaWYgKCFpc0VxdWFsKGNhY2hlLCBjdXJyZW50Q2FjaGUpKSB0aGlzLl9kb2N1bWVudERlZmluaXRpb25DYWNoZSQubmV4dChjYWNoZSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RG9jdW1lbnREZWZpbml0aW9uQ2FjaGUoKTogT2JzZXJ2YWJsZTxEb2N1bWVudERlZmluaXRpb25zIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLl9kb2N1bWVudERlZmluaXRpb25DYWNoZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVzb2x2YWJsZUtleXMoXG4gICAgcHJlZml4ZXM6IFZhbHVlUGF0aFNlbGVjdG9yUHJlZml4W10sXG4gICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nLFxuICAgIHR5cGU6IFZhbHVlUGF0aFR5cGUgPSBWYWx1ZVBhdGhUeXBlLkZJRUxELFxuICAgIHZlcnNpb246IFZhbHVlUGF0aFZlcnNpb25Bcmd1bWVudCA9ICdsYXRlc3QnXG4gICk6IE9ic2VydmFibGU8VmFsdWVQYXRoSXRlbVtdPiB7XG4gICAgdGhpcy5fcHJlZml4ZXMgPSBwcmVmaXhlcztcbiAgICB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lID0gZG9jdW1lbnREZWZpbml0aW9uTmFtZTtcbiAgICB0aGlzLl92ZXJzaW9uID0gdmVyc2lvbjtcblxuICAgIGNvbnN0IHVybCA9XG4gICAgICB0eXBlb2YgdmVyc2lvbiAhPT0gJ251bWJlcidcbiAgICAgICAgPyBgL21hbmFnZW1lbnQvdjIvdmFsdWUtcmVzb2x2ZXIvZG9jdW1lbnQtZGVmaW5pdGlvbi8ke2RvY3VtZW50RGVmaW5pdGlvbk5hbWV9L2tleXNgXG4gICAgICAgIDogYC9tYW5hZ2VtZW50L3YyL3ZhbHVlLXJlc29sdmVyL2RvY3VtZW50LWRlZmluaXRpb24vJHtkb2N1bWVudERlZmluaXRpb25OYW1lfS92ZXJzaW9uLyR7dmVyc2lvbn0va2V5c2A7XG5cbiAgICBjb25zdCBwcmVmaXhlc1dpdGhvdXRDYWNoZTogKFZhbHVlUGF0aFNlbGVjdG9yUHJlZml4IHwgc3RyaW5nKVtdID0gdGhpcy5fcHJlZml4ZXMuZmlsdGVyKFxuICAgICAgKHByZWZpeDogVmFsdWVQYXRoU2VsZWN0b3JQcmVmaXgpID0+ICF0aGlzLmdldENhY2hlUmVzdWx0KHByZWZpeCwgdHlwZSlcbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIHByZWZpeGVzV2l0aG91dENhY2hlLmxlbmd0aCA+IDAgfHwgdGhpcy5fcHJlZml4ZXMubGVuZ3RoID09PSAwXG4gICAgICAgID8gdGhpcy5odHRwQ2xpZW50LnBvc3Q8VmFsdWVQYXRoUmVzcG9uc2VbXT4odGhpcy5nZXRBcGlVcmwodXJsKSwge1xuICAgICAgICAgICAgcHJlZml4ZXM6IHByZWZpeGVzV2l0aG91dENhY2hlLFxuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICB9KVxuICAgICAgICA6IG9mKFtdKVxuICAgICkucGlwZShcbiAgICAgIHRhcCgocmVzdWx0czogVmFsdWVQYXRoUmVzcG9uc2VbXSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fcHJlZml4ZXMubGVuZ3RoID09PSAwKSB0aGlzLl9wcmVmaXhlcyA9IHRoaXMuZ2V0UHJlZml4ZXNGcm9tUmVzdWx0cyhyZXN1bHRzKTtcblxuICAgICAgICBpZiAodHlwZSA9PT0gVmFsdWVQYXRoVHlwZS5GSUVMRClcbiAgICAgICAgICB0aGlzLmNhY2hlTWFwcGluZyhcbiAgICAgICAgICAgIHJlc3VsdHMubWFwKChyZXN1bHQ6IFZhbHVlUGF0aFJlc3BvbnNlKSA9PiAoe3BhdGg6IHJlc3VsdC5wYXRofSkpLFxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB0aGlzLmNhY2hlTWFwcGluZyhcbiAgICAgICAgICAgIHJlc3VsdHMucmVkdWNlKChhY2MsIGN1cnIpID0+IFsuLi5hY2MsIC4uLnRoaXMubWFwQ29sbGVjdGlvbkl0ZW0oY3VycildLCBbXSksXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKCgpID0+XG4gICAgICAgIHRoaXMuX3ByZWZpeGVzLnJlZHVjZShcbiAgICAgICAgICAoYWNjLCBjdXJyKSA9PiBbLi4uYWNjLCAuLi4odGhpcy5nZXRDYWNoZVJlc3VsdChjdXJyLCB0eXBlKSA/PyBbXSldLFxuICAgICAgICAgIFtdXG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuQ2xlYXJDYWNoZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGludGVydmFsKDYwICogMTAwMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fY2FjaGUgPSB7fTtcbiAgICAgICAgdGhpcy5fZG9jdW1lbnREZWZpbml0aW9uQ2FjaGUkLm5leHQobnVsbCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldENhY2hlUmVzdWx0KFxuICAgIHByZWZpeDogVmFsdWVQYXRoU2VsZWN0b3JQcmVmaXggfCBzdHJpbmcsXG4gICAgdHlwZTogVmFsdWVQYXRoVHlwZVxuICApOiBWYWx1ZVBhdGhJdGVtW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9jYWNoZVt0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lXT8uW3RoaXMuX3ZlcnNpb25dPy5bcHJlZml4XT8uW3R5cGVdO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBDb2xsZWN0aW9uSXRlbShpdGVtOiBWYWx1ZVBhdGhSZXNwb25zZSwgcGFyZW50UGF0aD86IHN0cmluZyk6IFZhbHVlUGF0aEl0ZW1bXSB7XG4gICAgY29uc3QgZmllbGRDaGlsZHJlbiA9IFtdO1xuICAgIGNvbnN0IGNvbGxlY3Rpb25DaGlsZHJlbiA9IFtdO1xuXG4gICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZDogVmFsdWVQYXRoUmVzcG9uc2UpID0+IHtcbiAgICAgIGlmIChjaGlsZC50eXBlID09PSBWYWx1ZVBhdGhUeXBlLkZJRUxEKSBmaWVsZENoaWxkcmVuLnB1c2goY2hpbGQpO1xuICAgICAgZWxzZSBjb2xsZWN0aW9uQ2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtwYXJlbnRQYXRoID8/ICcnfSR7aXRlbS5wYXRofWAsXG4gICAgICAgIGNoaWxkcmVuOiBmaWVsZENoaWxkcmVuLm1hcCgoY2hpbGQ6IFZhbHVlUGF0aFJlc3BvbnNlKSA9PiBjaGlsZC5wYXRoKSxcbiAgICAgIH0sXG4gICAgICAuLi5jb2xsZWN0aW9uQ2hpbGRyZW4ucmVkdWNlKFxuICAgICAgICAoYWNjLCBjdXJyKSA9PiBbLi4uYWNjLCAuLi50aGlzLm1hcENvbGxlY3Rpb25JdGVtKGN1cnIsIGAke3BhcmVudFBhdGggPz8gJyd9JHtpdGVtLnBhdGh9YCldLFxuICAgICAgICBbXVxuICAgICAgKSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWNoZU1hcHBpbmcocmVzdWx0czogVmFsdWVQYXRoSXRlbVtdLCB0eXBlOiBWYWx1ZVBhdGhUeXBlKTogdm9pZCB7XG4gICAgaWYgKCFyZXN1bHRzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgY29uc3QgcHJlZml4UmVzdWx0cyA9IHRoaXMuX3ByZWZpeGVzLnJlZHVjZShcbiAgICAgIChhY2MsIGN1cnIpID0+ICh7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgLi4uKCF0aGlzLmdldENhY2hlUmVzdWx0KGN1cnIsIHR5cGUpICYmIHtcbiAgICAgICAgICBbY3Vycl06IHtcbiAgICAgICAgICAgIFt0eXBlXTogcmVzdWx0cy5maWx0ZXIoKHJlc3VsdDogVmFsdWVQYXRoSXRlbSkgPT4gcmVzdWx0LnBhdGguc3BsaXQoJzonKVswXSA9PT0gY3VyciksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICB9KSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGNvbnN0IHRlbXBDYWNoZTogVmFsdWVQYXRoU2VsZWN0b3JDYWNoZSA9IHtcbiAgICAgIFt0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lXToge1xuICAgICAgICBbdGhpcy5fdmVyc2lvbl06IHByZWZpeFJlc3VsdHMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICB0aGlzLl9jYWNoZSA9IGRlZXBtZXJnZSh0aGlzLl9jYWNoZSwgdGVtcENhY2hlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UHJlZml4ZXNGcm9tUmVzdWx0cyhyZXN1bHRzOiBWYWx1ZVBhdGhSZXNwb25zZVtdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbLi4ubmV3IFNldChyZXN1bHRzLm1hcCgocmVzdWx0OiBWYWx1ZVBhdGhSZXNwb25zZSkgPT4gcmVzdWx0LnBhdGguc3BsaXQoJzonKVswXSkpXTtcbiAgfVxufVxuIl19
@@ -1671,6 +1671,9 @@ class PageHeaderService {
1671
1671
  get compactMode$() {
1672
1672
  return this._compactMode$.asObservable();
1673
1673
  }
1674
+ get smallTitle$() {
1675
+ return this._smallTitle$.asObservable();
1676
+ }
1674
1677
  get showUserNameInTopBar$() {
1675
1678
  return this._showUserNameInTopBar$.asObservable();
1676
1679
  }
@@ -1688,6 +1691,7 @@ class PageHeaderService {
1688
1691
  this._showUserNameInTopBar$ = new BehaviorSubject(this.getDefaultShowUserNameInTopBarValue());
1689
1692
  this._pageActionsHasContent$ = new BehaviorSubject(false);
1690
1693
  this._pageHeadHeight$ = new BehaviorSubject(null);
1694
+ this._smallTitle$ = new BehaviorSubject(false);
1691
1695
  }
1692
1696
  setHeaderViewContainerRef(ref) {
1693
1697
  this._headerViewContainerRef$.next(ref);
@@ -1707,6 +1711,12 @@ class PageHeaderService {
1707
1711
  setPageHeadHeight(height) {
1708
1712
  this._pageHeadHeight$.next(height);
1709
1713
  }
1714
+ enableSmallTitle() {
1715
+ this._smallTitle$.next(true);
1716
+ }
1717
+ disableSmallTitle() {
1718
+ this._smallTitle$.next(false);
1719
+ }
1710
1720
  getDefaultShowUserNameInTopBarValue() {
1711
1721
  const featureToggles = this.configService?.config?.featureToggles;
1712
1722
  if (featureToggles && featureToggles.hasOwnProperty('showUserNameInTopBar')) {
@@ -2119,18 +2129,20 @@ class ValuePathSelectorService extends BaseApiService {
2119
2129
  const url = typeof version !== 'number'
2120
2130
  ? `/management/v2/value-resolver/document-definition/${documentDefinitionName}/keys`
2121
2131
  : `/management/v2/value-resolver/document-definition/${documentDefinitionName}/version/${version}/keys`;
2122
- const prefixesWithoutCache = prefixes.filter((prefix) => !this.getCacheResult(prefix, type));
2123
- return (prefixesWithoutCache.length > 0
2132
+ const prefixesWithoutCache = this._prefixes.filter((prefix) => !this.getCacheResult(prefix, type));
2133
+ return (prefixesWithoutCache.length > 0 || this._prefixes.length === 0
2124
2134
  ? this.httpClient.post(this.getApiUrl(url), {
2125
2135
  prefixes: prefixesWithoutCache,
2126
2136
  type,
2127
2137
  })
2128
2138
  : of([])).pipe(tap$1((results) => {
2139
+ if (this._prefixes.length === 0)
2140
+ this._prefixes = this.getPrefixesFromResults(results);
2129
2141
  if (type === ValuePathType.FIELD)
2130
2142
  this.cacheMapping(results.map((result) => ({ path: result.path })), type);
2131
2143
  else
2132
2144
  this.cacheMapping(results.reduce((acc, curr) => [...acc, ...this.mapCollectionItem(curr)], []), type);
2133
- }), map(() => prefixes.reduce((acc, curr) => [...acc, ...(this.getCacheResult(curr, type) ?? [])], [])));
2145
+ }), map(() => this._prefixes.reduce((acc, curr) => [...acc, ...(this.getCacheResult(curr, type) ?? [])], [])));
2134
2146
  }
2135
2147
  openClearCacheSubscription() {
2136
2148
  this._subscriptions.add(interval(60 * 1000).subscribe(() => {
@@ -2163,9 +2175,11 @@ class ValuePathSelectorService extends BaseApiService {
2163
2175
  return;
2164
2176
  const prefixResults = this._prefixes.reduce((acc, curr) => ({
2165
2177
  ...acc,
2166
- [curr]: {
2167
- [type]: results.filter((result) => result.path.split(':')[0] === curr),
2168
- },
2178
+ ...(!this.getCacheResult(curr, type) && {
2179
+ [curr]: {
2180
+ [type]: results.filter((result) => result.path.split(':')[0] === curr),
2181
+ },
2182
+ }),
2169
2183
  }), {});
2170
2184
  const tempCache = {
2171
2185
  [this._documentDefinitionName]: {
@@ -2174,6 +2188,9 @@ class ValuePathSelectorService extends BaseApiService {
2174
2188
  };
2175
2189
  this._cache = deepmerge(this._cache, tempCache);
2176
2190
  }
2191
+ getPrefixesFromResults(results) {
2192
+ return [...new Set(results.map((result) => result.path.split(':')[0]))];
2193
+ }
2177
2194
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorService, deps: [{ token: i1$1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2178
2195
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorService, providedIn: 'root' }); }
2179
2196
  }
@@ -4417,6 +4434,7 @@ class PageTitleComponent {
4417
4434
  this.customPageTitle$ = this.pageTitleService.customPageTitle$;
4418
4435
  this.customPageTitleSet$ = this.pageTitleService.customPageTitleSet$;
4419
4436
  this.translatedTitle$ = new BehaviorSubject('');
4437
+ this.smallTitle$ = this.pageHeaderService.smallTitle$;
4420
4438
  this.appTitleAsSuffix = this.configService?.config?.featureToggles?.applicationTitleAsSuffix || false;
4421
4439
  this._subscriptions = new Subscription();
4422
4440
  this._hidePageTitle$ = this.router.events.pipe(startWith(this.router), switchMap(() => this.activatedRoute.firstChild.data), map(data => !!data?.hidePageTitle), tap$1(hidden => this.pageTitleService.setPageTitleHidden(hidden)));
@@ -4476,11 +4494,11 @@ class PageTitleComponent {
4476
4494
  }));
4477
4495
  }
4478
4496
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: i5.Title }, { token: i1.TranslateService }, { token: i4.NGXLogger }, { token: i2.ConfigService }, { token: PageTitleService }, { token: PageHeaderService }, { token: PageSubtitleService }], target: i0.ɵɵFactoryTarget.Component }); }
4479
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PageTitleComponent, selector: "valtimo-page-title", host: { properties: { "class.valtimo-page-title--compact": "this.isCompact" } }, viewQueries: [{ propertyName: "_subtitleVcr", first: true, predicate: ["subtitleVcr"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n [ngClass]=\"{'--no-margin': hidePageTitle || isCompact, '--compact': isCompact}\"\n class=\"page-title-container\"\n>\n <ng-container\n *ngIf=\"\n hidePageTitle === false && {\n title: translatedTitle$ | async,\n hasCustomPageTitle: hasCustomPageTitle$ | async,\n customPageTitle: customPageTitle$ | async,\n customPageTitleSet: customPageTitleSet$ | async,\n } as obs\n \"\n >\n <div\n class=\"skeleton-container\"\n *ngIf=\"obs.hasCustomPageTitle && !obs.customPageTitleSet\"\n [ngClass]=\"{'--compact': isCompact}\"\n >\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <ng-container *ngIf=\"obs.hasCustomPageTitle ? obs.customPageTitleSet : obs.title !== ''\">\n @if (!isCompact) {\n <h2 [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\" class=\"page-title\">\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </h2>\n } @else {\n <span\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"cds--breadcrumb compact-page-title\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </span>\n }\n </ng-container>\n </ng-container>\n\n <ng-container #subtitleVcr></ng-container>\n</div>\n", styles: [".page-title-container{display:flex;flex-direction:row;align-items:flex-end}.page-title-container.--no-margin{margin-bottom:0}.page-title-container.--compact{align-items:center}.page-title-container .page-title{flex-shrink:0;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title-container .compact-page-title{margin-left:8px;flex-shrink:0}.page-title-container .skeleton-container .cds--skeleton__placeholder{width:200px;height:40px}.page-title-container .skeleton-container.--compact{width:60px;height:18px;overflow:hidden;margin-left:8px}.valtimo-page-title--compact{width:100%}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SkeletonPlaceholder, selector: "cds-skeleton-placeholder, ibm-skeleton-placeholder" }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
4497
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PageTitleComponent, selector: "valtimo-page-title", host: { properties: { "class.valtimo-page-title--compact": "this.isCompact" } }, viewQueries: [{ propertyName: "_subtitleVcr", first: true, predicate: ["subtitleVcr"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"page-title-container\"\n [ngClass]=\"{\n 'page-title-container--no-margin': hidePageTitle || isCompact,\n 'page-title-container--compact': isCompact,\n }\"\n>\n <ng-container\n *ngIf=\"\n hidePageTitle === false && {\n title: translatedTitle$ | async,\n hasCustomPageTitle: hasCustomPageTitle$ | async,\n customPageTitle: customPageTitle$ | async,\n customPageTitleSet: customPageTitleSet$ | async,\n } as obs\n \"\n >\n <div\n class=\"skeleton-container\"\n *ngIf=\"obs.hasCustomPageTitle && !obs.customPageTitleSet\"\n [ngClass]=\"{'skeleton-container--compact': isCompact}\"\n >\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <ng-container *ngIf=\"obs.hasCustomPageTitle ? obs.customPageTitleSet : obs.title !== ''\">\n @if (!isCompact) {\n <h2\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"page-title\"\n [ngClass]=\"{'page-title--small-title': smallTitle$ | async}\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </h2>\n } @else {\n <span\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"cds--breadcrumb compact-page-title\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </span>\n }\n </ng-container>\n </ng-container>\n\n <ng-container #subtitleVcr></ng-container>\n</div>\n", styles: [".page-title-container{display:flex;flex-direction:row;align-items:flex-end}.page-title-container--no-margin{margin-bottom:0}.page-title-container--compact{align-items:center}.page-title-container .page-title{flex-shrink:0;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title-container .page-title--small-title{font-size:var(--cds-body-compact-01-font-size, .875rem);font-weight:var(--cds-body-compact-01-font-weight, 400);line-height:var(--cds-body-compact-01-line-height, 1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing, .16px)}.page-title-container .compact-page-title{margin-left:8px;flex-shrink:0}.page-title-container .skeleton-container .cds--skeleton__placeholder{width:200px;height:40px}.page-title-container .skeleton-container--compact{width:60px;height:18px;overflow:hidden;margin-left:8px}.valtimo-page-title--compact{width:100%}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SkeletonPlaceholder, selector: "cds-skeleton-placeholder, ibm-skeleton-placeholder" }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
4480
4498
  }
4481
4499
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleComponent, decorators: [{
4482
4500
  type: Component,
4483
- args: [{ selector: 'valtimo-page-title', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n [ngClass]=\"{'--no-margin': hidePageTitle || isCompact, '--compact': isCompact}\"\n class=\"page-title-container\"\n>\n <ng-container\n *ngIf=\"\n hidePageTitle === false && {\n title: translatedTitle$ | async,\n hasCustomPageTitle: hasCustomPageTitle$ | async,\n customPageTitle: customPageTitle$ | async,\n customPageTitleSet: customPageTitleSet$ | async,\n } as obs\n \"\n >\n <div\n class=\"skeleton-container\"\n *ngIf=\"obs.hasCustomPageTitle && !obs.customPageTitleSet\"\n [ngClass]=\"{'--compact': isCompact}\"\n >\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <ng-container *ngIf=\"obs.hasCustomPageTitle ? obs.customPageTitleSet : obs.title !== ''\">\n @if (!isCompact) {\n <h2 [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\" class=\"page-title\">\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </h2>\n } @else {\n <span\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"cds--breadcrumb compact-page-title\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </span>\n }\n </ng-container>\n </ng-container>\n\n <ng-container #subtitleVcr></ng-container>\n</div>\n", styles: [".page-title-container{display:flex;flex-direction:row;align-items:flex-end}.page-title-container.--no-margin{margin-bottom:0}.page-title-container.--compact{align-items:center}.page-title-container .page-title{flex-shrink:0;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title-container .compact-page-title{margin-left:8px;flex-shrink:0}.page-title-container .skeleton-container .cds--skeleton__placeholder{width:200px;height:40px}.page-title-container .skeleton-container.--compact{width:60px;height:18px;overflow:hidden;margin-left:8px}.valtimo-page-title--compact{width:100%}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
4501
+ args: [{ selector: 'valtimo-page-title', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"page-title-container\"\n [ngClass]=\"{\n 'page-title-container--no-margin': hidePageTitle || isCompact,\n 'page-title-container--compact': isCompact,\n }\"\n>\n <ng-container\n *ngIf=\"\n hidePageTitle === false && {\n title: translatedTitle$ | async,\n hasCustomPageTitle: hasCustomPageTitle$ | async,\n customPageTitle: customPageTitle$ | async,\n customPageTitleSet: customPageTitleSet$ | async,\n } as obs\n \"\n >\n <div\n class=\"skeleton-container\"\n *ngIf=\"obs.hasCustomPageTitle && !obs.customPageTitleSet\"\n [ngClass]=\"{'skeleton-container--compact': isCompact}\"\n >\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <ng-container *ngIf=\"obs.hasCustomPageTitle ? obs.customPageTitleSet : obs.title !== ''\">\n @if (!isCompact) {\n <h2\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"page-title\"\n [ngClass]=\"{'page-title--small-title': smallTitle$ | async}\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </h2>\n } @else {\n <span\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"cds--breadcrumb compact-page-title\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </span>\n }\n </ng-container>\n </ng-container>\n\n <ng-container #subtitleVcr></ng-container>\n</div>\n", styles: [".page-title-container{display:flex;flex-direction:row;align-items:flex-end}.page-title-container--no-margin{margin-bottom:0}.page-title-container--compact{align-items:center}.page-title-container .page-title{flex-shrink:0;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title-container .page-title--small-title{font-size:var(--cds-body-compact-01-font-size, .875rem);font-weight:var(--cds-body-compact-01-font-weight, 400);line-height:var(--cds-body-compact-01-line-height, 1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing, .16px)}.page-title-container .compact-page-title{margin-left:8px;flex-shrink:0}.page-title-container .skeleton-container .cds--skeleton__placeholder{width:200px;height:40px}.page-title-container .skeleton-container--compact{width:60px;height:18px;overflow:hidden;margin-left:8px}.valtimo-page-title--compact{width:100%}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
4484
4502
  }], ctorParameters: () => [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }, { type: i5.Title }, { type: i1.TranslateService }, { type: i4.NGXLogger }, { type: i2.ConfigService }, { type: PageTitleService }, { type: PageHeaderService }, { type: PageSubtitleService }], propDecorators: { isCompact: [{
4485
4503
  type: HostBinding,
4486
4504
  args: ['class.valtimo-page-title--compact']
@@ -5271,37 +5289,58 @@ class ValtimoCdsModalDirective {
5271
5289
  this.document = document;
5272
5290
  this.elementRef = elementRef;
5273
5291
  this.renderer = renderer;
5274
- this.attributeMutation = (mutation) => {
5275
- const OPEN_ATTRIBUTE_NAME = 'ng-reflect-open';
5276
- if (mutation.attributeName === OPEN_ATTRIBUTE_NAME) {
5277
- const open = this.elementRef.nativeElement.getAttribute(OPEN_ATTRIBUTE_NAME);
5278
- if (typeof open === 'string') {
5279
- if (open === 'true') {
5280
- this.setStyle();
5281
- }
5282
- else if (open === 'false') {
5283
- this.removeStyle();
5284
- }
5285
- }
5286
- }
5287
- };
5288
- this._mutationObserver = new MutationObserver((mutations) => {
5289
- mutations.forEach((mutation) => this.attributeMutation(mutation));
5290
- });
5292
+ this.enableOverflow = false;
5291
5293
  }
5292
5294
  ngAfterViewInit() {
5295
+ this._mutationObserver = new MutationObserver((mutations) => {
5296
+ this.handleMutations(mutations);
5297
+ });
5293
5298
  this._mutationObserver.observe(this.elementRef.nativeElement, {
5294
5299
  attributes: true,
5300
+ childList: true,
5301
+ subtree: true,
5295
5302
  });
5303
+ const open = this.elementRef.nativeElement.getAttribute('ng-reflect-open');
5304
+ if (open === 'true') {
5305
+ this.applyDocumentOverflowHidden();
5306
+ }
5307
+ this.applyOverflowToModalElements();
5296
5308
  }
5297
5309
  ngOnDestroy() {
5298
5310
  this._mutationObserver.disconnect();
5299
5311
  }
5300
- setStyle() {
5312
+ handleMutations(mutations) {
5313
+ const OPEN_ATTRIBUTE_NAME = 'ng-reflect-open';
5314
+ for (const mutation of mutations) {
5315
+ if (mutation.type === 'attributes' && mutation.attributeName === OPEN_ATTRIBUTE_NAME) {
5316
+ const open = this.elementRef.nativeElement.getAttribute(OPEN_ATTRIBUTE_NAME);
5317
+ if (open === 'true') {
5318
+ this.applyDocumentOverflowHidden();
5319
+ }
5320
+ else if (open === 'false') {
5321
+ this.removeDocumentOverflowHidden();
5322
+ }
5323
+ }
5324
+ }
5325
+ this.applyOverflowToModalElements();
5326
+ }
5327
+ applyDocumentOverflowHidden() {
5301
5328
  this.renderer.setStyle(this.document.body, 'overflow', 'hidden', RendererStyleFlags2.Important);
5302
5329
  this.renderer.setStyle(this.document.documentElement, 'overflow', 'hidden', RendererStyleFlags2.Important);
5303
5330
  this.preventModalCloseButtonTooltip();
5304
5331
  }
5332
+ removeDocumentOverflowHidden() {
5333
+ this.renderer.removeStyle(this.document.body, 'overflow');
5334
+ this.renderer.removeStyle(this.document.documentElement, 'overflow');
5335
+ }
5336
+ applyOverflowToModalElements() {
5337
+ if (!this.enableOverflow)
5338
+ return;
5339
+ const modalContainerElements = this.document.querySelectorAll('.cds--modal-container');
5340
+ modalContainerElements.forEach((el) => {
5341
+ this.renderer.setStyle(el, 'max-height', 'calc(100vh - 64px)', RendererStyleFlags2.Important);
5342
+ });
5343
+ }
5305
5344
  preventModalCloseButtonTooltip() {
5306
5345
  const modalElement = this.elementRef.nativeElement;
5307
5346
  const closeButton = modalElement.querySelector('.cds--modal-close');
@@ -5321,20 +5360,20 @@ class ValtimoCdsModalDirective {
5321
5360
  };
5322
5361
  requestAnimationFrame(blurIfFocused);
5323
5362
  }
5324
- removeStyle() {
5325
- this.renderer.removeStyle(this.document.body, 'overflow');
5326
- this.renderer.removeStyle(this.document.documentElement, 'overflow');
5327
- }
5328
5363
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValtimoCdsModalDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
5329
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", ngImport: i0 }); }
5364
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: { enableOverflow: "enableOverflow" }, ngImport: i0 }); }
5330
5365
  }
5331
5366
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValtimoCdsModalDirective, decorators: [{
5332
5367
  type: Directive,
5333
- args: [{ selector: '[valtimoCdsModal]' }]
5368
+ args: [{
5369
+ selector: '[valtimoCdsModal]',
5370
+ }]
5334
5371
  }], ctorParameters: () => [{ type: Document, decorators: [{
5335
5372
  type: Inject,
5336
5373
  args: [DOCUMENT]
5337
- }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }] });
5374
+ }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { enableOverflow: [{
5375
+ type: Input
5376
+ }] } });
5338
5377
 
5339
5378
  class CarbonTagsModalComponent {
5340
5379
  constructor() {
@@ -5352,7 +5391,7 @@ class CarbonTagsModalComponent {
5352
5391
  this.closeEvent.emit();
5353
5392
  }
5354
5393
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonTagsModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5355
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CarbonTagsModalComponent, selector: "valtimo-tags-modal", inputs: { open: "open", tags: "tags" }, outputs: { closeEvent: "closeEvent" }, ngImport: i0, template: "<cds-modal valtimoCdsModal [title]=\"'interface.tags' | translate\" size=\"xs\" [open]=\"open\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\">\n <h3 cdsModalHeading>{{ 'interface.tags' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent class=\"valtimo-tags-modal__content\">\n <div class=\"valtimo-tags-modal__container\">\n @for (tag of tags; track tag.content) {\n <cds-tag [type]=\"tag.type\">\n {{ tag.content }}\n </cds-tag>\n }\n </div>\n </section>\n</cds-modal>\n", styles: [".valtimo-tags-modal__content{max-height:300px}.valtimo-tags-modal__container{width:100%;max-height:100%;overflow:auto;background:var(--cds-layer-02);padding:16px;border-radius:8px}.valtimo-tags-modal__container>*:first-child{margin-left:0!important}\n"], dependencies: [{ kind: "component", type: i3.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }, { kind: "component", type: i3.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i3.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "directive", type: i3.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5394
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CarbonTagsModalComponent, selector: "valtimo-tags-modal", inputs: { open: "open", tags: "tags" }, outputs: { closeEvent: "closeEvent" }, ngImport: i0, template: "<cds-modal valtimoCdsModal [title]=\"'interface.tags' | translate\" size=\"xs\" [open]=\"open\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\">\n <h3 cdsModalHeading>{{ 'interface.tags' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent class=\"valtimo-tags-modal__content\">\n <div class=\"valtimo-tags-modal__container\">\n @for (tag of tags; track tag.content) {\n <cds-tag [type]=\"tag.type\">\n {{ tag.content }}\n </cds-tag>\n }\n </div>\n </section>\n</cds-modal>\n", styles: [".valtimo-tags-modal__content{max-height:300px}.valtimo-tags-modal__container{width:100%;max-height:100%;overflow:auto;background:var(--cds-layer-02);padding:16px;border-radius:8px}.valtimo-tags-modal__container>*:first-child{margin-left:0!important}\n"], dependencies: [{ kind: "component", type: i3.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }, { kind: "component", type: i3.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i3.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "directive", type: i3.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["enableOverflow"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5356
5395
  }
5357
5396
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonTagsModalComponent, decorators: [{
5358
5397
  type: Component,
@@ -5413,6 +5452,12 @@ class CarbonListComponent {
5413
5452
  get pagination() {
5414
5453
  return this._pagination;
5415
5454
  }
5455
+ set initialSortState(value) {
5456
+ if (!value || this._isSortInit)
5457
+ return;
5458
+ this._isSortInit = true;
5459
+ this.sort$.next(value);
5460
+ }
5416
5461
  set sortState(value) {
5417
5462
  if (!value)
5418
5463
  return;
@@ -5449,6 +5494,7 @@ class CarbonListComponent {
5449
5494
  * @deprecated The actions field is deprecated. Actions can be added through the **@Input field**.
5450
5495
  */
5451
5496
  this.actions = [];
5497
+ this._isSortInit = false;
5452
5498
  this.isSearchable = false;
5453
5499
  this.enableSingleSelection = false;
5454
5500
  this.showSelectionColumn = false;
@@ -5576,9 +5622,6 @@ class CarbonListComponent {
5576
5622
  if (this.pagination) {
5577
5623
  this.loadPaginationSize();
5578
5624
  }
5579
- if (this.initialSortState) {
5580
- this.sort$.next(this.initialSortState);
5581
- }
5582
5625
  this._subscriptions.add(this.searchFormControl.valueChanges
5583
5626
  .pipe(debounceTime$1(500))
5584
5627
  .subscribe((searchString) => {
@@ -6950,6 +6993,7 @@ class PageHeaderComponent {
6950
6993
  this.pageTitleService = pageTitleService;
6951
6994
  this.showPageHeader$ = this.userInterfaceService.showPageHeader$;
6952
6995
  this.compactMode$ = this.pageHeaderService.compactMode$;
6996
+ this.smallTitle$ = this.pageHeaderService.smallTitle$;
6953
6997
  this.pageActionsHasContent$ = this.pageHeaderService.pageActionsHasContent$;
6954
6998
  this.pageTitleHidden$ = this.pageTitleService.pageTitleHidden$;
6955
6999
  }
@@ -6970,11 +7014,11 @@ class PageHeaderComponent {
6970
7014
  this._pageHeadResizeObserver.observe(this._pageHead.nativeElement);
6971
7015
  }
6972
7016
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageHeaderComponent, deps: [{ token: UserInterfaceService }, { token: PageHeaderService }, { token: PageTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
6973
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PageHeaderComponent, selector: "valtimo-page-header", viewQueries: [{ propertyName: "_contentrVcr", first: true, predicate: ["contentVcr"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_pageHead", first: true, predicate: ["pageHead"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n #pageHead\n class=\"page-head\"\n [ngClass]=\"{\n '--hidden': (showPageHeader$ | async) === false,\n '--compact': compactMode$ | async,\n '--no-content': (compactMode$ | async) && (pageActionsHasContent$ | async) === false,\n '--no-margin': pageTitleHidden$ | async,\n }\"\n>\n <ng-container #contentVcr></ng-container>\n\n <valtimo-page-subtitle></valtimo-page-subtitle>\n\n <valtimo-page-actions></valtimo-page-actions>\n</div>\n\n<ng-container renderPageHeader>\n <ng-template>\n <div class=\"page-header-container\" [ngClass]=\"{'--compact': compactMode$ | async}\">\n <valtimo-breadcrumb-navigation></valtimo-breadcrumb-navigation>\n\n <valtimo-page-title></valtimo-page-title>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".page-head{display:flex;width:100%;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.page-head.--hidden{display:none}.page-head.--compact{margin-bottom:16px}.page-head.--no-content,.page-head.--no-margin{margin-bottom:0}.page-header-container{width:min-content}.page-header-container.--compact{display:flex;width:100%;justify-content:space-between;align-items:center;padding-inline:16px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PageTitleComponent, selector: "valtimo-page-title" }, { kind: "component", type: BreadcrumbNavigationComponent, selector: "valtimo-breadcrumb-navigation" }, { kind: "directive", type: RenderPageHeaderDirective, selector: "[renderPageHeader]" }, { kind: "component", type: PageActionsComponent, selector: "valtimo-page-actions" }, { kind: "component", type: PageSubtitleComponent, selector: "valtimo-page-subtitle" }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }] }); }
7017
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PageHeaderComponent, selector: "valtimo-page-header", viewQueries: [{ propertyName: "_contentrVcr", first: true, predicate: ["contentVcr"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_pageHead", first: true, predicate: ["pageHead"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n #pageHead\n class=\"page-head\"\n [ngClass]=\"{\n 'page-head--hidden': (showPageHeader$ | async) === false,\n 'page-head--compact': compactMode$ | async,\n 'page-head--no-content': (compactMode$ | async) && (pageActionsHasContent$ | async) === false,\n 'page-head--no-margin': pageTitleHidden$ | async,\n 'page-head--small-title': smallTitle$ | async,\n }\"\n>\n <ng-container #contentVcr></ng-container>\n\n <valtimo-page-subtitle></valtimo-page-subtitle>\n\n <valtimo-page-actions></valtimo-page-actions>\n</div>\n\n<ng-container renderPageHeader>\n <ng-template>\n <div\n class=\"page-header-container\"\n [ngClass]=\"{\n 'page-header-container--compact': compactMode$ | async,\n 'page-header-container--small-title': smallTitle$ | async,\n }\"\n >\n <valtimo-breadcrumb-navigation></valtimo-breadcrumb-navigation>\n\n <valtimo-page-title></valtimo-page-title>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".page-head{display:flex;width:100%;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.page-head--small-title{align-items:flex-start;margin-bottom:0}.page-head--hidden{display:none}.page-head--compact{margin-bottom:16px}.page-head--no-content,.page-head--no-margin{margin-bottom:0}.page-header-container{width:min-content}.page-header-container--compact{display:flex;width:100%;justify-content:space-between;align-items:center;padding-inline:16px}.page-header-container--small-title{display:flex;flex-direction:row;gap:8px;width:min-content}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PageTitleComponent, selector: "valtimo-page-title" }, { kind: "component", type: BreadcrumbNavigationComponent, selector: "valtimo-breadcrumb-navigation" }, { kind: "directive", type: RenderPageHeaderDirective, selector: "[renderPageHeader]" }, { kind: "component", type: PageActionsComponent, selector: "valtimo-page-actions" }, { kind: "component", type: PageSubtitleComponent, selector: "valtimo-page-subtitle" }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }] }); }
6974
7018
  }
6975
7019
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageHeaderComponent, decorators: [{
6976
7020
  type: Component,
6977
- args: [{ selector: 'valtimo-page-header', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n #pageHead\n class=\"page-head\"\n [ngClass]=\"{\n '--hidden': (showPageHeader$ | async) === false,\n '--compact': compactMode$ | async,\n '--no-content': (compactMode$ | async) && (pageActionsHasContent$ | async) === false,\n '--no-margin': pageTitleHidden$ | async,\n }\"\n>\n <ng-container #contentVcr></ng-container>\n\n <valtimo-page-subtitle></valtimo-page-subtitle>\n\n <valtimo-page-actions></valtimo-page-actions>\n</div>\n\n<ng-container renderPageHeader>\n <ng-template>\n <div class=\"page-header-container\" [ngClass]=\"{'--compact': compactMode$ | async}\">\n <valtimo-breadcrumb-navigation></valtimo-breadcrumb-navigation>\n\n <valtimo-page-title></valtimo-page-title>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".page-head{display:flex;width:100%;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.page-head.--hidden{display:none}.page-head.--compact{margin-bottom:16px}.page-head.--no-content,.page-head.--no-margin{margin-bottom:0}.page-header-container{width:min-content}.page-header-container.--compact{display:flex;width:100%;justify-content:space-between;align-items:center;padding-inline:16px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
7021
+ args: [{ selector: 'valtimo-page-header', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n #pageHead\n class=\"page-head\"\n [ngClass]=\"{\n 'page-head--hidden': (showPageHeader$ | async) === false,\n 'page-head--compact': compactMode$ | async,\n 'page-head--no-content': (compactMode$ | async) && (pageActionsHasContent$ | async) === false,\n 'page-head--no-margin': pageTitleHidden$ | async,\n 'page-head--small-title': smallTitle$ | async,\n }\"\n>\n <ng-container #contentVcr></ng-container>\n\n <valtimo-page-subtitle></valtimo-page-subtitle>\n\n <valtimo-page-actions></valtimo-page-actions>\n</div>\n\n<ng-container renderPageHeader>\n <ng-template>\n <div\n class=\"page-header-container\"\n [ngClass]=\"{\n 'page-header-container--compact': compactMode$ | async,\n 'page-header-container--small-title': smallTitle$ | async,\n }\"\n >\n <valtimo-breadcrumb-navigation></valtimo-breadcrumb-navigation>\n\n <valtimo-page-title></valtimo-page-title>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".page-head{display:flex;width:100%;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.page-head--small-title{align-items:flex-start;margin-bottom:0}.page-head--hidden{display:none}.page-head--compact{margin-bottom:16px}.page-head--no-content,.page-head--no-margin{margin-bottom:0}.page-header-container{width:min-content}.page-header-container--compact{display:flex;width:100%;justify-content:space-between;align-items:center;padding-inline:16px}.page-header-container--small-title{display:flex;flex-direction:row;gap:8px;width:min-content}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
6978
7022
  }], ctorParameters: () => [{ type: UserInterfaceService }, { type: PageHeaderService }, { type: PageTitleService }], propDecorators: { _contentrVcr: [{
6979
7023
  type: ViewChild,
6980
7024
  args: ['contentVcr', { static: true, read: ViewContainerRef }]
@@ -9556,9 +9600,7 @@ class ValuePathSelectorComponent {
9556
9600
  this._version$.next(value);
9557
9601
  }
9558
9602
  set prefixes(value) {
9559
- if (!value)
9560
- return;
9561
- this._prefixesSubject$.next(value);
9603
+ this._prefixes$.next(value ?? []);
9562
9604
  }
9563
9605
  set defaultValue(value) {
9564
9606
  if (!value)
@@ -9576,9 +9618,6 @@ class ValuePathSelectorComponent {
9576
9618
  get _documentDefinitionName$() {
9577
9619
  return this._documentDefinitionNameSubject$.pipe(filter$1(value => !!value));
9578
9620
  }
9579
- get _prefixes$() {
9580
- return this._prefixesSubject$.pipe(filter$1(value => !!value));
9581
- }
9582
9621
  constructor(valuePathSelectorService, formBuilder, documentService) {
9583
9622
  this.valuePathSelectorService = valuePathSelectorService;
9584
9623
  this.formBuilder = formBuilder;
@@ -9602,7 +9641,7 @@ class ValuePathSelectorComponent {
9602
9641
  this.collectionSelected = new EventEmitter();
9603
9642
  this._documentDefinitionNameSubject$ = new BehaviorSubject('');
9604
9643
  this._version$ = new BehaviorSubject(null);
9605
- this._prefixesSubject$ = new BehaviorSubject(null);
9644
+ this._prefixes$ = new BehaviorSubject([]);
9606
9645
  this._inputMode$ = new BehaviorSubject(ValuePathSelectorInputMode.DROPDOWN);
9607
9646
  this.inputModeIsDropdown$ = this._inputMode$.pipe(map(mode => {
9608
9647
  return mode === ValuePathSelectorInputMode.DROPDOWN;
@@ -13982,7 +14021,7 @@ class ConfirmationModalComponent {
13982
14021
  this.optionalEvent.emit(this.outputOnOptional);
13983
14022
  }
13984
14023
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmationModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13985
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: { titleTranslationKey: "titleTranslationKey", title: "title", content: "content", contentTranslationKey: "contentTranslationKey", confirmButtonText: "confirmButtonText", confirmButtonTextTranslationKey: "confirmButtonTextTranslationKey", confirmButtonType: "confirmButtonType", showOptionalButton: "showOptionalButton", optionalButtonText: "optionalButtonText", optionalButtonTextTranslationKey: "optionalButtonTextTranslationKey", optionalButtonType: "optionalButtonType", cancelButtonText: "cancelButtonText", cancelButtonTextTranslationKey: "cancelButtonTextTranslationKey", cancelButtonType: "cancelButtonType", showModalSubject$: "showModalSubject$", outputOnConfirm: "outputOnConfirm", outputOnOptional: "outputOnOptional", spacerAfterCancelButton: "spacerAfterCancelButton" }, outputs: { confirmEvent: "confirmEvent", optionalEvent: "optionalEvent", cancelEvent: "cancelEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n valtimoCdsModal\n [open]=\"modalOpen$ | async\"\n *ngIf=\"{\n deleteTranslation: 'interface.delete' | translate,\n deleteConfirmationTranslation: 'interface.deleteConfirmation' | translate,\n cancelTranslation: 'interface.cancel' | translate,\n titleTranslation: titleTranslationKey | translate,\n contentTranslation: contentTranslationKey | translate,\n confirmButtonTranslation: confirmButtonTextTranslationKey | translate,\n cancelButtonTranslation: cancelButtonTextTranslationKey | translate,\n optionalButtonTranslation: optionalButtonTextTranslationKey | translate,\n } as obs\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n (titleTranslationKey !== obs.titleTranslation ? obs.titleTranslation : '') ||\n title ||\n obs.deleteTranslation\n }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n {{\n (contentTranslationKey !== obs.contentTranslation ? obs.contentTranslation : '') ||\n content ||\n obs.deleteConfirmationTranslation\n }}\n </section>\n <cds-modal-footer>\n <ng-container>\n <button\n data-testid=\"confirmation-modal-close\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"cancelButtonType\"\n (click)=\"closeModal()\"\n >\n {{\n (cancelButtonTextTranslationKey !== obs.cancelButtonTranslation\n ? obs.cancelButtonTranslation\n : '') ||\n cancelButtonText ||\n obs.cancelTranslation\n }}\n </button>\n <div *ngIf=\"spacerAfterCancelButton\" class=\"modal-spacer\"></div>\n <button\n *ngIf=\"showOptionalButton\"\n data-testid=\"confirmation-modal-optional\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"optionalButtonType\"\n (click)=\"onOptional()\"\n >\n {{\n (optionalButtonTextTranslationKey !== obs.optionalButtonTranslation\n ? obs.optionalButtonTranslation\n : '') ||\n optionalButtonText ||\n obs.deleteTranslation\n }}\n </button>\n <button\n data-testid=\"confirmation-modal-confirm\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"confirmButtonType\"\n (click)=\"onConfirm()\"\n >\n {{\n (confirmButtonTextTranslationKey !== obs.confirmButtonTranslation\n ? obs.confirmButtonTranslation\n : '') ||\n confirmButtonText ||\n obs.deleteTranslation\n }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".modal-spacer{flex:0 1 50%}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i3.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i3.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i3.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i3.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
14024
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: { titleTranslationKey: "titleTranslationKey", title: "title", content: "content", contentTranslationKey: "contentTranslationKey", confirmButtonText: "confirmButtonText", confirmButtonTextTranslationKey: "confirmButtonTextTranslationKey", confirmButtonType: "confirmButtonType", showOptionalButton: "showOptionalButton", optionalButtonText: "optionalButtonText", optionalButtonTextTranslationKey: "optionalButtonTextTranslationKey", optionalButtonType: "optionalButtonType", cancelButtonText: "cancelButtonText", cancelButtonTextTranslationKey: "cancelButtonTextTranslationKey", cancelButtonType: "cancelButtonType", showModalSubject$: "showModalSubject$", outputOnConfirm: "outputOnConfirm", outputOnOptional: "outputOnOptional", spacerAfterCancelButton: "spacerAfterCancelButton" }, outputs: { confirmEvent: "confirmEvent", optionalEvent: "optionalEvent", cancelEvent: "cancelEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n valtimoCdsModal\n [open]=\"modalOpen$ | async\"\n *ngIf=\"{\n deleteTranslation: 'interface.delete' | translate,\n deleteConfirmationTranslation: 'interface.deleteConfirmation' | translate,\n cancelTranslation: 'interface.cancel' | translate,\n titleTranslation: titleTranslationKey | translate,\n contentTranslation: contentTranslationKey | translate,\n confirmButtonTranslation: confirmButtonTextTranslationKey | translate,\n cancelButtonTranslation: cancelButtonTextTranslationKey | translate,\n optionalButtonTranslation: optionalButtonTextTranslationKey | translate,\n } as obs\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n (titleTranslationKey !== obs.titleTranslation ? obs.titleTranslation : '') ||\n title ||\n obs.deleteTranslation\n }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n {{\n (contentTranslationKey !== obs.contentTranslation ? obs.contentTranslation : '') ||\n content ||\n obs.deleteConfirmationTranslation\n }}\n </section>\n <cds-modal-footer>\n <ng-container>\n <button\n data-testid=\"confirmation-modal-close\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"cancelButtonType\"\n (click)=\"closeModal()\"\n >\n {{\n (cancelButtonTextTranslationKey !== obs.cancelButtonTranslation\n ? obs.cancelButtonTranslation\n : '') ||\n cancelButtonText ||\n obs.cancelTranslation\n }}\n </button>\n <div *ngIf=\"spacerAfterCancelButton\" class=\"modal-spacer\"></div>\n <button\n *ngIf=\"showOptionalButton\"\n data-testid=\"confirmation-modal-optional\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"optionalButtonType\"\n (click)=\"onOptional()\"\n >\n {{\n (optionalButtonTextTranslationKey !== obs.optionalButtonTranslation\n ? obs.optionalButtonTranslation\n : '') ||\n optionalButtonText ||\n obs.deleteTranslation\n }}\n </button>\n <button\n data-testid=\"confirmation-modal-confirm\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"confirmButtonType\"\n (click)=\"onConfirm()\"\n >\n {{\n (confirmButtonTextTranslationKey !== obs.confirmButtonTranslation\n ? obs.confirmButtonTranslation\n : '') ||\n confirmButtonText ||\n obs.deleteTranslation\n }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".modal-spacer{flex:0 1 50%}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i3.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i3.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i3.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i3.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["enableOverflow"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
13986
14025
  }
13987
14026
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmationModalComponent, decorators: [{
13988
14027
  type: Component,